@charset "utf-8";
:root {
	--c_m1:#007580;
	--c_m2:#E6F2F3;
	--c_bk:#000000;
	--c_bk2:#535252;
	--c_wh:#ffffff;
	--c_gy:#F5F5F5;
	--c_or:#FCA400;
	--tr_cb: cubic-bezier(.68,.03,.31,.94);
}
.clr-m1 {color: var(--c_m1)!important;}
.clr-m2 {color: var(--c_m2)!important;}
.clr-bk {color: var(--c_bk)!important;}
.clr-bk2 {color: var(--c_bk2)!important;}
.clr-wh {color: var(--c_wh)!important;}
.clr-gy {color: var(--c_gy)!important;}
.clr-or {color: var(--c_or)!important;}
.bg-ma {background-color: var(--c_m1)!important;}
.bg-m2 {background-color: var(--c_m2)!important;}
.bg-bk {background-color: var(--c_bk)!important;}
.bg-bk2 {background-color: var(--c_bk2)!important;}
.bg-wh {background-color: var(--c_wh)!important;}
.bg-gy {background-color: var(--c_gy)!important;}
.bg-or {background-color: var(--c_or)!important;}

body {
	padding-top: 8.6rem;
}
body::after {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(10px);
	z-index: 990;
	transition: .2s;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
body.act::after {
	opacity: 1;
	visibility: visible;
}
.fo-barlow,.eng {
	font-family: "barlow", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height: 1;
}
.txt-lh {
	line-height: 2;
}
.ttlBox {
	text-align: left;
	font-size: 3.2rem;
	margin-bottom: 4rem;
}
.ttlBox h2 {
	font-size: 3rem;
	font-weight: 500;
	margin-top: 0.3rem;
}
.secTtl {
	text-align: center;
	font-size: 4.6rem;
	margin-bottom: 4rem;
}
.secTtl h2 {
	font-size: 1.6rem;
	font-size: 3rem;
	font-weight: 600;
	margin-top: 0.5rem;
}
.more {
	margin-top: 5rem;
	/*font-family: "barlow", sans-serif;*/
	font-weight: 600;
	font-style: normal;
	line-height: 1;
}
.btnWrap {
	margin-top: 5rem;
}
.btn {
	display: inline-block;
	background: #000;
	border: 1px solid #000;
	text-align: center;
	font-size: 1.4rem;
	border-radius: 10rem;
	color: #fff;
	letter-spacing: 0.05em;
	padding: 1rem 2rem;
	font-weight: 600;
	min-width: 15rem;
	transition: .2s;
}
.btnWrap .btn {
	min-width: 20rem;
}
.btn._tr {
	border-color: #fff;
	background-color: transparent;
}
.btn._tr2 {
	border-color: var(--c_m1);
	color: var(--c_m1);
	background-color: transparent;
}
.btn._gr {
	border-color: var(--c_m1);
	background-color: var(--c_m1);
}
.btn:hover {
	background-color: var(--c_m1);
	border-color: var(--c_m1);
}
.btn._gr:hover {
	background-color: var(--c_bk);
	border-color: var(--c_bk);
}
.btn._tr2:hover {
	color: #fff;
}
.thumb {
	position: relative;
	aspect-ratio: 550/358;
	overflow: hidden;
}
.thumb img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
	opacity: 1!important;
	transition: .4s;
}
a:hover .thumb img,
.thumb a:hover img {
	transform: scale(1.08);
}
.cap {
	padding-left:1em;
	text-indent:-1em;
}
.cap::before {
	content: "・";
}
.cap + .cap {
	margin-top: 0.5em;
}
/*header
---------------------------------------------------------*/
#header {
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9990;
	transition: .4s;
}
.hWrap {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	text-align: left;
	padding: 2rem 4rem;
	transition: .2s;
}
#header.scrl .hWrap,
#header.act .hWrap {
	box-shadow: 0 0 .7rem rgba(0, 0, 0, 0.3);
}
.logoWrap {
	display: block;
	max-width: 11.6rem;
}
.logoWrap img {
	display: block;
	width: 100%;
}
.logoWrap p:first-of-type {
	margin-bottom: 0.65rem;
}
.menuIconWrap,
.spLogo,
.spLogo02 {
	display: none;
}
#nav {
	display: flex;
	align-items: flex-end;
	gap: 0 1.5rem;
	font-size: 1.4rem;
}
.nav {
	display: flex;
	align-items: center;
}
.nav a {
	white-space: nowrap;
}
.nav a:hover {
	color: var(--c_m1);
}
.nav > li > a,
.tgl > p {
	display: inline-block;
	padding: 0 1.5rem;
	padding-bottom: 2rem;
	margin-bottom: -2rem;
	cursor: pointer;
	position: relative;
	transition: .2s;
}
@media screen and (min-width: 781px) {
	.nav > li > a::after,
	.tgl > p::after {
		content: "";
		display: block;
		position: absolute;
		left: 1.5rem;
		right: 1.5rem;
		bottom: 0;
		height: 0.3rem;
		background: var(--c_m1);
		z-index: 1;
		transition: .2s;
		clip-path: inset(0 100% 0 0);
	}
}
.nav > li > a:hover:after,
.tgl.open > p:after {
	clip-path: inset(0 0 0 0);
}
.hIcon {
	display: flex;
	align-items: center;
	gap: .5rem;
	border-left: 1px solid #000;
	padding-left: 1.5rem;
}
.hIcon._sp {
	display: none;
}
.hIcon img {
	max-height: 2.4rem;
	transition: .2s;
}
.hIcon li.tgl {
	cursor: pointer;
}
.hIcon li .en {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -1.5rem;
	font-size: 1.2rem;
}
.hBtn a {
	display: block;
	width: 15rem;
	text-align: center;
	background: var(--c_m1);
	color: #fff;
	border-radius: 10rem;
	padding: 1.2rem;
	letter-spacing: 0.05em;
}
.hBtn a:hover {
	background-color: var(--c_bk);
}
.hIcon li._logo {
	margin-right: 1rem;
}
.hIcon li._logo img {
	max-height: 3rem;
}
.tgl.open > p {
	color: var(--c_rd);
}
.tgl:not(.open) .ddNavArea {
	pointer-events: none;
}
.ddNavArea {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--c_gy);
	backdrop-filter: blur(5px);
	padding: 3rem 0;
	text-align: left;
	font-size: 1.6rem;
	z-index: -1;
}
.ddNavWrap {
	display: flex;
	gap: 4rem 8rem;
	text-align: left;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
}
.tgl.open .ddNavArea{
  display: block;
  pointer-events: auto;
  z-index: 9991;
}
.ddNavWrap dt {
	margin-bottom: 3rem;
}
.ddNavWrap dt a {
	display: inline-flex;
	align-items: flex-end;
	gap: 1rem;
	font-weight: 500;
	line-height: 1;
	position: relative;
	padding-right: 2rem;
	font-size: 120%;
}
.w100 .ddNav {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 5rem;
}
.w100 .ddNav li:not(:first-of-type) {
	margin: 0;
}
.ddNav li:not(:first-of-type) {
	margin-top: 1.2rem;
}
.ddNav li a {
	display: inline-block;
	position: relative;
	font-weight: 500;
	line-height: 1;
	padding-right: 2rem;
}
.ddNavWrap a::before {
	content: "";
	display: block;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
	width: 0.4rem;
	aspect-ratio: 4/9;
	position: absolute;
	right: 0;
	bottom: 0.1em;
}
.searchBox form {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
}
.searchBox form input[type="text"] {
	background: #fff;
	text-align: left;
	padding: 1.5rem;
	width: 100%;
	max-width: 55rem;
	border-radius: 10rem;
	border: 1px solid #CFCFCF;
}
.searchBox form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	gap: .5rem;
	padding: 1.5rem;
	min-width: 20rem;
	text-align: center;
	font-size: 1.8rem;
	color: #fff;
	line-height: 1;
	letter-spacing: 0.05rem;
	border-radius: 10rem;
	background: var(--c_m1);
	transition: .2s;
}
.searchBox form button::before {
	content: "";
	display: block;
	background: url(../img/icon_search_wh.svg) center center no-repeat;
	background-size: contain;
	width: 1.8rem;
	aspect-ratio: 1;
	margin-bottom: -0.2rem;
}
.searchBox form button:hover {
	background: var(--c_bk);
}
input.reset {
	display: inline-block;
	width: 2.8rem;
	aspect-ratio: 1;
	background: var(--c_bk2) url(../img/icon_cross.svg) center center no-repeat;
	background-size: 37% auto;
	border-radius: 50%;
}
.navSearch .searchBox form input[type="text"]  {
	max-width: 43rem;
	padding: 1rem;
}
.navSearch .searchBox form button {
	font-size: 1.4rem;
	min-width: 15rem;
	padding: 1.2rem;
}
.navSearch .searchBox form button::before {
	width: 1.2rem;
}
.hIcon ._lang {
	position: relative;
	display: flex;
	align-items: center;
	gap: .8rem;
}
.hIcon ._lang ul {
	display: flex;
	align-items: center;
	line-height: .8;
}
.hIcon ._lang li:first-of-type {
	padding-right: 0.5rem;
	margin-right: 0.5rem;
	border-right: 1px solid #000;
}
.hIcon ._lang li a {
	display: inline-block;
	position: relative;
	font-size: 1.2rem;
	font-weight: 500;
	opacity: .3;
}
.hIcon ._lang li a::after {
	content: "";
	display: block;
	background: var(--c_m1);
	height: 1px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	display: none;
}
.hIcon ._lang li.on a {
	opacity: 1;
	pointer-events: none;
}
.hIcon ._lang li.on a::after {
	display: block;
}
.hIcon ._lang li a:hover {
	opacity: 1;
}

/*
#index #header:not(.scrl) .hIcon ._lang li a {
	color: #fff;
}
#index #header:not(.scrl) .hIcon ._lang li:first-of-type {
	border-color: #fff;
}
*/

.langselect {
	top: 4.4rem;
	top: calc(100% + 2rem);
	right: auto;
	left: 50%;
	transform: translateX(-50%);
	padding: 1.5rem;
	text-align: center;
}
.langselect ul {
	display: flex;
	gap: .8rem
}
.langselect a {
	display: block;
	width: 6.5rem;
	border-radius: 10rem;
	font-weight: 400;
	padding: .5rem 0 .7rem;
}
.langselect a:hover {
	background-color: #ddd;
}
body:not(.engPage) .langselect li:nth-of-type(1) a,
body.engPage .langselect li:nth-of-type(2) a {
	background-color: #fff;
}
/*
#index #header:not(.scrl) {
	background: transparent;
}
#index #header:not(.scrl) .hLogo .logoWrap p:nth-of-type(2) img {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
	transition: .2s;
}
#index #header:not(.scrl) .hIcon {
	border-left-color: #fff;
}
#index #header:not(.scrl) .hIcon img {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
	transition: .2s;
}
*/
@media screen and (min-width: 781px) {
	/*#index #header:not(.scrl) .nav > li > a,
	#index #header:not(.scrl) .tgl > p {
		color: #fff;
	}*/
	#header:hover {
		background: #fff!important;
	}
	#header:hover .nav > li > a,
	#header:hover .tgl > p {
		color: #000!important;
	}
	#header:hover .hIcon {
		border-left-color: #000!important;
	}
	#header:hover .hLogo .logoWrap p:nth-of-type(2) img,
	#header:hover .hIcon img {
		-webkit-filter: none!important;
		filter: none!important;
	}
	#header:hover .hIcon ._lang li a {
		color: #000!important;
	}
	#header:hover .hIcon ._lang li:first-of-type {
		border-color: #000!important;
	}
}

/*footer
---------------------------------------------------------*/
#footer {
	background: #000;
	color: #fff;
	position: relative;
	padding: 7rem 0;
}
.pagetop {
	position: absolute;
	top: 0;
	right: 0;
	width: 5rem;
	aspect-ratio: 1;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: .1em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: 0.5rem;
	color: #fff;
	background: var(--c_m1);
}
.pagetop::before {
	content: "";
	display: block;
	background: url(../img/arrow_top.svg) center center no-repeat;
	background-size: contain;
	width: 2.2rem;
	aspect-ratio: 2/1;
	transition: .2s;
}
.pagetop:hover {
	background-color: var(--c_bk2);
}
.pagetop:hover::before {
	transform: translateY(-.3rem);
}
.fArea {
	width: 90%;
	max-width: 110rem;
	margin: 0 auto;
}
.fcontactBnr {
	margin-bottom: 10rem;
}
.fcontactBnr a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 4rem;
	color: #fff;
	text-align: left;
	border-radius: 1rem;
	overflow: hidden;
	position: relative;
	z-index: 1;
	padding: 5rem 6rem;
	font-size: 1.4rem;
	transition: .4s;
}
.fcontactBnr a figure {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	transition: .8s;
}
.fcontactBnr a figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
	transition: .4s;
}
.fcontactBnr a:hover figure img {
	transform: scale(1.05);
}
.fcontactBnr .box {
	display: flex;
	align-items: center;
	gap: 4rem;
}
.fcontactBnr a .ttl {
	font-size: 5.2rem;
	font-size: 3rem;
	font-weight: 600;
	display: flex;
	align-items: center;
}
.fcontactBnr a .ttl::before {
  display: block;
  content: "";
  height: .3rem;
  width: 2rem;
  background: #fff;
  margin-right: .5rem;
}


.fcontactBnr a:hover figure img {
	opacity: 1;
}
.fcontactBnr a:hover .btn {
	background: #fff;
	border-color: #fff;
	color: #000;
}
.fcontactBnr .txt {
	line-height: 1.8;
	letter-spacing: .05em;
}
.fcontactBnr .btn {
	display: block;
	width: 19rem;
	text-align: center;
	background: var(--c_m1);
	border-color: var(--c_m1);
	color: #fff;
	border-radius: 10rem;
	padding: 1.4rem;
	letter-spacing: 0.05em;
}
.fWrap {
	display: grid;
	grid-template-columns: 20rem 1fr;
	gap: 3rem 15rem;
}
.fLft {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 2rem;
}
.fLogo {
	margin-bottom: 5rem;
}
.fBnr li:not(:first-of-type) {
	margin-top: 1.5rem;
}
.fSearch {
	max-width: 100%;
}
.fSearch dt {
	display: flex;
	align-items: flex-end;
	line-height: 1.1;
	gap: 0 1.5rem;
}
.fSearch dt .eng {
	font-size: 155%;
}
.fSearch li {
	margin-top: 1.2rem;
}
.fSearch li a {
	display: flex;
	justify-content: space-between;
	border: 1px solid rgba(0, 0, 0, 0.20);
	background: var(--c_bk2);
	border-radius: 10rem;
	text-align: left;
	font-size: 1.4rem;
	color: #fff;
	padding: 1rem 2rem;
	position: relative;
}
.fSearch li a::after {
	content: "";
	display: block;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: contain;
	width: 0.5rem;
	aspect-ratio: 1/2;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 1.5rem;
}
.fSearch li a:hover {
	background-color: var(--c_m1);
}
.fNav {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
	font-size: 1.3rem;
	text-align: left;
}
.fNav a {
	color: #fff;
}
.fNav a:hover {
	opacity: .6;
}
.fNav dt a {
	display: flex;
	align-items: flex-end;
	line-height: 1.1;
	gap: 0 1.5rem;
	font-size: 120%;
}
.fNav dt:not(:first-of-type) {
	margin-top: 4.5rem;
}
.fNav li {
	margin-top: 1.5rem;
	display: flex;
	align-items: center;
	gap: .3em;
}
.fNav li::before {
	content: "";
	display: block;
	width: .3em;
	height: 1px;
	margin-bottom: -.07em;
	background: #fff;
}
.fBtm {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin-top: 10rem;
}
.fBtmNav {
	display: flex;
	gap: 2rem;
	line-height: 1;
}
.fBtmNav li:not(:first-of-type) {
	border-left: 1px solid #fff;
	padding-left: 1.5rem;
}
.fBtmNav a {
	display: block;
	color: #fff;
	font-size: 1.2rem;
}
.fBtmNav a:hover {
	opacity: .6;
}
.copyright {
	font-size: 1rem;
	font-size: max(1rem,10px);
}
/*sideFIx
---------------------------------------------------------*/
.sideFix {
	width: 16rem;
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	z-index: 990;
	background: var(--c_bk2);
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: left;
	transition: .4s;
	right: 0;
}
.sideFix li + li {
	border-top: 1px solid #8f8f8f;
}
.sideFix a {
	height: 5rem;
	display: flex;
	align-items: center;
	gap:.5rem;
	cursor: pointer;
	color: #fff;
	line-height: 1.2;
}
.sideFix a:hover {
	background: #000;
}
.sideFix a figure {
	width: 5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.sideFix a .txt {
	flex: 1;
	white-space: nowrap;
	transition: .2s;
	clip-path: inset(0 0 0 0);
}
.sideTel {
	position: relative;
}
.sideTel ul {
	width: 20rem;
	white-space: nowrap;
	position: absolute;
	top: 0;
	background: #858585;
	pointer-events: none;
	right: 100%;
	opacity: 0;
	visibility: hidden;
	transition: .4s;
	z-index: -1;
	clip-path: inset(0 0 100% 0);
}
.sideTel ul a {
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: .2rem;
	font-size: 1.2rem;
	line-height: 1;
	letter-spacing: 0.02em;
	padding: 0 1rem;
}
.sideTel ul a .eng {
	white-space: nowrap;
	font-size: 2rem;
	letter-spacing: 0.05em;
}
.sideTel ul li {
	border-color: #B5B5B5;
}
@media screen and (min-width: 781px) {
	.sideTel:hover ul {
		pointer-events: all;
		opacity: 1;
		visibility: visible;
		clip-path: inset(0 0 0 0);
	}
}
.sideFixBtn {
	cursor: pointer;
	background: var(--c_m1);
	color: #fff;
	display: flex;
	align-items: center;
	flex-direction: row;
	justify-content: flex-start;
	font-size: 1.1rem;
	gap: .3rem;
	padding: .7rem;
	transition: .2s;
}
.sideFixBtn:hover {
	background: #000;
}
.sideFixBtn::after {
	content: "";
	display: block;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: contain;
	width: 0.4rem;
	aspect-ratio: 1 / 2;
	margin-bottom: -.2rem;
	transform: rotate(0deg);
}
.sideFix.act {
	right: -11rem;
}
.sideFix.act a .txt {
	clip-path: inset(0 100% 0 0);
}
.sideFix.act .sideFixBtn {
	flex-direction: row-reverse;
	justify-content: flex-end;
}
.sideFix.act .sideFixBtn::after {
	transform: rotate(180deg);
}

/*searchFix
---------------------------------------------------------*/
.searchFix {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 9990;
	background: #fff;
	display: flex;
	align-items: center;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.05em;
	box-shadow: 0 0 .7rem rgba(0,0,0,.1);
	transition: .4s ease;
}
.searchFix.hide{
  transform: translateX(var(--off, 0px));
}
.searchFix.hidden {
	opacity: 0;
	bottom: -7rem;
	pointer-events: none;
}
.searchFix dt {
	background: var(--c_m1);
	padding: 2rem 2.5rem;
	font-size: 2rem;
	line-height: 1;
	color: #fff;
	cursor: pointer;
	transition: .2s;
	display: flex;
	align-items: center;
	gap: 1.2rem;
}
.searchFix dt::after {
	content: "";
	display: block;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: contain;
	width: 0.7rem;
	aspect-ratio: 1 / 2;
}
.searchFix dt:hover {
	background: var(--c_bk2);
}
.searchFix.hide dt {
	flex-direction: row-reverse;
}
.searchFix.hide dt::after {
	transform: rotate(180deg);
}
.searchFix dd {
	padding: 0 1.2rem;
	display: flex;
	align-items: center;
	gap: 1.2rem;
}
.searchFix ul {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	align-items: center;
	gap: 1rem;
}
.puBtn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: auto;
	color: var(--c_m1);
	line-height: 1.4;
	padding: .8rem 2rem;
	border: 1px solid var(--c_m1);
	border-radius: 10rem;
	background: #fff;
	cursor: pointer;
	user-select: none;
	transition: .2s;
}
.puBtn::after {
	content: "";
	display: block;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
	width: 0.6rem;
	aspect-ratio: 1 / 2;
	margin-left: 0.5rem;
}
.puBtn:hover {
	background-color: var(--c_m1);
	color: #fff;
}
.puBtn:hover::after {
	background-image: url(../img/arrow_wh.svg);
}
.close {
	display: inline-block;
	width: 2.5rem;
	aspect-ratio: 1;
	background: var(--c_bk2) url(../img/icon_cross.svg) center center no-repeat;
	background-size: 35% auto;
	border-radius: 50%;
	cursor: pointer;
	transition: .2s;
}
.close:hover {
	background-color: var(--c_m1);
}
.popupArea {
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(10px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
	z-index: 9995;
	font-size: 90%;
}
.popupArea.is-open {
	opacity: 1;
	pointer-events: auto;
}
.popupArea .popup {
	position: relative;
	width: min(90vw, 110rem);
	max-height: 80vh;
	overflow: auto;
	background: var(--c_gy);
	box-shadow: 0 0 1rem rgba(0,0,0,.3);;
	padding: 5rem 8rem;
	text-align: left;
	animation: pop .2s ease;
}
@keyframes pop {
	from { transform: translateY(.4rem) scale(.985); opacity:.98; }
	to { transform: none; opacity:1; }
}
.popupArea .close {
	position: absolute;
	top: 2rem;
	right: 2rem;
	z-index: 1;
	user-select: none;
}
.popup h2 {
	color: var(--c_m1);
	font-size: 135%;
	margin-bottom: 2rem;
}
.puCont {
	display: grid;
	grid-template-columns: 18rem 1fr;
	gap: 1rem;
}
.puCont + .puCont {
	padding-top: 2.5rem;
	margin-top: 2.5rem;
	border-top: 1px solid #CFCFCF;
}
.puCont dt {
	font-size: 112.5%;
	font-weight: 600;
}
.puCont ul {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 1rem;
}
.puCont ul a {
	display: block;
	text-align: center;
	background: #fff;
	padding: .7rem;
}
.puCont ul a:hover {
	background: var(--c_m1);
	color: #fff;
}
.popupArea .linkWrap {
	gap: 2.5rem;
}
.popupArea .linkWrap li {
	opacity: 1!important;
	transform: none!important;
}
.popupArea .linkWrap a span {
	font-size: 100%;
}

/*top
---------------------------------------------------------*/
.mainArea {
	overflow: hidden;
	position: relative;
	height: 100vh;
}
.mainSliderArea {
	height: 100%;
}
.mainslider {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transition: 1.8s;
	opacity: 0;
}
.mainslider.act {
	opacity: 1;
}
.mainslider.hid {
	opacity: 0
}
.mainslider .heroArea {
	height: 100%;
	position: relative;
	overflow: hidden;
	background: #000;
	z-index: -1;
}
.mainslider .heroArea img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: 3.5s;
	transform: scale(1.1);
}
.mainslider.act .heroArea img {
	transform: scale(1.01);
}
.mainslider .subArea {
	position: absolute;
	top: 55%;
	right: 0;
	transform: translateY(-50%);
	z-index: 10;
	opacity: 0;
	width: 45%;
	text-align: center;
	transition: 1.5s 1.5s;
}
.mainslider.act .subArea {
	top: 50%;
	opacity: 1;
}
.mainslider .subArea img {
	max-height: 58rem;
}
.mainslider .bg {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 45%;
	backdrop-filter: blur(10px);
	clip-path: polygon(25% 0%, 100% 0, 100% 100%, 0% 100%);
	z-index: 3;
}
.mainslider .bg::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 1;
	background: url(../img/top/main_sub.jpg) top left no-repeat;
	background-size: cover;
	filter: grayscale(50%);
	opacity: .5;
}
.mainTtl {
	position: absolute;
	top: 50%;
	left: 5%;
	transform: translateY(-50%);
	z-index: 10;
	font-weight: 600;
	color: #fff;
	text-align: left;
	letter-spacing: 0.1em;
	text-shadow: 0 0 1.5rem rgba(0,0,0,.1);
}
.mainTtl h1 {
	font-size: 6.4rem;
	font-size: clamp(2rem,4.57vw,8rem);
	line-height: 1.4;
}
.mainTtl .txt {
	display: block;
	font-size: 2.2rem;
	font-weight: 500;
	margin-top: 4rem;
	line-height: 2;
}
.top_message {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-direction: row-reverse;
	gap: 4rem;
}
.top_message dl {
	width: 63rem;
	text-align: justify;
}
.top_message h2 {
	font-size: 2.4rem;
	margin-bottom: 2rem;
}
.top_messageImg {
	flex: 1;
	position: relative;
	margin-right: -15rem;
	padding-left: 10rem;
	padding-bottom: 22rem;
}
.top_messageImg .img {
	width: 33rem;
	position: absolute;
	left: -3rem;
	bottom: 2rem;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: center;
	gap: 1.5rem;
	transform: rotate(30deg);
}
.top_messageImg .img li {
	filter: drop-shadow(1rem 1rem 2rem rgba(0, 0, 0, 0.1));
	width: 30%;
}
.top_messageImg .img li:nth-of-type(2) {
	width: 39.39%;
}
.top_messageImg .img li:nth-of-type(3) {
	width: 37.27%;
}
.top_news {
	display: grid;
	grid-template-columns: 1fr 82rem;
	gap: 3rem;
	text-align: left;
}
.newsTab {
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: .5rem;
	margin-bottom: 2rem;
}
.newsTab li {
	font-size: 1.4rem;
	text-align: center;
	background: #fff;
	padding: 1rem .5rem;
	cursor: pointer;
	transition: .2s;
}
.newsTab li:hover {
	background-color: var(--c_m2);
}
.newsTab li.active {
	background: var(--c_m1);
	color: #fff;
	pointer-events: none;
}
.newsList a {
	text-align: left;
	display: flex;
	align-items: flex-start;
	position: relative;
	gap: .5rem 3rem;
	border-bottom: 1px solid #D8D8D8;
	padding: 2rem 3rem 2rem 1.5rem;
	z-index: 1;
}
.newsList a::after {
	content: "";
	display: block;
	width: .6rem;
	aspect-ratio: 1/2;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	transition: .2s .6s;
}
.newsList a::before {
	content: "";
	display: block;
	background: var(--c_m1);
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 1px;
  clip-path: inset(0 100% 0 0);
  transition: clip-path .6s var(--tr_cb);
  pointer-events: none;
  z-index: 1;
}
.newsList a:is(:hover, :focus-visible)::before{
  clip-path: inset(0 0 0 0);
  transition-delay: .1s;
}
.newsList a:hover {
	color: var(--c_m1);
	background: var(--c_gy);
}
.newsList .txt {
	flex: 1;
	text-align: justify;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	line-clamp: 1;
}
.date {
	font-size: 1.4rem;
	color: #787878;
}
.cate {
	font-size: 1.2rem;
	width: 11rem;
	padding: .2rem;
	background: var(--c_bk);
	color: #fff;
	text-align: center;
	white-space: nowrap;
}
#searchList a {
	display: block;
}
#searchList .txt {
	font-weight: 500;
}
#searchList .url {
	margin-top: 0.5rem;
	font-size: 87.5%;
	color: var(--c_m1);
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	line-clamp: 1;
}
#searchList .desc {
	margin-top: 0.5rem;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	font-size: 87.5%;
	color: #787878;
}
.newsPane {
	display: none;
}
.newsPane.active {
	display: block;
}
.productsLinks {
	display: flex
}
.productsLinks li {
	width: 50%;
	aspect-ratio: 700/380;
	max-height: 52rem;
	margin: .2rem;
}
.productsLinks li.w100 {
	width: 100%;
	aspect-ratio: 900/180;
}
.productsLinks li.w100.h380 {
	aspect-ratio: 900/380;
}
.productsLinks li.w100.h240 {
	aspect-ratio: 900/240;
}
.productsLinks li.w100 a::before {
	background: rgba(0,0,0,.6);
}
.productsLinks a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: 100%;
	gap: 1.5rem;
	position: relative;
	z-index: 1;
	color: #fff;
	padding: 2rem;
}
.productsLinks a::before {
	content: "";
	display: block;
	background: rgba(0,0,0,.5);
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: -1;
	transition: .2s;
}
.productsLinks a:hover:before {
	background: rgba(0,0,0,.3);
}
.productsLinks a::after {
	content: "";
	display: block;
	width: 3.5rem;
	aspect-ratio: 1;
	background: #fff url(../img/arrow.svg) center center no-repeat;
	background-size: 22% auto;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	transition: .2s;
}
.productsLinks a:hover::after {
	background-color: var(--c_m1);
	background-image: url(../img/arrow_wh.svg);
}
.productsLinks a figure {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: -5;
	overflow: hidden;
}
.productsLinks a figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
	transition: .4s;
}
.productsLinks a:hover figure img {
	transform: scale(1.08);
}
.top_products02 {
	position: relative;
}
.top_products02::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(-50vw + 50%);
	right: calc(-50vw + 50%);
	z-index: -99;
	background: var(--c_gy);
}
.top_products02._ic {
	margin: 5rem auto 0;
	max-width: 90rem;
}
.top_products02._ic:before{
	background: none;
}
.top_products02._ic h2::after {
	display: none;
}
.productsLinks a .eng {
	font-size: 3.6rem;
	letter-spacing: 0.05em;
}
.productsLinks h2 {
	font-size: 2.4rem;
	font-weight: 600;
}
.productsLinks02 {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 2rem;
}
.productsLinks02 a {
	display: flex;
	align-items: center;
	background: var(--c_bk2);
	color: #fff;
	position: relative;
}
.productsLinks02 a::after {
	content: "";
	display: block;
	width: 2.4rem;
	aspect-ratio: 1;
	background: #fff url(../img/arrow.svg) center center no-repeat;
	background-size: 22% auto;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	transition: .2s;
}
.productsLinks02 a h2 {
	flex: 1;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: left;
	letter-spacing: 0.05em;
	padding: 2rem 3rem;
}
.productsLinks02 a figure {
	width: 25rem;
	overflow: hidden;
}
.productsLinks02 a figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
	opacity: 1!important;
	transition: .4s;
}
.productsLinks02 a:hover {
	background: var(--c_m1);
}
.productsLinks02 a:hover figure img {
	transform: scale(1.08);
}
#top_products .customWrap {
	padding: 2rem 0 10rem;
}
#top_search {
	background: url(../img/top/search_bg.jpg) center right no-repeat;
	background-size: cover;
}
.top_search {
	background: #000;
	padding: 5rem;
}
.searchCate {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 2.5rem;
	margin-bottom: 4rem;
}
.searchCate a {
	display: block;
	position: relative;
}
.searchCate a span {
	width: 25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2.5rem;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	background: var(--c_m1);
	padding: .5rem 1rem;
	font-size: 1.8rem;
	font-weight: 500;
	white-space: nowrap;
	color: #fff;
}
.searchCate a span::after {
	content: "";
	display: block;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: contain;
	width: 0.7rem;
	aspect-ratio: 1 / 2;
}
#top_app {
	background: url(../img/top/app_bg.jpg) bottom center no-repeat;
	background-size: cover;
}
.appLinks {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 3rem;
}
.appLinks li {
	transition: 1.2s .1s;
	opacity: 0;
	transform: translateY(2rem);
}
.appLinks li:nth-of-type(1) {transition-delay: .1s;}
.appLinks li:nth-of-type(2) {transition-delay: .2s;}
.appLinks li:nth-of-type(3) {transition-delay: .3s;}
.appLinks li:nth-of-type(4) {transition-delay: .4s;}
.appLinks li:nth-of-type(5) {transition-delay: .5s;}
.appLinks li:nth-of-type(6) {transition-delay: .6s;}
.appLinks li:nth-of-type(7) {transition-delay: .7s;}
.appLinks li:nth-of-type(8) {transition-delay: .8s;}
.appLinks li:nth-of-type(9) {transition-delay: .9s;}
.appLinks.act li {
	opacity: 1;
	transform: translateY(0);
}
.appLinks a {
	display: block;
	position: relative;
	z-index: 1;
}
.appLinks a span {
	display: block;
	position: absolute;
	left: 1.5rem;
	bottom: .7rem;
	z-index: 1;
	font-size: 1.6rem;
	font-weight: 500;
	white-space: nowrap;
	color: #fff;
}
.appLinks a::after {
	content: "";
	display: block;
	width: 2.4rem;
	aspect-ratio: 1;
	background: #fff url(../img/arrow.svg) center center no-repeat;
	background-size: 22% auto;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	transition: .2s;
}
.appLinks a:hover::after {
	background-color: var(--c_m1);
	background-image: url(../img/arrow_wh.svg);
}
.appLinks a::before {
	content: "";
	display: block;
	z-index: 1;
	background: rgba(0, 0, 0, 0.5);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(69.23%, rgba(0, 0, 0, 0.00)), to(rgba(0, 0, 0, 0.5)));
	background: -o-linear-gradient(top, rgba(0, 0, 0, 0.00) 69.23%, rgba(0, 0, 0, 0.5) 100%);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 69.23%, rgba(0, 0, 0, 0.5) 100%);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.top_value {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 2rem;
}
.top_value .img {
	width: 46rem;
}
.valueLinks {
	flex: 1;
	max-width: 48.5rem;
	text-align: left;
}
.valueLinks .txt-lh {
	margin-bottom: 2.5rem;
}
.valueLinks a {
	display: flex;
	align-items: center;
	gap: 1rem;
	text-align: left;
	padding: 2rem 0;
	border-bottom: 1px solid #CFCFCF;
	z-index: 1;
	position: relative;
}
.valueLinks a::after {
	content: "";
	display: block;
	width: .6rem;
	aspect-ratio: 1/2;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
	position: absolute;
	right: 4rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	transition: .2s .6s;
}
.valueLinks a::before {
	content: "";
	display: block;
	background: var(--c_m1);
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 1px;
  clip-path: inset(0 100% 0 0);
  transition: clip-path .6s var(--tr_cb);
  pointer-events: none;
  z-index: 1;
}
.valueLinks a:is(:hover, :focus-visible)::before{
  clip-path: inset(0 0 0 0);
  transition-delay: .1s;
}
.valueLinks a:hover {
	color: var(--c_m1);
}
.valueLinks a .num {
	width: 4.5rem;
	font-size: 1.5rem;
	color: var(--c_m1);
	border-right: 1px solid var(--c_m1);
	text-align: center;
}
.valueLinks a h3 {
	width: 18rem;
	font-size: 1.8rem;
	font-weight: 500;
}
.valueLinks a .eng {
	flex: 1;
	font-size: 1.2rem;
	font-weight: 400;
}
#top_about {
	position: relative;
	padding-bottom: 16rem;
	z-index: 1;
}
#top_about::before {
	content: "";
	display: block;
	background: url(../img/top/bg_earth.png) right bottom no-repeat;
	background-size: contain;
	aspect-ratio: 894/690;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -10;
	width: 89.4rem;
	width: clamp(45rem,46.5%,89.4rem);
	transform: scale(1.1);
	opacity: 0;
	transition: 2s .6s;
}
#top_about.act::before {
	opacity: 1;
	transform: scale(1);
}
.about_message {
	margin-top: 10rem;
	position: relative;
	display: flex;
	flex-direction: row-reverse;
}
.about_message .box {
	width: 55.5%;
	text-align: left;
}
.about_message .box h3 {
	font-size: 2.4rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
}
.about_message .img {
	flex: 1;
	padding: 0 10rem;
	text-align: center;
}


/*subPage
---------------------------------------------------------*/
#subPage main {
	padding-top: 2rem;
}
.pankz {
	position: relative;
	font-size: 1.2rem;
	text-align: left;
	color: #9D9D9D;
	width: 90%;
	max-width: 110rem;
	margin: 0 auto 2rem;
}
.pankz ol {
	display: flex;
	flex-wrap: nowrap;
	white-space: nowrap;
	overflow: auto;
}
.pankz a {
	color: #9D9D9D;
}
.pankz a::after {
	content: "";
	display: inline-block;
	background: url(../img/arrow_bk.svg) center center no-repeat;
	background-size: contain;
	width: 0.5rem;
	aspect-ratio: 5/8;
	margin: 0 .8rem;
	opacity: .5;
}
.pankz a:hover {
	color: var(--c_bk);
}
.pankz br{
	display: none;
}

.pageTtlArea {
	overflow: hidden;
	height: 10rem;
	margin-bottom: 4rem;
}
.pageTtl {
	width: 90%;
	max-width: 110rem;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 2.5rem;
	font-size: 5.2rem;
	text-align: left;
}
.pageTtl h1 {
	font-size: 4rem;
	font-weight: 600;	
	display: flex;
	align-items: center;
}
.pageTtl h1:before {
	display: block;
	content: "";
	height: .3rem;
	width: 3rem;
	background: var(--c_m1);
	margin-right: 1rem;
}
.pageTtlTxt {
	color: #fff;
	text-shadow: 0 0 1rem rgba(0, 0, 0, .5);
	padding: 2.5rem;
	font-size: 112.5%;
	flex: 1;
	text-align: left;
	transition: .8s .6s;
	opacity: 0;
}
.pageTtlArea.act .pageTtlTxt {
	opacity: 1;
}
.pageTtlArea._hasImg {
	height: 36rem;
	margin-bottom: 10rem;
}
.pageTtlWrap {
	height: 100%;
	position: relative;
	width: 90%;
	max-width: 110rem;
	margin: 0 auto;
	display: flex;
	align-items: flex-end;
}
.pageTtlArea._hasImg .pageTtl {
	display: inline-flex;
	width: auto;
	max-width: none;
	background: #fff;
	margin: 0;
	padding: 1.5rem 5rem 0 .5rem;
}
.pageTtlArea._hasImg .img {
	position: absolute;
	top: 0;
	left: 1px;
	bottom: 1px;
	right: calc(-50vw + 50%);
	z-index: -10;
	overflow: hidden;
	transition: 1.2s .2s;
	opacity: 0;
	transform: translateX(2rem);
}
.pageTtlArea._hasImg.act .img {
	opacity: 1;
	transform: translateX(0);
}
.pageTtlArea._hasImg .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.contTtl {
	text-align: left;
	line-height: 1;
	border-left: .2rem solid var(--c_m1);
	padding-left: 2rem;
	margin-bottom: 4rem;
}
.contTtl h2 {
	font-size: 1.6rem;
	font-weight: 600;
	margin-top: 1rem;
	font-size: 2.4rem;
}
.contTtl .eng {
	font-size: 3.6rem;
	line-height: .8;
}
.secTopTxt {
	text-align: left;
	line-height: 2;
	margin-bottom: 6rem;
}
.contNavArea {
	background-color: var(--c_wh);
}
.bg-wh + .contNavArea {
	background-color: var(--c_gy);
}

/*news
---------------------------------------------------------*/
.categoriesArea {
	padding: 5rem 0 7rem;
	position: relative;
	z-index: 1;
	margin-bottom: 7rem;
}
.categoriesArea::before {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	left: calc(-50vw + 50%);
	right: calc(-50vw + 50%);
	z-index: -10;
	background: var(--c_gy);
}
.categoriesArea h2 {
	font-size: 2rem;
	text-align: left;
	margin-bottom: 1rem;
}
.categories {
	display: grid;
	grid-template-columns: repeat(6,1fr);
	gap: .8rem;
}
.categories li a {
	display: block;
	background: #fff;
	line-height: 1.4;
	padding: 1rem;
	text-align: center;
	display: flex;
	height: 100%;
  align-items: center;
  justify-content: center;
}
.categories li.current a {
	background: var(--c_m1);
	color: #fff;
	pointer-events: none;
}
.categories li a:hover {
	background: var(--c_bk2);
	color: #fff;
}
.categories.col-3 {
	grid-template-columns: repeat(3,1fr);
}
.categories.col-4 {
	grid-template-columns: repeat(4,1fr);
}
.categories.col-5 {
	grid-template-columns: repeat(5,1fr);
}
.postMore {
	display: block;
	max-width: 30rem;
	position: relative;
	margin: 7rem auto 0;
	background: var(--c_gy);
	text-align: center;
	color: var(--c_m1);
	border-radius: 10rem;
	padding: 1.5rem;
	font-weight: 500;
	font-size: 2rem;
	cursor: pointer;
	transition: .2s;
}
.postMore:hover {
	background-color: var(--c_m1);
	color: #fff;
}
.postMore.is-loading::after {
	content: "";
	width: 1.5rem;
	aspect-ratio: 1;
	border: .4rem solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	display: block;
	animation: spin 0.8s linear infinite;
	position: absolute;
	right: 2.5rem;
	top: 30%;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

.newsHeader {
	text-align: left;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #CFCFCF;
	position: relative;
}
.newsHeader::after {
	content: "";
	display: block;
	width: 10rem;
	height: 1px;
	background: var(--c_m1);
	position: absolute;
	left: 0;
	bottom: -1px;
}
.newsHeader .cate {
	display: inline-block;
	width: auto;
	min-width: 9rem;
}
.newsHeader .date {
	color: #000;
}
.newsHeader h2 {
	font-size: 2.4rem;
}
.newsContents {
	padding: 8rem 10rem;
	text-align: left;
	background: #fff;
}
.newsContents h1 {
	color: var(--c_m1);
	font-size: 150%;
	border-bottom: 1px solid var(--c_m1);
	padding-bottom: 0.2em;
	margin-bottom: 1em;
}
.newsContents h2 {
	color: var(--c_m1);
	font-size: 135%;
	border-bottom: 1px solid var(--c_m1);
	padding-bottom: 0.2em;
	margin-bottom: 1em;
}
.newsContents h3 {
	color: var(--c_m1);
	font-size: 125%;
	margin-bottom: 1em;
	border-left: .5rem solid var(--c_m1);
	padding-left: 0.3em;
	margin-bottom: 1em;
}

.newsContents h4 {
	color: var(--c_m1);
	font-size: 115%;
	margin-bottom: 1em;
}
.newsContents h5 {
	font-size: 112.5%;
	margin-bottom: 1em;
}
.newsContents h6 {
	font-size: 105%;
	margin-bottom: 1em;
}
.newsContents a {
	text-decoration: underline;
	color: var(--c_m1);
}
.newsContents a:hover {
	text-decoration: none;
	color: var(--c_or);
}
.postImg {
	text-align: center;
	margin-bottom: 6rem;
}
.postGallery {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 3rem;
	margin-top: 6rem;
}
.postGallery figcaption {
	margin-top: 1rem;
}
.pager {
	margin-top: 4rem;
	font-size: 1.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: .8rem 3rem;
}
.pager .next,
.pager .prev {
	display: block;
	display: block;
	width: .6rem;
	aspect-ratio: 1/2;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
}
.pager .prev {
	transform: rotate(180deg);
}
.pager .current {
	color: var(--c_m1);
	text-decoration: underline;
}
.pager a:hover {
	color: var(--c_m1);
}
.pageset {
	display: flex;
	justify-content: space-between;
}
.pageset a {
	width: 48%;
	display: flex;
	flex-direction: row-reverse;
	background: #fff;
	border-top: 1px solid #CFCFCF;
	border-bottom: 1px solid #CFCFCF;
}
.pageset .dmmy {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.pageset a .eng {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .8rem;
	background: var(--c_gy);
	color: var(--c_m1);
	text-align: center;
	font-weight: 500;
	width: 10rem;
	transition: .2s;
}
.pageset a .eng::after {
	content: "";
	display: block;
	width: .6rem;
	aspect-ratio: 1 / 2;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
	z-index: 1;
	margin-bottom: -.2em;
}
.pageset a#prev {
	flex-direction: row;
}
.pageset a#prev .eng {
	flex-direction: row-reverse;
}
.pageset a#prev .eng::after {
	transform: rotate(180deg);
}
.pageset a .box {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 2rem;
	padding: 3rem 2rem;
}
.pageset a .box .txt {
	width: 100%;
	text-align: left;
	min-height: 4.8rem;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
.pageset .cate {
	display: inline-block;
	width: auto;
	min-width: 9rem;
}
.pageset .date {
	color: #000;
}
.pageset a:hover .eng {
	background-color: var(--c_m1);
	color: #fff;
}
.pageset a:hover .eng::after {
	background-image: url(../img/arrow_wh.svg);
}

/*search__products
---------------------------------------------------------*/
.pageTabArea {
	padding: 0;
	position: relative;
	z-index: 1;
	margin-top: -5.7rem;
}
.pageTab {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: .5rem;
}
.pageTab a {
	display: block;
	background: #E6E6E6;
	border-top: .5rem solid #e6e6e6;
	font-size: 2rem;
	font-weight: 500;
	padding: 1rem .5rem 1.5rem;
}
.pageTab .current a {
	background: var(--c_gy);
	border-color: var(--c_m1);
	color: var(--c_m1);
}
.pageTab a:hover {
	background: var(--c_m1);
	border-color: var(--c_m1);
	color: #fff;
}
.linkWrap {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 4rem 3rem;
}
.linkWrap li {
	transition: 1.2s .1s;
	opacity: 0;
	transform: translateY(2rem);
}
.linkWrap li:nth-of-type(1) {transition-delay: .1s;}
.linkWrap li:nth-of-type(2) {transition-delay: .2s;}
.linkWrap li:nth-of-type(3) {transition-delay: .3s;}
.linkWrap li:nth-of-type(4) {transition-delay: .4s;}
.linkWrap li:nth-of-type(5) {transition-delay: .5s;}
.linkWrap li:nth-of-type(6) {transition-delay: .6s;}
.linkWrap li:nth-of-type(7) {transition-delay: .7s;}
.linkWrap li:nth-of-type(8) {transition-delay: .8s;}
.linkWrap li:nth-of-type(9) {transition-delay: .9s;}
.linkWrap li:nth-of-type(10) {transition-delay: 1.0s;}
.linkWrap li:nth-of-type(11) {transition-delay: 1.1s;}
.linkWrap li:nth-of-type(12) {transition-delay: 1.2s;}
.linkWrap.act li {
	opacity: 1;
	transform: translateY(0);
}
.linkWrap a {
	display: block;
	position: relative;
}
.linkWrap a span {
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: left;
	padding-top: 0.5rem;
	word-break: break-word;
}
.linkWrap a .thumb {
	position: relative;
}
.linkWrap a .thumb::after {
	content: "";
	display: block;
	width: 2.4rem;
	aspect-ratio: 1;
	background: #fff url(../img/arrow.svg) center center no-repeat;
	background-size: 22% auto;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	transition: .2s;
}
.linkWrap a .tag {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background: 
	var(--c_m1);
	text-align: center;
	color: #fff;
	padding: .2rem 1rem;
}
.linkWrap a:hover {
	color: var(--c_m1);
}
.linkWrap.col-3 {
	grid-template-columns: repeat(3,1fr);
}
.toollistBtn {
	max-width: 61rem;
	margin: 10rem auto;
}
.toollistBtn a {
	display: flex;
	flex-direction: column;
	align-content: center;
	justify-content: center;
	height: 15rem;
	gap: 1.5rem;
	background: url(../img/search/products/btn_bg.jpg) center center no-repeat;
	background-size: cover;
	overflow: hidden;
	border-radius: 10rem;
	color: #fff;
	font-size: 1.8rem;
	transition: .2s;
}
.toollistBtn a .ttl {
	font-size: 3rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
}
.toollistBtn a:hover {
	transform: translateY(-.7rem);
	box-shadow: 0 .7rem 0 rgba(0, 0, 0, 0.3);
}
.standardArea {
	display: flex;
	flex-direction: row-reverse;
}
.standardArea .thumb {
	width: 49%;
	aspect-ratio: 540/352;
}
.standardArea .box {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4.5rem;
	background: url(../img/search/products/standard_bg.jpg) center center no-repeat;
	background-size: cover;
	color: #fff;
	font-size: 2rem;
	font-weight: 500;
}
.standardArea .box h3 {
	font-size: 3rem;
	margin-bottom: 1rem;
}
.standardArea .box .eng {
	font-size: 1.8rem;
}
.searchPageCont > section + section {
	margin-top: 10rem;
}
.products__about {
	display: flex;
	flex-direction: row-reverse;
	gap: 8rem;
}
.products__about .img {
	width: 42rem;
}
.products__about dl {
	flex: 1;
	text-align: left;
}
.tit {
	font-size: 2.4rem;
	font-weight: 600;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #CFCFCF;
	position: relative;
	text-align: left;
}
.tit::after {
	content: "";
	display: block;
	width: 10rem;
	height: 1px;
	background: var(--c_m1);
	position: absolute;
	bottom: -1px;
	left: 0;
	z-index: 1;
}
.purposeWrap {
	margin-top: 5rem;
}
.purposeWrap h3 {
	font-size: 2rem;
	font-weight: 500;
	color: var(--c_m1);
	margin-bottom: 1rem;
}
.purposeWrap ul {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1.2rem;
	text-align: center;
	margin-bottom: 4rem;
}
.purposeWrap li {
	min-height: 4rem;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	line-height: 1.4;
}
.link {
	display: inline-block;
	font-size: 1.8rem;
	color: var(--c_m1);
	font-weight: 500;
	background: url(../img/arrow.svg) right center no-repeat;
	background-size: auto 1.2rem;
	padding-right: 2.5rem;
}
.link:hover {
	color: var(--c_bk2);
}
.icWrap {
	margin-top: 5rem;
	text-align: left;
}
.icWrap h3 {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
}
.icWrap ul {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 3rem;
}
.icWrap li .txt {
	font-size: 1.8rem;
	font-weight: 500;
}
.custommadeBnr {
	margin-top: 10rem;
}
.custommadeBnr a {
	display: flex;
	flex-direction: row-reverse;
	color: #fff;
	position: relative;
}
.custommadeBnr a::after {
	content: "";
	display: block;
	width: 3.8rem;
	aspect-ratio: 1;
	background: #fff url(../img/arrow.svg) center center no-repeat;
	background-size: 22% auto;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	transition: .2s;
}
.custommadeBnr .thumb {
	aspect-ratio: 550/177;
	width: 50%;
}
.custommadeBnr dl {
	padding: 5rem 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3.5rem;
	background: url(../img/search/products/custommade_bg.jpg) center center no-repeat;
	background-size: cover;
}
.custommadeBnr h2 {
	font-size: 3rem;
}
.custommadeBnr .eng {
	font-size: 1.8rem;
	font-weight: 500;
	margin-top: 0.5rem;
}

/*search__purpose
---------------------------------------------------------*/
#search__purpose {
	padding: 1.5rem 0 0;
}
.search__purposeArea {
	position: relative;
	background: #000;
	z-index: 1;
	padding: 9rem 0;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.search__purposeArea .bg {
	position: absolute;
	inset: 0;
	filter: blur(7.5px);
	opacity: 0.4;
}
.search__purposeArea .bg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.search__purposeWrap {
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 2rem;
}
.search__purposeArea:nth-of-type(even) .search__purposeWrap {
	flex-direction: row;
}
.search__purposeWrap .img {
	width: 42rem;
	transform: scale(1.03) translateX(2rem);
	opacity: 0;
	filter: blur(7.5px);
	transition: 2s .8s;
}
.search__purposeArea:nth-of-type(even) .search__purposeWrap .img {
	transform: scale(1.03) translateX(-2rem);
}
.search__purposeWrap .img.act {
	opacity: 1;
	transform: scale(1) translateX(0)!important;
	filter: blur(0);
}
.search__purposeWrap dl {
	max-width: 55rem;
	text-align: left;
	color: #fff;
}
.search__purposeWrap dt {
	display: flex;
	align-items: center;
	margin-bottom: 2.5rem;
}
.search__purposeWrap .num {
	font-size: 2rem;
	padding-right: 1.5rem;
	margin-right: 1.5rem;
	border-right: 1px solid #fff;
}
.search__purposeWrap h2 {
	font-size: 2.4rem;
}


/*case
---------------------------------------------------------*/
.caseCategoriesArea {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1em;
	text-align: left;
	padding: 5rem 0 7rem;
	position: relative;
	z-index: 1;
	margin-bottom: 7rem;
}
.caseCategoriesArea::before {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	left: calc(-50vw + 50%);
	right: calc(-50vw + 50%);
	z-index: -10;
	background: var(--c_gy);
}
.caseCategoriesArea dt {
	font-size: 1.8rem;
	font-weight: 500;
	margin-bottom: 1rem;
}
.caseCategoriesArea select {
	width: 100%;
	padding: 2.5rem 1.5rem;
	font-weight: 500;
}
.caseCategoriesArea select option {
	background: var(--c_gy);
	border: none;
}
.caseList {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 5rem 4.5rem;
}
.caseList a {
	display: block;
	text-align: left;
}
.caseList .thumb {
	margin-bottom: 2.5rem;
}
.caseList .ttl {
	display: flex;
	align-items: center;
	gap: .8rem 2rem;
	flex-wrap: wrap;
	border-bottom: 1px solid #CFCFCF;
	padding-bottom: 0.8rem;
	margin-bottom: 1rem;
}
.caseList .ttl h2 {
	width: 100%;
	font-size: 1.6rem;
	font-weight: 600;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	transition: .2s;
}
.caseList .cate {
	display: inline-block;
	width: auto;
	padding: .3rem 1rem;
	font-size: 1.2rem;
	background: var(--c_bk2);
}
.caseList .txt {
	width: 100%;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
.caseList a:hover h2 {
	color: var(--c_m1);
}
#icpackageTop {
	padding: 0;
}
.icpackageTop {
	position: relative;
	padding: 12rem 0;
}
.icpackageTop dl {
	text-align: justify;
	width: 50%;
	position: relative;
	z-index: 5;
}
.icpackageTop .img {
	position: absolute;
	right: -30%;
	top: 50%;
	z-index: 1;
	width: 57.8rem;
	aspect-ratio: 578/704;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	transform: rotate(-26deg) translateY(-50%);
	gap: 2rem 2%;
	z-index: 1;
}
.icpackageTop .img li {
	position: relative;
	z-index: 1;
	opacity: 0;
	filter: none;
	transform: translateY(3rem);
	transition: 1.6s .4s;
}
.icpackageTop .img li.act {
	transform: translateY(0);
	opacity: 1;
}
.icpackageTop .img li:nth-of-type(1) {
	width: 31%;
	margin-bottom: -23%;
	z-index: -1;
	transition-delay: .4s;
}
.icpackageTop .img li:nth-of-type(2) {
	width: 49%;
	transition-delay: .2s;
}
.icpackageTop .img li:nth-of-type(3) {
	width: 31%;
	text-align: right;
	transition-delay: .4s;
}
.icpackageTop .img li:nth-of-type(4) {
	width: 42.5%;
	z-index: -1;
	transition-delay: .3s;
}
.icpackageTop .img li:nth-of-type(5) {
	width: 22.5%;
	transition-delay: .6s;
}
.icpackageTop .img li:nth-of-type(6) {
	width: 31.5%;
	margin-left: 25%;
	transition-delay: .4s;
}
.icpackageTop .img li:nth-of-type(1).act {
	filter: drop-shadow(2rem 2rem 4rem rgba(0, 0, 0, 0.5));
	transition: transform 1.2s .4s,opacity 1.2s .4s,filter 1.4s 1.4s;
}
.icpackageTop .img li:nth-of-type(4).act {
	filter: drop-shadow(2rem 2rem 4rem rgba(0, 0, 0, 0.5));
	transition: transform 1.2s .4s,opacity 1.2s .4s,filter 1.4s 1.4s;
}
.icpackageTop .img::before {
	content: "";
	display: block;
	background: url(../img/icpackage/top_img_bg.jpg) center center no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	left: -5vw;
	right: calc(-50vw + 100%);
	bottom: 0;
	z-index: -1;
	transform: rotate(26deg);
	clip-path: polygon(20% 0%, 100% 0, 100% 100%, 0% 100%);
}
.icpackageTop .txt-lh {
	letter-spacing: 0.075em;
}
.icStrong > li:not(:first-of-type) {
	margin-top: 10rem;
}
.icStrongTtl {
	display: flex;
	gap: 3.5rem;
	text-align: left;
	margin-bottom: 3rem;
}
.icStrongTtl .num {
	font-size: 7.2rem;
	font-weight: 500;
	white-space: nowrap;
	color: var(--c_m1);
	margin-top: -0.125em;
}
.icStrongTtl h3 {
	font-size: 2.3rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	color: var(--c_m1);
}
.icStrong01Cont {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1.5rem;
}
.icStrong01Cont > p {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background: var(--c_gy);
	padding: 2rem;
	font-weight: 600;
}
.custommadeBnr._02 {
	margin-top: 0;
}
.custommadeBnr._02 dl {
	background: var(--c_bk2);
}
.custommadeBnr._02 .eng {
	font-size: 3.6rem;
}
.custommadeBnr._02 .sub {
	background: var(--c_m1);
	padding: .5rem 1.5rem;
	display: inline-block;
	margin-top: 1.5rem;
}
.icFunction {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 2rem;
}
.icFunction .img {
	width: 52rem;
}
.icFunction dl {
	flex: 1;
	max-width: 55rem;
	text-align: left;
}
.icFunction dt {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	background: var(--c_gy);
	margin-bottom: 1rem;
}
.icFunction dd + dt {
	margin-top: 3rem;
}
.icFunction .num {
	width: 3.7rem;
	aspect-ratio: 1;
	background: var(--c_m1);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: .1;
	flex-shrink: 0;
}
.icFunction h3 {
	font-size: 1.8rem;
	padding: .4rem 0;
}
.contTxt {
	text-align: left;
	margin-bottom: 4rem;
}
.icUsage {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 5rem 4.5rem;
	text-align: left;
}
.icUsage dt {
	position: relative;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 2.5rem 5rem;
	min-height: 31.5rem;
	margin-bottom: 2rem;
}
.icUsage h3 {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background: var(--c_m1);
	text-align: center;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 400;
	padding: 1rem 3rem;
	min-width: 19rem;
}
.icUsage h4 {
	font-size: 1.8rem;
	margin-bottom: 1rem;
}
.icUsageBtm {
	background: var(--c_gy);
	text-align: left;
	padding: 4rem 10rem;
}
.icUsageBtm  h3 {
	font-size: 2.3rem;
	color: var(--c_m1);
	margin-bottom: 1rem;
}
.flowSliderArea {
	margin: 0 -1.5rem;
}
.flowBox {
	padding: 0 1.5rem;
	position: relative;
}
.flowBox::after {
	content: "";
	display: block;
	width: 1.6rem;
	aspect-ratio: 17/20;
	background-color: var(--c_bk);
	clip-path: polygon(100% 50%, 0% 0%, 0% 100%);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -.8rem;
	opacity: 0;
	transition: .2s;
}
.flowBox:last-of-type:after {
	display: none;
}
.flowBox.slick-active::after {
	opacity: 1;
}
.flowBox dt {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	background: var(--c_gy);
	margin-bottom: 2.5rem;
}
.flowBox .num {
	width: 3.7rem;
	aspect-ratio: 1;
	background: var(--c_bk2);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: .1;
}
.flowBox h3 {
	flex: 1;
	font-size: 1.8rem;
	text-align: left;
	line-height: 1.4;
	padding: .5rem 0;
}
.flowBox dd  {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 12.5rem;
}
.SliderArrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: #fff url(../img/arrow.svg) center center no-repeat;
	background-size: 25% auto;
	width: 5rem;
	aspect-ratio: 1;
	right: -4rem;
	cursor: pointer;
	transition: .2s;
	z-index: 1;
}
.SliderArrow.prev {
	right: auto;
	left: -4rem;
	transform: scale(-1,1) translateY(-50%);
}
.slick-arrow.slick-disabled {
	display: none !important;
}

/*emerging-tech
---------------------------------------------------------*/
.emerging-techDetal {
	text-align: left;
}
.emerging-techDetal h2 {
	font-size: 3rem;
	margin-bottom: 10rem;
}
.emerging-techDetal h3 {
	font-size: 2.4rem;
	margin-bottom: 1.5rem;
}
.example .txt-lh + ul {
	margin-top: 3rem;
}
.example li {
	position: relative;
	padding-left: 2.5rem;
}
.example li::before {
	content: "";
	display: block;
	width: 1.2rem;
	aspect-ratio: 3/4;
	background-color: var(--c_m1);
	clip-path: polygon(100% 50%, 0% 0%, 0% 100%);
	position: absolute;
	top: .3em;
	left: 0;
}
.example li:not(:first-of-type) {
	margin-top: 1rem;
}
.example._standard {
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.example._standard h3 {
	font-size: 2.4rem;
	margin-bottom: 1rem;
}
.exampleCont {
	margin-top: 4rem;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 5rem 3rem;
}
.exampleCont.col-3 {
	grid-template-columns: repeat(3,1fr);
}
.exampleCont dt {
	font-size: 1.8rem;
	font-weight: 600;
	margin-bottom: 1rem;
}
.exampleCont .note {
	font-size: 112.5%;
	font-weight: 600;
	margin-top: 1rem;
}
.emerging-techDetal section:not(:first-of-type) {
	margin-top: 10rem;
}
.dlBtn {
	width: 100%;
	max-width: 50rem;
	margin: 7rem auto 0;
	text-align: center;
}
.dlBtn a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.5rem;
	background: var(--c_m1);
	color: #fff;
	font-weight: 600;
	font-size: 2rem;
	letter-spacing: 0.05em;
	padding: 2.5rem 1rem;
	border-radius: 10rem;
}
.dlBtn a::before {
	content: "";
	display: block;
	background: url(../img/side_icon03.svg) center center no-repeat;
	background-size: contain;
	aspect-ratio: 1;
	width: 2.4rem;
}
.dlBtn a:hover {
	background: var(--c_bk);
}
.dlBtn._tbl a {
	background: var(--c_gy);
	color: var(--c_m1);
}
.dlBtn._tbl a::before {
	background-image: url(../img/icon_table.svg);
}
.dlBtn._tbl a:hover {
	background: var(--c_m2);
}
.btnrow {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1.5rem 2rem;
	margin-top: 7rem;
}
.btnrow > .dlBtn {
	margin-top: 0;
}
.emergingFv {
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 5rem;
}
.emergingFv .box {
	position: relative;
	padding: 12rem 0;
	width: 42rem;
	text-align: left;
}
.emergingFv .box h3 {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	margin-bottom: 3rem;
	color: var(--c_m1);
}
.emergingFv .box::before {
	content: "";
	display: block;
	background: url(../img/emerging-tech/top_bg.jpg) center center no-repeat;
	background-size: cover;
	position: absolute;
	left: calc(-50vw + 50%);
	top: 0;
	bottom: 0;
	right: -30rem;
	z-index: -10;
	clip-path: polygon(0 0, 100% 0%, 85% 100%, 0% 100%);
}
.emergingFv .imgs {
	flex: 1;
	position: relative;
	aspect-ratio: 64/44;
}
.emergingFv .imgs li {
	position: absolute;
	transition: 1.4s .4s;
	opacity: 0;
	filter: blur(5px);
	transform: scale(1.08);
}
.emergingFv .imgs li:nth-of-type(1) {
	top: 0;
	left: 0;
	transition-delay: .7s;
}
.emergingFv .imgs li:nth-of-type(2) {
	top: 0;
	right: 6.5rem;
	transition-delay: .3s;
}
.emergingFv .imgs li:nth-of-type(3) {
	top: 8rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 5;
	transition-delay: 1s;
}
.emergingFv .imgs li:nth-of-type(4) {
	bottom: 0;
	left: 6.5rem;
	transition-delay: .5s;
}
.emergingFv .imgs li:nth-of-type(5) {
	bottom: -4rem;
	right: 0;
	transition-delay: .6s;
}
.emergingFv .imgs li.act {
	opacity: 1;
	filter: blur(0);
	transform: scale(1);
}
.emergingTtlArea {
	display: flex;
	flex-direction: row-reverse;
	margin-bottom: 5rem;
}
.emergingListArea + .emergingListArea {
	margin-top: 10rem;
}
.emergingTtlArea .img {
	width: 50%;
	overflow: hidden;
	position: relative;
	aspect-ratio: 540/350;
}
.emergingTtlArea .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.emergingTtlArea dl {
	flex: 1;
	background: url(../img/emerging-tech/box_bg.jpg) center center no-repeat;
	background-size: cover;
	color: #fff;
	padding: 9rem 7rem 3rem;
	text-align: left;
}
.emergingTtlArea dt {
	display: flex;
	align-items: center;
	margin-bottom: 3rem;
}
.emergingTtlArea dt .num {
	font-size: 2rem;
	font-weight: 500;
	display: inline-block;
	border-right: 1px solid #fff;
	padding-right: 1.5rem;
	margin-right: 1.5rem;
	display: none;
}
.emergingTtlArea dt h3 {
	font-size: 2.4rem;
}
.emergingTtlArea dl .txt {
	font-size: 1.8rem;
	line-height: 1.6;
}




/*search__purpose__aerospace
---------------------------------------------------------*/
.pageCategoriesArea {
	padding: 4rem 0;
	background: var(--c_gy);
}
.cateTgl {
	display: none;
}
.pageCateBox {
	display: grid;
	grid-template-columns: 22.5rem 1fr;
}
.pageCateBox + .pageCateBox {
	padding-top: 3rem;
	margin-top: 3rem;
	border-top: 1px solid #cfcfcf;
}
.pageCateBox h2 {
	font-size: 1.8rem;
	padding-top: 0.7rem;
}
.pageCateBox .categories {
	grid-template-columns: repeat(4,1fr);
	gap: 1rem;
}
.sContTtl {
	background: url(../img/search/purpose/aerospace/ttl_img.jpg) center center no-repeat;
	background-size: cover;
	height: 40rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #fff;
}
#consumer_Ttl {
	background-image: url(../img/search/purpose/consumer/ttl_img.jpg);
}
#mobility_Ttl {
	background-image: url(../img/search/purpose/mobility/ttl_img.jpg);
}
#ict_Ttl {
	background-image: url(../img/search/purpose/ict/ttl_img.jpg);
}
#medical-environment_Ttl {
	background-image: url(../img/search/purpose/medical-environment/ttl_img.jpg);
}
#industrial-fa_Ttl {
	background-image: url(../img/search/purpose/industrial-fa/ttl_img.jpg);
}
.sContTtl h2 {
	font-size: 3rem;
}
.sWrapTtl {
	text-align: left;
	margin-bottom: 3rem;
	font-size: 3rem;
}
.sWrap {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	gap: 2rem 10rem;
}
.sWrap .img {
	width: 50%;
}
.sWrap .img small {
	display: block;
	text-align: left;
	margin-top: 0.5rem;
}
.sWrap .img li + li {
	margin-top: 2rem;
}
.sWrap .sCont {
	flex: 1;
}
.sCont {
	text-align: left;
}
.sCont dt {
	font-size: 2.4rem;
	font-weight: 600;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #CFCFCF;
	position: relative;
	text-align: left;
}
.sCont dt::after {
	content: "";
	display: block;
	width: 5.5rem;
	height: 1px;
	background: var(--c_m1);
	position: absolute;
	bottom: -1px;
	left: 0;
	z-index: 1;
}
.sCont h3 {
	font-size: 100%;
	margin-top: 2em;
}
.sImgWrap {
	display: flex;
	justify-content: space-between;
}
.sImgWrap .img {
	flex: 1;
	max-height: 54rem;
	margin: 0 -25% 0 -15rem;
	position: relative;
	overflow: hidden;
	z-index: -1;
}
.sImgWrap .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.sImgWrap .sCont {
	max-width: 68rem;
	background: #fff;
	padding: 8rem 0 3rem 8rem;
	margin-top: 10rem;
}
.sImgWrap .sCont h3 {
	font-size: 2rem;
	color: var(--c_m1);
	margin: 5rem 0 1rem;
}
.sImgWrap .sCont ul {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1.2rem;
}
.sImgWrap .sCont li {
	background: var(--c_gy);
	padding: .7rem;
	text-align: center;
	font-size: 93%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	line-height: 1.4;
	min-height: 4.5rem;
}
.reasonWrap {
	margin-top: 5rem;
}
.reasonWrap li {
	display: flex;
	flex-direction: row-reverse;
	gap: 2rem 8rem;
}
.reasonWrap li:not(:first-of-type) {
	margin-top: 7rem;
}
.reasonWrap .img {
	width: 42rem;
}
.reasonWrap dl {
	flex: 1;
	text-align: left;
}
.reasonWrap dt {
	color: var(--c_m1);
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 1rem;
}
#caseSec {
	background: url(../img/bg01.jpg) center center no-repeat;
	background-size: cover;
	color: #fff;
}
#caseSec .caseList * {
	color: #fff;
}
#caseSec .caseList .cate {
	background: #fff;
	color: #000;
}
.faqWrap dl + dl {
	margin-top: 2rem;
}
.bg-gy .faqWrap dt {
	background: #fff;
}
.faqWrap dt,
.faqWrap dd {
	position: relative;
	text-align: justify;
	padding: 2rem 5rem 2rem 8rem;
}
.faqWrap dt::before,
.faqWrap dd::before {
	content: "Q";
	font-family: "barlow", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height: 1;
	color: #000;
	font-size: 3rem;
	text-align: center;
	width: 8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	padding-bottom: 0.5rem;
}
.faqWrap dd::before {
	content: "A";
	color: var(--c_m1);
	bottom: auto;
	top: 1.7rem;
}
.faqWrap dt {
	background: var(--c_gy);
	cursor: pointer;
	transition: .2s;
}
.faqWrap dt::after {
	content: "";
	display: block;
	background: url(../img/arrow_bk.svg) center center no-repeat;
	background-size: contain;
	width: 1rem;
	aspect-ratio: 6/12;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	right: 2rem;
	z-index: 1;
	transition: .2s;
}
.faqWrap dt.act::after {
	transform: translateY(-50%) rotate(-90deg);
}
.faqWrap dt:hover {
	background-color: var(--c_m2)!important;
}
.faqWrap dd {
	display: none;
	padding-bottom: 3rem;
}
.customWrap {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 2rem 12.5rem;
}
.customWrap .imgWrap {
	position: relative;
	width: 42.5rem;
}
.customWrap .imgWrap .img._01 {
	width: 71.5%;
}
.customWrap .imgWrap .img._02 {
	width: 40%;
	position: relative;
	margin-left: auto;
	margin-top: -30%;
}
.customWrap dl {
	flex: 1;
	text-align: left;
	letter-spacing: 0.05em;
}
.customWrap dt {
	color: var(--c_m1);
	font-size: 4.6rem;
	margin-bottom: 3rem;
}
.customWrap h2 {
	font-size: 2.4rem;
	font-weight: 600;
	margin-top: 0.5rem;
}
.customWrap._02 h2 {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	color: #000;
	font-size: 4rem;
}
.customWrap._02 h2::before {
	content: "";
	display: block;
	width: 3.2rem;
	height: 0.3rem;
	background: var(--c_m1);
}
.customWrap h3 {
	font-size: 2rem;
	margin-bottom: 1rem;
}
.contactBtn {
	margin-top: 4rem;
}
.contactBtn a {
	max-width: 37rem;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	text-align: center;
	gap: .5rem 3rem;
	background: var(--c_m1);
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	border-radius: 10rem;
	padding:2.5rem 1rem;	
}
.contactBtn a .eng {
	font-size: 3.6rem;
	line-height: 0.8;
}
.contactBtn a:hover {
	background: var(--c_bk);
}
.pContTtl {
	display: flex;
	align-items: center;
	background: var(--c_gy);
}
.pContTtl .img {
	position: relative;
	overflow: hidden;
	width: 55%;
}
.pContTtl h2 {
	font-size: 3rem;
	flex: 1;
}

/*company
---------------------------------------------------------*/
.companyNav {
	display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem;
}
.companyNav a .ttl {
  text-align: left;
  font-size: 2rem;
  padding-top: 2rem;
  font-weight: 600;
  letter-spacing: .05em;
  position: relative;
	display: flex;
	align-items: flex-end;
	gap: 1.5rem;
	line-height: 1;
}
.companyNav a .thumb {
	aspect-ratio: 12/7;
}
.companyNav a .thumb::after {
	content: "";
	display: block;
	width: 3.4rem;
	aspect-ratio: 1;
	background: #fff url(../img/arrow.svg) center center no-repeat;
	background-size: 22% auto;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	transition: .2s;
}
.companyNav a:hover .thumb::after {
	background-color: var(--c_m1);
	background-image: url(../img/arrow_wh.svg);
}
.companyNav a .ttl span {
  font-size: 60%;
  display: inline-block;
	color: var(--c_m1);
}
.companyNav a:hover {
  color: var(--c_m1);
}
.companyindexbox ._img{
	flex-basis: 65%;
}
.companyindexbox ._navi{
	text-align: left;
	flex-basis: 30%;
}
.companyindexbox ._navi li a{
	display: flex;
	align-items: center;
	border-bottom: 1px solid #ccc;
	padding: 2rem 0;
	font-size: 2rem;
	position: relative;
}
.companyindexbox ._navi li a:after{
	content: "";
	display: block;
	width: .6rem;
	aspect-ratio: 1/2;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: auto;
	background-size: contain;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	transition: .2s .6s;
}
.companyindexbox ._navi li strong{
	font-weight: 600;
}
.companyindexbox ._navi li a span{
	font-size: 1.2rem;
	color:  var(--c_m1);
	margin: 0 0 0 2rem;
}

/*profile
---------------------------------------------------------*/
.profile {
	display: grid;
	grid-template-columns: 25rem 1fr;
	text-align: left;
}
.profile dt,
.profile dd {
	padding: 2.5rem 0;
	border-bottom: 1px solid #CFCFCF;
}
.profile dt {
	font-weight: 600;
}
.profile dd.d-flex {
	align-items: center;
	justify-content: space-between;
}
.profile dd .more {
	margin-top: 0;
}
#group {
	background: #000;
	padding: 14rem 0;
	background: var(--c_gy) url(../img/top/bg_earth.png) right bottom no-repeat;
	background-size: 55% auto;
}
.groupWrap {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.groupImg {
	position: relative;
	width: 44rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 1.5rem 4%;
	margin-top: 7rem;
}
.groupImg li {
	width: 48%;
}
.groupImg li:nth-of-type(2),
.groupImg li:nth-of-type(3) {
	padding-left: 4rem;
}
.groupImg li:nth-of-type(2) {
	margin-top: -7rem;
	padding-left: 0;
	padding-right: 4rem;
}
.groupImg li:nth-of-type(4) {
	margin-top: -11.5rem;
}
.groupCont {
	width: 50%;
	text-align: left;
}
.groupCont h2 {
	font-size: 2.4rem;
	margin-bottom: 2rem;
}
.groupCont .logo {
	margin: 6rem auto 0;
	max-width: 27.5rem;
}
.cBnr {
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	background: var(--c_gy);
}
.cBnr .img {
	flex: 1;
}
.cBnr .box {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: .5rem;
}
.cBnr h2 {
	font-size: 1.8rem;
	color: var(--c_m1);
	margin-bottom: 1rem;
}
.telnum {
	white-space: nowrap;
	font-size: 3.6rem;
}

/*contact
---------------------------------------------------------*/
.contactTop .txt-lh {
	text-align: left;
	margin-bottom: 6rem;
}
.telWrap {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 2rem 2.5rem;
}
.telWrap dl {
	background: #fff;
	padding: 2rem;
	letter-spacing: 0.05em;
	text-indent: .05em;
}
.telWrap dt {
	background: var(--c_gy);
	color: var(--c_m1);
	font-size: 1.8rem;
	font-weight: 700;
	padding: .8rem	;
	margin-bottom: 2rem;
}
.telWrap .telnum {
	display: block;
	font-size: 3.6rem;
	margin-top: .5rem;
}
.contactTtl {
	text-align: left;
	margin-bottom: 3rem;
}
.contactTtl h2 {
	font-size: 3rem;
	margin-bottom: 2rem;
}
.contactTtl .btnWrap {
	margin-top: 3rem;
}
.contactTtl .txt-lh a {
	text-decoration: underline;
	color: var(--c_m1);
}
.contactTtl .txt-lh a:hover {
	color: var(--c_bk2);
	text-decoration: none;
}
.formArea {
	padding: 6rem;
	background: #fff;
}
.thxBox {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.1);
	padding: 4rem 2rem;
}
.thxBox h2 {
	font-size: 125%;
	margin-bottom: 2rem;
}
.thxBox .btnWrap {
	margin-top: 3rem;
}
.formPanelArea {
	position: relative;
}
.formPanel {
	/*display: none;*/
	position: absolute;
	visibility: hidden;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	z-index: -1;
}
.formPanel.active {
	/*display: block;*/
	visibility: visible;
	pointer-events: auto;
	z-index: 1;
}
.formPanel:first-of-type {
	position: static;
}
.formSet {
	text-align: left;
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 2rem;
	border-bottom: #e2e2e2 1px solid;
	padding-bottom: 15px;
}
.formSet dt {
	position: relative;
	padding-left: 48px;
	padding-top: 3px;
}
.formSet dt::before {
	content: "任意";
	display: block;
	font-size: 12px;
	width: 40px;
	position: absolute;
	left: 0;
	top: 5px;
	color: #fff;
	background: #777;
	padding: 2px 0 3px;
	text-align: center;
}
.formSet dt.required::before {
	content: "必須";
	background: #ce052c;
}

/*faq
---------------------------------------------------------*/
.pageAnc {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1.5rem;
}
.pageAnc a {
	height: 100%;
	min-height: 6.8rem;
	display: flex;
	align-items: center;
	background: var(--c_bk2);
	text-align: left;
	position: relative;
	font-weight: 500;
	color: #fff;
	padding: 1rem 2rem;
	padding-right: 3rem;
}
.pageAnc a::after {
	content: "";
	position: absolute;
	display: block;
	right: 0;
	bottom: 0;
	width: 2.4rem;
	aspect-ratio: 1;
	background: #000 url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 22% auto;
	position: absolute;
	z-index: 1;
	transition: .2s;
	transform: rotate(90deg);
}
.pageAnc a:hover {
	background-color: var(--c_m1);
	color: #fff;
}
.faqCont + .faqCont {
	margin-top: 7rem;
}
.faqCont h2 {
	font-size: 2.4rem;
	text-align: left;
	margin-bottom: 2rem;
}
.faqCont .faqWrap dt {
	background: var(--c_gy);
}
.faqContArea {
	padding: 6rem 10rem;
	background: #fff;
	position: relative;
	border-top: 1px solid #CFCFCF;
}
.faqContArea::after {
	content: "";
	display: block;
	width: 5rem;
	height: 1px;
	background: var(--c_m1);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

/*login
---------------------------------------------------------*/
.memberPage {
	background: var(--c_gy);
}
.memberPage .contactTtl {
	margin-bottom: 6rem;
}
.funcLogout {
	width: 0;
	height: 0;
	opacity: 0;
	position: relative;
	z-index: -9999;
	pointer-events: none;
}

/*download
---------------------------------------------------------*/
.dlNav {
	display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem;
}
.dlNav a .ttl {
  text-align: left;
  font-size: 2rem;
  padding-top: 2rem;
  font-weight: 600;
  letter-spacing: .05em;
  position: relative;
	display: flex;
	align-items: flex-end;
	gap: 1.5rem;
	line-height: 1;
}
.dlNav a .thumb {
	aspect-ratio: 12/7;
}
.dlNav a .thumb::after {
	content: "";
	display: block;
	width: 3.4rem;
	aspect-ratio: 1;
	background: #fff url(../img/arrow.svg) center center no-repeat;
	background-size: 22% auto;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	transition: .2s;
}
.dlNav a:hover .thumb::after {
	background-color: var(--c_m1);
	background-image: url(../img/arrow_wh.svg);
}
.dlNav a:hover {
  color: var(--c_m1);
}
.dlList {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 6rem 2.5rem;
	text-align: left;
	font-weight: 500;
	margin-bottom: 7rem;
}
.dlList a {
	height: 100%;
	display: block;
	position: relative;
	padding-bottom: 7rem;
}
.dlList a:hover {
	color: var(--c_m1);
}
.dlList .thumb {
	aspect-ratio: 720/408;
	margin-bottom: .7rem;
}
.dlList .btn {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	width: 100%;
}

/*sitemap
---------------------------------------------------------*/
.sitemapWrap {
	text-align: left;
}
.sitemapWrap dl + dl {
	margin-top: 8rem;
}
.sitemapWrap dt {
	letter-spacing: 0.05em;
	border-bottom: 1px solid #cfcfcf;
	padding-bottom: 3rem;
	font-size: 2rem;
}
.sitemapWrap dt a {
	display: flex;
	align-items: flex-end;
	gap: 1.5rem;
	position: relative;
}
.sitemapWrap dt a span {
	display: flex;
	align-items: center;
	gap: 2rem;
}
.sitemapWrap dt a span::after,
.sitemapWrap dd a::after {
	content: "";
	display: block;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
	width: 0.6rem;
	aspect-ratio: 4/9;
	margin-bottom: -.2em;
	transition: .2s;
}
.sitemapWrap dl:not(._02) dt a:hover span::after,
.sitemapWrap dl:not(._02) dd a:hover::after {
	transform: translateX(.5rem);
}
.sitemapWrap dt a[tabindex="-1"] {
	pointer-events: none;
}
.sitemapWrap dt a[tabindex="-1"] span::after {
	display: none;
}
.sitemapWrap dt a .eng {
	font-size: 3rem;
}
.sitemapWrap dd {
	margin-top: 3.5rem;
}
.sitemapWrap dd ul {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 2.5rem;
	text-align: left;
}
.sitemapWrap dd a {
	display: flex;
	align-items: center;
	gap: 2rem;
	position: relative;
}
.sitemapWrap dl._02 dd a {
	background: #fff;
	padding: 2.3rem 2rem;
}
.sitemapWrap dl._02 dd a::after {
	content: "";
	display: block;
	width: 2.4rem;
	aspect-ratio: 1;
	background: #000 url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 22% auto;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	margin: 0;
	transition: .2s;
}
.sitemapWrap a:hover {
	color: var(--c_m1)!important;
}
.sitemapWrap dl._02 dd a:hover:after {
	background-color: var(--c_m1);
}

/*properties
---------------------------------------------------------*/
.propertiesArea {
	text-align: left;
}
.propertiesArea h2 {
	font-size: 2.4rem;
	margin-bottom: 1rem;
}
.propertiesArea .txt-lh {
	margin-bottom: 4rem;
}
.propertieTbl {
	overflow: auto;
}
.propertieTbl table {
	table-layout: fixed;
}
.propertieTbl th,
.propertieTbl td {
	text-align: center;
	padding: 1rem;
	border: 1px solid #CFCFCF;
	line-height: 1.2;
}
.propertieTbl th {
	background: #E6F4F2;	
}
.propertieTbl tbody th {
	background: var(--c_gy);
}
.propertieTbl tbody th p {
	display: flex;
	justify-content: center;
	align-items: center;
}
.propertieTbl tbody th p span {
	display: block;
	flex: 1;
}
.propertieTbl tbody th p small {
	display: block;
	width: 7rem;
	font-size: 75%;
	font-weight: 400;
}
.propertieTbl .dot th,
.propertieTbl .dot td {
	border-bottom-style: dashed;
}
.propertieTbl .dot + tr th,
.propertieTbl .dot + tr td {
	border-top-style: dashed;
}

/*solutions
---------------------------------------------------------*/
.solutions-index {
	text-align: left;
}
.solutions-index h2 {
	font-size: 3rem;
	font-weight: 700;
	color: var(--c_m1);
	margin-bottom: 1.5rem;
}
.solutions-index .txt-lh {
	margin-bottom: 4rem;
}
.solutionsNav {
	position: relative;
	z-index: 1;
	background: #000;
}
.solutionsNav figure {
	position: absolute;
	top: 0;
	left: 0;
	right: 43rem;
	bottom: 0;
	overflow: hidden;
	z-index: -10;
}
.solutionsNav figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.solutionsNav ul {
	max-width: 43rem;
	margin-left: auto;
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
	background: #000;
}
.solutionsNav ul li {
	flex: 1;
	border-bottom: 1px solid var(--c_bk2);
}
.solutionsNav ul li a {
	position: relative;
	padding: 1rem 3rem;
	display: flex;
	align-items: center;
	gap: 1rem;
	color: #fff;
}
.solutionsNav ul li a::after {
	content: "";
	display: block;
	width: 0.7rem;
	aspect-ratio: 6/12;
	position: absolute;
	right: 3rem;
	top: 50%;
	transform: translateY(-50%);
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: contain;
	z-index: 1;
	transition: .2s;
}
.solutionsNav ul li a h3 {
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.solutionsNav ul li a .icon {
	width: 6rem;
}
.solutionsNav ul::before {
	content: "";
	display: block;
	position: absolute;
	right: 99%;
	top: 0;
	bottom: 0;
	width: 25rem;
	background: rgba(0, 0, 0, 0.8);
	background:-webkit-gradient(linear,right top, left top,color-stop(20%, #000),to(rgba(0, 0, 0,0)));
	background:-o-linear-gradient(right,#000 20%,rgba(0, 0, 0,0) 100%);
	background:linear-gradient(-90deg,#000 20%,rgba(0, 0, 0,0) 100%);
}
.solutionsNav ul li a:hover {
	color: #ccc;
}
.solutionsNav ul li a::before {
	content: "";
	display: block;
	background: var(--c_m1);
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 1px;
  clip-path: inset(0 100% 0 0);
  transition: clip-path .6s var(--tr_cb);
  pointer-events: none;
  z-index: 1;
}
.solutionsNav ul li a:hover::before{
  clip-path: inset(0 0 0 0);
  transition-delay: .1s;
}
.solutionsNav ul li a:hover::after{
	transform: translateY(-50%) translateX(.5rem);
}

/*solutions__thermal
---------------------------------------------------------*/
.solCategories {
	padding: 4rem 0;
}
.solutions__contArea h2 {
	font-size: 3.6rem;
	color: var(--c_m1);
	margin-bottom: 5rem;
	text-align: left;
}
.solutionsWrap {
	display: flex;
	flex-direction: row-reverse;
	gap: 8rem;
}
.solutionsWrap .img {
	width: 42rem;
}
.solutionsWrap .box {
	flex: 1;
	text-align: left;
}
.solutionsWrap h3 {
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 2rem;
}
.solExa h2 {
	text-align: left;
	font-size: 2.4rem;
	margin-bottom: 4rem;
}

/*domestic-base
---------------------------------------------------------*/
.mapArea h2 {
	font-size: 100%;
	font-weight: 400;
	text-align: left;
	margin-bottom: 5rem;
}
.mapWrap {
	position: relative;
}
.map-domestic {
	display: flex;
	justify-content: space-between;
}
.mapCont {
	max-width: 20rem;
	min-width: 17rem;
	position: absolute;
	z-index: 1;
}
.map_tokai {
	position: relative;
	width: 68rem;
	padding-left: 23.3rem;
}
.map_jp {
	position: relative;
	width: 34.8rem;
}
.mapCont {
	position: absolute;
	z-index: 10;
}
.mapCont a {
	display: block;
	background: var(--c_m1);
	color: #fff;
	text-align: left;
	position: relative;
}
.mapCont .txt {
	position: relative;
	padding: 1rem 3rem 1rem 2rem;
}
.mapCont .txt::after {
	content: "";
	display: block;
	background: var(--c_bk2) url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 25% auto;
	aspect-ratio: 1;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 2.3rem;
	transform: rotate(90deg);
	transition: .2s;
}
.mapCont._07w .txt::after{
	rotate: -90deg;
}
.mapCont._07w a{
	background-color:  var(--c_or);
}
.mapCont .btm {
	text-align: left;
	margin-top: .5rem;
	font-size: 1.2rem;
	line-height: 1.4;
}
.mapCont._01 {
	top: 0;
	left: 0;
}
.mapCont._02 {
	top: 29rem;
	left: 0;
}
.mapCont._03 {
	top: 41rem;
	right: -15rem;
}
.mapCont._04 {
	top: 51rem;
	left: 10rem;
}
.mapCont._05 {
	top: 32rem;
	right: 0;
}
.mapCont._06 {
	top: 39rem;
	right: 0;
}
.mapWrap .bdr {
	position: absolute;
	z-index: -1;
}
.mapWrap .bdr::before {
	content: "";
	display: block;
	width: 1px;
	background: var(--c_bk2);
}
.mapWrap .bdr::after {
	content: "";
	display: block;
	position: absolute;
	width: 1rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--c_bk2);
	right: -0.55rem;
	bottom: -0.55rem;
	top: -0.55rem;
	left: -0.55rem;
}
.map_tokai > .bdr {
	background: var(--c_m1);
	width: 24.5rem;
	height: 0;
	top: 24.5rem;
	bottom: auto;
	right: -24.5rem;
	z-index: 1;
	border-top: 1px solid var(--c_m1);
}
.map_tokai > .bdr::after {
	bottom: auto;
	left: auto;
	background: var(--c_m1);
}
.mapCont._01 .bdr {
	width: 15rem;
	height: 21rem;
	border-top: 1px solid var(--c_bk2);
	border-right: 1px solid var(--c_bk2);
	right: -15rem;
	top: 13.9rem;
}
.mapCont._01 .bdr::after {
	top: auto;
	left: auto;
}
.mapCont._02 .bdr {
	width: 14.4rem;
	height: 0;
	border-top: 1px solid var(--c_bk2);
	right: -14.4rem;
	bottom: 2.2rem;
}
.mapCont._02 .bdr::after {
	display: none;
}
.mapCont._03 .bdr {
	width: 8rem;
	height: 21rem;
	border-left: 1px solid var(--c_bk2);
	border-bottom: 1px solid var(--c_bk2);
	left: -8rem;
	bottom: 2.2rem;
}
.mapCont._03 .bdr::after {
	bottom: auto;
	right: inherit;
}
.mapCont._04 .bdr {
	width: 7.4rem;
	height: 14.2rem;
	border-bottom: 1px solid var(--c_bk2);
	border-right: 1px solid var(--c_bk2);
	right: -7.4rem;
	bottom: 2.2rem;
}
.mapCont._04 .bdr::after {
	bottom: auto;
	left: auto;
}
.mapCont._05 .bdr {
	width: 0;
	height: 7rem;
	border-right: 1px solid var(--c_bk2);
	left: 3rem;
	top: -7rem;
}
.mapCont._05 .bdr::after {
	bottom: auto;
	right: auto;
}
.mapCont._06 .bdr {
	width: 4.5rem;
	height: 14rem;
	border-bottom: 1px solid var(--c_bk2);
	border-left: 1px solid var(--c_bk2);
	left: -4.5rem;
	bottom: 2.2rem;
}
.mapCont._06 .bdr::after {
	bottom: auto;
	right: auto;
}
.mapCont a:hover .txt::after {
	background-color: #000;
}
.baseArea h2 {
	text-align: left;
	margin-bottom: 5rem;
	font-size: 3.2rem;
	color: var(--c_m1);
}
.baseArea h2:not(:first-of-type) {
	margin-top: 5rem;
}
.baseWrap {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 3rem 7rem;
	text-align: left;
}
.baseWrap + .baseWrap {
	padding-top: 8rem;
	margin-top: 8rem;
	border-top: 1px solid #cfcfcf;
}
.gmap {
	aspect-ratio: 530/310;
}
.gmap iframe {
	width: 100%;
	height: 100%;
}
.baseWrap .rht > * + * {
	margin-top: 2.5rem;
}
.baseWrap h3 {
	font-size: 2rem;
	margin-bottom: 2.5rem;
}
.baseWrap th,
.baseWrap td {
	padding: .5rem 0;
	vertical-align: top;
}
.baseWrap th {
	width: 10rem;
}
.baseArea._related {
	border-top: 1px solid #cfcfcf;
}
.baseArea h2._b{
	margin:  0 0 3rem;
}
/*overseas*/
.map_world {
	margin-right: -0.2rem;
}
.map_world .mapCont {
	max-width: none;
}
.map-overseas {
	margin-bottom: 2rem;
}
.map_world .mapCont .txt {
	height: 7rem;
	display: flex;
	align-items: center;
	padding-right: 3.5rem;
}
.mapCont .eng {
	white-space: nowrap;
	color: var(--c_m1);
	font-size: 1.4rem;
	position: absolute;
	left: 1rem;
	top: -.9rem;
}
.mapCont .txt2 {
	background: var(--c_bk2);
	padding: .5rem 1.5rem .7rem;
	color: #fff;
}
.mapWrap .map_world .bdr::after {
	background: var(--c_m1);
}
.mapWrap .map_world ._07w .bdr::after{
	background: var(--c_or);
}
.mapCont._01w {
	top: 3rem;
  left: 5rem;
}
.mapCont._02w {
	max-width: 28rem;
	top: 32rem;
  left: 6rem;
}
.mapCont._03w {
	top: 11.5rem;
	left: 38rem;
}
.mapCont._04w {
	top: 5.5rem;
	left: 74.5rem;
}
.mapCont._05w {
	top: 22.5rem;
	left: 78.5rem;
}
.mapCont._06w {
	top: 32rem;
	left: 45rem;
}
.mapCont._07w {
	top: 23.5rem;
	left: 46.7rem;	
}
.mapCont._08w {
	top: 21rem;
	left: 47.5rem;
}
.mapCont._09w {
	top: 19.5rem;
	left: 91.5rem;
}
.mapCont._10w {
	top: 
	22.5rem;
	left: 79.5rem;
}
.mapCont._01w .bdr {
	width: 0;
	height: 6rem;
	border-left: 1px solid var(--c_m1);
	left: 2rem;
	top: 99%;
}
.mapCont._02w .bdr {
	width: 5.5rem;
  height: 9rem;
  border-right: 1px solid var(--c_m1);
  border-bottom: 1px solid var(--c_m1);
  right: -5.5rem;
  bottom: 4rem;
}
.mapCont._03w .bdr {
	width: 0;
	height: 7rem;
	border-left: 1px solid var(--c_m1);
	left: 4rem;
	top: 99%;
}
.mapCont._04w .bdr {
	width: 0;
	height: 7.5rem;
	border-left: 1px solid var(--c_m1);
	left: 2rem;
	top: 99%;
}
.mapCont._05w .bdr {
	width: 0;
	height: 1.5rem;
	left: -1.5rem;
	top: -1.5rem;
}
.mapCont._06w .bdr {
	width: 0;
	height: 10rem;
  border-left: 1px solid var(--c_m1);
  left: 1rem;
	bottom: 99%;
}
.mapCont._07w .bdr {
	width: 0;
	height: 2rem;
  border-left: 1px solid var(--c_or);
  left: .5rem;
	bottom: 99%;
}
.mapCont._01w .bdr::after,
.mapCont._03w .bdr::after,
.mapCont._04w .bdr::after {
	top: auto;
}
.mapCont._02w .bdr::after{
	right: -0.55rem;
  left: auto;
  bottom: auto;
}
.mapCont._01w .eng {
	top: auto;
	bottom: -2rem;
  left: -2rem;
}
.mapCont._02w .eng {
	left: -1.5rem;
}
.mapCont._03w .eng {
	top: auto;
	bottom: -2rem;
  left: -2rem;
}
.mapCont._04w .eng {
	top: auto;
	bottom: .2rem;
	left: .5rem;
}
.mapCont._06w .eng {
	top: -2.5rem;
  left: -3.7rem;
}
.mapCont._07w .eng {
	top: auto;
	left: 1rem;
}
.mapCont._08w .eng {
	top: -1.2rem;
	left: 1rem;
}

/**devのmap**/
.map-dev .mapCont{
	max-width: none;
}
.map-dev .mapCont a{
	background-color: var(--c_or);
}
.map-dev .bdr::after{
	background: var(--c_or);
}
.map-dev{
  position: relative;
  width: 60rem;
  margin: 0 auto;
}

/* 地図画像はコンテナ幅に追従 */
.map-dev .map img{
  width: 100%;
  height: auto;
  display: block;
}
.mapCont._01d {
	top: 51.5rem;
  left: 24rem;
}
.mapCont._02d {
	top: 25rem;
  left: 9rem;
}
.mapCont._03d {
	top: 38.5rem;
  left: 42rem;
  white-space: nowrap;
}
.mapCont._01d .bdr {
  width: 0;
  height: 7rem;
  border-right: 1px solid var(--c_or);
  left: 3rem;
  top: -7rem;
}
.mapCont._02d .bdr {
  width: 0;
  height: 10.7rem;
  border-right: 1px solid var(--c_or);
  left: 18rem;
  bottom:  -10.7rem;
}
.mapCont._02d .bdr::after{
	top: auto;
}
.mapCont._03d .bdr {
  width: 11.8rem;
  height: 0;
  border-top: 1px solid var(--c_or);
  left: -11.8rem;
  top: 3rem;
}

/*history
---------------------------------------------------------*/
.historyWrap {
	position: relative;
	z-index: 1;
}
.historyWrap::before {
	content: "";
	display: block;
	position: absolute;
	top: 3rem;
	bottom: 0;
	left: 50%;
	width: 1px;
	background: var(--c_m1);
	z-index: -1;
}
.historyWrap dl {
	width: 50%;
	gap: 2rem 3.5rem;
	display: flex;
	align-items: flex-start;
	text-align: left;
	padding-right: 5rem;
	transition: .6s .6s;
	opacity: 0;
	transform: translateY(2rem);
}
.historyWrap dl:nth-of-type(even) {
	margin-left: auto;
	padding: 0 0 0 5rem;
}
.historyWrap dl:nth-of-type(odd) {
	flex-direction: row-reverse;
	text-align: right;
}
.historyWrap dl:not(:first-of-type) {
	margin-top: 3rem;
}
.historyWrap dl.act {
	opacity: 1;
	transform: translateY(0)!important;
}
.historyWrap dt {
	flex: 1;
	font-size: 6.2rem;
	white-space: nowrap;
	line-height: .9;
	margin-top: -.2em;
	font-weight: 500;
	color: var(--c_m1);
	position: relative;
}
.historyWrap dt::after {
	content: "";
	display: block;
	width: 1.6rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--c_m1);
	position: absolute;
	top: 3rem;
	right: -5.8rem;
	z-index: 5;
}
.historyWrap dl:nth-of-type(even) dt::after {
	right: auto;
	left: -5.8rem;
}
.historyWrap dd {
	width: 32rem;
}
.historyWrap dd .img {
	margin-bottom: 1rem;
}
.historyWrap dd .img + .txt {
	text-align: left;
}
.historyWrap dd .note {
	display: block;
	margin-top: .5rem;
}
.historyWrap dl.mt10 {
	margin-top: 10rem;
}
.historyWrap dl.mt-10 {
	margin-top: -10rem;
}


/*search__shape_list
---------------------------------------------------------*/
#page-search__toollist .pageTtlArea{
	height: 15rem;
}
#page-search__toollist .pageTtl{
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
}
.toollist_products{
  padding: 4.6rem 0;
}
.toollist_products ul {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 1rem;
}
.toollist_products ul li a{
	text-align: center;
	background: #fff;
	padding: 0.8rem 0.5rem;
	cursor: pointer;
	line-height: 1.4;
	transition: .2s;
	height: 100%;
	display: grid;
	align-items: center;
	font-feature-settings: "palt";
}
.toollist_products ul li a:hover {
	background-color: var(--c_m2);
}
.toollist_products ul li.active a{
	background: var(--c_m1);
	color: #fff;
	pointer-events: none;
}
.toollist_detail h2{
  font-size: 3.6rem;
  margin-bottom: 3.6rem;
  text-align: left;
}
.toollist_detail__img{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 5rem 8rem;
}
.toollist_detail__img dt {
	font-size: 1.8rem;
	font-weight: 600;
	text-align: left;
	margin-bottom: 1rem;
}
.toollist_detail__img .note {
	font-size: 87.5%;
	text-align: left;
	margin-top: 1rem;
}
.toollist_detail__compare{
  background-color: #F5F5F5;
  padding: 2.8rem 3.6rem 3.6rem;
  margin: 6rem 0;
}
.toollist_detail__compare h3{
  text-align: left;
  margin-bottom: 1.4rem;
  font-weight: 500;
}
.toollist_detail__compare_row{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
  align-items: flex-start;
}
.toollist_detail__compare_table th,
.toollist_detail__compare_table td{
  border: .1rem solid #CFCFCF;
  padding: 1rem 1rem;
  font-weight: 400;
  width: 50%;
  font-size: 1.2rem;
}
.toollist_detail__compare_table tr th:first-child,
.toollist_detail__compare_table tr td:first-child{
  border-left: none;
}
.toollist_detail__compare_table tr th:last-child,
.toollist_detail__compare_table tr td:last-child{
  border-right: none;
}
.toollist_detail__compare_table thead th{
  background-color: var(--c_m1);
  color: #fff;
}
.toollist_detail__compare_table tr th:first-child{
  background-color: #535252;
}
.c_tab_btn li{
  cursor: pointer;
  background-color: #CFCFCF;
  min-width: 23rem;
  padding: 1.6rem;
  font-size: 1.8rem;
  font-weight: 600;
  transition: .2s;
}
.c_tab_btn li.active{
  background-color: var(--c_m1);
  color: #fff;
}
.c_tab_btn li:not(.active):hover{
  background-color: var(--c_m2);
}
.c_tab_cont{
  display: none;
}
.c_tab_cont.active{
  display: block;
}
.toollist_detail__value table{
  border-top: .5rem solid var(--c_m1);
}
.toollist_detail__value table td{
  border: .1rem solid #E0E0E0;
  padding: 1rem 0.5rem;
  font-size: 1.2rem;
}
.toollist_detail__value table td img[src*="icon"] {
	max-height: 2.5rem;
}
.toollist_detail__value table thead tr td{
  background-color: var(--c_gy);
  font-weight: 600;
	line-height: 1.2;
}
.toollist_detail__value table thead tr td .sub{
  font-size: 1rem;
  font-weight: 400;
  display: block;
  font-feature-settings: "palt";
}
.toollist_top{
  display: flex;
  position: fixed;
  bottom: 0;
  left: 0;
  max-width: 44.4rem;
  z-index: 9;
  background-color: var(--c_bk2);
  opacity: 0;
  overflow: hidden;
}
.toollist_top.active{
  opacity: 1;
  overflow: visible;
}
.toollist_top__img{
  width: 14rem;
}
.toollist_top__img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.toollist_top__box{
  flex: 1;
  padding: 1.5rem 5.6rem 1.3rem 2.4rem;
  color: #fff;
  position: relative;
  text-align: left;
  align-content: center;
}
.toollist_top__box::after{
  content: "";
  width: 2.2rem;
  aspect-ratio: 1;
  background: #fff url("../img/arrow_bk02.svg") center no-repeat;
  background-size: 50% auto;
  border-radius: 50%;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 2.4rem;
  transform: translateY(-50%);
}
.toollist_top__box .eng{
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  font-feature-settings: "palt";
}
.toollist_top__box .jaTxt{
  font-size: 1.4rem;
}
.toollist_top:hover{
  background-color: var(--c_m1);
}


/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1250px) {
	html {
		font-size: .8vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5;
		padding-top: 5.4rem;
	}
	body.active {
		overflow: hidden;
	}
	article > section {
		padding: 4rem 0;
	}
	.txt-lh {
		line-height: 1.8;
	}
	.ttlBox {
		font-size: 3rem;
		margin-bottom: 3rem;
	}
	.ttlBox h2{
		font-size: 2rem;
	}
	.secTtl {
		font-size: 3.2rem;
		margin-bottom: 3rem;
	}
	.secTtl h2 {
		font-size: 2rem;
	}
	.more,
	.btnWrap {
		margin-top: 3rem;
	}

	/*header
	-------------------------------------------------------*/
	#header {
		z-index: 9999;
	}
	#subPage #header .hWrap {
    border-bottom: 1px solid #f1f1f1;
	}
	#subPage #header.scrl .hWrap {
		border-bottom: none;
	}
	.hWrap {
		height: 5.4rem;
		padding: 0 0 0 1rem;
		align-items: center;
	}
	.hLogo,.spLogo {
		width: 9.5rem;
	}
	.menuIconWrap {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		width: 5.4rem;
		height: 5.4rem;
		background: #000;
		z-index: 90000
	}
	.menuIcon {
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		transform: translateY(-50%);
		margin: 0 auto;
		width: 3rem;
		height: 2.2rem;
		z-index: 10;
		cursor: pointer;
		display: block;
	}
	.menuIcon span {
		position: absolute;
		left: 0;
		width: 100%;
		height: .2rem;
		background:#fff;
		z-index: 10;
		transition: .2s;
	}
	.menuIcon span:nth-of-type(1) {top: 0px;}
	.menuIcon span:nth-of-type(2) {top: 1rem;	}
	.menuIcon span:nth-of-type(3) {bottom: 0px;	}
	.menuIcon.active span {
		background: #fff!important
	}
	.menuIconWrap.active span:nth-of-type(1) {
		-webkit-transform: translateY(1rem) rotate(45deg);
		transform: translateY(1rem) rotate(45deg);
	}
	.menuIconWrap.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menuIconWrap.active span:nth-of-type(3) {
		-webkit-transform: translateY(-1rem) rotate(-45deg);
		transform: translateY(-1rem) rotate(-45deg);
	}
	#nav {
		position: fixed;
		top: 0;
		bottom: 0;
		right: 0;
		z-index: 10;
		width: 100%;
		height: 100%;
		transition: all 0.3s ease-in-out;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		display: block;
		font-size: 1.4rem;
		background: #fff;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}
	#nav.active {
		right: 0;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
		z-index: 9990;
		pointer-events: all;
	}
	.spLogo {
		height: 5.4rem;
		display: flex;
		align-items: center;
		text-align: left;
		margin-left: 1rem;
	}
	.spLogo img {
		display: block;
		margin: 0;
	}
	.nav {
		margin: auto;
		display: block;
		width: 100%;
		padding: 0;
	}
	.nav > li {
		margin-top: 0;
		border-top: 1px solid #f1f1f1;
	}
	.nav > li > a,
	.tgl > p  {
		display: block;
		width: 100%;
		position: relative;
		padding: 2rem 3rem 2rem 2rem;
		margin: 0;
	}
	.nav > li > a::after {
		content: "";
		display: block;
		background: url("../img/arrow_bk.svg") center center no-repeat;
		background-size: contain;
		width: .7rem;
		height: 1.1rem;
		position: absolute;
		right: 2rem;
		top: 50%;
		transform: translateY(-50%);
	}
	.tgl > p {
		padding-bottom: 2rem!important;
		margin-bottom: 0;
	}
	.nav .tgl > p::after,
	.nav .tgl > p::before {
		content: "";
		width: 1.1rem;
		height: 1px;
		background: #1a1a1a;
		position: absolute;
		left: auto;
		right: 2rem;
		top: 0;
		bottom: 0;
		margin: auto;
		transform: none;
		transition: .2s;
	}
	.nav .tgl > p::before {
		width: 1px;
		height: 1.1rem;
		right: 2.5rem;
		opacity: 1;
	}
	.nav .tgl.open > p::before {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		transform: rotate(90deg);
		opacity: 0;
	}
	.nav .tgl.open > p {
		color: var(--c_m1);
	}
	.hBtn {
		flex-direction: column;
		gap: 1rem;
		padding: 1rem;
	}
	.hBtn a {
		width: 100%;
		padding: 1.7rem;
		font-size: 1.5rem;
		max-width: 30rem;
		margin: 0 auto;
	}
	.ddNavArea {
		position: relative;
		font-size: 1.2rem;
		background: #f9f9f9;
		padding: 2rem 0;
	}
	.ddNavArea dl {
		display: block;
	}
	.ddNavArea dt {
		margin-bottom: 1.5rem;
	}
	.ddNavArea dt a {
		display: inline-flex;
		flex-wrap: wrap;
		gap: .5rem 2rem;
	}
	.ddNavArea dt .eng {
		font-size: 2.4rem;
	}
	.ddNavArea dt span {
		padding-right: 2.2rem;
		margin-top: 0;
		gap: 1.5rem;
		flex: 1;
	}
	.ddNavArea dt span::after,
	.ddNav p::after {
		width: 1.2rem;
	}
	.ddNavArea dl + dl {
		margin-top: 2rem;
	}
	.ddNavArea dd {
		width: 100%;
		padding: 0 1.5rem;
		border-left: 1px solid rgba(0, 0, 0, 0.1);
	}
	.w100 .ddNav {
		display: block;
	}
	.w100 .ddNav li:not(:first-of-type) {
		margin-top: 1.2rem;
	}
	.ddNavWrap {
		display: block;
	}
	.ddNav li:not(:first-of-type) {
		margin-top: 1rem;
	}
	.tgl.open > p,
	.nav > li > a:hover {
		color: #000;
	}
	#nav .hIcon {
		display: none;
	}
	.hIcon._sp {
		display: flex;
		transition: .2s;
	}
	body.active .hIcon._sp {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
	.spLogo02 {
		display: block;
		text-align: center;
		margin-top: 2rem;
	}
	.spLogo02 img {
		max-height: 4rem;
	}
	.hIcon {
		padding: 0 6.7rem 0 0;
		gap: 1rem;
		border-left: none;
		z-index: 9995;
	}
	.hIcon > li {
		height: 100%;
		padding-top: 1.2rem;
	}
	.hIcon > li > p {
		padding: 0 .5rem!important;
	}
	.hIcon ._lang {
		gap: .8rem;
	}
	.hIcon ._lang p {
		padding: 0!important;
	}
	.hIcon ._lang li a {
		font-size: 1.4rem;
	}
	#index #header:not(.scrl) .hIcon li p {
		color: #fff;
	}
	.hIcon li .ddNavArea {
		position: absolute;
		padding: 1rem;
		background: var(--c_gy);
	}
	.hIcon li .ddNavArea .container {
		width: 100%;
	}
	.navSearch .searchBox form {
		flex-direction: row;
	}
	.navSearch .searchBox form button {
		font-size: 1rem;
		min-width: 8rem;
		padding: 1.25rem .5rem;
	}
	input.reset {
		display: none;
	}
	.langselect {
		top: 4.5rem;
	}

	/*footer
	-------------------------------------------------------*/
	#footer {
		padding-bottom: 8rem;
	}
	.fWrap {
		display: block;
	}
	.fNav {
		display: none;
	}
	.fcontactBnr {
		margin-bottom: 5rem;
	}
	.fcontactBnr a {
		display: block;
		padding: 2rem;
	}
	.fcontactBnr .box {
		display: block;
	}
	.fcontactBnr a .ttl {
		font-size: 2rem;
		margin-bottom: 1.5rem;
	}
	.fcontactBnr .btn {
		position: absolute;
		right: 1rem;
		top: 0rem;
		margin-top: 1.5rem;
		min-width: auto;
		width: 12rem;
		font-size: 1.2rem;
		padding: 1rem 0;
	}
	.fcontactBnr .txt {
		font-size: 1.2rem;
		line-height: 1.6;
	}
	.fLogo {
		margin-bottom: 3rem;
	}
	.fLogo img {
		max-height: 5rem;
	}
	.fSearch li a {
		font-size: 1.1rem;
		padding: 1rem;
	}
	.fSearch {
		max-width: 100%;
	}
	.fSearch ul {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 0 .5rem;
	}
	.fBnr {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 1rem
	}
	.fBnr li:not(:first-of-type) {
		margin-top: 0;
	}
	.fBtm {
		display: block;
		margin-top: 6rem;
	}
	.fBtmNav {
		justify-content: center;
		gap: 1rem;
		margin-bottom: 3rem;
	}
	/*side
	-------------------------------------------------------*/
	.sideFix {
		width: 100%;
		top: auto;
		left: 0;
		right: 0;
		bottom: 0;
		transform: none;
		font-size: 1rem;
		text-align: center;
		padding-right: 13rem;
	}
	.sideFix > ul {
		display: grid;
		grid-template-columns: repeat(4,1fr);
	}
	.sideFix > ul > li + li {
		border-top: none;
		border-left: 1px solid #8f8f8f;
	}
	.sideFix a {
		flex-direction: column;
		justify-content: center;
	}
	.sideFixBtn {
		display: none;
	}
	.sideFix a .txt {
		display: none;
	}
	.sideFix a figure {
		width: 100%;
		height: 2.5rem;
	}
	.sideFix a figure img {
		max-height: 2.5rem;
	}
	.sideTel ul {
		top: auto;
		right: auto;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		width: auto;
		clip-path: inset(100% 0 0 0);
	}
	.sideTel ul.open {
    pointer-events: all;
    opacity: 1;
    visibility: visible;
    clip-path:inset(0 0 0 0);
	}
	.searchFix dt {
		background: var(--c_m1)!important;
		width: 13rem;
		font-size: 1.4rem;
		line-height: 1.4;
		height: 5rem;
		padding: .5rem;
		text-align: left;
		justify-content: center;
		flex-direction: row-reverse;
	}
	.searchFix dt::after {
		transform: rotate(-90deg);
		width: 0.6rem;
	}
	.searchFix.hide dt::after {
		transform: rotate(90deg);
	}
	.searchFix dd {
		width: 100vw;
		position: absolute;
		right: 0;
		bottom: 100%;
		background: #fff;
		padding: .7rem;
		pointer-events: none;
		transition: .2s;
		clip-path: inset(100% 0 0 0);
		border-top: 1px solid var(--c_gy);
	}
	.searchFix.hide dd {
		clip-path: inset(0 0 0 0);
		pointer-events: all;
	}
	.searchFix ul{ 
		gap: .5rem;
		width: 100%;
		justify-content: space-between;
	}
	.searchFix .close {
		display: none;
	}
	.puBtn {
		white-space: nowrap;
		justify-content: center;
		width: 100%;
		font-size: 1.1rem;
		padding: 0.7rem 1.2rem;
	}
	.puBtn::after {
		display: none;
	}
	.popupArea .close {
		right: 1.5rem;
		top: 1.2rem;
	}
	.popupArea .popup {
		padding: 1.2rem;
		max-height: 75vh;
	}
	.popup h2 {
		font-size: 1.6rem;
	}
	.puCont {
		display: block;
	}
	.puCont + .puCont {
		padding-top: 1rem;
		margin-top: 1rem;
	}
	.puCont dt {
		font-size: 1.4rem;
		margin-bottom: 1rem;
	}
	.puCont ul {
		grid-template-columns: repeat(2,1fr);
		gap: .5rem;
	}
	.puCont ul a {
		font-size: 1.2rem;
		padding: .7rem .5rem;
	}
	.popup .categories li a {
		padding: 1rem .5rem;
	}

	/*toppage
	-------------------------------------------------------*/
	.mainArea {
		min-height: 61rem;
	}
	.mainslider .bg {
		top: auto;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 65%;
		clip-path: polygon(0 25%, 100% 0, 100% 100%, 0% 100%);
	}
	.mainslider .heroArea {
		height: 54%;
	}
	.mainslider .heroArea img {
		object-position: -30rem 0;
	}
	.mainslider._01 .heroArea img {
		object-position: -32rem 0;
	}
	.mainslider._02 .heroArea img {
		object-position: -12rem 0;
	}
	.mainslider._03 .heroArea img {
		object-position: -13rem 0;
	}
	.mainslider._04 .heroArea img {
		object-position: -12rem 0;
	}
	.mainslider._05 .heroArea img {
		object-position: -12rem 0;
	}
	.mainslider._06 .heroArea img {
		object-position: -19rem 0;
	}
	.mainslider .bg {
		background: #000;
	}
	.mainslider .bg::after {
		opacity: .5;
	}
	.mainslider .subArea {
		top: auto;
		bottom: 37%;
		right: 0;
		left: 0;
		margin: 0 auto;
		transform: none;
		width: 100%;
		height: 17rem;
	}
	.mainslider .subArea img {
    max-height: 100%;
	}
	.mainslider._01 .subArea img {
		max-height: calc(100% + 4rem);
		margin-top: -4rem;
	}
	.mainslider.act .subArea {
		top: auto;
		bottom: 50%;
	}
	.mainTtl {
		transform: none;
		top: auto;
		left: 0;
		bottom: 4rem;
		padding: 0 2rem;
	}
	.mainTtl h1 {
		font-size: 4rem;
	}
	.mainTtl .txt {
		font-size: 1.3rem;
		font-feature-settings: 'halt' on;
		white-space: normal;
		margin-top: 1.5rem;
	}
	.top_message {
		display: block;
	}
	.top_messageImg {
		margin-right: 0;
		margin-left: -3rem;
		padding: 0 10rem 5rem 0;
	}
	.top_messageImg .img {
		width: 22rem;
		left: auto;
		right: -3rem;
		gap: .5rem
	}
	.top_messageImg .img li {
    filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.1));
	}
	.top_message dl {
		width: 100%;
	}
	.top_message h2 {
		font-size: 1.6rem;
		margin-bottom: 1.5rem;
	}
	.top_news {
		display: block;
	}
	.top_newsHeader {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 3rem;
	}
	.top_newsHeader .more {
		margin-top: 0;
	}
	.top_newsHeader .ttlBox {
		margin-bottom: 0;
	}
	.newsTab {
		grid-template-columns: repeat(3,1fr);
	}
	.newsList a {
		flex-wrap: wrap;
		gap: .8rem 1.5rem;
		padding: 2rem 2.5rem 2rem 0;
	}
	.newsList a::after {
		right: 1rem;
	}
	.newsList a .txt {
		width: 100%;
		flex: auto;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
	.cate {
		width: 5rem;
		font-size: 1rem;
	}
	.productsLinks {
		display: block;
	}
	.productsLinks li {
		width: 100%;
		aspect-ratio: auto!important;
	}
	.productsLinks a {
		padding: 5rem 0;
	}
	.productsLinks .w100 a {
		padding: 4rem 0;
	}
	.productsLinks a .eng {
		font-size: 2.4rem;
	}
	.productsLinks .w100 a .eng {
		font-size: 2rem;
	}
	.productsLinks h2 {
		font-size: 1.8rem;
	}
	.productsLinks a::after {
		width: 2.4rem;
	}
	.productsLinks02 {
		grid-template-columns: repeat(1,1fr);
	}
	.productsLinks02 a {
		display: block;
	}
	.productsLinks02 a figure {
		width: 100%;
		height: 10em;
	}
	.productsLinks02 a h2 {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.5);
		font-size: 1.5rem;
		padding: 1rem 2rem;
		display: flex;
		align-items: flex-end;
	}
	.top_products02._ic {
		margin-top: 3rem;
	} 
	#top_products .customWrap {
		padding: 0 0 4rem;
	}
	.top_search {
		padding: 2rem;
	}
	.searchCate {
		grid-template-columns: repeat(1,1fr);
		gap: .5rem;
		margin-bottom: 2rem;
	}
	.searchCate .thumb {
		aspect-ratio: 8/3;
	}
	.searchCate a span {
		width: 20rem;
		font-size: 1.4rem;
		gap: 1rem;
	}
	.searchBox form {
		flex-direction: column;
	}
	.searchBox form button {
		font-size: 1.4rem;
	}
	.appLinks {
		grid-template-columns: repeat(1,1fr);
		gap: 1rem;
	}
	.appLinks a {
		background: #000;
	}
	.appLinks a span {
		left: 0;
		bottom: 0;
		font-size: 1.6rem;
		text-shadow: 0 0 .5rem rgba(0, 0, 0, 0.7);
		padding: .5rem 1rem;
	}
	.appLinks .thumb {
		aspect-ratio: 8/3;
		opacity: .8;
	}
	.top_value {
		display: block;
	}
	.top_value .img {
		width: 90%;
		margin-right: -2rem;
		margin-left: auto;
		pointer-events: none;
	}
	.valueLinks {
		margin-top: -14rem;
		position: relative;
		z-index: 1;
	}
	.valueLinks .txt-lh {
		padding: 2rem;
		background: #fff;
		margin-left: -2rem;
	}
	.valueLinks a .num {
		width: 3.5rem;
	}
	.valueLinks a h3 {
		font-size: 1.6rem;
		width: 15rem;
	}
	.valueLinks a::after {
		right: 1rem;
	}
	.about_message {
		display: block;
	}
	.about_message .img {
		padding: 0;
		margin-bottom: 2rem;
	}
	.about_message .img img {
		max-height: 5rem;
	}
	.about_message .box {
		width: 100%;
	}
	.about_message .box h3 {
		font-size: 1.8rem;
		text-align: center;
	}
	#top_about {
		padding-bottom: 10rem;
	}

	/*subPage
	-------------------------------------------------------*/
	#subPage main {
		padding-top: 1rem;
	}
	.pankz {
		margin: 0 auto .5rem;
		font-size: 1rem;
	}
	.pankz a::after {
		margin: 0 .5rem;
	}
	.pageTtlArea {
		height: 6rem;
		margin-bottom: 2rem;
	}
	.pageTtl {
		height: 100%;
		font-size: 2.6rem;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: .5rem;
	}
	.pageTtl h1 {
		font-size: 2rem;
	}
	.pageTtl h1:before {
		width: 1.5rem;
		margin-right: .5rem;
	}
	.pageTtlTxt {
		padding: 1rem 0 .5rem 1rem;
		font-size: 1.1rem;
		font-feature-settings: "halt";
	}
	.pageTtlArea._hasImg {
		height: 14rem;
		margin-bottom: 4rem;
	}
	.pageTtlArea._hasImg .img {
		bottom: 0;
	}
	.pageTtlArea._hasImg .pageTtl {
		height: auto;
		flex-direction: column;
		justify-content: flex-start;
		align-items: start;
		padding: .8rem 1.5rem 0 0;
	}
	.contTtl .eng {
		font-size: 2.6rem;
		line-height: 1;
	}
	.contTtl h2 {
		font-size: 1.8rem;
	}
	.secTopTxt {
		line-height: 1.6;
		margin-bottom: 4rem;
	}

	/*news
	-------------------------------------------------------*/
	.categoriesArea {
		padding: 3rem 0 4rem;
		margin-bottom: 4rem;
	}
	.categoriesArea h2 {
		font-size: 1.6rem;
	}
	.categories {
		grid-template-columns: repeat(3,1fr);
		gap: .5rem;
		font-size: 1.2rem;
	}
	.categories.col-3,
	.categories.col-4,
	.categories.col-5 {
		grid-template-columns: repeat(2,1fr);
	}
	.postMore {
		font-size: 1.6rem;
		margin-top: 3rem;
		width: 22rem;
	}
	.newsHeader h2 {
		font-size: 1.6rem;
	}
	.newsContents {
		padding: 2rem;
	}
	.postImg {
		margin-bottom: 3rem;
	}
	.postGallery {
		margin-top: 3rem;
		grid-template-columns: repeat(1,1fr);
	}
	.pager {
		margin-top: 3rem;
		gap: .8rem 2rem;
	}
	.pageset a {
		display: block;
	}
	.pageset a .eng {
		width: 100%;
		height: 3rem;
	}
	.pageset a .box {
		padding: 1.5rem;
		gap: .5rem 1rem;
	}
	.pageset .cate {
		min-width: 5rem;
		font-size: 1rem;
	}
	.pageset .date {
		font-size: 1.1rem;
	}
	.pageset a .box .txt {
		font-size: 1.2rem;
		min-height: auto;
	}

	/*search__products
	-------------------------------------------------------*/
	.pageTabArea {
		margin-top: 0;
	}
	.pageTab a {
		font-size: 1.2rem;
		white-space: nowrap;
	}
	.pageTab {
		grid-template-columns: repeat(2,1fr);
	}
	.pageTab .current a {
		background: var(--c_m1);
		color: #fff;
	}
	.linkWrap {
		grid-template-columns: repeat(2,1fr)!important;
		gap: 2rem 1rem;
	}
	.linkWrap a .tag {
		font-size: 1rem;
		padding: .2rem .5rem;;
	}
	.linkWrap a span {
		font-size: 1.2rem;
	}
	.toollistBtn {
		margin: 6rem auto;
	}
	.toollistBtn a .ttl {
		font-size: 1.8rem;
	}
	.toollistBtn a {
		height: 10rem;
		font-size: 1.4rem;
		gap: 1rem;
	}
	.standardArea {
		display: block;
		position: relative;
		margin: 0 -2rem;
	}
	.standardArea .thumb {
		width: 100%;
		aspect-ratio: 2/1;
	}
	.standardArea .box {
		position: absolute;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
		background: rgba(0, 0, 0, 0.6);
		padding: 2rem;
		font-size: 1.4rem;
		gap: 1.5rem;
	}
	.standardArea .box h3 {
		font-size: 1.8rem;
	}
	.standardArea .box .eng {
		font-size: 1.4rem;
	}
	.searchPageCont > section + section {
		margin-top: 5rem;
	}
	.products__about {
		display: block;
	}
	.products__about .img {
		width: 100%;
		margin-bottom: 2rem;
	}
	.tit {
		font-size: 1.8rem;
		padding-bottom: 1.5rem;
		margin-bottom: 1.5rem;
	}
	.purposeWrap h3 {
		font-size: 1.8rem;
	}
	.purposeWrap ul {
		grid-template-columns: repeat(1,1fr);
		gap: .5rem;
		margin-bottom: 2rem;
	}
	.purposeWrap ul li {
		border: 1px solid #9D9D9D;
		padding: .5rem;
	}
	.link {
		font-size: 1.5rem;
	}
	.icWrap h3 {
		font-size: 1.6rem;
	}
	.icWrap ul {
		grid-template-columns: repeat(2,1fr);
		gap: 2rem .5rem;
	}
	.icWrap li .txt {
		font-size: 1.4rem;
		margin-top: 0.5rem;
	}
	.custommadeBnr {
		margin-top: 5rem;
	}
	.custommadeBnr a {
		display: block;
	}
	.custommadeBnr a::after {
		width: 2.4rem;
	}
	.custommadeBnr .thumb {
		width: 100%;
	}
	.custommadeBnr dl {
		padding: 2rem 1rem;
		gap: 2rem;
	}
	.custommadeBnr h2 {
		font-size: 2rem;
	}
	.custommadeBnr .eng {
		font-size: 1.4rem;
	}

	/*search__purpose
	-------------------------------------------------------*/
	#search__purpose {
		padding-top: .5rem;
	}
	.search__purposeArea {
		padding: 5rem 0;
	}
	.search__purposeWrap {
		display: block;
	}
	.search__purposeWrap .img {
		width: auto;
		margin: 0 -2rem 2rem 0;
	}
	.search__purposeArea:nth-of-type(even) .search__purposeWrap .img {
		margin: 0 0 2rem -2rem;
	}
	.search__purposeWrap dt {
		margin-bottom: 1.5rem;
	}
	.search__purposeWrap h2 {
		font-size: 2rem;
	}

	/*case
	-------------------------------------------------------*/
	.caseCategoriesArea {
		padding: 2rem 0 4rem;
		grid-template-columns: repeat(1,1fr);
		margin-bottom: 4rem;
	}
	.caseCategoriesArea dt {
		font-size: 1.6rem;
	}
	.caseCategoriesArea select {
		padding: 1rem;
	}
	.caseList {
    grid-template-columns: repeat(2,1fr);
    gap: 3rem 1rem;
	}
	.caseList .ttl {
		gap: .8rem 1rem
	}
	.caseList .date {
		font-size: 1.2rem;
	}
	.caseList .cate {
		font-size: 1rem;
		padding: .1rem .5rem;
	}
	.caseList .ttl h2 {
		font-size: 1.3rem;
	}
	.caseList a {
		font-size: 1.2rem;
	}

	/*icpackage
	-----------------------------------------------------*/
	.icpackageTop {
		padding: 5rem 0 24rem;
	}
	.icpackageTop dl {
		width: 100%;
	}
	.icpackageTop .img {
		top: auto;
		right: 2rem;
		bottom: -7rem;
		left: auto;
		width: 24rem;
		transform: rotate(45deg);
	}
	.icpackageTop .img::before {
		left: -11rem;
		right: -8rem;
		top: 6rem;
		transform: rotate(-45deg);
	}
	.icpackageTop .img li:nth-of-type(1).act,
	.icpackageTop .img li:nth-of-type(4).act {
    filter: drop-shadow(2rem 2rem 2rem rgba(0, 0, 0, 0.35));
	}
	.icpackageTop .img li:nth-of-type(5) {
		margin-bottom: 22%;
	}
	.icStrongTtl {
		gap: 1.5rem;
	}
	.icStrongTtl .num {
		font-size: 4rem;
	}
	.icStrongTtl h3 {
		font-size: 1.8rem;
	}
	.icStrong01Cont {
		grid-template-columns: repeat(2,1fr);
		gap: .5rem;
	}
	.icStrong01Cont > p {
		padding: 1rem 0;
		font-size: 1.2rem;
		white-space: nowrap;
		min-height: 5.6rem;
	}
	.icStrong > li:not(:first-of-type) {
    margin-top: 5rem;
	}
	.custommadeBnr._02 .eng {
		font-size: 2.6rem;
	}
	.custommadeBnr._02 .sub {
		font-size: 1.2rem;
		margin-top: 0.5rem;
	}
	.icFunction {
		flex-direction: column;
	}
	.icFunction .img {
		width: 100%;
	}
	.icFunction h3 {
		font-size: 1.4rem;
		padding: 0.5em 0;
	}
	.icFunction .num {
		width: 3rem;
	}
	.icFunction dd + dt {
		margin: 2rem 0 .5rem;
	}
	.icUsage {
		grid-template-columns: repeat(1,1fr);
	}
	.icUsage dt {
		padding: 3rem;
		min-height: auto;
	}
	.icUsage h3 {
		font-size: 1.2rem;
		padding: .5rem .5rem;
		min-width: 13rem;
	}
	.icUsage h4 {
		font-size: 1.6rem;
		margin-bottom: 0.5rem;
	}
	.icUsageBtm {
		padding: 2rem;
		font-size: 1.2rem;
	}
	.icUsageBtm h3 {
		font-size: 1.6rem;
		margin-bottom: 0.5rem;
	}
	.flowBox::after {
		transform: none;
		top: .7rem;
		opacity: 0!important;
	}
	.flowBox .num {
		width: 3rem;
	}
	.flowBox h3 {
		font-size: 1.4rem;
	}
	.flowBox dd {
		padding: 0 1.5rem;
	}
	.SliderArrow {
		right: 4.3rem;
		width: 2.5rem;
		background-color: var(--c_m1);
		background-image: url(../img/arrow_wh.svg);
		aspect-ratio: 1/2;
	}
	.SliderArrow.prev {
		left: 4.3rem;
	}

	/*emerging-tech
	-------------------------------------------------------*/
	.emerging-techDetal h2 {
		font-size: 2rem;
		margin-bottom: 4rem;
	}
	.emerging-techDetal h3 {
		font-size: 1.8rem;
		display: flex;
		align-items: center;
		gap: 1.5rem;
	}
	.emerging-techDetal h3::before {
		content: "";
		display: block;
		width: 1.5rem;
		height: 2px;
		background: var(--c_m1);
	}
	.exampleCont {
		grid-template-columns: repeat(1,1fr)!important;
		margin-top: 3rem;
		gap: 3rem;
	}
	.exampleCont dt {
		font-size: 1.6rem;
	}
	.emerging-techDetal section:not(:first-of-type) {
		margin-top: 6rem;
	}
	.example li {
		padding-left: 1.5rem;
	}
	.example li::before {
		width: 1rem;
	}
	.example._standard h3 {
		font-size: 1.8rem;
	}
	.tblImg {
		overflow: auto;
		background: url(../img/spscroll.png) top left no-repeat;
		background-size: 100% auto;
		padding-top: 5.4rem;
	}
	.tblImg img {
		min-width: 65rem;
	}
	.dlBtn {
		margin-top: 5rem;
	}
	.dlBtn a {
		font-size: 1.6rem;
		padding: 2rem 1rem;
	}
	.dlBtn a::before {
		width: 2rem;
	}
	.btnrow {
		margin-top: 5rem;
	}
	.emergingFv {
		display: block;
	}
	.emergingFv .box {
		width: 100%;
		padding: 12rem 0 4rem;
		margin-top: -7rem;
	}
	.emergingFv .box::before {
		left: -2rem;
		right: -2rem;
		clip-path: polygon(0 0, 100% 21%, 100% 100%, 0% 100%);
	}
	.emergingFv .box h3 {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
	.emergingFv .imgs {
		height: 25rem;
		aspect-ratio: auto;
	}
	.emergingFv .imgs li:nth-of-type(1) {
		width: 33%;
	}
	.emergingFv .imgs li:nth-of-type(2) {
		width: 30%;
		right: 3rem;
		top: 1rem;
	}
	.emergingFv .imgs li:nth-of-type(3) {
		width: 40%;
	}
	.emergingFv .imgs li:nth-of-type(4) {
		width: 25%;
		left: 3rem;
	}
	.emergingFv .imgs li:nth-of-type(5) {
		width: 33%;
		bottom: -3rem;
	}
	.emergingTtlArea {
		display: block;
		margin-bottom: 3rem;
	}
	.emergingListArea + .emergingListArea {
    margin-top: 6rem;
	}
	.emergingTtlArea .img {
		width: 100%;
		aspect-ratio: 5/2.5;
	}
	.emergingTtlArea dl {
		padding: 3rem 2rem;
	}
	.emergingTtlArea dt {
		margin-bottom: 1rem;
	}
	.emergingTtlArea dl h3 {
		font-size: 1.8rem;
	}
	.emergingTtlArea dl .txt {
		font-size: 100%;
	}



	/*search__purpose__aerospace
	-------------------------------------------------------*/
	.pageCategoriesArea {
		padding: 2rem 0;
	}
	.cateTgl {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 1.5rem;
		background: var(--c_m1);
		text-align: center;
		color: #fff;
		width: 90%;
		margin: 0 auto;
		padding: 1rem;
		font-size: 1.2rem;
		transition: .2s;
	}
	.cateTgl::after {
		content: "";
    display: block;
    background: url(../img/arrow_wh.svg) center center no-repeat;
    background-size: contain;
    width: 0.7rem;
    aspect-ratio: 1 / 2;
		transform: rotate(90deg);
	}
	.cateTgl.act {
		background: var(--c_bk2);
	}
	.cateTgl.act::after {
		transform: rotate(-90deg);
	}
	.cateTgl + .catePanel {
		display: none;
		margin-top: 1.5rem;
	}
	.pageCateBox {
		display: block;
	}
	.pageCateBox h2 {
		padding: 0;
		margin-bottom: 1rem;
		text-align: left;
		font-size: 1.6rem;
	}
	.pageCateBox .categories {
		grid-template-columns: repeat(2, 1fr);
	}
	.pageCateBox + .pageCateBox {
		padding-top: 1.5rem;
		margin-top: 1.5rem;
	}
	.sContTtl {
		height: 14rem;
	}
	.sContTtl h2 {
		font-size: 2rem;
	}
	.pContTtl {
		display: block;
		position: relative;
		width: 100%;
	}
	.pContTtl .img {
		width: 100%;
	}
	.pContTtl h2 {
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 1;
		background: var(--c_gy);
		font-size: 2rem;
		padding: .7rem 1.5rem;
	}
	.sWrapTtl {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
	.sWrap {
		flex-direction: column;
	}
	.sWrap .img {
		width: 100%;
	}
	.sWrap ul.img {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 1rem;
	}
	.sWrap ul.img li + li {
		margin: 0;
	}
	.sCont dt {
		font-size: 1.8rem;
		padding-bottom: 1.5rem;
		margin-bottom: 1.5rem;
	}
	.sImgWrap {
		display: block;
	}
	.sImgWrap .img {
		margin: 0 auto 0 -2rem;
		max-height: none;
		height: 22rem;
	}
	.sImgWrap .sCont {
		position: relative;
		padding: 2rem 2rem 0 2rem;
		margin-top: -5.7rem;
		z-index: 1;
	}
	.sImgWrap .sCont h3 {
		margin: 3rem 0 1rem;
		font-size: 1.8rem;
	}
	.sImgWrap .sCont ul {
		grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
	}
	.sImgWrap .sCont li {
		min-height: 3.5rem;
	}
	.reasonWrap {
		margin-top: 2rem;
	}
	.reasonWrap li {
		flex-direction: column;
	}
	.reasonWrap .img {
		width: 100%;
	}
	.reasonWrap dt {
		font-size: 1.8rem;
	}
	.reasonWrap li:not(:first-of-type) {
		margin-top: 5rem;
	}
	.customWrap {
		display: block;
	}
	.customWrap dt {
		font-size: 2.6rem;
	}
	.customWrap h2 {
		font-size: 1.8rem;
	}
	.customWrap._02 h2 {
		font-size: 1.8rem;
		gap: .5rem;
	}
	.customWrap._02 h2::before {
		width: 1.6rem;
	}
	.customWrap .imgWrap {
		width: 80%;
		margin-left: auto;
		margin-right: -2rem;
		margin-bottom: -2rem;
	}
	.customWrap .imgWrap .img._01 {
    width: 60%;
	}
	.customWrap .imgWrap .img._02 {
    width: 45%;
		margin-top: -35%;
	}
	.contactBtn {
		margin-top: 3rem;
	}
	.customWrap h3 {
		font-size: 1.6rem;
	}
	.contactBtn a .eng {
		font-size: 2.4rem;
	}
	.contactBtn a {
		flex-direction: column;
		align-items: center;
		padding: 1.5rem;
		font-size: 1.6rem;
	}

	/*company
	-------------------------------------------------------*/
	.companyNav {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 4rem;
	}
	.companyNav a .ttl {
		font-size: 1.6rem;
		padding-top: 1rem;
	}
	.companyNav a .thumb {
		aspect-ratio: 8 / 3;
	}
	.companyNav a .thumb::after {
		width: 2.4rem;
	}
	.companyindexbox {
		display: block;
	}
	.companyindexbox ._img{
		padding-bottom: 2rem;
	}
	.companyindexbox ._navi li a{
		padding: 1rem 0;
		font-size: 1.8rem;
	}

	/*profile
	-------------------------------------------------------*/
	.profile {
		display: block;
	}
	.profile dt,
	.profile dd {
		padding: 1rem 1.2rem;
		border: none;
	}
	.profile dt {
		border-left: .2rem solid #CFCFCF;
		border-bottom: none;
		background: #f9f9f9;
	}
	.profile dd {
		padding: 1.5rem 1rem 2.5rem;
	}
	.profile dd.d-flex {
		flex-direction: column;
		justify-content: start;
		align-items: start;
	}
	.profile dd .more {
		margin-top: 1rem;
	}
	#group {
		padding: 6rem 0;
		background-size: 152% auto;
		background-position: right -17rem bottom;
	}
	.groupWrap {
		display: block;
	}
	.groupImg {
		width: 100%;
		max-width: 26rem;
		margin: 12rem auto 0;
	}
	.groupCont {
		width: 100%;
	}
	.groupCont h2 {
		font-size: 1.8rem;
		text-align: center;
	}
	.groupCont .logo {
		max-width: 16rem;
		margin: 3rem auto 0;
	}
	.cBnr {
		display: block;
	}
	.cBnr .box {
		padding: 2rem 1rem;
	}
	.cBnr h2 {
		font-size: 1.6rem;
		color: var(--c_m1);
		margin-bottom: .5rem;
	}
	.telnum {
		font-size: 3rem;
	}

	/*contact
	-------------------------------------------------------*/
	.contactTop .txt-lh {
		margin-bottom: 4rem;
	}
	.telWrap {
		grid-template-columns: repeat(1,1fr);
	}
	.telWrap .telnum {
		font-size: 3rem;
	}
	.telWrap dt {
		font-size: 1.4rem;
		padding: 0.5rem;
		margin-bottom: 1.5rem;
	}
	.contactTtl h2 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
	}
	.formArea {
		padding: 3rem 2rem;
	}
	.thxBox .txt {
		text-align: justify;
	}
	.formSet {
		display: block;
		font-size: 16px;
		padding-bottom: 20px;
	}
	.formSet dt {
		margin-bottom: 10px;
	}

	/*faq
	-------------------------------------------------------*/
	.pageAnc {
		grid-template-columns: repeat(1,1fr);
	}
	.pageAnc a {
		min-height: 6.2rem;
	}
	.faqWrap dt::before,
	.faqWrap dd::before {
		width: 4.5rem;
		font-size: 2.4rem;
	}
	.faqWrap dt::after {
		width: 0.6rem;
		right: 1.2rem;
	}
	.faqWrap dt,
	.faqWrap dd  {
		padding: 1.5rem 2.5rem 1.5rem 4.5rem;
	}
	.faqWrap dd {
		padding-right: 1.5rem;
		padding-bottom: 2rem;
		padding-top: 1.8rem;
	}
	.faqWrap dl + dl {
		margin-top: 1rem;
	}
	.faqCont h2 {
		font-size: 1.6rem;
	}
	.faqContArea {
		padding: 2rem;
	}
	.faqCont + .faqCont {
    margin-top: 4rem;
	}

	/*login
	-------------------------------------------------------*/
	.memberPage .contactTtl {
		margin-bottom: 3rem;
	}

	/*download
	-------------------------------------------------------*/
	.dlNav {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 4rem;
	}
	.dlNav a .ttl {
		font-size: 1.6rem;
		padding-top: 1rem;
	}
	.dlNav a .thumb {
		aspect-ratio: 8 / 3;
	}
	.dlNav a .thumb::after {
		width: 2.4rem;
	}
	.dlList {
		grid-template-columns: repeat(2,1fr);
		gap: 4rem 1rem;
		margin-bottom: 4rem;
		font-size: 1.2rem;
	}
	.dlList a {
		padding-bottom: 5rem;
	}
	.dlList .btn {
		font-size: 1.2rem;
	}

	/*sitemap
	-----------------------------------------------------*/
	.sitemapWrap dl + dl {
		margin-top: 4rem;
	}
	.sitemapWrap dt {
		padding-bottom: 1rem;
		font-size: 1.2rem;
	}
	.sitemapWrap dt a {
		gap: .5rem 1rem;
		flex-wrap: wrap;
	}
	.sitemapWrap dt a span {
		gap: 1rem;
	}
	.sitemapWrap dt a span::after,
	.sitemapWrap dd a::after {
		width: 0.4rem;
		margin-bottom: -.1em;
	}
	.sitemapWrap dt a .eng {
		font-size: 2.2rem;
	}
	.sitemapWrap dd {
		margin-top: 2rem;
		padding-inline: 1rem;
	}
	.sitemapWrap dd ul {
		grid-template-columns: repeat(1,1fr);
		gap: 1rem;
	}
	.sitemapWrap dd a {
		gap: 1rem;
	}
	.sitemapWrap dl._02 dd a {
		padding: 1.2rem;
	}
	.sitemapWrap dl._02 dd a::after {
		width: 2rem;
	}

	/*properties
	-------------------------------------------------------*/
	.propertiesArea h2 {
		font-size: 1.8rem;
	}
	.propertiesArea .txt-lh {
		margin-bottom: 3rem;
	}
	.propertieTbl {
		overflow: auto;
		background: url(../img/spscroll.png) top left no-repeat;
		background-size: 100% auto;
		padding-top: 5.4rem;
	}
	.propertieTbl table {
		width: auto;
	}
	.propertieTbl th,
	.propertieTbl td {
		white-space: nowrap;
		font-size: 1.2rem;
		padding: .5rem 1rem;
	}
	.propertieTbl tbody th p small {
		width: 5.2rem;
		font-size: 1rem;
	}

	/*solutions
	-------------------------------------------------------*/
	.solutions-index h2 {
		font-size: 1.8rem;
	}
	.solutionsNav {
		padding-top: 20rem;
	}
	.solutionsNav figure {
		bottom: auto;
		right: 0;
		height: 20rem;
	}
	.solutionsNav ul::before {
		width: 100%;
		top: auto;
		left: 0;
		right: 0;
		bottom: 99.9%;
		height: 4rem;
		background: rgba(0, 0, 0, 0.8);
		background: -webkit-gradient(linear, left bottom, left top, color-stop(20%, #000), to(rgba(0, 0, 0, 0)));
		background: -o-linear-gradient(bottom, #000 20%, rgba(0, 0, 0, 0) 100%);
		background: linear-gradient(0deg, #000 20%, rgba(0, 0, 0, 0) 100%);
	}
	.solutionsNav ul li a {
		padding: .5rem 1rem;
	}
	.solutionsNav ul li a h3 {
		font-size: 1.4rem;
	}
	.solutionsNav ul li a .icon {
		width: 4rem;
	}
	.solutionsNav ul li a::after {
		width: 0.5rem;
		right: 1.5rem;
	}

	/*solutions__thermal
	-------------------------------------------------------*/
	.solCategories {
		padding: 2rem 0;
	}
	.solutions__contArea h2 {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.solutionsWrap {
		display: block;
	}
	.solutionsWrap .img {
		width: 100%;
		margin-bottom: 2rem;
	}
	.solutionsWrap h3 {
		font-size: 1.8rem;
	}
	.solExa h2 {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}

	/*domestic-base
	-------------------------------------------------------*/
	.map-domestic {
		display: block;
	}
	.map_jp {
		width: 100%;
	}
	.map_tokai {
		width: 100%;
		padding: 0 3rem 8rem 8.5rem;
	}
	.mapCont {
		min-width: 9rem;
		max-width: 11rem;
		font-size: 1rem;
		white-space: nowrap;
	}
	.mapCont .txt {
		padding: .5rem 2rem .5rem 1rem;
	}
	.mapCont .txt::after {
		width: 1.5rem;
	}
	.mapCont .btm {
		font-size: 1rem;
	}

	.map_tokai > .bdr {
		width: 0;
		height: 30.5rem;
		top: 26rem;
		bottom: auto;
		right: 52%;
		border-right: 1px solid var(--c_m1);
		border-top: none;
	}
	.map_tokai > .bdr::after {
		top: auto;
		bottom: -0.55rem;
	}
	.mapCont._01 {
		top: 0;
		left: 0;
	}
	.mapCont._02 {
		top: 21rem;
		left: 0;
	}
	.mapCont._03 {
		top: 20rem;
		right: -.5rem;
	}
	.mapCont._04 {
		top: 16.5rem;
		left: 0;
	}
	.mapCont._05 {
		top: 22rem;
		right: 0;
	}
	.mapCont._06 {
		top: 30rem;
		right: 6.5rem;
	}
	.mapCont._01 .bdr {
		width: 3rem;
		height: 11rem;
		right: -3rem;
		top: 5rem;
	}
	.mapCont._02 .bdr {
		width: 2.7rem;
		right: -2.7rem;
		bottom: 4rem;
		height: 7.5rem;
		border-bottom: 1px solid var(--c_bk2);
		border-right: 1px solid var(--c_bk2);
		border-top: none;
	}
	.mapCont._02 .bdr::after {
		display: none;
	}
	.mapCont._03 .bdr {
		width: 2rem;
		height: 3rem;
		border-bottom: none;
		left: 1rem;
		bottom: 99%;
	}
	.mapCont._03 .bdr::after {
		bottom: auto;
		right: inherit;
	}
	.mapCont._04 .bdr {
		width: 4.5rem;
		height: 0;
		border-right: none;
		right: -4.5rem;
		bottom: .7rem;
		top: auto;
	}
	.mapCont._04 .bdr::after {
		bottom: auto;
		left: auto;
	}
	.mapCont._05 .bdr {
		width: 4rem;
		height: 0;
		border-right: none;
		border-bottom: 1px solid var(--c_bk2);
		left: -4rem;
		top: 1.2rem;
	}
	.mapCont._05 .bdr::after {
		bottom: auto;
		right: auto;
	}
	.mapCont._06 .bdr {
		width: 4.5rem;
		height: 6rem;
		border-bottom: 1px solid var(--c_bk2);
		border-left: 1px solid var(--c_bk2);
		left: -4.5rem;
		bottom: 1rem;
	}
	.mapCont._06 .bdr::after {
		bottom: auto;
		right: auto;
	}
	.baseArea h2 {
		font-size: 2rem;
		margin-bottom: 3rem;
	}
	.baseWrap {
		grid-template-columns: repeat(1,1fr);
		padding: 0 1rem;
	}
	.baseWrap + .baseWrap {
    padding-top: 3rem;
    margin-top: 3rem;
	}
	.baseWrap h3 {
		font-size: 1.65rem;
		margin-bottom: 1rem;
	}
	.baseWrap th,
	.baseWrap td {
    display: block;
	}
	.baseWrap th {
		padding: .5rem 0 0 0;
	}	
	.baseArea h2._b{
		margin:  0 0 1rem;
	}	
	.map-overseas {
		margin-top: 7rem;
	}
	.map_world .mapCont .txt {
		height: auto;
		padding-right: 2rem;
		white-space: wrap;
	}
	.mapCont .eng {
		font-size: 1rem;
		left: .7rem;
		top: -.5rem;
	}
	.mapCont._01w {
		top: -1.5rem;
		left: 0;
	}
	.mapCont._02w {
		top: 11rem;
    left: -1rem;
    width: 41%;
	}
	.mapCont._03w {
		top: -5rem;
		left: 7.8rem;
	}
	.mapCont._04w {
		top: -1rem;
		left: 14rem;
	}
	.mapCont._05w {
		top: 10rem;
		left: 19rem;
	}
	.mapCont._06w {
		top: 12rem;
    left: 13rem;
	}
	.mapCont._07w {
		top: 7.5rem;
		left: 14rem;
	}
	.mapCont._08w {
		top: 6rem;
		left: 14rem;
	}
	.mapCont._09w {
		top: 6rem;
		left: auto;
		right: -4rem;
	}
	.mapCont._10w {
		top: 6.5rem;
		left: 24rem;
	}
	.mapCont._01w .bdr {
		width: 0;
		height: 1.7rem;
		left: 2rem;
		bottom: auto;
		top: 99%;
	}
	.mapCont._02w .bdr {
		width: 0;
    height: 3.5rem;
    right: 1.5rem;
    bottom: 99%;
	}
	.mapCont._03w .bdr {
		width: 0;
		height: 10rem;
		border-left: 1px solid var(--c_m1);
		left: 4.5rem;
		top: 99%;
	}
	.mapCont._04w .bdr {
		width: 0;
		height: 4.5rem;
		border-left: 1px solid var(--c_m1);
		left: 8.5rem;
		top: 99%;
	}
	.mapCont._05w .bdr {
		width: 0;
		height: 3.2rem;
		left: 4rem;
		top: auto;
		bottom: 99%;
		border-left: 1px solid var(--c_m1);
	}
	.mapCont._06w .bdr {
		width: 0;
		height: 6rem;
		left: 0rem;
		top: auto;
		bottom: 99%;
		border-left: 1px solid var(--c_m1);
	}
	.mapCont._07w .bdr{
		height: 1.5rem;
	}
	.mapCont._01w .bdr::after {
		top: auto;
		bottom: -.7rem;
	}
	.mapCont._01w .eng {
		top: auto;
		bottom: -1.7rem;
	}
	.mapCont._02w .eng {
		left: -5rem;
	}
	.mapCont._03w .eng {
		top: auto;
    bottom: 0.5rem;
    left: -3.2rem;
	}
	.mapCont._04w .eng {
		top: auto;
		bottom: .8rem;
		left: .2rem;
	}
	.mapCont._05w .eng {
		left: .7rem;
		top: 0;
	}
	.mapCont._06w .eng {
		top: auto;
    bottom: 7rem;
    left: 0rem;
	}
	.mapCont._07w .eng {
		top: 0.2rem;
		left: .5rem;
	}
	.mapCont._08w .eng {
		top: -1rem;
    left: 1.3rem;
	}

	/**devのmap**/
	.map-dev .mapCont{
		max-width: none;
	}
	.map-dev{
		position: relative;
		width: 100%;
		margin: 0 auto;
	}

	.mapCont._01d {
		top: 26.5rem;
			left: 14rem;
	}
	.mapCont._02d {
		top: 13rem;
			left: 4rem;
	}
	.mapCont._03d {
		top: 19.5rem;
		left: 20.5rem;
	}

	.mapCont._01d .bdr {
		height: 2.3rem;
		left: 1rem;
		top: -2.3rem;
	}
	.mapCont._02d .bdr {
		height: 6rem;
		left: 11rem;
		bottom: -6rem;
	}

	.mapCont._03d .bdr {
		width: 4rem;
		left: -4rem;
		top: 3rem;
	}

	/*history
	-------------------------------------------------------*/
	.historyWrap::before {
		top: 1.2rem;
		bottom: 0;
		left: 1rem;
	}
	.historyWrap dl {
		width: 100%;
		display: block;
		padding: 0 0 0 3rem!important;
	}
	.historyWrap dl:nth-of-type(even) {
		margin-left: auto;
		padding: 0;
	}
	.historyWrap dl:nth-of-type(odd) {
		flex-direction: row;
		text-align: left;
	}
	.historyWrap dl:not(:first-of-type) {
		margin-top: 4rem!important;
	}
	.historyWrap dt {
		width: 100%;
		font-size: 3rem;
		margin: 0 0 1.5rem 0;
	}
	.historyWrap dt::after {
		width: 1rem;
		top: 1.2rem;
		right: auto;
		left: -2.5rem!important;
	}
	.historyWrap dd {
		width: 100%;
		padding-top: 0;
	}
	.historyWrap dd .img {
		margin-bottom: 1rem;
		max-width: 25rem;
	}
	.historyWrap dl:last-of-type::before {
		display: none;
	}

	/*search__shape_list
	---------------------------------------------------------*/
  #page-search__toollist .pageTtlArea{
		height: 12rem;
  }
  #page-search__toollist .pageTtl{
    gap: 1rem;
  }
  .toollist_products{
    padding: 2.4rem 0;
  }
  .toollist_products ul {
    grid-template-columns: repeat(2,1fr);
    gap: 0.5rem;
  }
  .toollist_products ul li a{
    padding: 0.6rem 0.5rem;
    height: 100%;
    font-size: 1.2rem;
  }
  .toollist_detail h2{
    font-size: 2rem;
    margin-bottom: 1.6rem;
  }
  .toollist_detail__img{
    gap: 2rem;
    grid-template-columns: repeat(1,1fr);
  }
	.toollist_detail__img dt {
		font-size: 1.6rem;
	}
  .toollist_detail__img figure{
    max-width: 100%;
	width: 100%;
  }
  .toollist_detail__compare{
    padding: 2rem 2.2rem;
    margin: 4rem 0;
  }
  .toollist_detail__compare h3{
    margin-bottom: 0.8rem;
  }
  .toollist_detail__compare_row{
    grid-template-columns: repeat(1, 1fr);
    gap: 2.4rem;
  }
  .toollist_detail__compare_table th,
  .toollist_detail__compare_table td{
    padding: 0.8rem;
  }
  .c_tab_btn li{
    min-width: 13rem;
    padding: 1rem;
    font-size: 1.4rem;
  }
  .js-scrollable {
    overflow: auto;
  }
  .toollist_detail__value .c_tab_cont{
    overflow-x: scroll;
  }
  .toollist_detail__value table{
    border-top: .3rem solid var(--c_m1);
    width: 90rem;
  }
  .toollist_detail__value table td{
    padding: 0.6rem 0.8rem;
    font-size: 1.1rem;
  }
  .toollist_top{
    bottom: 5rem;
    max-width: 100%;
    width: 100%;
    border-bottom: .1rem solid #fff;
  }
	.toollist_top__img{
    width: 8rem;
	}
  .toollist_top__box{
    padding: 0.8rem 4.2rem 0.8rem 1.4rem;
  }
  .toollist_top__box::after{
    width: 1.6rem;
    top: 50%;
    right: 1.4rem;
  }
  .toollist_top__box .eng{
    font-size: 1.4rem;
    margin-bottom: 0.2rem;
  }
  .toollist_top__box .jaTxt{
    font-size: 1.2rem;
  }



}

