@charset "utf-8";
.pgSec .sw-arrow{position:absolute;}
#galleryLightBox,
#galleryLightBox *{pointer-events:none;}
#galleryLbBox:checked ~ #galleryLightBox,
#galleryLbBox:checked ~ #galleryLightBox *{pointer-events:auto;}
#galleryLbBox:checked ~ #galleryLightBox{opacity:1;}
#galleryLightBox{
	display:flex;
	justify-content:center;
	align-items:center;
}
#galleryLightBox > label{
	position:absolute;
	top:0;
	left:0;
}
#galleryLightBox .inner{
	position:relative;
	display:block;
	margin-right:0;
	background-color:transparent;
	overflow:visible;
}
#galleryLightBox .inner:before{
	content:"";
	display:block;
}
#galleryLightBox .inner > label{
	display:block;
	position:absolute;
	top:0;
	border-radius:50%;
	background-color:#f5f7f6;
	z-index:1;
}
#galleryLightBox .inner > label:before{
	content:"";
	display:block;
	width:100%;
	height:0;
	padding-top:100%;
}
#galleryLightBox .inner > label svg{
	position:absolute;
	top:0;
	left:26.9231%;
	display:block;
	width:46.1538%;
}
#galleryLightBox .inner .lbInner{
	width:100%;
	height:100%;
	align-self:flex-start;
	position:absolute;
	top:0;
	left:0;
	padding:0;
	background-color:#f5f7f6;
	border-radius:0 0 24px 24px;
	z-index:0;
}
#gallerySlider{
	width:calc(100% + 2px);
	margin:-1px -1px 0;
	overflow:hidden;
}
#gallerySlider .swiper-slide img{
	aspect-ratio:555 / 368;
	object-fit:cover;
	object-position:center center;
}
#thumbsSlider{
	width:74.774%;
}
#thumbsSlider .swiper-slide{
	width:auto;
	aspect-ratio:7 / 6;
	opacity:0.5;
	transition:opacity 0.4s ease;
	cursor:pointer;
}
#thumbsSlider .swiper-slide:hover{opacity:0.7;}
#thumbsSlider .swiper-slide.swiper-slide-active{opacity:1;}
#thumbsSlider .swiper-slide span{
	display:block;
	margin:0 auto;
	aspect-ratio:1 / 1;
	height:100%;
}
#thumbsSlider .swiper-slide img{
	aspect-ratio:1 / 1;
	height:100%;
	object-fit:cover;
	object-position:center center;
}
#longFg{text-align:center;}
#longFg img{
	max-width:1280px;
	margin:0 auto;
}
.profName,
.profName > *,
.qualifTtl{
	display:block;
	line-height:1.0;
}
.qualifTtl{color:#006039;}
.profHistory{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	line-height:2.0666;
}
.qualifList{line-height:2.0666;}
.qualifList li{list-style:disc;}
.companyList{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	line-height:2.0666;
}
#factory .txtBox .reLink{
	width:100%;
	text-align:center;
}
#factory .txtBox .reLink label{
	display:inline-flex;
	justify-content:center;
	align-items:center;
	margin:0 auto;
	border:1px solid #006039;
	color:#006039;
	font-weight:bold;
	line-height:1.0;
}
#factory .txtBox .reLink label svg{transition:transform 0.4s;}
#factory .txtBox .reLink label svg use{fill:#006039;}
#factory .txtBox .reLink label:hover{
	background-color:#006039;
	color:#fff;
}
#factory .txtBox .reLink label:hover svg{transform:translateX(10px);}
#factory .txtBox .reLink label:hover svg use{fill:#fff;}
@media and (orientation:landscape){
	#galleryLightBox .inner:before{
		width:0;
		height:100%;
		padding-left:100%;
	}
}
@media and (orientation:portrait){
	#galleryLightBox .inner:before{
		width:100%;
		height:0;
		padding-top:100%;
	}
}
@media (max-width:768.98px){
	.pgSec figure:not(.fg){padding-bottom:20px;}
	.pgSec figure{background-color:#eceeee;}
	#office h2{
		top:calc(50% - 13.428vw);
		right:-1.778vw;
	}
	#factory,
	#profile{margin-top:34px;}/*8.889vw*/
	#factory h2{
		top:calc(50% - 35.656vw);
		left:-1.778vw;
	}
	#factory h3{margin-right:-16px;}
	#factory .txtBox .reLink label{
		padding:7px 14px;
		border-radius:4px;
		font-size:calc(14 / 16 * 1rem);
		letter-spacing:2px;
	}
	#factory .txtBox .reLink label svg{
		width:19px;
		margin-left:19px;
	}
	#galleryLightBox .inner > label{
		right:0;/*-3.7837%*/
		margin-top:-4%;/*-3.7837% > -10%*/
		width:7.2072%;
	}
	#gallerySlider{
		height:66.3063%;
	}
	#thumbsSlider{
		width:80%;
		height:16.216%;
		margin:7.117% auto 0;
	}
	#thumbsSlider .swiper-slide{
		padding:0 1.8072%;
	}
	#longFg{margin-top:78px;}
	#longFg img{display:block;}
	#profile{margin-top:78px;}
	#profile h2{
		top:calc(50% - 16.1917vw);
		right:-1.778vw;
	}
	#profile .profPosition{
		font-size:calc(14 / 16 * 1rem);
		letter-spacing:1.55px;
	}
	#profile .profNameTtl{
		margin-top:32px;
		font-size:calc(19 / 16 * 1rem);
		letter-spacing:2.3px;
	}
	#profile .profNameEn{
		margin-top:26px;
		font-size:calc(14 / 16 * 1rem);/********sp upset************//*13**/
		letter-spacing:1.55px;
	}
	#profile .profHistory{
		margin-top:45px;
		font-size:calc(14 / 16 * 1rem);/********sp upset************/
	}
	#profile .profHistory dt{width:62px;}
	#profile .profHistory dd{
		width:calc(100% - 62px);
		letter-spacing:0.6px;
	}
	#profile .qualifTtl{
		margin-top:43px;
		font-size:calc(14 / 16 * 1rem);/********sp upset************//*13**/
		letter-spacing:0.15px;
	}
	#profile .qualifList{
		margin-top:11px;
		padding-left:15px;
	}
	#profile .qualifList li{
		font-size:calc(14 / 16 * 1rem);/********sp upset************/
		text-indent:-4.6px;
		letter-spacing:0.6px;
	}
	#company{margin-top:34px;}/*8.889vw*/
	#company h2{
		top:calc(50% - 38.2396vw);
		left:-1.778vw;
	}
	#company h3{margin-right:-16px;}
	#company .companyList dt{
		width:88px;
		letter-spacing:1.5px;
	}
	#company .companyList dd{
		width:calc(100% - 88px);
		letter-spacing:1.5px;
	}
	#company .companyList dt+dd+dt,
	#company .companyList dd+dt+dd{margin-top:8px;}
}
@media (max-width:768.98px) and (orientation:landscape){
	#galleryLightBox .inner{
		width:90vh;
		max-width:90vh;
		height:90vh;
		max-height:90vh;
	}
}
@media (max-width:768.98px) and (orientation:portrait){
	#galleryLightBox .inner{
		width:95vw;
		max-height:95vw;
		height:95vw;
		max-height:95vw;
	}
}
@media (min-width:769px){
	#office{margin-top:140px;}
	#office figure{padding:155px 0 116px;}
	#office h2{
		top:calc(50% - 94px);
		right:-22px;
	}
	#factory .inner{flex-direction:row-reverse;}
	#factory figure{padding:156px 0 116px;}
	#factory h2{
		top:calc(50% - 224px);
		left:-22px;
	}
	#factory h3{
		margin-right:-16px;
		white-space:nowrap;
	}
	#factory .txtBox .reLink label{
		padding:10px 18px;
		border-radius:4px;
	}
	#factory .txtBox .reLink label span{
		font-size:calc(16 / 16 * 1rem);
		letter-spacing:3px;
	}
	#factory .txtBox .reLink label svg{
		width:24px;
		margin-left:16px;
	}
	#galleryLightBox .inner{
		max-width:1100px;
		max-height:988px;
	}
	#galleryLightBox .inner > label{
		right:-2.384%;
		margin-top:-2.384%;
		width:4.768%;
	}
	#gallerySlider{height:73.813%;}
	#thumbsSlider{
		height:13.476%;
		margin:5.2% auto 0;
	}
	#thumbsSlider .swiper-slide{
		aspect-ratio: 6.7 / 6;
		padding:0;
	}
	#longFg{margin-top:100px;}
	#profile{margin-top:100px;}
	#profile figure{padding:156px 0 154px;}
	#profile h2{
		top:calc(50% - 110px);
		right:-22px;
	}
	#profile .profPosition{
		font-size:calc(18 / 16 * 1rem);
		letter-spacing:2px;
	}
	#profile .profNameTtl{
		margin-top:40px;
		font-size:calc(25 / 16 * 1rem);
		letter-spacing:3px;
	}
	#profile .profNameEn{
		margin-top:33px;
		font-size:calc(16 / 16 * 1rem);
		letter-spacing:2px;
	}
	#profile .profHistory{
		margin-top:58px;
		font-size:calc(15 / 16 * 1rem);
	}
	#profile .profHistory dt{width:80px;}
	#profile .profHistory dd{
		width:calc(100% - 80px);
		letter-spacing:0.8px;
	}
	#profile .qualifTtl{
		margin-top:56px;
		font-size:calc(17 / 16 * 1rem);
		letter-spacing:0.2px;
	}
	#profile .qualifList{
		margin-top:14px;
		padding-left:20px;
	}
	#profile .qualifList li{
		font-size:calc(15 / 16 * 1rem);
		text-indent:-6px;
		letter-spacing:0.8px;
	}
	#company .inner{flex-direction:row-reverse;}
	#company figure{padding:154px 0 155px;}
	#company h2{
		top:calc(50% - 238px);
		left:-22px;
	}
	#company h3{
		margin-right:-16px;
		margin-bottom:34px;
	}
	#company .companyList dt{
		width:114px;
		letter-spacing:2px;
	}
	#company .companyList dd{
		width:calc(100% - 114px);
		letter-spacing:2px;
	}
	#company .companyList dt+dd+dt,
	#company .companyList dd+dt+dd{margin-top:10px;}
}
@media (min-width:769px) and (orientation:landscape){
	#galleryLightBox .inner{
		width:80vh;
		height:71.856vh;
	}
}
@media (min-width:769px) and (orientation:portrait){
	#galleryLightBox .inner{
		width:80vw;
		height:71.856vw;
	}
}
@media (min-width:769px) and (max-width:1279.98px){
	.pgSec figure{background-color:#eceeee;}
	figure.fg{text-align:center;}
	figure.fg img{margin:0 auto;}
}
@media (min-width:1280px){
	figure .swiper{margin-left:0;}
	#office,
	#profile{background:linear-gradient(to left,#ffffff 0%,#ffffff 50%,#eceeee 50%,#eceeee 100%);}
	#office figure,
	#profile figure{
		margin-left:auto;
		text-align:right;
	}
	#office figure{padding-right:90px;}
	#office .txtBox,
	#profile .txtBox{padding-left:180px;}
	#office .txtBox{padding-top:212px;}
	#factory{background:linear-gradient(to left,#eceeee 0%,#eceeee 50%,#ffffff 50%,#ffffff 100%);}
	#factory figure{
		padding-left:90px;
		margin-right:auto;
		text-align:left;
	}
	#factory .txtBox{
		padding-top:146px;
		padding-right:180px;
	}
	#profile figure{
		padding-right:90px;
		text-align:left;
	}
	#profile .txtBox{padding-top:176px;}
	#company{background:linear-gradient(to left,#eceeee 0%,#eceeee 50%,#ffffff 50%,#ffffff 100%);}
	#company figure{
		padding-left:90px;
		margin-right:auto;
		text-align:left;
	}
	#company .txtBox{
		padding-top:146px;
		padding-right:180px;
	}
}


