@charset "utf-8";
/**
/* 共通 CSS
----------------------------------------------- */
/*　　色　　*/
.c-white{
	color: #FFFFFF;
}
/*　　見出し　　*/
.guide-ttl{
	position: relative;
}
.guide-ttl h2{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.04em;
	margin-bottom: 0.5rem;
}
.guide-ttl .roma{
	font-size: 4.375rem;
	line-height: 1.25;
	letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
	.guide-ttl h2{
		font-size: 0.875rem;
		margin-bottom: 0.375rem;
	}
	.guide-ttl .roma{
		font-size: 2.375rem;
	}
}
/*　　Swiper　　*/
.swiper-button-wrap .swiper-button-prev,
.swiper-button-wrap.swiper-container-rtl .swiper-button-next,
.swiper-button-wrap .swiper-button-next,
.swiper-button-wrap.swiper-container-rtl .swiper-button-prev{
	width: 5rem;
	height: 5rem;
}
.swiper-button-wrap .swiper-button-prev,
.swiper-button-wrap.swiper-container-rtl .swiper-button-next{
	left: auto;
    right: 7rem;
}
.swiper-button-wrap .link-wrap .link{
	display: inline-block;
	transform-origin: center;
	position: relative;
	background: #ffffff;
	width: 5rem;
	height: 5rem;
	border-radius: 100%;
	overflow: hidden;
	border: 1px solid #c8c8c8;
}
.swiper-button-wrap .link-wrap .link i{
	display: inline-block;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.1875rem;
    height: 0.3125rem;
    transition: all 0.6s ease;
    transform: translate(-50%, -50%) scale(1);
}
.swiper-button-wrap .swiper-button-next .link i{
	background: url("../img/icon/arrow_o.png") center center no-repeat;
	background-size: cover;
}
.swiper-button-wrap .swiper-button-prev .link i{
	background: url("../img/icon/arrow_o-r.png") center center no-repeat;
	background-size: cover;
}
.swiper-button-wrap .swiper-button-next:after,
.swiper-button-wrap .swiper-rtl .swiper-button-next:after,
.swiper-button-wrap .swiper-button-prev:after,
.swiper-button-wrap .swiper-rtl .swiper-button-prev:after{
	content: none;
}
.swiper-button-wrap .swiper-button-next:hover .link i,
.swiper-button-wrap .swiper-button-prev:hover .link i{
    transform: translate(-50%, -50%) scale(1.5);
}
@media only screen and (max-width: 767px) {
	.swiper-button-wrap .swiper-button-prev,
	.swiper-button-wrap.swiper-container-rtl .swiper-button-next,
	.swiper-button-wrap .swiper-button-next,
	.swiper-button-wrap.swiper-container-rtl .swiper-button-prev{
		width: 3.5rem;
		height: 3.5rem;
	}
	.swiper-button-wrap .swiper-button-prev,
	.swiper-button-wrap.swiper-container-rtl .swiper-button-next{
	    right: 5rem;
	}
	.swiper-button-wrap .link-wrap .link{
		width: 3.5rem;
		height: 3.5rem;
	}
	.swiper-button-wrap .link-wrap .link i{
	    width: 1rem;
	    height: 0.25rem;
	}
}
/**
/* トップページ CSS
----------------------------------------------- */
.front-wrap{
	overflow: hidden;
}
/*　　FV　　*/
.fv-view{
	position: relative;
	height: 100vh;
}
.fv-view .view-img{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: -1;
}
.fv-view .view-img img,
.fv-view .view-img video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.fv-view .view-box{
	position: absolute;
	max-width: 1470px;
	bottom: 25vh;
	left: 50%;
	transform: translate(-50%, 0%);
	z-index: 1000;
}
.fv-view .view-roma{
	position: relative;
	margin-bottom: 3.625rem;
}
.fv-view .view-roma::before{
	position: absolute;
	content: "";
	width: 50%;
	height: 1px;
	top: 2rem;
	left: -52%;
	background-color: #bdcbe4;
}
.fv-view .view-text{
	display: flex;
	align-items: center;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.3em;
}
.fv-view .view-text::after{
	content: "";
	width: 21.875rem;
	height: 1px;
	background-color: #bdcbe4;
	margin-left: 1rem;
}
.fv-view .view-scroll a{
	position: absolute;
	left: 2rem;
	bottom: 6rem;
	color: #d6e5ff;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1;
	writing-mode: vertical-lr;
	z-index: 3;
}
.fv-view .view-scroll a::before {
    content: "";
    position: absolute;
    bottom: -7rem;
    left: -0.625rem;
    width: 1px;
    height: 9.375rem;
    background: #d6e5ff;
}
.fv-view .view-scroll a::after {
    content: "";
    position: absolute;
    bottom: -7rem;
    left: -0.875rem;
    width: 0.5625rem;
    height: 0.5625rem;
    border-radius: 50%;
    background: #ff911e;
    animation: 1.6s ease-in-out 0s infinite normal none running circlemove, 1.6s ease-out 0s infinite normal none running cirlemovehide;
}
@keyframes circlemove{
	0%{bottom: 1.875rem;}
	100%{bottom: -7rem;}
}
@media only screen and (max-width: 767px) {
	.fv-view{
		height: calc(100vh - 6rem);
	}
	.fv-view .view-img{
		height: calc(100vh - 6rem);
	}
	.fv-view .view-roma{
		margin-bottom: 1.5rem;
	}
	.fv-view .view-roma::before{
		top: 2rem;
	}
	.fv-view .view-text{
		font-size: 0.9375rem;
	}
	.fv-view .view-text::after{
		width: 6rem;
		margin-left: 1rem;
	}
	.fv-view .view-scroll a{
		left: 1.25rem;
		bottom: 4rem;
		font-size: 0.75rem;
	}
	.fv-view .view-scroll a::before {
	    bottom: -4rem;
	    left: -0.5rem;
	    height: 6rem;
	}
	.fv-view .view-scroll a::after {
	    bottom: -5rem;
	    left: -0.75rem;
	}
	@keyframes circlemove{
		0%{bottom: 1.875rem;}
		100%{bottom: -4.5rem;}
	}
}
/*　　会社案内　　*/
.front-company{
	position: relative;
	background: rgba(133, 153, 180, 0.95);
	backdrop-filter: blur(7.9529px);
	padding: 8.75rem 0 10.5rem 0;
}
.front-company::before{
	position: absolute;
	display: block;
	background: url("../img/top/company_bg.png") center center no-repeat;
	background-size: cover;
	content: "";
	width: 89.6875rem;
	width: 100vw;
	height: 70vw;
	max-width: 89.6875rem;
	max-height: 59.875rem;
	left: 0;
	bottom: 0;
}
.front-company .company-container{
	position: relative;
}
.front-company .imageArea{
	position: absolute;
	width: 47%;
	height: 37.5rem;
}
.front-company .imageArea img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.front-company .contentArea{
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
}
.front-company .contentArea .content-inner{
	width: 53%;
	max-width: 41.625rem;
	padding: 0 3rem 0 0;
}
.front-company .contentArea .guide-ttl{
	margin-bottom: 6.5rem;
}
.front-company .contentArea h3{
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.1em;
	margin-bottom: 4rem;
}
.front-company .contentArea .text{
	max-width: 26.5625rem;
	font-size: 1rem;
	line-height: 1.875;
}
.front-company .block_btn{
	margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
	.front-company{
		padding: 0;
	}
	.front-company .imageArea{
		position: relative;
		width: 100%;
		height: auto;
		margin-bottom: 2.5rem;
	}
	.front-company .contentArea{
		width: 100%;
		padding: 4.5rem 1.5rem 3rem 1.5rem;
	}
	.front-company .contentArea .content-inner{
		width: 100%;
		max-width: 100%;
		padding: 0;
	}
	.front-company .contentArea .guide-ttl{
		margin-bottom: 1.5rem;
	}
	.front-company .contentArea h3{
		font-size: 1.25rem;
		margin-bottom: 1.5rem;
	}
	.front-company .contentArea .text{
		max-width: 100%;
		font-size: 0.9375rem;
	}
	.front-company .block_btn{
		text-align: center;
		margin-top: 2rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.front-company{
		padding: 6rem 0 6.5rem 0;
	}
	.front-company .imageArea{
		height: 35.5rem;
	}
	.front-company .contentArea .guide-ttl{
		margin-bottom: 4.5rem;
	}
	.front-company .contentArea h3{
		margin-bottom: 2.5rem;
	}
	.front-company .block_btn{
		margin-top: 3rem;
	}
}
/*　　事業案内　　*/
.front-business{
	background: #FFFFFF;
	padding: 10rem 0 5rem 0;
}
.front-business .imageArea{
	width: 45%;
	height: 47.0625rem;
}
.front-business .imageArea img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.front-business .contentArea{
	width: 55%;
	max-width: 43rem;
	padding: 0 3rem 0 8.75rem;
}
.front-business .contentArea .guide-ttl{
	margin-bottom: 6.5rem;
}
.front-business .contentArea .nav li{
	display: flex;
	align-items: center;
	color: #272727;
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.1em;
	border-bottom: 1px solid #c8c8c8;
	padding: 3rem 1rem;
}
.front-business .contentArea .nav li:first-child{
	border-top: 1px solid #c8c8c8;
}
.front-business .contentArea .nav li span{
	display: inline-block;
	color: #ff911e;
	font-family: "Satoshi-Variable";
	font-size: 1rem;
	margin-right: 3.5rem;
}
.front-business .block_btn{
	margin-top: 5.9375rem;
}
@media only screen and (max-width: 767px) {
	.front-business{
		padding: 0;
	}
	.front-business .imageArea{
		width: 100%;
		height: auto;
	}
	.front-business .contentArea{
		width: 100%;
		max-width: 100%;
		padding: 3.5rem 1.5rem 2rem 1.5rem;
	}
	.front-business .contentArea .guide-ttl{
		margin-bottom: 2.5rem;
	}
	.front-business .contentArea .nav li{
		font-size: 1.125rem;
		padding: 2rem 1rem;
	}
	.front-business .contentArea .nav li span{
		font-size: 0.875rem;
		margin-right: 2rem;
	}
	.front-business .block_btn{
		margin-top: 2.5rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.front-business{
		padding: 5rem 0 3.5rem 0;
	}
	.front-business .imageArea{
		height: 40rem;
	}
	.front-business .contentArea{
		padding: 0 3rem 0 3.5rem;
	}
	.front-business .contentArea .guide-ttl{
		margin-bottom: 4.5rem;
	}
	.front-business .contentArea .nav li{
		padding: 2.5rem 1rem;
	}
	.front-business .block_btn{
		margin-top: 4rem;
	}
}
/*　　施工実績　　*/
.front-wrap .works-slider-guide{
	background: #FFFFFF;
	padding: 5rem 0 5.5rem 0;
}
.works-slider-guide .ttl-container{
	position: relative;
}
.works-slider-guide .guide-ttl{
	margin-bottom: 3rem;
}
.works-swiper .works-items a{
	display: block;
	color: #FFFFFF;
	transition: all 0.6s ease;
}
.works-swiper .works-items .imgArea{
	height: 31.25rem;
	overflow: hidden;
}
.works-swiper .works-items .imgArea img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 1s ease;
}
.works-swiper .works-items .works-detail{
	position: absolute;
	right: 0;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
}
.works-swiper .works-items a:hover .imgArea img{
	filter: brightness(65%) blur(0.25rem);
}
.works-swiper .works-items .works-deta{
	position: absolute;
	width: 100%;
	right: 0;
    left: 0;
    top: 50%;
	transform: translateY(-50%);
	padding: 2.5rem;
}
.works-swiper .works-items .works-deta .ttl{
    opacity: 0;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.45;
    transition: all 1s ease;
    margin-bottom: 1.25rem;
}
.works-swiper .works-items .works-deta .text{
    opacity: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.875;
    transition: all 1s ease;
}
.works-swiper .works-items a:hover .works-deta .ttl,
.works-swiper .works-items a:hover .works-deta .text{
	opacity: 1;
}
.works-swiper .works-items .works-detail .c-btn_ico{
	display: block;
	position: absolute;
	background: rgba(255, 255, 255, 0.2);
	right: 2rem;
	bottom: 2rem;
	width: 3.75rem;
	height: 3.75rem;
	border: 1px solid #ededed;
	border-radius: 100%;
	opacity: 0;
	transition: all 1s ease;
}
.works-swiper .works-items a:hover .works-detail .c-btn_ico{
   opacity: 1;
}
.works-swiper .works-items .works-detail .c-btn_ico::after{
    display: inline-block;
    background: url("../img/icon/arrow_w.png") center center no-repeat;
	background-size: cover;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1rem;
    height: 0.25rem;
    transition: all 0.6s ease;
    transform: translate(-50%, -50%) scale(1);
}
.works-swiper .works-items a:hover .works-detail .c-btn_ico::after{
    transform: translate(-50%, -50%) scale(1.5);
}
@media only screen and (max-width: 767px) {
	.front-wrap .works-slider-guide{
		padding: 2rem 0 2.5rem 0;
	}
	.works-slider-guide .guide-ttl{
		margin-bottom: 2rem;
	}
	.works-swiper .works-items .imgArea{
		height: 20.25rem;
	}
	.works-swiper .works-items .works-deta{
		padding: 1.875rem;
	}
	.works-swiper .works-items .works-deta .ttl{
	    opacity: 1;
	    font-size: 1rem;
	    margin-bottom: 1.25rem;
	}
	.works-swiper .works-items .works-deta .text{
	    font-size: 0.9375rem;
	    opacity: 1;
	}
	.works-swiper .works-items .works-detail .c-btn_ico{
		opacity: 1;
		right: 1rem;
		bottom: 1rem;
		width: 3rem;
		height: 3rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.front-wrap .works-slider-guide{
		padding: 5rem 0 5.5rem 0;
	}
}
/*　　持続可能な社会　　*/
.front-wrap .sustainability-guide{
	background: #FFFFFF;
	padding: 5.5rem 0 5rem 0;
}
.front-wrap .sustainability-guide .sustainability-container{
	background: url("../img/top/sustainability_bg.jpg") center center no-repeat;
	background-size: cover;
	padding: 6.25rem 5rem 8.75rem 5rem;
}
.front-wrap .sustainability-guide .sustainability-container h2.roma{
	color: rgba(255, 255, 255, 0.7);
	font-size: 6.25rem;
	line-height: 1.25;
	margin-bottom: 4rem;
}
.front-wrap .sustainability-guide .sustainability-container .text{
	color: #FFFFFF;
	font-size: 1.125rem;
	line-height: 2;
}
@media only screen and (max-width: 767px) {
	.front-wrap .sustainability-guide{
		padding: 2.5rem 0 2rem 0;
	}
	.front-wrap .sustainability-guide .sustainability-container{
		padding: 4rem 1.25rem 2.5rem 1.25rem;
	}
	.front-wrap .sustainability-guide .sustainability-container h2.roma{
		font-size: 2.5rem;
		margin-bottom: 1.5rem;
	}
	.front-wrap .sustainability-guide .sustainability-container .text{
		font-size: 0.9375rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.front-wrap .sustainability-guide{
		padding: 5.5rem 0 5rem 0;
	}
	.front-wrap .sustainability-guide .sustainability-container{
		padding: 4.5rem 3rem 5.5rem 3rem;
	}
	.front-wrap .sustainability-guide .sustainability-container h2.roma{
		margin-bottom: 2rem;
	}
}
/*　　新着情報　　*/
.front-wrap .topics-guide{
	position: relative;
	background: #FFFFFF;
	padding: 5rem 0 11.25rem 0;
}
.front-wrap .topics-guide::before{
	position: absolute;
	display: block;
	background: url("../img/top/topics_bg.png") center center no-repeat;
	background-size: cover;
	content: "";
	width: 89.6875rem;
	width: 100vw;
	height: 70vw;
	max-width: 89.6875rem;
	max-height: 59.875rem;
	left: 0;
	bottom: 0;
}
.front-wrap .topics-guide .guide-ttl{
	margin-bottom: 6.25rem;
}
.topics-tab-wrap .topics-l{
	width: 30%;
    max-width: 370px;
}
.topics-tab-wrap .jstabs .js-tab-btn{
	position: relative;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.35;
	cursor: pointer;
	margin-bottom: 0.75rem;
	padding-left: 1.25rem;
}
.topics-tab-wrap .jstabs .js-tab-btn:hover,
.topics-tab-wrap .jstabs .js-tab-btn.current{
	font-weight: 600;
}
.topics-tab-wrap .jstabs .js-tab-btn:hover::before,
.topics-tab-wrap .jstabs .js-tab-btn.current::before{
    position: absolute;
    display: block;
    content: "";
    background: #ff911e;
    width: 0.75rem;
    height: 0.75rem;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 100%;
}
.topics-tab-wrap .topics-l .block_btn{
	margin-top: 5rem;
}
.topics-tab-wrap .topics-r{
	width: 70%;
	flex-grow: 1;
    margin-right: calc(50% - 50vw);
    overflow-x: hidden;
    position: relative;
}
.topics-tab-wrap .topics-tab-contents{
	display: none;
}
.topics-tab-wrap .topics-tab-contents.current{
	display: block;
}
.topics-swiper .topics-items a{
	color: #272727;
}
.topics-swiper .topics-items .imgArea{
	height: 14.9vw;
	margin-bottom: 1.5rem;
	aspect-ratio:4/3;
}
.topics-swiper .topics-items .imgArea img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 1px solid #c8c8c8;
	
}
.topics-swiper .topics-items .ttl{
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.45;
	margin-bottom: 1.25rem;
}
.topics-swiper .topics-items .text{
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.875;
}
.topics-tab-wrap .topics-tab-contents .swiper-button-wrap.swiper-container-rtl .swiper-button-next,
.topics-tab-wrap .topics-tab-contents .swiper-button-wrap .swiper-button-next{
	top: 6rem;
}
@media only screen and (max-width: 767px) {
	.front-wrap .topics-guide{
		padding: 3rem 0 6.25rem 0;
	}
	.front-wrap .topics-guide .guide-ttl{
		margin-bottom: 2.5rem;
	}
	.topics-tab-wrap .topics-l{
		width: 100%;
	    max-width: 100%;
	}
	.topics-tab-wrap .jstabs .js-tab-btn{
		font-size: 1rem;
	}
	.topics-tab-wrap .jstabs .js-tab-btn:hover::before,
	.topics-tab-wrap .jstabs .js-tab-btn.current::before{
	    width: 0.625rem;
	    height: 0.625rem;
	}
	.topics-tab-wrap .topics-l .block_btn{
		margin-top: 3rem;
	}
	.topics-tab-wrap .topics-r{
		width: 70%;
		flex-grow: 1;
	    margin-right: calc(50% - 50vw);
	    overflow-x: hidden;
	    position: relative;
	    margin-top: 1.5rem;
	}
	.topics-swiper .topics-items  .imgArea{
		height: 46vw;
		margin-bottom: 1.25rem;
	}
	.topics-swiper .topics-items .ttl{
		font-size: 1rem;
		margin-bottom: 1rem;
	}
	.topics-swiper .topics-items .text{
		font-size: 0.9375rem;
	}
	.topics-tab-wrap .block_btn{
		margin-top: 2rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.front-wrap .topics-guide{
		padding: 5rem 0 11.25rem 0;
	}
}
/*　　採用情報　　*/
.front-recruit{
	position: relative;
	background: url("../img/top/recruit_bg.jpg") center no-repeat;
	background-size: cover;
	padding: 12rem 0 13rem 0;
}
.front-recruit .bg-btn{
	position: absolute;
	top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.front-recruit .guide-ttl{
	margin-bottom: 3rem;
}
.front-recruit .guide-ttl .roma{
	font-size: 8.75rem;
}
.front-recruit .text{
	font-size: 1.25rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
}
.front-recruit .block_btn{
	position: relative;
	z-index: 2;
	margin-top: 8rem;
}
@media only screen and (max-width: 767px) {
	.front-recruit{
		padding: 4rem 0 5rem 0;
	}
	.front-recruit .guide-ttl{
		margin-bottom: 2rem;
	}
	.front-recruit .guide-ttl .roma{
		font-size: 2.75rem;
	}
	.front-recruit .text{
		font-size: 1rem;
	}
	.front-recruit .block_btn{
		margin-top: 3rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.front-recruit{
		padding: 8rem 0 7rem 0;
	}
	.front-recruit .block_btn{
		margin-top: 5rem;
	}
}
/*　　INSTAGRAM　　*/
.instagram-guide{
	background: #FFFFFF;
	padding: 10rem 0;
}
.instagram-guide h2{
	display: flex;
	align-items: center;
	font-size: 3.125rem;
	line-height: 1.25;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 5rem;
}
.instagram-guide h2 span{
	display: flex;
	align-items: center;
	width: 2.625rem;
	margin-right: 1.5rem;
}
.instagram-guide .instagram-feed{
	column-gap: 0.9375rem;
	row-gap: 0.9375rem;
}
.instagram-guide .instagram-feed .instagram-items{
	width: calc(25% - 0.725rem);
}
@media only screen and (max-width: 767px) {
	.instagram-guide{
		padding: 4rem 0 3rem 0;
	}
	.instagram-guide h2{
		font-size: 1.5rem;
		margin-bottom: 1.5rem;
	}
	.instagram-guide h2 span{
		width: 1.5rem;
		margin-right: 0.875rem;
	}
	.instagram-guide .instagram-feed{
		column-gap: 0.5rem;
		row-gap: 0.5rem;
	}
	.instagram-guide .instagram-feed .instagram-items{
		width: calc(50% - 0.25rem);
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.instagram-guide{
		padding: 6.5rem 0 6rem 0;
	}
	.instagram-guide h2{
		margin-bottom: 3rem;
	}
}
/**
/* 下層ページ共通 CSS
----------------------------------------------- */
/*　　ページヘッダー　　*/
.page-view{
	margin-top: 6.25rem;
}
.page-view .view-box{
	padding: 5rem 0 3.75rem 0;
}
.page-view .view-ttl{
	margin-bottom: 5.625rem;
}
.page-view .view-ttl h1{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.04em;
	margin-bottom: 0.5rem;
}
.page-view .view-ttl .roma{
	font-size: 5rem;
	line-height: 1.25;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.page-view .view-img{
	height: 25rem;
}
.page-view .view-img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media only screen and (max-width: 767px) {
	.page-view{
		margin-top: 6.25rem;
	}
	.page-view .view-box{
		padding: 3rem 0 1.25rem 0;
	}
	.page-view .view-ttl{
		margin-bottom: 3.625rem;
	}
	.page-view .view-ttl h1{
		font-size: 0.875rem;
	}
	.page-view .view-ttl .roma{
		font-size: 3rem;
	}
	.page-view .view-img{
		height: 10rem;
	}
}
.page-guide{
	position: relative;
	padding: 10rem 0 14.375rem 0;
}
@media only screen and (max-width: 767px) {
	.page-guide{
		padding: 4rem 0 5rem 0;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.page-guide{
		padding: 6rem 0 7.5rem 0;
	}
}
/**
/* TOPICS・施工実績共通 CSS
----------------------------------------------- */
.archive-guide,
.single-guide{
	position: relative;
	display: grid;
	transition: grid-template-columns .4s ease-out;
	grid-template-columns: 1fr 67.5rem 1fr;
	direction: rtl;
	padding: 10rem 0 16.25rem 0;
}
.single-guide{
	padding: 10rem 0 12.5rem 0;
}
.single-guide::before{
	position: absolute;
	display: block;
	background: url("../img/single_bg.png") center center no-repeat;
	background-size: cover;
	content: "";
	width: 89.6875rem;
	width: 100vw;
	height: 70vw;
	max-width: 89.6875rem;
	max-height: 59.875rem;
	left: 0;
	bottom: 0;
}
.archive-guide .archive-container,
.single-guide .single-container{
	position: relative;
	direction: ltr;
}
.l-side,
.r-side{
	position: relative;
	direction: ltr;
}
.l-side .side-container{
	position: sticky;
	top: 8rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 0 2.5rem;
}
.l-side .side-container .sideArea{
	width: 100%;
	max-width: 15rem;
}
.l-side .side-container .sideArea:not(:last-child){
	margin-bottom: 6.25rem;
}
.l-side .side-container h3{
	font-family: "Satoshi-Variable";
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 3.75rem;
}
.l-side .side-container .post-list li + li{
	margin-top: 1rem;
}
.l-side .side-container .post-list li a{
	position: relative;
	color: #272727;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
	padding-left: 2rem;
}
.l-side .side-container .post-list li a.current,
.l-side .side-container .post-list li.current-cat-parent > a{
	color: #ff911e;
}
.l-side .side-container .post-list li a.current::before,
.l-side .side-container .post-list li.current-cat-parent >  a::before{
    position: absolute;
    display: block;
    content: "";
    background: #ff911e;
    width: 1rem;
    height: 2px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.l-side .side-container .post-list li a:hover{
	color: #ff911e;
}
.l-side .side-container .children{
	margin-top: 1rem;
	margin-left: 2rem;
}
.l-side .side-container .children li + li{
	margin-top: 0.5rem;
}
.l-side .side-container .children li a{
	font-size: 0.875rem;
	padding-left: 1rem;
}
.l-side .side-container .children li a.current-child,
.l-side .side-container .children li.current-cat a{
	color: #ff911e;
}
.l-side .side-container .children li a.current-child::before,
.l-side .side-container .children li.current-cat a::before{
    position: absolute;
    display: block;
    content: "";
    background: #ff911e;
    width: 0.5rem;
    height: 0.5rem;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 100%;
}
@media only screen and (max-width: 1380px) {
	.archive-guide,
	.single-guide{
		grid-template-columns: 1fr 70% 1fr;
	}
	.l-side .side-container{
		padding: 0 2.5rem 0 1.5rem;
	}
}
@media only screen and (max-width: 767px) {
	.archive-guide,
	.single-guide{
		display: block;
		padding: 4rem 1.5rem 5.5rem 1.5rem;
	}
	.l-side{
		margin-top: 5rem;
	}
	.l-side .side-container{
		position: relative;
		top: auto;
		padding: 0;
	}
	.l-side .side-container .sideArea{
		width: 100%;
		max-width: 100%;
	}
	.l-side .side-container .sideArea:not(:last-child){
		margin-bottom: 2rem;
	}
	.l-side .side-container h3{
		font-size: 1.5rem;
		margin-bottom: 1.25rem;
	}
	.l-side .side-container .post-list li + li{
		margin-top: 0.5rem;
	}
	.l-side .side-container .post-list li a{
		font-size: 0.9375rem;
		padding-left: 1.5rem;
	}
	.l-side .side-container .post-list li a.current::before{
	    width: 0.875rem;
	}
	.l-side .side-container .children{
		margin-top: 1rem;
		margin-left: 1.75rem;
	}
	.l-side .side-container .children li a{
		font-size: 0.875rem;
		padding-left: 1rem;
	}
	.l-side .side-container .children li a.current-child::before{
	    width: 0.4rem;
	    height: 0.4rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.archive-guide,
	.single-guide{
		padding: 6rem 0 8rem 0;
	}
	.l-side .side-container{
		top: 8rem;
		padding: 0 2rem 0 1.5rem;
	}
	.l-side .side-container .sideArea:not(:last-child){
		margin-bottom: 5rem;
	}
	.l-side .side-container h3{
		font-size: 2.35rem;
		margin-bottom: 2rem;
	}
}
/**
/* TOPICS CSS
----------------------------------------------- */
/*　一覧　*/
.topics-list .topics-items{
	display: grid;
	grid-template-columns: 1fr 45rem;
	align-items: center;
	border-bottom: 1px solid #c8c8c8;
	padding: 2.5rem 1rem;
}
.topics-list .topics-items:first-child{
	border-top: 1px solid #c8c8c8;
}
.topics-list .topics-items dt{
	align-items: center;
}
.topics-list .topics-items .date{
	font-family: "Satoshi-Variable";
	color: #a3a3a3;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.1em;
}
.topics-list .topics-items .the_terms{
	margin-left: 1.875rem;
}
.topics-list .topics-items .the_terms li{
	display: inline-block;
}
.topics-list .topics-items .the_terms li a{
	background: #f7f7f7;
	display: block;
	color: #6a6a6a;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.1em;
	text-align: center;
	border: 1px solid #c8c8c8;
	padding: 0.5rem 0.625rem 0.25rem 0.625rem;
}
.topics-list .topics-items dd a{
	color: #272727;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	letter-spacing: 0.1em;
}
.topics-list .topics-items dd a:hover{
	color: #ff911e;
}
@media only screen and (max-width: 1380px) {
	.topics-list .topics-items{
		grid-template-columns: 20rem 1fr;
	}
	.topics-list .topics-items .the_terms{
		margin-left: 0.875rem;
	}
}
@media only screen and (max-width: 767px) {
	.topics-list .topics-items{
		display: block;
		padding: 1.25rem 0;
	}
	.topics-list .topics-items dt{
		align-items: center;
		margin-bottom: 0.5rem;
	}
	.topics-list .topics-items .date{
		font-size: 0.875rem;
	}
	.topics-list .topics-items .the_terms{
		margin-left: 0.875rem;
	}
	.topics-list .topics-items .the_terms li a{
		font-size: 0.75rem;
		padding: 0.25rem 0.375rem 0.125rem 0.375rem;
	}
	.topics-list .topics-items dd a{
		font-size: 0.875rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.topics-list .topics-items{
		grid-template-columns: 19rem 1fr;
		padding: 1.5rem 1rem;
	}
}
/*　詳細　*/
.topics-guide .single-container .entry-header{
	margin-bottom: 2.5rem;
}
.topics-guide .single-container .entry-header h2{
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.04em;
	margin-bottom: 2.5rem;
}
.topics-guide .single-container .entry-deta{
	align-items: center;
}
.topics-guide .single-container .entry-deta .date{
	font-family: "Satoshi-Variable";
	color: #a3a3a3;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.1em;
}
.topics-guide .single-container .entry-deta .the_terms{
	margin-left: 1.875rem;
}
.topics-guide .single-container .entry-deta .the_terms li{
	display: inline-block;
}
.topics-guide .single-container .entry-deta .the_terms li a{
	background: #f7f7f7;
	display: block;
	color: #6a6a6a;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.1em;
	text-align: center;
	border: 1px solid #c8c8c8;
	padding: 0.5rem 0.625rem 0.25rem 0.625rem;
}
.topics-guide .single-container .entry-body p{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
}
.topics-guide .single-container .entry-body p:not(:last-child){
	margin-bottom: 2rem;
}
.topics-guide .single-container .entry-body .wp-block-gallery{
	margin-top: 2.5rem;
}
.topics-guide .single-container .entry-body figure.wp-block-image.size-full img{
	max-width: 46%;
}
.topics-guide .single-container .block_btn{
	margin-top: 10rem;
}
@media only screen and (max-width: 767px) {
	.topics-guide .single-container .entry-header{
		margin-bottom: 2rem;
	}
	.topics-guide .single-container .entry-header h2{
		font-size: 1.375rem;
		margin-bottom: 1.25rem;
	}
	.topics-guide .single-container .entry-deta .date{
		font-size: 0.875rem;
	}
	.topics-guide .single-container .entry-deta .the_terms{
		margin-left: 0.875rem;
	}
	.topics-guide .single-container .entry-deta .the_terms li a{
		font-size: 0.75rem;
		padding: 0.25rem 0.375rem 0.125rem 0.375rem;
	}
	.topics-guide .single-container .entry-body p{
		font-size: 0.9375rem;
	}
	.topics-guide .single-container .entry-body p:not(:last-child){
		margin-bottom: 1.5rem;
	}
	.topics-guide .single-container .entry-body .wp-block-gallery{
		margin-top: 1.5rem;
	}
	.topics-guide .single-container .entry-body figure.wp-block-image.size-full img{
		max-width: 100%;
	}
	.topics-guide .single-container .block_btn{
		margin-top: 4rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.topics-guide .single-container .block_btn{
		margin-top: 6rem;
	}
}
/**
/* 事業案内 CSS
----------------------------------------------- */
.contents-nav{
	position: absolute;
	top: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 9.5rem 2.5rem 0 2.5rem;
    z-index: 1;
    transition-duration: .6s;
}
.contents-nav.fixed{
	position: fixed;
}
.contents-nav.fixed.none{
	position: absolute;
}
.contents-nav .nav-container{
	width: 100%;
	max-width: 18rem;
}
.contents-nav .nav-container h3{
	font-size: 2.5rem;
	line-height: 1.35;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 3.75rem;
}
.contents-nav .nav-container .nav-list li + li{
	margin-top: 1rem;
}
.contents-nav .nav-container .nav-list li a{
	position: relative;
	color: #272727;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
	padding-left: 2rem;
}
.contents-nav .nav-container .nav-list li a.is-active{
	color: #ff911e;
}
.contents-nav .nav-container .nav-list li a.is-active::before{
    position: absolute;
    display: block;
    content: "";
    background: #ff911e;
    width: 1rem;
    height: 2px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.contents-nav .nav-container .nav-list li a:hover{
	color: #ff911e;
}
@media only screen and (max-width: 1700px) {
	.contents-nav{
		position: relative;
		top: auto;
		padding: 0 0 8rem 0;
	}
	.company-guide .contents-nav{
		padding: 0 0 4rem 0;
	}
	.contents-nav.fixed{
		position: relative;
	}
	.contents-nav.fixed.none{
		position: relative;
	}
	.contents-nav .nav-container{
		width: 90%;
		max-width: 1080px;
		margin: 0 auto;
	}
	.contents-nav .nav-container h3{
		margin-bottom: 1.75rem;
	}
	.contents-nav .nav-container .nav-list{
		display: flex;
	    flex-wrap: wrap;
	    align-items: center;
	    column-gap: 2rem;
	    row-gap: 1rem;
	}
	.contents-nav .nav-container .nav-list li + li{
		margin-top: 0;
	}
}
@media only screen and (max-width: 767px) {
	.contents-nav{
		padding: 0 0 4rem 0;
	}
	.company-guide .contents-nav{
		padding: 0 0 1rem 0;
	}
	.contents-nav .nav-container{
		width: calc(100% - 3rem);
	}
	.contents-nav .nav-container h3{
		font-size: 1.5rem;
		margin-bottom: 1.25rem;
	}
	.contents-nav .nav-container .nav-list{
	    column-gap: 0.5rem;
	    row-gap: 1rem;
	}
	.contents-nav .nav-container .nav-list li a{
		font-size: 0.9375rem;
		padding-left: 1.5rem;
	}
	.contents-nav .nav-container .nav-list li a.is-active::before{
	    width: 0.875rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.contents-nav{
		padding: 0 0 6rem 0;
	}
	.company-guide .contents-nav{
		padding: 0 0 3rem 0;
	}
	.contents-nav .nav-container .nav-list{
	    column-gap: 1.5rem;
	}
}
/**
/* 事業案内 CSS
----------------------------------------------- */
.business-guide{
	padding: 10rem 0 0 0;
}
.business-guide .business-container h2{
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.04em;
	padding-top: 15rem;
	margin-top: -15rem;
}
.business-guide .business-container h3{
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.1em;
}
.business-container .dl_number{
	display: flex;
	align-items: center;
	border-bottom: 1px solid #c8c8c8;
	padding: 1.5rem 0;
}
.business-container .dl_number:first-child{
	border-top: 1px solid #c8c8c8;
}
.business-container .dl_number dt{
	display: flex;
	align-items: center;
	width: 28rem;
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.384;
	letter-spacing: 0.1em;
	padding: 0 0.875rem;
}
.business-container .dl_number dt span{
	display: inline-block;
	color: #ff911e;
	font-family: "Satoshi-Variable";
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
	margin-right: 3.5rem;
}
.business-container .dl_number dd{
	width: calc(100% - 28rem);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
}
@media only screen and (max-width: 1700px) {
	.business-guide{
		padding: 6rem 0 0 0;
	}
}
@media only screen and (max-width: 767px) {
	.business-guide{
		padding: 3.5rem 0 0 0;
	}
	.business-guide .business-container h2{
		font-size: 1.5rem;
		padding-top: 9rem;
		margin-top: -9rem;
	}
	.business-guide .business-container h3{
		font-size: 1.25rem;
	}
	.business-container .dl_number{
		display: block;
		padding: 2rem 0 1.25rem 0;
	}
	.business-container .dl_number dt{
		display: flex;
		align-items: center;
		width: 100%;
		font-size: 1.25rem;
		padding: 0;
		margin-bottom: 1rem;
	}
	.business-container .dl_number dt span{
		font-size: 0.9375rem;
		margin-right: 1.5rem;
	}
	.business-container .dl_number dd{
		width: 100%;
		font-size: 0.9375rem;
	}
}
/*  事業内容   */
.business-details-container{
	padding-bottom: 10rem;
}
.business-details-container h2{
	margin-bottom: 7.5rem;
}
.business-details-container .imageArea{
	position: absolute;
	width: 41.5%;
}
.business-details-container .contentArea{
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
}
.business-details-container .contentArea .content-inner{
	width: 58.5%;
	max-width: 39rem;
	padding-right: 4rem;
}
.business-details-container dl:not(:last-child){
	margin-bottom: 7.5rem;
}
.business-details-container dl dt{
	color: #ff911e;
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.384;
	letter-spacing: 0.1em;
	margin-bottom: 3.75rem;
}
.business-details-container dl dd{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
}
@media only screen and (max-width: 767px) {
	.business-details-container{
		padding-bottom: 5rem;
	}
	.business-details-container h2{
		margin-bottom: 2.5rem;
	}
	.business-details-container .imageArea{
		position: relative;
		width: 100%;
	}
	.business-details-container .contentArea{
		width: 100%;
		max-width: 100%;
		padding: 2.5rem 1.5rem 0 1.5rem;
	}
	.business-details-container .contentArea .content-inner{
		width: 100%;
		max-width: 100%;
		padding-right: 0;
	}
	.business-details-container dl:not(:last-child){
		margin-bottom: 3.5rem;
	}
	.business-details-container dl dt{
		font-size: 1.25rem;
		margin-bottom: 1.25rem;
	}
	.business-details-container dl dd{
		font-size: 0.9375rem;
	}
}
/*  主な事業   */
.main-business-container{
	padding-bottom: 10rem;
}
.main-business-container h2{
	margin-bottom: 7.5rem;
}
@media only screen and (max-width: 767px) {
	.main-business-container{
		padding-bottom: 4rem;
	}
	.main-business-container h2{
		margin-bottom: 1.5rem;
	}
}
/*  受賞歴   */
.awards-container{
	position: relative;
	background: url("../img/business/awards_bg.jpg") center no-repeat;
	background-size: cover;
	padding: 10rem 0;
}
.awards-container .bg_roma{
	position: absolute;
    width: 80%;
    max-width: 1080px;
    top: -0.5rem;
    right: 0;
}
.awards-container h2{
	color: #FFFFFF;
	margin-bottom: 7.5rem;
}
.awards-container .awards-list{
	column-gap: 0.75rem;
	row-gap: 1.875rem;
}
.awards-container .awards-list li{
	width: calc(50% - 0.375rem);
}
.awards-container .awards-list li:first-child{
	width: 100%;
}
.awards-container .awards-list li span{
	display: block;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	margin-top: 0.625rem;
}
.awards-container .awards-tbl{
	margin-top: 5rem;
}
.awards-container .awards-tbl tr th,
.awards-container .awards-tbl tr td{
	vertical-align: middle;
	border-bottom: 1px solid #FFFFFF;
	padding: 1.875rem 1rem;
}
.awards-container .awards-tbl tr:first-child th,
.awards-container .awards-tbl tr:first-child td{
	border-top: 1px solid #FFFFFF;
}
.awards-container .awards-tbl tr th{
	width: 30rem;
	color: #FFFFFF;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.awards-container .awards-tbl tr td ul li{
	position: relative;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	padding-left: 1rem;
}
.awards-container .awards-tbl tr td ul li::before{
	content: "";
	position: absolute;
	background: #ff911e;
	width: 0.5rem;
	height: 0.5rem;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 100%;
}
.awards-container .awards-tbl tr td ul.flex_wrap{
	column-gap: 2rem;
}
.awards-container .awards-tbl tr td ul.flex_wrap li{
	width: calc(50% - 1rem);
}
@media only screen and (max-width: 767px) {
	.awards-container{
		padding: 5rem 0 4rem 0;
	}
	.awards-container .bg_roma{
	    /* width: 80%; */
	    top: -0.25rem;
	}
	.awards-container h2{
		margin-bottom: 1.5rem;
	}
	.awards-container .awards-list{
		column-gap: 0.5rem;
		row-gap: 1.25rem;
	}
	.awards-container .awards-list li{
		width: calc(50% - 0.25rem);
	}
	.awards-container .awards-list li:first-child{
		width: 100%;
	}
	.awards-container .awards-list li span{
		font-size: 0.75rem;
		line-height: 1.35;
		margin-top: 0.375rem;
	}
	.awards-container .awards-tbl{
		margin-top: 2rem;
	}
	.awards-container .awards-tbl tr th,
	.awards-container .awards-tbl tr td{
		display: block;
		padding: 0  0 1.25rem 0;
	}
	.awards-container .awards-tbl tr:first-child td{
		border-top: none;
	}
	.awards-container .awards-tbl tr th{
		width: 100%;
		font-size: 1rem;
		border-bottom: none;
		padding: 1.5rem 0 1rem 0;
	}
	.awards-container .awards-tbl tr td ul li{
		font-size: 0.9375rem;
	}
	.awards-container .awards-tbl tr td ul.flex_wrap{
		column-gap: 1rem;
	}
	.awards-container .awards-tbl tr td ul.flex_wrap li{
		width: calc(50% - 0.5rem);
	}
}
/*  安全衛生への取り組み   */
.attempt-container{
	padding: 10em 0 12.5rem 0;
}
.attempt-container h2{
	margin-bottom: 7.5rem;
}
.attempt-container h3{
	margin-bottom: 5rem;
}
.attempt-container .philosophy-box{
    border-top: solid 2px #c8c8c8;
    border-bottom: solid 2px #c8c8c8;
    padding: 0 0.75rem;
    margin-bottom: 5.875rem;
}
.attempt-container .philosophy-box .philosophy-box-inner{
	position: relative;
	background: #f7f7f7;
	padding: 4rem;
}
.attempt-container .philosophy-box .philosophy-box-inner::before,
.attempt-container .philosophy-box .philosophy-box-inner::after{
    content: '';
    position: absolute;
    top: -0.75rem;
    width: 2px;
    height: -webkit-calc(100% + 1.5rem);
    height: calc(100% + 1.5rem);
    background-color: #c8c8c8;
}
.attempt-container .philosophy-box .philosophy-box-inner::before {left: 0;}
.attempt-container .philosophy-box .philosophy-box-inner::after {right: 0;}
.attempt-container .philosophy-box p {
    font-size: 1rem;
	font-weight: 600;
	line-height: 1.875;
}
.attempt-container .block_btn{
	margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
	.attempt-container{
		padding: 5rem 0 4.5rem 0;
	}
	.attempt-container h2{
		margin-bottom: 3rem;
	}
	.attempt-container h3{
		margin-bottom: 2rem;
	}
	.attempt-container .philosophy-box{
	    border-top: solid 1px #c8c8c8;
	    border-bottom: solid 1px #c8c8c8;
	    padding: 0 0.5rem;
	    margin-bottom: 5rem;
	}
	.attempt-container .philosophy-box .philosophy-box-inner{
		padding: 1.5rem;
	}
	.attempt-container .philosophy-box .philosophy-box-inner::before,
	.attempt-container .philosophy-box .philosophy-box-inner::after{
	    top: -0.5rem;
	    width: 1px;
	    height: -webkit-calc(100% + 1.5rem);
	    height: calc(100% + 1.5rem);
	}
	.attempt-container .philosophy-box .philosophy-box-inner::before {left: 0;}
	.attempt-container .philosophy-box .philosophy-box-inner::after {right: 0;}
	.attempt-container .philosophy-box p {
	    font-size: 0.9375rem;
	}
	.attempt-container .block_btn{
		margin-top: 2rem;
	}
}
/*  施工実績紹介   */
.works-nav-container{
	position: relative;
	background: url("../img/business/works_bg.jpg") center no-repeat;
	background-size: cover;
	padding: 10rem 0;
}
.works-nav-container .bg-btn{
	position: absolute;
	top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.works-nav-container .block_btn{
	position: relative;
	z-index: 2;
	margin-top: 5.875rem;
}
@media only screen and (max-width: 767px) {
	.works-nav-container{
		padding: 4rem 0;
	}
	.works-nav-container .block_btn{
		margin-top: 1.875rem;
	}
}
/**
/* 会社案内 CSS
----------------------------------------------- */
.company-guide{
	padding: 6.125rem 0 14.375rem 0;
}
.company-guide .company-container h2{
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.04em;
	padding-top: 15rem;
	margin-top: -15rem;
}
.company-guide .company-container h3{
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.04em;
}
.company-guide .company-container table tr th,
.company-guide .company-container table tr td{
	border-bottom: 1px solid #c8c8c8;
}
.company-guide .company-container table tr:first-child th,
.company-guide .company-container table tr:first-child td{
	border-top: 1px solid #c8c8c8;
}
.company-guide .company-container table tr th{
	width: 14rem;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
	padding: 1.875rem 1.25rem;
}
.company-guide .company-container table tr td{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	padding: 1.875rem 0;
}
@media only screen and (max-width: 767px) {
	.company-guide{
		padding: 3.125rem 0 5.375rem 0;
	}
	.company-guide .company-container h2{
		font-size: 1.5rem;
		padding-top: 9rem;
		margin-top: -9rem;
	}
	.company-guide .company-container h3{
		font-size: 1.25rem;
	}
	.company-guide .company-container table tr th{
		width: 6rem;
		font-size: 0.9375rem;
		padding: 1rem 0.5rem;
	}
	.company-guide .company-container table tr td{
		font-size: 0.875rem;
		padding: 1rem 0;
	}
}
/*　代表挨拶　*/
.company-guide .greeting-container{
	background: url("../img/company/greeting_bg.jpg") center no-repeat;
	background-size: cover;
	padding: 3.75rem 0 10rem 0;
}
.company-guide .greeting-container .inner{
	max-width: 50rem;
}
.company-guide .greeting-container h2{
	padding-top: 13rem;
	margin-top: -13rem;
	margin-bottom: 5.625rem;
}
.company-guide .greeting-container p{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	letter-spacing: 0.1em;
}
.company-guide .greeting-container p.name{
	text-align: right;
	letter-spacing: 0.01em;
	margin-top: 2.5rem;
}
@media only screen and (max-width: 767px) {
	.company-guide .greeting-container{
		padding: 2.75rem 0 4rem 0;
	}
	.company-guide .greeting-container h2{
		padding-top: 7rem;
		margin-top: -7rem;
		margin-bottom: 1.875rem;
	}
	.company-guide .greeting-container p{
		font-size: 0.9375rem;
	}
	.company-guide .greeting-container p.name{
		margin-top: 1.5rem;
	}
}
/*　経営理念　*/
.company-guide .philosophy-container{
	background: url("../img/company/philosophy_bg.jpg") center no-repeat;
	background-size: cover;
	padding: 10rem 0;
}
.company-guide .philosophy-container h2{
	color: #FFFFFF;
	margin-bottom: 7.5rem;
}
.company-guide .philosophy-container .philosophy-img{
	column-gap: 2.5rem;
	margin-bottom: 7.5rem;
}
.company-guide .philosophy-container .philosophy-img li{
	width: calc(50% - 1.25rem);
}
.company-guide .philosophy-container .ul_number{
	max-width: 55rem;
	margin: 0 auto;
}
.company-guide .philosophy-container .ul_number li{
	display: flex;
	align-items: center;
	color: #FFFFFF;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 2;
}
.company-guide .philosophy-container .ul_number li span{
	display: inline-block;
	color: #ff911e;
	font-family: "Satoshi-Variable";
	font-size: 1.875rem;
	margin-right: 3.5rem;
}
.company-guide .philosophy-container .ul_number li:not(:last-child){
	margin-bottom: 3.5rem;
}
@media only screen and (max-width: 767px) {
	.company-guide .philosophy-container{
		padding: 5rem 0;
	}
	.company-guide .philosophy-container h2{
		margin-bottom: 2.5rem;
	}
	.company-guide .philosophy-container .philosophy-img{
		column-gap: 0.5rem;
		margin-bottom: 3.5rem;
	}
	.company-guide .philosophy-container .philosophy-img li{
		width: calc(50% - 0.25rem);
	}
	.company-guide .philosophy-container .ul_number li{
		display: block;
		font-size: 0.9375rem;
		line-height: 2;
	}
	.company-guide .philosophy-container .ul_number li span{
		display: block;
		font-size: 1.375rem;
		text-align: center;
		margin-right: 0;
	}
	.company-guide .philosophy-container .ul_number li:not(:last-child){
		margin-bottom: 2.5rem;
	}
}
/*　沿革　*/
.history-container{
	padding: 10rem 0;
}
.history-container h2{
	margin-bottom: 5.5rem;
}
.history-list dl{
	display: flex;
	align-items: flex-start;
}
.history-list dl dt{
	display: flex;
	align-items: baseline;
	width: 18rem;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	margin-top: 1.25rem;
}
.history-list dl dt span{
	display: inline-block;
	width: 4.5rem;
	color: #ff911e;
	font-family: "Satoshi-Variable";
	font-size: 1.875rem;
	margin-right: 2.5rem;
}
.history-list dl dd{
	width: calc(100% - 18rem);
}
.history-container .history-list dl dd table tr th{
	width: 5rem;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	padding: 1.875rem 0 2rem 0;
}
.history-container .history-list dl dd table tr td{
	padding: 1.875rem 0 2rem 0;
}
.history-container .history-list dl dd table tr:first-child th,
.history-container .history-list dl dd table tr:first-child td{
	border-top: none;
}
@media only screen and (max-width: 767px) {
	.history-container{
		padding: 5rem 0 3rem 0;
	}
	.history-container h2{
		margin-bottom: 2.5rem;
	}
	.history-list dl{
		display: block;
		align-items: center;
	}
	.history-list dl:not(:last-child){
		margin-bottom: 2.5rem;
	}
	.history-list dl dt{
		width: 100%;
		font-size: 0.9375rem;
		margin-top: 0;
		margin-bottom: 1rem;
	}
	.history-list dl dt span{
		width: 3.5rem;
		font-size: 1.5rem;
		margin-right: 1rem;
	}
	.history-list dl dd{
		width: 100%;
	}
	.history-container .history-list dl dd table tr th{
		width: 4.5rem;
		font-size: 0.9375rem;
		padding: 0.875rem 0 1rem 0;
	}
	.history-container .history-list dl dd table tr td{
		padding: 0.875rem 0 1rem 0;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.history-container{
		padding: 10rem 0 5rem 0;
	}
	.history-list dl dt{
		width: 15rem;
	}
	.history-list dl dd{
		width: calc(100% - 15rem);
	}
}
/*　会社概要　*/
.overview-container{
	padding: 10rem 0 5.5rem 0;
}
.overview-container .flex_wrap{
	position: relative;
	height: 100%;
}
.overview-container .imageArea{
	position: absolute;
	width: 41.5%;
	min-height: 100%;
}
.overview-container .imageArea .sticky{
	position: sticky;
    top: 6rem;
}
.overview-container .contentArea{
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
}
.overview-container .contentArea .content-inner{
	width: 58.5%;
	max-width: 37.5rem;
	padding-right: 3rem;
}
.overview-container h2{
	margin-bottom: 7.5rem;
}
@media only screen and (max-width: 767px) {
	.overview-container{
		padding: 3rem 0 3.5rem 0;
	}
	.overview-container .imageArea{
		position: relative;
		width: 100%;
		height: 15rem;
		margin-bottom: 2rem;
	}
	.overview-container .imageArea .sticky{
		position: sticky;
	    top: 0;
	    height: 15rem;
	}
	.overview-container .imageArea img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.overview-container .contentArea{
		width: calc(100% - 3rem);
	}
	.overview-container .contentArea .content-inner{
		width: 100%;
		max-width: 100%;
		padding-right: 0;
	}
	.overview-container h2{
		margin-bottom: 2.5rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.overview-container{
		padding: 5rem 0 5.5rem 0;
	}
	.overview-container table.overview-tbl tr th{
		width: 10rem;
	}
}
/*　役員　*/
.officer-container{
	padding: 11rem 0 4.5rem 0;
}
.officer-container h2{
	margin-bottom: 7.5rem;
}
.officer-container h3{
	margin-bottom: 5.5rem;
}
.officer-container .officer-tbl{
	max-width: 37.5rem;
}
@media only screen and (max-width: 767px) {
	.officer-container{
		padding: 3.5rem 0 2.5rem 0;
	}
	.officer-container h2{
		margin-bottom: 2.5rem;
	}
	.officer-container h3{
		margin-bottom: 1.5rem;
	}
	.officer-container .officer-tbl tr th{
		width: 10rem;
	}
}
/*　組織図　*/
.org-chart-container{
	padding-bottom: 10rem;
}
.org-chart-container h2{
	margin-bottom: 7.5rem;
}
@media only screen and (max-width: 767px) {
	.org-chart-container{
		padding-bottom: 6rem;
	}
	.org-chart-container h2{
		margin-bottom: 2.5rem;
	}
}
/*　事業所　*/
.office-container h2{
	margin-bottom: 6.5rem;
}
.office-container .office-list .office-items h3{
	margin-bottom: 5rem;
}
.office-container .office-list .office-items:not(:last-child){
	margin-bottom: 7.5rem;
}
.office-container .office-tbl td .map_btn{
	margin-top: 1rem;
}
.office-container .office-tbl td .map_btn li{
	display: inline-block;
	width: 100%;
	max-width: 11.875rem;
}
.office-container .office-tbl td .map_btn li a{
	background: #f7f7f7;
	display: flex;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	color: #ff911e;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	padding: 0.625rem 0;
}
.office-container .office-tbl td .map_btn li a .map_ico{
	margin-right: 0.75rem;
}
.office-container .office-tbl td .map_btn li a .map_ico img{
	width: 0.9375rem;
}
.office-container .office-tbl td .map_btn li a .link_ico{
	margin-left: 1rem;
}
.office-container .office-tbl td .map_btn li a .link_ico img{
	width: 0.8125rem;
}
@media only screen and (max-width: 767px) {
	.office-container h2{
		margin-bottom: 2.5rem;
	}
	.office-container .office-list .office-items h3{
		margin-bottom: 1.5rem;
	}
	.office-container .office-list .office-items:not(:last-child){
		margin-bottom: 3.5rem;
	}
	.office-container .office-tbl td .map_btn{
		margin-top: 0.5rem;
	}
	.office-container .office-tbl td .map_btn li{
		max-width: 10rem;
	}
	.office-container .office-tbl td .map_btn li a{
		font-size: 0.875rem;
		padding: 0.625rem 0;
	}
	.office-container .office-tbl td .map_btn li a .map_ico{
		margin-right: 0.5rem;
	}
	.office-container .office-tbl td .map_btn li a .link_ico{
		margin-left: 0.5rem;
	}
}
/**
/* 施工実績 CSS
----------------------------------------------- */
/*　一覧　*/
.works-guide .works-list{
	column-gap: 0.875rem;
	row-gap: 4.375rem;
}
.works-list .works-items{
	width: calc(33.3333% - 0.625rem);
}
.works-list .works-items .imgArea{
	background: #f3f3f3;
	text-align: center;
	height: 16.5rem;
	margin-bottom: 1.125rem;
}
.works-list .works-items .imgArea img{
	width: auto;
	height: 100%;
	object-fit: cover;
}
.works-list .works-items .the_terms{
	column-gap: 0.625rem;
	row-gap: 0.625rem;
	margin-bottom: 0.9375rem;
}
.works-list .works-items .the_terms li a{
	background: #f7f7f7;
	display: block;
	color: #6a6a6a;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.1em;
	text-align: center;
	border: 1px solid #c8c8c8;
	padding: 0.5rem 0.625rem 0.25rem 0.625rem;
}
.works-list .works-items .ttl{
	color: #272727;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
}
@media only screen and (max-width: 767px) {
	.works-guide .works-list{
		column-gap: 0.625rem;
		row-gap: 2.375rem;
	}
	.works-list .works-items{
		width: calc(50% - 0.3125rem);
	}
	.works-list .works-items .imgArea{
		height: 8.5rem;
		margin-bottom: 0.75rem;
	}
	.works-list .works-items .the_terms{
		column-gap: 0.3125rem;
		row-gap: 0.3125rem;
		margin-bottom: 0.75rem;
	}
	.works-list .works-items .the_terms li a{
		font-size: 0.75rem;
		padding: 0.25rem 0.375rem 0.125rem 0.375rem;
	}
	.works-list .works-items .ttl{
		font-size: 0.875rem;
	}
}
/*　詳細　*/
.works-single-container .works-header{
	margin-bottom: 7.5rem;
}
.works-single-container .works-header h2{
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.04em;
	margin-bottom: 2.5rem;
}
.works-single-container .works-header .works-deta{
	align-items: center;
}
.works-single-container .works-header .works-deta .date{
	font-family: "Satoshi-Variable";
	color: #a3a3a3;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.1em;
}
.works-single-container .works-header .works-deta .the_terms{
	column-gap: 0.625rem;
	row-gap: 0.625rem;
	margin-left: 1.875rem;
}
.works-single-container .works-header .works-deta .the_terms li a{
	background: #f7f7f7;
	display: block;
	color: #6a6a6a;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.1em;
	text-align: center;
	border: 1px solid #c8c8c8;
	padding: 0.5rem 0.625rem 0.25rem 0.625rem;
}
.works-single-container .works-body .main-img{
	background: #ededed;
	height: 37.5rem;
	text-align: center;
	margin-bottom: 3rem;
}
.works-single-container .works-body .main-img img{
	width: auto;
	height: 100%;
	object-fit: cover;
}
.works-single-container .works-body .img-list{
	column-gap: 1.25rem;
	row-gap: 2.5rem;
}
.works-single-container .works-body .img-list .img-items{
	width: calc(50% - 0.625rem);
}
.works-single-container .works-body .works-tbl{
	margin-top: 7.5rem;
}
.works-single-container .works-body .works-tbl tr th{
	width: 18.75rem;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.45;
	border-bottom: 1px solid #c8c8c8;
	padding: 1.875rem 1.25rem;
}
.works-single-container .works-body .works-tbl tr td{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
	border-bottom: 1px solid #c8c8c8;
	padding: 1.875rem 0;
}
.works-single-container .works-body .works-tbl tr:first-child th,
.works-single-container .works-body .works-tbl tr:first-child td{
	border-top: 1px solid #c8c8c8;
}
.works-guide .works-single-container .block_btn{
	margin-top: 10rem;
}
@media only screen and (max-width: 767px) {
	.works-single-container .works-header{
		margin-bottom: 2.5rem;
	}
	.works-single-container .works-header h2{
		font-size: 1.375rem;
		margin-bottom: 1.25rem;
	}
	.works-single-container .works-header .works-deta .date{
		font-size: 0.875rem;
	}
	.works-single-container .works-header .works-deta .the_terms{
		column-gap: 0.3125rem;
		row-gap: 0.3125rem;
		margin-left: 0.875rem;
	}
	.works-single-container .works-header .works-deta .the_terms li a{
		font-size: 0.75rem;
		padding: 0.25rem 0.375rem 0.125rem 0.375rem;
	}
	.works-single-container .works-body .main-img{
		height: 16.5rem;
		margin-bottom: 2rem;
	}
	.works-single-container .works-body .img-list{
		column-gap: 0.625rem;
		row-gap: 0.75rem;
	}
	.works-single-container .works-body .img-list .img-items{
		width: calc(50% - 0.3125rem);
	}
	.works-single-container .works-body .works-tbl{
		margin-top: 3.5rem;
	}
	.works-single-container .works-body .works-tbl tr th{
		width: 8.75rem;
		font-size: 1rem;
		padding: 1rem 0.875rem;
	}
	.works-single-container .works-body .works-tbl tr td{
		font-size: 0.875rem;
		padding: 1rem 0;
	}
	.works-guide .works-single-container .block_btn{
		margin-top: 4rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.works-single-container .works-header{
		margin-bottom: 4.5rem;
	}
	.works-single-container .works-body .main-img{
		height: 25.5rem;
	}
	.works-single-container .works-body .works-tbl{
		margin-top: 4.5rem;
	}
	.works-single-container .works-body .works-tbl tr th{
		width: 14.75rem;
	}
	.works-guide .works-single-container .block_btn{
		margin-top: 6rem;
	}
}
/**
/* 採用情報 CSS
----------------------------------------------- */
.recruit-guide{
	padding: 10rem 0 0 0;
}
.recruit-guide h2{
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.04em;
	padding-top: 15rem;
	margin-top: -15rem;
	margin-bottom: 7.5rem;
}
.page-head-container{
	padding-bottom: 10rem;
}
.page-head-container h2{
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 2.25;
	text-align: center;
	margin-bottom: 4.5rem;
}
.page-head-container p{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	text-align: center;
}
@media only screen and (max-width: 767px) {
	.recruit-guide{
		padding: 4rem 0 0 0;
	}
	.recruit-guide h2{
		font-size: 1.375rem;
		padding-top: 8.5rem;
		margin-top: -8.5rem;
		margin-bottom: 2.5rem;
	}
	.page-head-container{
		padding-bottom: 5rem;
	}
	.page-head-container h2{
		font-size: 1.375rem;
		line-height: 1.45;
		margin-bottom: 2.5rem;
	}
	.page-head-container p{
		text-align: left;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.recruit-guide{
		padding: 6rem 0 0 0;
	}
}
/*　求める人物像　*/
.profile-guide{
	position: relative;
	padding-bottom: 10rem;
}
.profile-guide::before {
    position: absolute;
    display: block;
    content: "";
    width: 80vw;
    height: 70vw;
    max-width: 71rem;
    max-height: 49.5625rem;
    right: 0;
    bottom: 0;
    background: url(../img/recruit/profile_bg.jpg) no-repeat left center;
    background-size: cover;
}
.profile-guide .profile-container{
	position: relative;
}
.profile-container .dl_number:not(:last-child){
	margin-bottom: 3.5rem;
}
.profile-container .dl_number dt{
	display: flex;
	align-items: center;
	color: #ff911e;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.384;
	margin-bottom: 2rem;
}
.profile-container .dl_number dt span{
	display: inline-block;
	color: #ff911e;
	font-family: "Satoshi-Variable";
	font-size: 1.875rem;
	font-weight: 500;
	line-height: 1;
	margin-right: 1.25rem;
	margin-top: -0.35rem;
}
.profile-container .dl_number dd{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
}
@media only screen and (max-width: 767px) {
	.profile-guide{
		padding-bottom: 5rem;
	}
	.profile-guide::before {
	    width: 100%;
	}
	.profile-container .dl_number:not(:last-child){
		margin-bottom: 2.5rem;
	}
	.profile-container .dl_number dt{
		align-items: flex-start;
		font-size: 1.125rem;
		margin-bottom: 1.25rem;
	}
	.profile-container .dl_number dt span{
		font-size: 1.5rem;
		margin-right: 1.25rem;
		margin-top: 0;
	}
}
/*　先輩インタビュー　*/
.interview-nav-guide{
	position: relative;
	background: url("../img/recruit/interview-nav_bg.jpg") center no-repeat;
	background-size: cover;
}
.interview-nav-guide .bg_roma{
	position: absolute;
	width: 50%;
	max-width: 760px;
	bottom: 0;
	left: 0;
}
.interview-nav-container .imageArea{
	position: absolute;
	width: 50%;
	height: 100%;
}
.interview-nav-container .imageArea img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.interview-nav-container .contentArea{
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 10rem 0 8.75rem 0;
}
.interview-nav-container .contentArea .content-inner{
	width: 50%;
	max-width: 36.625rem;
	padding-right: 4rem;
}
.interview-nav-container .contentArea h2{
	margin-bottom: 6.5rem;
}
.interview-nav-container .contentArea .text{
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 2;
}
.interview-nav-container .contentArea .block_btn{
	margin-top: 7.5rem;
}
@media only screen and (max-width: 767px) {
	.interview-nav-guide .bg_roma{
		width: 80%;
		bottom: 0;
	}
	.interview-nav-container .imageArea{
		position: relative;
		width: 100%;
		height: auto;
		margin-bottom: 2rem;
	}
	.interview-nav-container .contentArea{
		width: 100%;
		max-width: 100%;
		padding: 4rem 1.25rem 5.75rem 1.25rem;
	}
	.interview-nav-container .contentArea .content-inner{
		width: 100%;
		max-width: 100%;
		padding-right: 0;
	}
	.interview-nav-container .contentArea h2{
		margin-bottom: 1.5rem;
	}
	.interview-nav-container .contentArea .text{
		font-size: 1rem;
	}
	.interview-nav-container .contentArea .block_btn{
		margin-top: 2rem;
	}
}
/*　福利厚生　*/
.welfare-guide{
	background: #f7f7f7;
	padding: 10rem 0 11rem 0;
}
.welfare-container{
	position: relative;
	height: 100%;
}
.welfare-container .imageArea{
	position: absolute;
	width: 41.5%;
	min-height: 100%;
	margin-top: 11rem;
}
.welfare-container .imageArea .sticky{
	position: sticky;
	top: 6rem;
} 
.welfare-container .contentArea{
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
}
.welfare-guide .holiday-container{
	width: 58.5%;
	max-width: 41.5rem;
	padding-right: 4rem;
	padding-bottom: 10rem;
}
.welfare-guide .employee-benefits-container{
	width: 58.5%;
	max-width: 41.5rem;
	padding-right: 4rem;
	padding-right: 4rem;
}
.welfare-container ul{
	border-top: 1px solid #c8c8c8;
	border-bottom: 1px solid #c8c8c8;
	padding: 2.5rem 0;
} 
.welfare-container ul.list li{
	position: relative;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	padding-left: 1rem;
}
.welfare-container ul.list li::before{
	content: "";
	position: absolute;
	background: #ff911e;
	width: 0.5rem;
	height: 0.5rem;
	left: 0;
	top: 0.625rem;
	border-radius: 100%;
}
@media only screen and (max-width: 767px) {
	.welfare-guide{
		padding: 4rem 0;
	}
	.welfare-container .imageArea{
		position: relative;
		width: 100%;
		min-height: auto;
		margin-top: 0;
		margin-bottom: 3.5rem;
	}
	.welfare-container .contentArea{
		width: 100%;
		max-width: 100%;
		padding: 0 1.5rem;
	}
	.welfare-guide .holiday-container{
		width: 100%;
		max-width: 100%;
		padding-right: 0;
		padding-bottom: 2.5rem;
	}
	.welfare-guide .employee-benefits-container{
		width: 100%;
		max-width: 100%;
		padding-right: 0;
	}
	.welfare-container ul{
		padding: 1.5rem 0;
	} 
}
/*　寮・施設案内　*/
.dormitory-guide{
	padding: 10rem 0;
}
.dormitory-container p{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	margin-bottom: 4.5rem;
}
.dormitory-container .dormitory-list{
	column-gap: 1rem;
	row-gap: 1.875rem;
}
.dormitory-container .dormitory-list li{
	width: calc(50% - 0.5rem);
}
.dormitory-container .dormitory-list li span{
	display: block;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	margin-top: 0.75rem;
}
@media only screen and (max-width: 767px) {
	.dormitory-guide{
		padding: 4rem 0;
	}
	.dormitory-container p{
		/* font-size: 1rem; */
		margin-bottom: 2.5rem;
	}
	.dormitory-container .dormitory-list{
		column-gap: 0.5rem;
		row-gap: 1rem;
	}
	.dormitory-container .dormitory-list li{
		width: calc(50% - 0.25rem);
	}
	.dormitory-container .dormitory-list li span{
		font-size: 0.75rem;
		margin-top: 0.75rem;
	}
}
/*　募集要項　*/
.requirements-guide{
	background: #4b5469;
	padding: 10rem 0;
}
.requirements-guide .inner-wrap{
	max-width: 1470px;
}
.requirements-guide h2{
	max-width: 1080px;
	margin: 0 auto;
	padding-top: 15rem;
	margin-top: -15rem;
	margin-bottom: 7.5rem;
}
.requirements-guide .job-description-box{
	background: #FFFFFF;
	padding: 7.5rem 5rem;
}
.requirements-guide .job-description-box:not(:last-child){
	margin-bottom: 2.5rem;
}
.requirements-guide .job-description-box .box-inner{
	max-width: 1080px;
	margin: 0 auto;
}
.requirements-guide .job-description-box h3{
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 5rem;
}
.job-description-box .job-description-items:not(:last-child){
	margin-bottom: 2.5rem;
}
.job-description-box .job-description-items h4{
	position: relative;
	background: #f7f7f7;
	color: #ff911e;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.5;
	padding: 1.875rem 3.125rem;
}
.job-description-box .job-description-items h4.js-accordion-title{
	cursor: pointer;
}
.job-description-box .job-description-items h4.js-accordion-title:after{
	content: "＋";
	position: absolute;
	right: 1.875rem;
	top: 1.875rem;
	transition: all 0.2s ease-in-out;
	display: block;
	font-size: 1.25rem;
}
.job-description-box .job-description-items h4.js-accordion-title.open:after{
	content: "－";
}
.recruit-tbl{
	margin-top: 2.5rem;
}
.job-description-box .job-description-items .accordion-tbl{
	display: none;
}
.recruit-tbl tr th,
.recruit-tbl tr td{
	vertical-align: middle;
	border-bottom: 1px solid #c8c8c8;
	padding: 1.875rem 1rem;
}
.recruit-tbl tr:first-child th,
.recruit-tbl tr:first-child td{
	border-top: 1px solid #c8c8c8;
}
.recruit-tbl tr th{
	width: 18rem;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
	vertical-align: baseline;
}
.recruit-tbl tr td{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
}
.recruit-tbl tr td p:not(:last-child){
	margin-bottom: 1rem;
}
.recruit-tbl tr td ul li{
	position: relative;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	padding-left: 1rem;
}
.recruit-tbl tr td ul li::before{
	content: "";
	position: absolute;
	background: #ff911e;
	width: 0.5rem;
	height: 0.5rem;
	left: 0;
	top: 0.625rem;
	border-radius: 100%;
}
.recruit-tbl tr td ul li sup{
	font-size: 0.625rem;
    vertical-align: super;
}
.recruit-tbl tr td ul li + li{
	margin-top: 0.375rem;
}
.recruit-tbl tr td .note{
	padding-left: 2.7em;
	text-indent: -2.7em;
}
.job-description-box .p-note{
	color: #ff911e;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	margin-top: 2.5rem;
}
@media only screen and (max-width: 767px) {
	.requirements-guide{
		padding: 4rem 0;
	}
	.requirements-guide h2{
		padding-top: 8.5rem;
		margin-top: -8.5rem;
		margin-bottom: 2.5rem;
	}
	.requirements-guide .job-description-box{
		padding: 3rem 1.5rem 2.5rem 1.5rem;
	}
	.requirements-guide .job-description-box:not(:last-child){
		margin-bottom: 1.5rem;
	}
	.requirements-guide .job-description-box h3{
		font-size: 1.25rem;
		margin-bottom: 1.5rem;
	}
	.job-description-box .job-description-items:not(:last-child){
		margin-bottom: 1.125rem;
	}
	.job-description-box .job-description-items h4{
		font-size: 1rem;
		padding: 1rem 1.125rem 0.75rem 1.125rem;
	}
	.job-description-box .job-description-items h4.js-accordion-title:after{
		right: 0.875rem;
		top: 1.125rem;
		font-size: 1rem;
	}
	.recruit-tbl{
		margin-top: 1.5rem;
	}
	.recruit-tbl tr th,
	.recruit-tbl tr td{
		display: block;
		padding: 0  0 1.25rem 0;
	}
	.recruit-tbl tr:first-child td{
		border-top: none;
	}
	.recruit-tbl tr th{
		width: 100%;
		font-size: 1rem;
		border-bottom: none;
		padding: 1.5rem 0 1rem 0;
	}
	.recruit-tbl tr td{
		font-size: 0.9375rem;
	}
	.recruit-tbl tr td p:not(:last-child){
		margin-bottom: 0.5rem;
	}
	.recruit-tbl tr td ul li{
		font-size: 0.9375rem;
	}
	.recruit-tbl tr td ul li sup{
		font-size: 0.625rem;
	}
	.recruit-tbl tr td ul li + li{
		margin-top: 0.25rem;
	}
	.job-description-box .p-note{
		font-size: 0.875rem;
		margin-top: 1.25rem;
	}
}
/*　エントリーフォームはこちら　*/
.entry-nav-guide{
	position: relative;
	background: url("../img/top/recruit_bg.jpg") center no-repeat;
	background-size: cover;
	padding: 11.25rem 0 8.75rem 0;
}
.entry-nav-guide .bg-btn{
	position: absolute;
	top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.entry-nav-guide .guide-ttl{
	margin-bottom: 3.75rem;
}
.entry-nav-guide .guide-ttl .roma{
	font-size: 4.375rem;
}
.entry-nav-guide .text{
	font-size: 1.25rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
}
.entry-nav-guide .block_btn{
	position: relative;
	z-index: 2;
	margin-top: 8rem;
}
@media only screen and (max-width: 767px) {
	.entry-nav-guide{
		padding: 3.5rem 0 4rem 0;
	}
	.entry-nav-guide .guide-ttl{
		margin-bottom: 1rem;
	}
	.entry-nav-guide .guide-ttl .roma{
		font-size: 3rem;
	}
	.entry-nav-guide .text{
		font-size: 0.9375rem;
	}
	.entry-nav-guide .block_btn{
		margin-top: 2rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.entry-nav-guide{
		padding: 7.25rem 0 6.75rem 0;
	}
	.entry-nav-guide .guide-ttl{
		margin-bottom: 2.5rem;
	}
	.entry-nav-guide .block_btn{
		margin-top: 5rem;
	}
}
/**
/* 先輩インタビュー CSS
----------------------------------------------- */
.interview-guide{
	padding: 10rem 0 0 0;
}
.interview-container .interview-contents{
	padding: 10rem 0;
}
.interview-container .interview-contents:nth-child(odd){
	background: url("../img/interview/interview_bg.jpg") center center no-repeat;
	background-size: cover;
}
.interview-container .interview-contents .interview-body{
	position: relative;
}
.interview-container .interview-contents .no{
	font-family: "Satoshi-Variable";
	font-size: 12.5rem;
	font-weight: 500;
	line-height: 0.78;
	text-align: right;
	padding-right: 5%;
}
.interview-container .interview-contents:nth-child(odd) .no{
	color: #4b5469;
	text-shadow: 1px 1px 0 #ffffff, -1px 1px 0 #ffffff, -1px -1px 0 #ffffff, 1px -1px 0 #ffffff;
}
.interview-container .interview-contents:nth-child(even) .no{
	color: #ffffff;
	text-shadow: 1px 1px 0 #4b5469, -1px 1px 0 #4b5469, -1px -1px 0 #4b5469, 1px -1px 0 #4b5469;
}
.interview-container .interview-contents .imageArea{
	position: absolute;
	width: 42%;
}
.interview-container .interview-contents .imageArea ul{
	column-gap: 2.5rem;
	row-gap: 2.5rem;
}
.interview-container .interview-contents .imageArea ul li{
	width: calc(50% - 1.25rem);
}
.interview-container .interview-contents .imageArea ul li:first-child{
	width: 100%;
}
.interview-container .interview-contents .contentArea{
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
}
.interview-container .interview-contents .content-inner{
	width: 100%;
	max-width: 35.25rem;
	padding-right: 4rem;
}
.interview-container .interview-contents .interview-ttl{
	border-bottom: 1px solid #c8c8c8;
	padding-bottom: 1.875rem;
	margin-bottom: 5rem;
}
.interview-container .interview-contents:nth-child(odd) .interview-ttl{
	color: #ffffff;
}
.interview-container .interview-contents .interview-ttl h2{
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.35;
	padding-top: 15rem;
	margin-top: -15rem;
	margin-bottom: 3rem;
}
.interview-container .interview-contents .interview-ttl h2 span{
	display: inline-block;
	font-size: 1.625rem;
	margin: 0 2rem;
}
.interview-container .interview-contents .interview-ttl dl{
	display: flex;
    align-items: center;
}
.interview-container .interview-contents .interview-ttl dl dt{
	background: #ff911e;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	text-align: center;
	padding: 0.3125rem 0.625rem 0.125rem 0.625rem;
	margin-top: -0.375rem;
}
.interview-container .interview-contents .interview-ttl dl dd{
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.35;
	padding-left: 1.25rem;
}
.interview-contents .interview-list .interview-items:not(:last-child){
	margin-bottom: 5rem;
}
.interview-contents .interview-list .interview-items dt{
	display: flex;
	align-items: baseline;
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.384;
	letter-spacing: 0.04em;
	margin-bottom: 3.5rem;
}
.interview-contents:nth-child(odd) .interview-list .interview-items dt{
	color: #ffffff;
}
.interview-contents .interview-list .interview-items dt span{
	display: inline-block;
	color: #ff911e;
	font-family: "Satoshi-Variable";
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1;
	margin-right: 1.25rem;
}
.interview-contents .interview-list .interview-items dd{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
}
.interview-contents:nth-child(odd) .interview-list .interview-items dd{
	color: #ffffff;
}
.interview-contents .senior-message{
	background: rgba(75, 84, 105, 0.1);
	color: #4b5469;
	padding: 2.5rem;
	margin-top: 5rem;
}
.interview-contents:nth-child(odd) .senior-message{
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
}
.interview-contents .senior-message h4{
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 1.384;
	letter-spacing: 0.04em;
	margin-bottom: 1.5rem;
}
.interview-contents .senior-message p{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
}
.interview-contents .Job-schedule-container{
	background: rgba(247, 247, 247, 0.7);
	border: 2px solid #ffffff;
	padding: 3.5rem;
	margin-top: 5rem;
}
.interview-contents:nth-child(odd) .Job-schedule-container{
	background: rgba(247, 247, 247, 0.9);
}
.interview-contents .Job-schedule-container h3{
	color: #4b5469;
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.384;
	margin-bottom: 2.5rem;
}
.interview-contents .Job-schedule-container .Job-schedule-grid{
	column-gap: 2rem;
}
.interview-contents .Job-schedule-container .schedule-l,
.interview-contents .Job-schedule-container .schedule-r{
	width: calc(50% - 1rem);
}
.interview-contents .Job-schedule-container dl{
	position: relative;
	width: 100%;
	display: flex;
	align-items: flex-start;
}
.interview-contents .Job-schedule-container dl:not(:last-child){
	margin-bottom: 1.875rem;
}
.interview-contents .Job-schedule-container dl dt{
	position: relative;
	background: #ff911e;
	width: 5.625rem;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	text-align: center;
	border-radius: 3rem;
	padding: 0.25rem 0.5rem 0 0.5rem;
}
.interview-contents .Job-schedule-container dl:not(:last-child):after{
    position: absolute;
    display: block;
    content: "";
    background-image: repeating-linear-gradient(180deg, #ff911e, #ff911e 4px, transparent 4px, transparent 8px);
	background-position: right top;
	background-repeat: repeat-y;
	background-size: 0.25rem 100%;
    width: 0.25rem;
    height: 100%;
    left: 2.6875rem;
    bottom: -1.875rem;
}
.interview-contents .Job-schedule-container dl dd{
	color: #4b5469;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	padding-left: 1.875rem;
}
@media only screen and (max-width: 767px) {
	.interview-guide{
		padding: 4rem 0 0 0;
	}
	.interview-container .interview-contents{
		padding: 4rem 0;
	}
	.interview-container .interview-contents .no{
		font-size: 4.5rem;
		padding-right: 5%;
		margin-bottom: 2rem;
	}
	.interview-container .interview-contents .imageArea{
		position: relative;
		width: 100%;
		margin-bottom: 2.5rem;
	}
	.interview-container .interview-contents .imageArea ul{
		column-gap: 1rem;
		row-gap: 1rem;
	}
	.interview-container .interview-contents .imageArea ul li{
		width: calc(50% - 0.5rem);
	}
	.interview-container .interview-contents .content-inner{
		max-width: 100%;
		padding-right: 0;
	}
	.interview-container .interview-contents .interview-ttl{
		padding-bottom: 1.25rem;
		margin-bottom: 1.5rem;
	}
	.interview-container .interview-contents .interview-ttl h2{
		font-size: 1.375rem;
		padding-top: 8.5rem;
		margin-top: -8.5rem;
		margin-bottom: 1rem;
	}
	.interview-container .interview-contents .interview-ttl h2 span{
		font-size: 1.125rem;
		margin: 0 1rem;
	}
	.interview-container .interview-contents .interview-ttl dl dt{
		font-size: 0.875rem;
		padding: 0.375rem 0.5rem 0.125rem 0.5rem;
		margin-top: -0.25rem;
	}
	.interview-container .interview-contents .interview-ttl dl dd{
		font-size: 1.125rem;
		padding-left: 1rem;
	}
	.interview-contents .interview-list .interview-items:not(:last-child){
		margin-bottom: 3rem;
	}
	.interview-contents .interview-list .interview-items dt{
		font-size: 1.25rem;
		margin-bottom: 1.5rem;
	}
	.interview-contents:nth-child(odd) .interview-list .interview-items dt{
		color: #ffffff;
	}
	.interview-contents .interview-list .interview-items dt span{
		font-size: 1.25rem;
		margin-right: 0.625rem;
	}
	.interview-contents .interview-list .interview-items dd{
		font-size: 0.9375rem;
	}
	.interview-contents .senior-message{
		padding: 1.5rem;
		margin-top: 2rem;
	}
	.interview-contents .senior-message h4{
		font-size: 1.25rem;
		margin-bottom: 0.625rem;
	}
	.interview-contents .senior-message p{
		font-size: 0.9375rem;
	}
	.interview-contents .Job-schedule-container{
		padding: 2rem 1.5rem;
		margin-top: 3rem;
	}
	.interview-contents .Job-schedule-container h3{
		font-size: 1.25rem;
		margin-bottom: 1.25rem;
	}
	.interview-contents .Job-schedule-container .Job-schedule-grid{
		column-gap: 2rem;
	}
	.interview-contents .Job-schedule-container .schedule-l,
	.interview-contents .Job-schedule-container .schedule-r{
		width: 100%;
	}
	.interview-contents .Job-schedule-container dl:not(:last-child){
		margin-bottom: 1.5rem;
	}
	.interview-contents .Job-schedule-container .schedule-l dl:last-child{
		margin-bottom: 1.5rem;
	}
	.interview-contents .Job-schedule-container dl dt{
		width: 5.625rem;
		font-size: 0.9375rem;
		border-radius: 3rem;
		padding: 0.25rem 0.5rem 0 0.5rem;
	}
	.interview-contents .Job-schedule-container dl:not(:last-child):after{
	    background-image: repeating-linear-gradient(180deg, #ff911e, #ff911e 4px, transparent 4px, transparent 8px);
		background-position: right top;
		background-repeat: repeat-y;
		background-size: 0.25rem 100%;
	    width: 0.25rem;
	    left: 2.6875rem;
	    bottom: -1.5rem;
	}
	.interview-contents .Job-schedule-container .schedule-l dl:last-child:after{
	     position: absolute;
	    display: block;
	    content: "";
	    background-image: repeating-linear-gradient(180deg, #ff911e, #ff911e 4px, transparent 4px, transparent 8px);
		background-position: right top;
		background-repeat: repeat-y;
		background-size: 0.25rem 100%;
	    width: 0.25rem;
	    height: 100%;
	    left: 2.6875rem;
	    bottom: -1.5rem;
	}
	.interview-contents .Job-schedule-container dl dd{
		width: calc(100% - 5.625rem);
		font-size: 0.9375rem;
		padding-left: 0.875rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.interview-guide{
		padding: 6rem 0 0 0;
	}
	.interview-container .interview-contents{
		padding: 6rem 0;
	}
	.interview-container .interview-contents .interview-ttl{
		padding-bottom: 1.875rem;
		margin-bottom: 3rem;
	}
	.interview-contents .interview-list .interview-items:not(:last-child){
		margin-bottom: 3.5rem;
	}
	.interview-contents .interview-list .interview-items dt{
		margin-bottom: 2rem;
	}
	.interview-contents .senior-message{
		padding: 2rem;
		margin-top: 3rem;
	}
	.interview-contents .senior-message h4{
		margin-bottom: 1rem;
	}
	.interview-contents .Job-schedule-container{
		padding: 2.5rem;
		margin-top: 3.5rem;
	}
	.interview-container .interview-contents .imageArea ul{
		column-gap: 1.5rem;
		row-gap: 1.5rem;
	}
	.interview-container .interview-contents .imageArea ul li{
		width: calc(50% - 0.75rem);
	}
}
/**
/* フォーム CSS
----------------------------------------------- */
.form-guide .inner-wrap{
	max-width: 1470px;
} 
.form-grid .p-text{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	text-align: center;
	margin-bottom: 7.5rem;
}
.form-grid .form-box{
	background: #f7f7f7;
	padding: 11.625rem 4rem 10rem 4rem;
}
.form-box table{
	max-width: 1080px;
	margin: 0 auto;
}
.form-box table tr th,
.form-box table tr td{
	padding: 1.25rem 0;
	vertical-align: top;
}
.form-box table tr:first-child th,
.form-box table tr:first-child td{
	padding: 0 0 1.25rem 0;
}
.form-box table tr:last-child th,
.form-box table tr:last-child td{
	padding: 5rem 0 0 0;
}
.form-box table tr th{
	width: 21.25rem;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.375;
}
.form-box table tr th .ttl{
	padding-top: 1.25rem;
}
.form-box table tr th span.required{
	display: inline-block;
	background: #4b5469;
	color: #FFFFFF;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.25;
	padding: 0.25rem 1rem 0.125rem 1rem;
	margin-left: 1.25rem;
}
.form-box table tr td{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
}
.form-box table tr td ul li + li{
	margin-top: 1.25rem;
}
input[type="date"],
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
textarea,
select{
	width: 100%;
	background: #FFFFFF;
	border: none;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.45;
	padding: 1rem;
}
input[type="date"]::placeholder,
input[type="text"]::placeholder,
input[type="tel"]::placeholder,
input[type="email"]::placeholder,
input[type="url"]::placeholder,
textarea::placeholder{
	color: #8E8E8E;
}
input[type="date"]:-ms-input-placeholder,
input[type="text"]:-ms-input-placeholder,
input[type="tel"]:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="url"]:-ms-input-placeholder,
textarea:-ms-input-placeholder{
	color: #8E8E8E;
}
input[type="date"]::-ms-input-placeholder,
input[type="text"]::-ms-input-placeholder,
input[type="tel"]::-ms-input-placeholder,
input[type="email"]::-ms-input-placeholder,
input[type="url"]::-ms-input-placeholder,
textarea::-ms-input-placeholder{
	color: #8E8E8E;
}
input.zip{
	max-width: 18.75rem;
}
input[type=checkbox]{
	appearance: none;
	position: relative;
	background: #FFFFFF;
	width: 1.875rem;
	height: 1.875rem;
	border: 1px solid #ff911e;
	cursor: pointer;
	margin: 0;
}
input[type=checkbox]:checked{
	background: #ff911e;
}
input[type=checkbox]:checked::after{
	content: "";
	position: absolute;
	top: 0.5rem;
	left: 0.35rem;
	width: 1rem;
	height: 0.5rem;
	border-bottom: 2px solid #FFFFFF;
	border-left: 2px solid #FFFFFF;
	transform: rotate(-45deg);
}
textarea{
	height: 10rem;
}
.wpcf7-list-item {
    display: inline-block;
    margin: 0 4rem 0 0;
}
.wpcf7-radio label{
	display: flex;
	align-items: center;
	column-gap: 0.625rem;
	width: fit-content;
	line-height: 1;
	cursor: pointer;
}
.wpcf7-radio input[type=radio]{
	appearance: none;
	position: relative;
	background-color: #FFFFFF;
	width: 1.625rem;
	height: 1.625rem;
	border: 1px solid #a2a2a2;
	border-radius: 9999px;
	cursor: pointer;
}
.wpcf7-radio input[type=radio]:checked::after{
	content: "";
	position: absolute;
	inset: 0;
	width: 0.75rem;
	height: 0.75rem;
	margin: auto;
	border-radius: 9999px;
	background-color: #ff911e;
}
.wpcf7-radio .wpcf7-list-item-label{
	font-weight: 400;
}
.acceptance-text .wpcf7-list-item{
	margin: 0;
}
.acceptance-text a{
	color: #ff911e;
}
.acceptance-text label{
	display: flex;
	align-items: center;
	column-gap: 1.25rem;
	width: fit-content;
	line-height: 1;
	cursor: pointer;
}
.wpcf7-spinner{
	display: none;
}
.submit_btn{
	text-align: center;
	margin-top: 6.25rem;
}
.submit_btn li{
	display: inline-block;
	width: 100%;
	max-width: 25rem;
}
input[type="submit"] {
	position: relative;
	display: block;
	width: 100%;
	background: #ff911e;
	border: none;
	font-family: "IBM Plex Sans JP", sans-serif;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	cursor: pointer;
	padding: 1.75rem 1rem;
}
input.wpcf7-previous {
	position: relative;
	display: block;
	width: 100%;
	background: #a3a3a3;
	border: none;
	font-family: "IBM Plex Sans JP", sans-serif;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	cursor: pointer;
	padding: 1.75rem 1rem;
}
.entry-form-container  .wpcf7-response-output{
	display: none;
}
@media only screen and (max-width: 767px) {
	.form-guide .inner-wrap{
		width: 100%;
	} 
	.form-grid .p-text{
		font-size: 0.9375rem;
		text-align: left;
		padding: 0 1.5rem;
		margin-bottom: 3.5rem;
	}
	.form-grid .form-box{
		padding: 3.625rem 1.5rem 4rem 1.5rem;
	}
	.form-box table tr th,
	.form-box table tr td{
		display: block;
	}
	.form-box table tr:first-child th{
		padding: 0 0 1rem 0;
	}
	.form-box table tr:first-child td{
		padding: 0 0 2rem 0;
	}
	.form-box table tr:last-child th{
		padding: 0 0 1rem 0;
	}
	.form-box table tr:last-child td{
		padding: 0;
	}
	.form-box table tr th{
		width: 100%;
		font-size: 1rem;
		padding: 0 0 1rem 0;
	}
	.form-box table tr th .ttl{
		display: flex;
		align-items: center;
		padding-top: 0;
	}
	.form-box table tr th span.required{
		font-size: 0.75rem;
		padding: 0.25rem 0.5rem 0.125rem 0.5rem;
		margin-left: 1.25rem;
	}
	.form-box table tr td{
		font-size: 0.9375rem;
		padding: 0 0 2rem 0;
	}
	.form-box table tr td ul li + li{
		margin-top: 1.25rem;
	}
	input[type="date"],
	input[type="text"],
	input[type="tel"],
	input[type="email"],
	input[type="url"],
	textarea,
	select{
		font-size: 0.9375rem;
		padding: 0.75rem;
	}
	input.zip{
		max-width: 10.75rem;
	}
	input[type=checkbox]{
		width: 1.5rem;
		height: 1.5rem;
	}
	input[type=checkbox]:checked::after{
		top: 0.45rem;
		left: 0.25rem;
		width: 0.875rem;
		height: 0.375rem;
	}
	textarea{
		height: 8rem;
	}
	.wpcf7-list-item {
	    margin: 0 2rem 0 0;
	}
	.wpcf7-radio input[type=radio]{
		width: 1.25rem;
		height: 1.25rem;
	}
	.wpcf7-radio input[type=radio]:checked::after{
		width: 0.625rem;
		height: 0.625rem;
	}
	.acceptance-text label{
		column-gap: 0.625rem;
	}
	.submit_btn{
		margin-top: 3.25rem;
	}
	.submit_btn li{
		max-width: 10rem;
	}
	input[type="submit"],
	input.wpcf7-previous{
		font-size: 0.9375rem;
		padding: 1.125rem 1rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.form-guide .inner-wrap{
		width: 100%;
	} 
	.form-grid .p-text{
		margin-bottom: 5.5rem;
	}
	.form-grid .form-box{
		padding: 6.625rem 4rem 6rem 4rem;
	}
}
.form-guide .thanks-container h2{
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 2.25;
	text-align: center;
	margin-bottom: 4.5rem;
}
.form-guide .thanks-container p{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	text-align: center;
}
@media only screen and (max-width: 767px) {
	.form-guide .thanks-container{
		width: calc(100% - 3rem);
	}
	.form-guide .thanks-container h2{
		font-size: 1.375rem;
		line-height: 1.45;
		margin-bottom: 2.5rem;
	}
	.form-guide .thanks-container p{
		text-align: left;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.form-guide .thanks-container{
		width: 90%;
	}
}
/**
/* プライバシーポリシー CSS
----------------------------------------------- */
.privacy-policy-container h2{
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: center;
	margin-bottom: 5rem;
}
.privacy-policy-container p{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 6.5rem;
}
.privacy-policy-container dl:not(:last-child){
	margin-bottom: 3.75rem;
}
.privacy-policy-container dl dt{
	display: flex;
    align-items: flex-start;
    font-size: 1.625rem;
    font-weight: 600;
    line-height: 1.385;
    margin-bottom: 1.5rem;
}
.privacy-policy-container dl dt span{
	display: inline-block;
	font-family: "Satoshi-Variable";
	color: #ff911e;
	font-size: 1.875rem;
	font-weight: 500;
	line-height: 1;
	margin-right: 2.5rem;
}
.privacy-policy-container dl dd{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875;
	letter-spacing: 0.1em;
	padding-left: 5rem;
}
@media only screen and (max-width: 767px) {
	.privacy-policy-container h2{
		font-size: 1.5rem;
		margin-bottom: 3rem;
	}
	.privacy-policy-container p{
		font-size: 0.9375rem;
		text-align: left;
		margin-bottom: 3.5rem;
	}
	.privacy-policy-container dl:not(:last-child){
		margin-bottom: 2.75rem;
	}
	.privacy-policy-container dl dt{
	    font-size: 1.25rem;
	    margin-bottom: 1rem;
	}
	.privacy-policy-container dl dt span{
		font-size: 1.5rem;
		margin-right: 1.25rem;
	}
	.privacy-policy-container dl dd{
		font-size: 0.9375rem;
		padding-left: 3rem;
	}
}
/**
/* CONTACT US CSS
----------------------------------------------- */
.contact-us-guide{
	background: url("../img/contact-us_bg.jpg") center no-repeat;
	background-size: cover;
	padding: 10rem 0;
}
.contact-us-guide .guide-ttl{
	margin-bottom: 5.5rem;
}
.contact-us-guide .contact-nav{
	column-gap: 1.25rem;
}
.contact-us-guide .contact-nav li{
	width: calc(50% - 0.625rem);
}
.contact-us-guide .contact-nav li a{
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	height: 15rem;
	color: #FFFFFF;
	border: 1px solid #FFFFFF;
}
.contact-us-guide .contact-nav li a:hover{
	background: rgba(0, 0, 0, 0.8);
}
.contact-us-guide .contact-nav li.tel-btn a{
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 0.04em;
}
.contact-us-guide .contact-nav li.tel-btn a span{
	display: inline-block;
	font-size: 1.375rem;
	margin-right: 1rem;
}
.contact-us-guide .contact-nav li.contact-btn a{
	font-size: 1.375rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
	.contact-us-guide{
		padding: 4.5rem 0 3rem 0;
	}
	.contact-us-guide .guide-ttl{
		margin-bottom: 2rem;
	}
	.contact-us-guide .contact-nav{
		column-gap: 0;
		row-gap: 0.625rem;
	}
	.contact-us-guide .contact-nav li{
		width: 100%;
	}
	.contact-us-guide .contact-nav li a{
		height: 6rem;
	}
	.contact-us-guide .contact-nav li.tel-btn a{
		font-size: 1.5rem;
	}
	.contact-us-guide .contact-nav li.tel-btn a span{
		font-size: 1rem;
		margin-right: 0.5rem;
	}
	.contact-us-guide .contact-nav li.contact-btn a{
		font-size: 1rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.contact-us-guide{
		padding: 6.5rem 0 6rem 0;
	}
	.contact-us-guide .guide-ttl{
		margin-bottom: 3.5rem;
	}
	.contact-us-guide .contact-nav li a{
		height: 13rem;
	}
}
/**
/* エラーページ CSS
----------------------------------------------- */
.error-guide{
	padding: 10rem 0 12.5rem 0;
}
.error-guide p{
	font-size: 1rem;
	line-height: 1.875;
	text-align: center;
}
.error-guide .error_url{
	padding: 1.875rem 0;
}
.error-guide .block_btn{
	margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
	.error-wrap .page-header-view:after{
		top: 10%;
		left: -5%;
		font-size: 18vw;
		-webkit-text-stroke: 1px #23B8C3;
		text-stroke: 1px #23B8C3;
	}
	.error-guide .page-grid .entry p{
		font-size: 3.6vw;
	}
	.error-guide .entry .error_url{
		padding: 5% 0;
	}
	.error-guide .entry .block_btn{
		margin-top: 8%;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	.error-wrap .page-header-view:after{
		top: 20px;
		left: -35px;
		font-size: 120px;
		-webkit-text-stroke: 1px #23B8C3;
		text-stroke: 1px #23B8C3;
	}
	.error-guide .page-grid .entry p{
		font-size: 14px;
	}
	.error-guide .entry .error_url{
		padding: 20px 0;
	}
	.error-guide .entry .block_btn{
		margin-top: 40px;
	}
}


