/*
------------------------------------
トップページ
------------------------------------
*/

.top_fv_section{
	padding-top: 0;
	background-color: var(--base_green);
}

.top_fv_section .fv_flex{
	max-width: 1920px;
	margin-inline: auto;
	display: flex;
	
}

.top_fv_section .fv_left{
	width:50%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	/* padding: */
	background-color: var(--base_green);
	color:#fff;
}

.top_fv_section .fv_left_contents{
	position: relative;
	z-index: 1;
	padding-bottom: 24px;

}

.top_fv_section .fv_catch01{
	font-size: 32px;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.top_fv_section .fv_catch02{
	font-size: 56px;
	font-weight: 700;
	line-height: 1.3;
}
.top_fv_section .fv_catch02 strong{
	font-size: 64px;
}

.top_fv_section .fv_deco{
	position: absolute;
}

.top_fv_section .fv_deco01{
	width:100%;
	top:0;
	left:0;
}

.top_fv_section .fv_deco02{
	width:100%;
	left:0;
	bottom:0;
}



.top_fv_section .fv_right{
	width:50%;
	position: relative;
	overflow: clip;
	background-color: #fff;
}

.top_fv_section .fv_bg_area{
	width:100%;
	height:100%;
	min-height: clamp(calc(620 / 1440 * 1440px) , calc(620 / 1440 * 100vw) , calc(620 / 1440 * 1920px));
}

.top_fv_section .fv_bg_item{
	position: absolute;
	width:100%;
	height:100%;
	
}

.top_fv_section .fv_bg_item.vanish{
	opacity: 0;
	transition-duration: 3s;
}

.top_fv_section .fv_bg_item img{
	width:100%;
	height:100%;
	object-fit: cover;
	object-position: left center;
	
}

.top_fv_section .fv_bg_item.move img{
	animation: fv_bg_move 10s linear forwards;
}

@keyframes fv_bg_move {
    from {
        object-position: left center;
    }
    to {
        object-position: right center;
    }
}


.top_fv_section .fv_right::before{
	content:'';
	width:100%;
	height:100%;
	background-color: #303030;
	opacity: 0.4;
	position: absolute;
	top:0;
	left:0;
	z-index: 2;
}

.top_fv_section .fv_right_contents_frame{
	position: absolute;
	width:100%;
	height:100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 3;
	top:0;
	left:0;
	padding:16px;
}

.top_fv_section .fv_logo{
	max-width: 378px;
	margin-inline: auto;

}

.top_fv_section .fv_text{
	max-width: 420px;
	margin-inline: auto;
	margin-top: 24px;
	text-shadow: 0 0 3px rgba(0, 0, 0, 0.30);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color:#fff;
}

@media screen and (max-width:1100px){
	.top_fv_section .fv_bg_area{
		width:100%;
		height:100%;
		min-height: calc(620 / 1100 * 100vw);
	}

	.top_fv_section .fv_logo {
		max-width: calc(378 / 1100 * 100vw);
		margin-inline: auto;
	}


	.top_fv_section .fv_catch01 {
		font-size: calc(32 / 1100 * 100vw);
	}
	.top_fv_section .fv_catch02 {
		font-size: calc(56 / 1100 * 100vw);
	}
	.top_fv_section .fv_catch02 strong{
		font-size: calc(64 / 1100 * 100vw);
	}
	
}/*@media screen and (max-width:1100px){*/


.top_list_section{
	padding-bottom: 200px;
	background-color: var(--base_green);
}


.top_list_section .list_inner{
	width:92%;
	max-width: 1200px;
	margin-inline: auto;
}

.top_list_section .sec_head_set{
	display: flex;
	flex-direction: column;
	align-items: center;
	color:#fff;
	font-weight: 700;

}

.top_list_section .sec_head_set .sec_head_en{
	font-size: 16px;
	letter-spacing: 0.02em;
}
.top_list_section .sec_head_set .sec_head_ja{
	font-size: 36px;
	font-weight: 700;
	letter-spacing: 0.05em;
}


.top_list_section .link_list{
	margin-top: 80px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:24px;
}

@media screen and (max-width:1200px){
	.top_list_section .link_list{
		grid-template-columns: repeat(2, 1fr);
	}
}/*@media screen and (min-width:768px){*/

.top_list_section .link_block{
	height:100%;
	min-height: 126px;
	border-radius: 5px;
	background: #FFF;
	position: relative;
	padding:8px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:12px;
	overflow: clip;
	color:var(--base_navy);
}

.top_list_section .link_block::before{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(237, 237, 237, 1);
	position: absolute;
	top:0;
	left:0;
	transition-duration: var(--c_duration);
	transform-origin: left;
	transform:scaleX(0)
}

.top_list_section .link_block_contents{
	position: relative;
	z-index: 1;
}

.top_list_section .link_block_title{
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: 0.02em;
	font-weight: 700;
}

.top_list_section .link_block_title span{
	display: block;
	font-size: 20px;
}


.top_list_section .link_block_radi{
	position: relative;
	width:32px;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
}

.top_list_section .link_block_radi::before{
	content:'';
	width:100%;
	height:100%;
	border-radius: 50%;
	background-color: var(--base_navy);
	transition-duration: var(--c_duration);
	position: absolute;
	top:0;
	left:0;
}

.top_list_section .link_block_radi::after{
	content:'';
	width:6px;
	aspect-ratio: 1 / calc(12 / 6);
	position: relative;
	z-index: 1;
	background-image: url('../img/common/icon_angle_right_white.svg');
}

@media (any-hover: hover) {

	.top_list_section .link_block:hover::before{
		transform:scaleX(1);
	}
	.top_list_section .link_block:hover .link_block_radi::before{
		transform:scale(1.1);
	}
}


/*
------------------------------------
地下湧水処理断熱システム
------------------------------------
*/


.chikayusui_flow_section{

}

.chikayusui_flow_section .flow_list{
	margin-top: var(--c_block_space);
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap:30px;
	max-width: 500px;
	margin-inline: auto;
}

.chikayusui_flow_section .flow_item{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 80px;
	background-color: #D9D9D9;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.6;
	letter-spacing: 0.05em;
	padding:24px 16px;
}

.chikayusui_flow_section .flow_item.on{
	background-color: var(--base_green);
	color:#fff;
}

.chikayusui_voice_section{

} 

.chikayusui_voice_section .voice_list{
	margin-top: var(--c_block_space);
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap:50px;
}

.chikayusui_voice_section .voice_line{
	display: flex;
	align-items: flex-start;
	gap:10px;
}

.chikayusui_voice_section .voice_icon_area{
	flex-shrink: 0;
	width:160px;
}

.chikayusui_voice_section .voice_icon{
	display: block;
	width:60px;
	margin-inline: auto;
}
.chikayusui_voice_section .voice_name{
	margin-top: 6px;
	display: flex;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
}


.chikayusui_voice_section .voice_text_area{
	width:100%;
}

.chikayusui_voice_section .voice_text_frame{
	position: relative;
	border:1px solid var(--base_green);
}
.chikayusui_voice_section .voice_text_frame::before{
	content:'';
	width:51px;
	aspect-ratio: 1 / 1;
	background-image: url('../img/chikayusui/voice_balloon.svg');
	position: absolute;
	top:28px;
	left:-30px;
}
.chikayusui_voice_section .voice_text_inner{
	position: relative;
	z-index: 1;
	
	background-color: #fff;
	min-height: 100px;
	padding:24px 40px;
	display: flex;
	align-items: center;
}
.chikayusui_voice_section .voice_text{
	line-height: 1.875;
	letter-spacing: 0.05em;
}
/*
------------------------------------
地下湧水処理断熱システム > ドレイナーパネル
------------------------------------
*/


.dorayner_feature_section{
	
}

.dorayner_feature_section .feature_table{
	max-width: 800px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
}

.dorayner_size_section{

}

.dorayner_size_section .size_flex{
	margin-top: var(--c_block_space);
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.dorayner_size_section .size_left{
	width:calc(531 / 1000 * 100%);
}

.dorayner_size_section .size_right{
	width:calc(430 / 1000 * 100%);
}

.dorayner_size_section .size02{
	margin-top: 24px;
}

.dorayner_size_section .size03_area{
	margin-top: var(--c_contents_space);
}

.dorayner_size_section .size03{
	margin-top: var(--c_block_space);
}

.dorayner_size_section .process_area{
	margin-top: var(--c_contents_space);
}

.dorayner_size_section .process_flex{
	margin-top: var(--c_block_space);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.dorayner_size_section .process_block{
	width:48%;
	max-width: 462px;
}

.dorayner_size_section .process{
	margin-top: 20px;
}

.dorayner_size_section .method_area{
	margin-top:var(--c_contents_space);
}

.dorayner_size_section .method_flex{
	margin-top: var(--c_block_space);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.dorayner_size_section .method_block{
	width:48%;
	max-width: 450px;
}


.dorayner_size_section .detail_area{
	margin-top: var(--c_contents_space);
}

.dorayner_size_section .detail_list{
	margin-top: var(--c_block_space);
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:40px 24px;
}

.dorayner_size_section .detail_list li{
	width:232px;
}


.dorayner_flow_section{

}

.dorayner_flow_section .flow_list{
	margin-top: var(--c_block_space);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:24px calc(40 / 1000 * 100%);
}

.dorayner_flow_section .flow_img{
	margin-bottom: 10px;
}
/*
------------------------------------
地下湧水処理断熱システム > ドレイナーパネルT3
------------------------------------
*/

/* 単体画像ブロック: サイズ個別指定 */
.doraynerT3_size01{
	max-width: 450px;
	margin-inline: auto;
}

.doraynerT3_size02{
	max-width: 605px;
	margin-inline: auto;
}

.doraynerT3_size03{
	max-width: 717px;
	margin-inline: auto;
}

.doraynerT3_size08{
	max-width: 853px;
	margin-inline: auto;
}

/* 2カラム横並び: 幅個別指定 */
.doraynerT3_size04_05 .doraynerT3_size_left_01{
	width: calc(472 / 1000 * 100%);
}
.doraynerT3_size04_05 .doraynerT3_size_right_01{
	width: calc(472 / 1000 * 100%);
}

.doraynerT3_size06_07{
	justify-content: flex-start;
}
.doraynerT3_size06_07 .doraynerT3_size_left_02{
	width: calc(356 / 1000 * 100%);
	margin-right: 60px;
}
.doraynerT3_size06_07 .doraynerT3_size_right_02{
	width: calc(356 / 1000 * 100%);
}

.doraynerT3_size09_10 .doraynerT3_size_left_03{
	width: calc(461 / 1000 * 100%);
}
.doraynerT3_size09_10 .doraynerT3_size_right_03{
	width: calc(395 / 1000 * 100%);
}

.doraynerT3_photo_section .photo_list{
	margin-top: var(--c_block_space);
	display: grid;
	grid-template-columns: repeat(2, 300px);
	gap:24px calc(20 / 1000 * 100%);
	justify-content: center;
}

.doraynerT3_photo_section .photo_img{
	margin-bottom: 10px;
}

/*
------------------------------------
地下湧水処理断熱システム > ドースイライナー
------------------------------------
*/

.dosuiliner_size02 .c_sub_detail {
	font-weight: 400;
}

/* 単体画像ブロック: サイズ個別指定 */
.dosuiliner_flow{
	max-width: 500px;
	margin-inline: auto;
}

.dosuiliner_size01{
	max-width: 764px;
	margin-inline: auto;
	text-align: center;
}

.dosuiliner_size02{
	max-width: 564px;
	margin-inline: auto;
	text-align: center;
}

.dosuiliner_size02 .c_sub_detail{
	text-align: left;
}


/*
------------------------------------
地下湧水処理断熱システム > スタイロガルバ
------------------------------------
*/

.styrogalba_link_section .link_list{
	justify-content: space-between !important;
	gap: 30px 0 !important;
	flex-wrap: wrap;
}

.styrogalba_link_section .link_item{
	width: 31%;
	max-width: 250px;
}

.styrogalba_link_section .link_list::after{
	content: '';
	width: 31%;
	max-width: 250px;
}

/* 2カラム横並び: 幅個別指定 */
.styrogalba_flow01_02 .styrogalba_flow_left_01{
	width: calc(387 / 1000 * 100%);
}

.styrogalba_flow01_02 .styrogalba_flow_right_01{
	width: calc(347 / 1000 * 100%);
}

.styrogalba_flow01_02{
	text-align: center;
	justify-content: center;
	gap: 0 30px;
}

.styrogalba_size02_03{
	justify-content: center;
	gap: 0 60px;
	align-items: flex-start;
}

.styrogalba_size02_03 .styrogalba_size_left_01{
	width: calc(402 / 1000 * 100%);
}
.styrogalba_size02_03 .styrogalba_size_right_01{
	width: calc(424 / 1000 * 100%);
}

/* 単体画像ブロック: サイズ個別指定 */

.styrogalba_size01{
	max-width: 430px;
	margin-inline: auto;
	text-align: center;
}

.styrogalba_size02_03 .c_sub_detail{
	font-weight: 400;
	line-height: 21px;
}

/*
------------------------------------
嵩上げ・捨て支保工 > スタイロライナーWSF
------------------------------------
*/

.styloliner_feature_image{
	max-width: 900px;
	margin-inline: auto;
}

.styloliner_flow{
	max-width: 500px;
	margin-inline: auto;
}

.styloliner_installation_example{
	max-width: 740px;
	margin-inline: auto;
	text-align: center;
}

.styloliner_size01{
	max-width: 930px;
	margin-inline: auto;
}

.styloliner_size02{
	max-width: 858px;
	margin-inline: auto;
}

.styloliner_size02 .c_sub_detail{
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 3.2px;
}

.styloliner_size02 .c_sub_detail:first-of-type {
    margin-top: 20px;
}

.styloliner_sub_detail_area{
	width: fit-content;
	margin-inline: auto;
	text-align: left;
}

.styloliner__photo_section .photo_item{
	text-align: center;
}

.styloliner__photo_section .photo_img{
	margin-top: 13px;
}

/*
------------------------------------
嵩上げ・捨て支保工 > スタイロライナーII
------------------------------------
*/

.styloliner2_size01_02_03{
	gap: 0 15px;
}

.styloliner2_size01_02_03 .c_flex_cols_item{
	width: calc((100% - 30px) / 3);
}

.styloliner2_sub_detail_area{
	max-width: 927px;
	margin-inline: auto;
	text-align: left;margin-top: 40px;
}

.styloliner2_sub_detail_area .c_sub_detail{
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 3.2px;
}

.styloliner2_size04{
	max-width: 1000px;
	margin-inline: auto;
}

.styloliner2_size05{
	max-width: 800px;
	margin-inline: auto;
	text-align: center;
}

.styloliner2_size06{
	text-align: center;
}

.styloliner2_size06 .c_sub_detail{
	max-width: 870px;
	margin-inline: auto;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
}

.styloliner2_size06 .c_sub_detail:first-of-type{
	margin-top: 30px;
}

.styloliner2_size06 .c_img_block_inner{
	max-width: 646px;
	margin-inline: auto;
}

/*
------------------------------------
嵩上げ・捨て支保工 > イゲタライト
------------------------------------
*/

.igeta_size01{
	max-width: 1000px;
	margin-inline: auto;
}

.igeta_size01 .igeta_sub_detail_area{
	max-width: 927px;
	margin-inline: auto;
	text-align: left;
}

.igeta_size01 .c_sub_detail{
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 3.2px;
}

.igeta_size02{
	max-width: 873px;
	margin-inline: auto;
}

.igeta_size02 .c_sub_head{
	text-align: center;
}

.igeta_size02 + .igeta_sub_detail_area{
	max-width: 927px;
	margin-inline: auto;
	text-align: left;
}

.igeta_sub_detail_area .c_sub_detail{
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 3.2px;
}

.igeta_sub_detail_area .c_sub_detail:first-of-type{
	margin-top: 40px;
}

.igeta_sub_detail_link{
	font-weight: 400;
	text-decoration: underline;
	transition-duration: var(--c_duration);
}

@media (any-hover: hover){
	.igeta_sub_detail_link:hover{
		opacity: var(--c_hover_opa);
	}
}

.igeta_flow01{
	max-width: 421px;
	margin-inline: auto;
}

.igeta_flow02{
	max-width: 657px;
	margin-inline: auto;
}

/*
------------------------------------
断熱パネル
------------------------------------
*/

.dannetu_link_section .link_block_list{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap:40px;
	margin-top: 60px;
}


.dannetu_link_section .link_block{
	width:480px;
	max-width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:40px 24px;
	border-radius: 5px;
	background: #D9D9D9;
}

.dannetu_link_section .link_block:has(.link_item:nth-child(3)){
	width:524px;
}


.dannetu_link_section .link_block_inner{
	width: 100%;
}

.dannetu_link_section .link_block_head{
	text-align: center;
}

.dannetu_link_section .link_list{
	margin-top: 24px;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap:16px 8px;
	width: 100%;
	max-width: 230px;
	margin-inline: auto;
}

.dannetu_link_section .link_list:has(.link_item:nth-child(3)){
	grid-template-columns: repeat(2, 1fr);
	gap:16px 8px;
	max-width: 100%;
}


.dannetu_link_section .link_button{
	min-height: 48px;
	padding:16px 24px;
	border-radius: 9999px;
	border:1px solid var(--base_navy);
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 14px;
	font-weight: 700;
	transition-duration: var(--c_duration);
	color:#fff;
	background-color: var(--base_navy);
	gap:8px;
}

.dannetu_link_section .link_button::after{
	content:'';
	width:7px;
	aspect-ratio: 1 / calc(13 / 7);
	transition-duration: var(--c_duration);
	background-image: url('../img/common/icon_angle_right_white.svg');
}

@media (any-hover: hover) {
	.dannetu_link_section .link_button:hover{
		background-color: #fff;
		color:var(--base_navy)
	}
	.dannetu_link_section .link_button:hover::after{
		background-image: url('../img/common/icon_angle_right_navy.svg');
	}
}
/*
------------------------------------
断熱パネル > ライトフィルブロック
------------------------------------
*/

.light_feature_lead{
	margin-top: var(--c_block_space);
	font-size: 14px;
	font-weight: 400;
	line-height: 33px;
	max-width: 775px;
	margin-inline: auto;
	letter-spacing: 0.05em;
	text-align: left;
}

.light_size01{
	max-width: 480px;
	margin-inline: auto;
}

.light_size02{
	max-width: 503px;
	margin-inline: auto;
}

.light_sub_detail_area{
	margin-top: var(--c_block_space);
	max-width: 825px;
	margin-inline: auto;
}

.light_sub_detail_area .c_sub_detail{
	font-size: 18px;
	font-weight: 400;
	line-height: 33px;
}

.light_sub_detail_area .c_sub_detail:first-of-type{
	margin-top: 0;
}

.light_size03{
	max-width: 736px;
	margin-inline: auto;
}

.light_operation_area{
	margin-top: var(--c_contents_space);
	max-width: 873px;
	margin-inline: auto;
}

.light_operation_category{
	margin-top: var(--c_block_space);
}

.light_operation_category .c_sub_head{
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	line-height: 30px;
	letter-spacing: 4px;
}

.light_operation01_02,
.light_operation04_05{
	align-items: flex-start;
	gap: 0 110px;
}

.light_operation01_02 .light_operation_left,
.light_operation04_05 .light_operation_left{
	width: 375px;
}

.light_operation01_02 .light_operation_right,
.light_operation04_05 .light_operation_right{
	width: 388px;
}

.light_operation_single{
	margin-top: var(--c_block_space);
}

.light_operation_single_img{
	margin-top: 20px;
	max-width: 375px;
}

.light_operation_label{
	font-size: 25px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 5px;
}

.light_operation_label + .c_flex_cols_img{
	margin-top: 20px;
}

.light_photo_section .photo_item .c_sub_head{
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
}

.light_photo_section .photo_item{
	text-align: center;
}

.light_photo_section .photo_img{
	margin-top: 10px;
}

/*
------------------------------------
S1工法,打込み工法 > スタイロパネル
------------------------------------
*/

.stylopanel_items_section .link_list_frame::before,
.stylopanel_items_section .link_list_frame::after{
    content: none;
}

.stylopanel_items_section .link_list_frame{
    padding-top: 65px;
}

.stylopanel_items_section .link_list{
	justify-content: space-between !important;
	gap: 30px 0 !important;
	flex-wrap: wrap;
}

.stylopanel_items_section .link_item{
	width: 31%;
	max-width: 250px;
}

.stylopanel_items_section .link_list::after{
	content: '';
	width: 31%;
	max-width: 250px;
}

.stylopanel_feature_section .c_feature_list .feature_line::before{
	content: none;
}

.stylopanel_feature_section .c_feature_list .feature_text_block {
    padding-left: 0;
}

.stylopanel_feature_section .c_feature_list{
	max-width: 482px;
}

.stylopanel_feature_section .c_feature_list .feature_title {
	font-size: 18px;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 0.9px;
}

.stylopanel_guide_section .container {
    max-width: 800px;
}

.stylopanel_guide_section .guide_flex {
    gap: calc(80 / 800 * 100%);
}

.stylopanel_guide_section .guide_left {
    width: calc(235 / 800 * 100%);
}

.stylopanel_size01{
	max-width: 678px;
	margin-inline: auto;
}

.stylopanel_size02{
	max-width: 670px;
	margin-inline: auto;
}

.stylopanel_size03{
	max-width: 661px;
	margin-inline: auto;
}

.stylopanel_size04{
	max-width: 651px;
	margin-inline: auto;
}

.stylopanel_sub_detail_area .c_sub_detail{
	color: #0A772F;
	font-size: 14px;
	font-weight: 400;
	line-height: 30px;
}

/*
------------------------------------
S1工法,打込み工法 > ネオマフォームFS
------------------------------------
*/

.neomaform-fs_feature_image{
	max-width: 800px;
	margin-inline: auto;
}

.neomaform-fs_certification{
	margin-top: var(--c_contents_space);
}

.neomaform-fs_certification_text{
	margin-top: var(--c_block_space);
	width: fit-content;
	margin-inline: auto;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
}

.neomaform-fs_size01{
	max-width: 800px;
	margin-inline: auto;
}

.neomaform-fs_sub_detail_area{
	margin-top: 20px;
}

.neomaform-fs_sub_detail_area .c_sub_detail{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.95;
	letter-spacing: 0.05em;
}

.neomaform-fs_sub_detail_area .c_sub_detail:first-of-type{
	margin-top: 0;
}

.neomaform-fs_size02,
.neomaform-fs_size03,
.neomaform-fs_size04{
	margin-top: var(--c_contents_space);
}

.neomaform-fs_size02_flex,
.neomaform-fs_size03_flex,
.neomaform-fs_size04_flex{
	justify-content: center;
	align-items: center;
	gap: 0 35px;
}

.neomaform-fs_size02_flex .neomaform-fs_size02_left,
.neomaform-fs_size03_flex .neomaform-fs_size03_left,
.neomaform-fs_size04_flex .neomaform-fs_size04_left{
	width: calc(407 / 1000 * 100%);
}

.neomaform-fs_size02_flex .neomaform-fs_size02_right,
.neomaform-fs_size03_flex .neomaform-fs_size03_right,
.neomaform-fs_size04_flex .neomaform-fs_size04_right{
	width: calc(462 / 1000 * 100%);
}

.neomaform-fs_size_certification{
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
}

.neomaform-fs_size_detail{
	margin-top: 24px;
	line-height: 1.875;
	letter-spacing: 0.05em;
}

.neomaform-fs_size_detail_head{
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 0.8px;
	margin-bottom: 25px;
}

.neomaform-fs_material_area{
	margin-top: var(--c_block_space);
	max-width: 904px;
	margin-inline: auto;
}

.neomaform-fs_material_text{
	line-height: 1.875;
	letter-spacing: 0.05em;
}

/*
------------------------------------
S1工法,打込み工法 > ネオマ断熱ボード
------------------------------------
*/

.neomaboard_size01{
	max-width: 694px;
	margin-inline: auto;
}

.neomaboard_size02{
	max-width: 900px;
	margin-inline: auto;
}

.neomaboard_size03{
	max-width: 900px;
	margin-inline: auto;
}

.neomaboard_size03 .c_sub_detail{
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 3.2px;
}

.neomaboard_size04{
	margin-top: var(--c_contents_space);
	max-width: 930px;
	margin-inline: auto;
}

.neomaboard_size04_flex{
	justify-content: center;
	align-items: center;
	gap: 0 30px;
}

.neomaboard_size04_flex .neomaboard_size04_left{
	width: 230px;
	flex-shrink: 0;
}

.neomaboard_size_detail{
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 3.2px;
}

.neomaboard_size05 .c_sub_head{
	text-align: center;
}

.neomaboard_size05 .c_sub_detail{
	margin-top: 25px;
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 3.2px;
}

.neomaboard_flow_list{
	margin-top: var(--c_block_space);
	max-width: 600px;
	margin-inline: auto;
}

.neomaboard_flow_item{
	display: flex;
	align-items: center;
	gap: 35px;
	position: relative;
	margin-bottom: 55px;
}

.neomaboard_flow_item::after{
	content: '';
	width: 43px;
	height: 25px;
	background-image: url('../img/common/icon_arrow_down.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.neomaboard_flow_item:last-child{
	margin-bottom: 0;
}

.neomaboard_flow_item:last-child::after{
	content: none;
}

.neomaboard_flow_img{
	width: 186px;
	flex-shrink: 0;
}

.neomaboard_flow_text{
	line-height: 22px;
	letter-spacing: 3.2px;
}

/*
------------------------------------
S1工法,打込み工法 > アキレス準不燃NDパネル
------------------------------------
*/

.ndpannel_size01{
	max-width: 554px;
	margin-inline: auto;
}

.ndpannel_construction_example_section .c_sub_detail{
	max-width: 600px;
	text-align: left;
	margin-inline: auto;
}

/*
------------------------------------
S1工法,打込み工法 > スタイロウォール
------------------------------------
*/

.stylowall_size_section .c_sub_detail{
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
}

.stylowall_sub_title{
	margin-bottom: 30px;
}

.stylowall_size01{
	max-width: 597px;
	margin-inline: auto;
}

.stylowall_size01 .c_sub_detail{
	margin-top: 30px;
}

.stylowall_size02{
	max-width: 632px;
	margin-inline: auto;
}

.stylowall_size03_04{
	margin-top: var(--c_contents_space);
}

.stylowall_size03_04 .c_flex_cols{
	justify-content: center;
	gap: 0 200px;
}

.stylowall_size03_04 .c_flex_cols_item{
	width: 244px;
}

.stylowall_size05 .stylowall_size05_sub_detail,
.stylowall_size06 .stylowall_size06_sub_detail,
.stylowall_size07 .stylowall_size07_sub_detail,
.stylowall_size08 .stylowall_size08_sub_detail{
	width:fit-content;
	margin-top: 30px;
	margin-inline: auto;
	text-align: center;
}

.stylowall_size05,
.stylowall_size06,
.stylowall_size07,
.stylowall_size08{
	max-width: 880px;
	margin-inline: auto;
}

.stylowall_size05 .c_img_block_inner,
.stylowall_size06 .c_img_block_inner{
	margin-bottom: 10px;
}

.stylowall_field01{
	margin-top: var(--c_block_space);
}

.stylowall_field01 .c_img_block_inner,
.stylowall_field02 .c_img_block_inner,
.stylowall_field03 .c_img_block_inner,
.stylowall_field04 .c_img_block_inner{
	max-width: 339px;
	margin-inline: auto;
}

.stylowall_field_section .c_sub_detail{
	text-align: center;
	max-width: 680px;
	margin-inline: auto;
}

/* 施工例: 共通は2列grid(300px)だが、このページは横長1枚のみのため1列に上書き */
.stylowall_construction_example_section .example_list{
	grid-template-columns: 1fr;
}



/*
------------------------------------
高断熱耐火パネル
------------------------------------
*/

.koukinou_relation_list_section{

}

.koukinou_relation_list_section .relation_list{
	grid-template-columns: repeat(1, 1fr);
	max-width: 480px;
	margin-inline: auto;
}

.koukinou_relation_list_section .relation_flex{
	align-items: center;
}
.koukinou_relation_list_section .relation_text{
	min-height: auto;
}

/*
------------------------------------
高断熱耐火パネル > ネオマ耐火スパンウォール
------------------------------------
*/

.spanwall_feature_img{
	margin-top: var(--c_block_space);
	margin-bottom: var(--c_block_space);
}

.spanwall_feature01 img{
	max-width: 694px;
}

.spanwall_feature02 img{
	max-width: 684px;
}

.spanwall_feature_sub_title{
	font-size: 18px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 0.9px;
	margin-top: 20px;
}

.spanwall_size01{
	max-width: 900px;
	margin-inline: auto;
}

.spanwall_size02{
	max-width: 885px;
	margin-inline: auto;
}

.spanwall_sub_detail_area .c_sub_detail{
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
}

/*
------------------------------------
不燃断熱材 > ネオマフォームF
------------------------------------
*/

.neomaform-f_size01{
	max-width: 937px;
	margin-inline: auto;
}

.neomaform-f_size02{
	max-width: 878px;
	margin-inline: auto;
}

/* 施工写真: 1枚のみのため1列中央寄せ */
.neomaform-f__photo_section .photo_list{
	grid-template-columns: 1fr;
	max-width: 312px;
	margin-inline: auto;
}

.neomaform-f_operation_label{
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
	text-align: center;
	margin-bottom: var(--c_block_space);
}

/*
------------------------------------
不燃断熱材 > フェノバボードウチコミフネンDF
------------------------------------
*/

.phenobaboard-df_size01{
	max-width: 670px;
	margin-inline: auto;
}

.phenobaboard-df_size02{
	max-width: 924px;
	margin-inline: auto;
}

/* 施工例: 1列表示 */
.phenobaboard-df_construction_example_section .example_list{
	grid-template-columns: 1fr;
}

.phenobaboard-df_construction_example_section .example_item + .example_item{
	margin-top: var(--c_contents_space);
}

/* サブ見出し「断熱材が最表面になる場合」 */
.phenobaboard-df_example_sub_head{
	margin-top: 20px;
	margin-bottom: 20px;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
}

/* 見出し下の余白（見出し直後に画像が来る2・3個目） */
.phenobaboard-df_example02_sub_head,
.phenobaboard-df_example03_sub_head{
	margin-bottom: var(--c_block_space);
}

/* 注釈テキスト上の余白 */
.phenobaboard-df_example_sub_detail{
	margin-top: 20px;
}

/* 画像個別サイズ */
.phenobaboard-df_example01{
	max-width: 590px;
	margin-inline: auto;
}

.phenobaboard-df_example02,
.phenobaboard-df_example03{
	max-width: 820px;
	margin-inline: auto;
}

/*
------------------------------------
不燃断熱材 > フェノバボードフネン
------------------------------------
*/

.phenobaboard-funen_size01{
	max-width: 690px;
	margin-inline: auto;
}

/*
------------------------------------
断熱材
------------------------------------
*/

.dannetu2_relation_list_section{

}

.dannetu2_relation_list_section .relation_text{
	min-height: auto;
}


/*
------------------------------------
断熱材 > スタイロフォーム
------------------------------------
*/

.styloform_feature_img{
	margin-top: var(--c_block_space);
	margin-bottom: var(--c_block_space);
}

.styloform_feature_sub_title{
	margin-top: var(--c_block_space);
	font-size: 16px;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 0.8px;
}

.styloform_feature_sub_text{
	margin-top: 20px;
}

.styloform_feature01 img,
.styloform_feature02 img,
.styloform_feature03 img,
.styloform_feature04 img,
.styloform_feature05 img{
	max-width: 748px;
}

/*
------------------------------------
断熱材 > スタイロフォームAT
------------------------------------
*/

/* 施工例: 1列表示（見出し無しの項目もあるため） */
.styloform-at_construction_example_section .example_list{
	grid-template-columns: 1fr;
}

.styloform-at_construction_example_section .example_item + .example_item{
	margin-top: var(--c_contents_space);
}

.styloform-at_construction_example_section .styloform-at_example_sub_detail{
	max-width: 700px;
	margin-inline: auto;
	text-align: left;
	margin-top: 20px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
	font-size: 16px;
}

.styloform-at_construction_example_section .styloform-at_example_sub_detail.center{
	text-align: center;
}

.styloform-at_example_sub_head{
	margin-top: var(--c_block_space);
}

.styloform-at_example01{
	max-width: 700px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
}

.styloform-at_example02{
	max-width: 700px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
}

/* サイズ・物性 */
.styloform-at_size01{
	max-width: 800px;
	margin-inline: auto;
}

.styloform-at_sub_detail_area{
	margin-top: var(--c_block_space);
}

.styloform-at_sub_detail_area .c_sub_detail{
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 30px;
}

.styloform-at_sub_detail_area .c_sub_detail:first-of-type{
	margin-top: 0;
}

.styloform-at_sub_detail_link{
	font-weight: 400;
	text-decoration: underline;
}

@media (any-hover: hover){
	.styloform-at_sub_detail_link:hover{
		opacity: var(--c_hover_opa);
	}
}

.styloform-at_size02{
	max-width: 1143px;
	margin-inline: auto;
}

.styloform-at_size02 .styloform-at_size02_sub_title{
	margin-top: var(--c_block_space);
	font-size: 18px;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 0.9px;
}

/*
------------------------------------
断熱材 > アキレスボードAG
------------------------------------
*/

/* 施工例: 画像1枚のみ、1列表示 */
.achillesborad-ag_construction_example_section .example_list{
	grid-template-columns: 1fr;
}

.achillesborad-ag_example01{
	max-width: 578px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
}

/* サイズ・物性 */
.achillesborad-ag_size01{
	max-width: 800px;
	margin-inline: auto;
}

/*
------------------------------------
断熱材 > アキレスボードPE
------------------------------------
*/

/* 施工例: 画像1枚のみ、1列表示 */
.achillesborad-pe_construction_example_section .example_list{
	grid-template-columns: 1fr;
}

.achillesborad-pe_example01{
	max-width: 878px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
}

/* サイズ・物性 */
.achillesborad-pe_size01{
	max-width: 800px;
	margin-inline: auto;
}

/*
------------------------------------
断熱材 > アキレス折返しボードノンフロン
------------------------------------
*/

/* 施工例: 画像1枚のみ、1列表示 */
.achillesborad-nonfron_construction_example_section .example_list{
	grid-template-columns: 1fr;
}

.achillesborad-nonfron_example01{
	max-width: 505px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
}

/* サイズ・物性 */
.achillesborad-nonfron_size01{
	max-width: 800px;
	margin-inline: auto;
}

/*
------------------------------------
断熱材 > ピットワーク
------------------------------------
*/

.pitwork_size_section .c_sub_detail{
	font-size: 14px;
	font-weight: 400;
	line-height: 30px;
}

.pitwork_size01{
	max-width: 718px;
	margin-inline: auto;
}

.pitwork_size02{
	max-width: 1108px;
	margin-inline: auto;
}

.pitwork_sub_head02 {
	margin-top: var(--c_block_space);
}

.pitwork_size03{
	max-width: 876px;
	margin-inline: auto;
}
.pitwork_size04{
	max-width: 600px;
	margin-inline: auto;
}

.pitwork_construction_photo_section .photo_list {
    gap: 20px calc(20 / 1000 * 100%);
}

.pitwork_construction_photo_section .photo_img {
    margin-bottom: 0;
}

/*
------------------------------------
断熱材 > ドマフォーム
------------------------------------
*/

.domaform_size_section .c_sub_detail{
	font-size: 14px;
	font-weight: 400;
	line-height: 30px;
}

.domaform_size01{
	max-width: 770px;
	margin-inline: auto;
}

.domaform_size01_2{
	margin-top: 15px;
}

/* 画像とテキストのサイズが違うため分けて指定 */
.domaform_size02{
	max-width: 930px;
	margin-inline: auto;
}

.domaform_size02_img{
	max-width: 770px;
	margin-inline: auto;
}

/*
------------------------------------
防振材
------------------------------------
*/

.bousin_relation_list_section{

}

.bousin_relation_list_section .relation_list{
	grid-template-columns: repeat(1, 1fr);
	max-width: 480px;
	margin-inline: auto;
}

.bousin_relation_list_section .relation_flex{
	align-items: center;
}
.bousin_relation_list_section .relation_text{
	min-height: auto;
}


/*
------------------------------------
防振材 > ミラブロック
------------------------------------
*/

.mirablock_use01{
	max-width: 943px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
}

/* 施工例: 1列表示（見出し無しの項目もあるため） */
.mirablock_construction_example_section .example_list{
	grid-template-columns: 1fr;
}

.mirablock_construction_example_section .example_item + .example_item{
	margin-top: var(--c_contents_space);
}

.mirablock_example01{
	margin-top: var(--c_block_space);
}

.mirablock_example_notice_box{
	margin-top: var(--c_block_space);
	border: 1px solid var(--base_black);
	padding: 30px 40px;
	max-width: 800px;
	margin-inline: auto;
}

.mirablock_example_notice_box .c_sub_detail{
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
	text-align: left;
}

.mirablock_example_notice_box .c_sub_detail:first-of-type{
	margin-top: 0;
}

.mirablock_example02{
	max-width: 710px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
}

.mirablock_size01{
	max-width: 937px;
	margin-inline: auto;
}

.mirablock_size02{
	max-width: 888px;
	margin-inline: auto;
}

.mirablock_photo_section .c_sub_head{
	margin-bottom: 15px;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
	text-align: center;
}

.mirablock_sub_detail_area .c_sub_detail{
	font-size: 14px;
	font-weight: 400;
	line-height: 30px;
}

/*
------------------------------------
フェノバボードウチコミD・DH
------------------------------------
*/

.phenobaboard-uchikomi_size_section .c_sub_detail{
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
	text-align: center;
}

.phenobaboard-uchikomi_construction_example_section .c_sub_detail{
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
}

.phenobaboard-uchikomi_example01{
	max-width: 617px;
	margin-inline: auto;
}

.phenobaboard-uchikomi_example01 .c_sub_detail {
	margin-top: 30px;
}

.phenobaboard-uchikomi_example02{
	max-width: 586px;
	margin-inline: auto;
}

.phenobaboard-uchikomi_example03 .c_sub_detail{
	font-size: 18px;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 0.9px;
	margin-top: var(--c_block_space);
}

/*
------------------------------------
ゼロフロン ER-X
------------------------------------
*/

.foam_product_guide_section .guide_flex{
    justify-content: center;
}

.foam_feature_section .feature_text_block{
	margin-top: var(--c_contents_space);
	max-width: 900px;
	margin-inline: auto;
}

.foam_feature_section .feature_text_block .feature_text{
	font-size: 18px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 3.6px;
}

.foam_feature_section .foam_feature01{
	max-width: 900px;
	margin-inline: auto;
}

.foam_feature_section .foam_feature02{
	max-width: 900px;
	margin-inline: auto;
}
.foam_feature_section .foam_feature03_04{
	max-width: 900px;
	margin-inline: auto;
	justify-content: center;
	gap: 0 60px;
	align-items: flex-start;
}

.foam_feature_section .foam_feature03_04 .c_flex_cols_item{
	width: calc((900px - 60px) / 2);
}

.foam_size_section .foam_size01{
	max-width: 900px;
	margin-inline: auto;
}

.foam_size_section .foam_sub_detail_area{
	margin-top: var(--c_block_space);
}

.foam_size_section .foam_sub_detail_area .c_sub_detail{
	font-size: 18px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 3.6px;
}

.foam_size_section .foam_sub_detail_area_small{
	margin-top: 20px;
}

.foam_size_section .foam_sub_detail_area_small .c_sub_detail{
	font-size: 12px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 2.4px;
}


/*
------------------------------------
ネダフォーム
------------------------------------
*/

.yuka_product_guide_section .guide_flex:nth-of-type(2),
.yuka_product_guide_section .guide_flex:nth-of-type(3){
	flex-direction: row-reverse;
}

.yuka_product_guide_section .guide_flex + .guide_flex{
	margin-top: var(--c_block_space);
}

.yuka_product_link_section .link_list{
	justify-content: space-between !important;
	gap: 30px 0 !important;
	flex-wrap: wrap;
}

.yuka_product_link_section .link_item{
	width: 31%;
	max-width: 250px;
}

.yuka_product_link_section .link_list::after{
	content: '';
	width: 31%;
	max-width: 250px;
}

.yuka_feature_section .yuka_feature01{
	max-width: 781px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
}

.yuka_feature_section .yuka_feature01 .c_sub_head{
	font-size: 18px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 3.6px;
}

.yuka_feature_section .feature02_flex{
	display: flex;
	justify-content: space-between;
	gap: calc(40 / 760 * 100%);
    max-width: 760px;
	margin-top: var(--c_block_space);
	margin-inline: auto;
}

.yuka_feature_section .feature02_left{
	flex-shrink: 0;
	width: calc(290 / 760 * 100%);
}

.yuka_feature_section .feature02_right{
	width: 100%;
	display: flex;
	align-items: flex-end;
}

.yuka_feature_section .feature02_text{
	font-size: 16px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 3.2px;
}

.yuka_feature_section .yuka_feature03,
.yuka_feature_section .yuka_feature04{
	max-width: 776px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
}

.yuka_feature_section .yuka_sub_detail_area{
	max-width: 776px;
	margin-inline: auto;
}

.yuka_feature_section .yuka_sub_detail_area .c_sub_detail{
	font-size: 14px;
	font-weight: 400;
	line-height: 30px;
}

.yuka_feature_section .yuka_feature05{
	max-width: 474px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
}

.yuka_feature_section .yuka_feature06 .c_sub_detail{
	text-align: center;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
}

.yuka_feature_section .yuka_feature06{
	max-width: 722px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
}

.yuka_size_section .yuka_sec_sub_head{
	font-size: 14px;
	font-weight: 400;
	line-height: 30px;
	margin-top: 20px;
	text-align: center;
}

.yuka_size_section .yuka_size01,
.yuka_size_section .yuka_size02,
.yuka_size_section .yuka_size03{
	max-width: 555px;
	margin-inline: auto;
}

.yuka_size_section .yuka_size01 .c_sub_detail01,
.yuka_size_section .yuka_size01 .c_sub_detail02{
	font-size: 18px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 0.9px;
	margin-top: 25px;
	text-align: center;
}

.yuka_size_section .yuka_size02 .c_sub_detail01,
.yuka_size_section .yuka_size02 .c_sub_detail02{
	font-size: 18px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 0.9px;
	margin-top: 25px;
	text-align: center;
}

.yuka_size_section .yuka_size03 .c_sub_detail01,
.yuka_size_section .yuka_size03 .c_sub_detail02{
	font-size: 18px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 0.9px;
	margin-top: 25px;
	text-align: center;
}

.yuka_size04_05_block{
	margin-top: var(--c_contents_space);
}

.yuka_size04_05_block .c_sub_detail01{
	font-size: 18px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 0.9px;
	text-align: center;
}

.yuka_size04_05{
	max-width: 710px;
	margin-inline: auto;
}

.yuka_size04_05{
	justify-content: space-between;
	align-items: flex-start;
	gap: 0 60px;
}

.yuka_size04_05 .c_flex_cols_item{
	width: 320px;
}

.yuka_size04_05 .yuka_size_label01{
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 0.9px;
}

.yuka_size04_05 .yuka_size_label02{
	text-align: center;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
}

.yuka_size04_05 .c_flex_cols_item .c_flex_cols_img{
	max-width: 100px;
	margin-inline: auto;
}

.yuka_construction_example_section .yuka_example01,
.yuka_construction_example_section .yuka_example02,
.yuka_construction_example_section .yuka_example03,
.yuka_construction_example_section .yuka_example04{
	max-width: 604px;
	margin-inline: auto;
	margin-top: 20px;
}

.yuka_construction_example_section .yuka_example01{
	margin-top: var(--c_contents_space);
}

.yuka_flow_section .yuka_flow01 .c_img_block_inner{
	max-width: 615px;
	margin-inline: auto;
}

.yuka_flow_section .yuka_flow01 .yuka_sub_detail_area{
	max-width: 860px;
	margin-inline: auto;
}

.yuka_flow_section .yuka_flow01 .yuka_sub_detail_area .c_sub_detail{
	font-size: 14px;
	font-weight: 400;
	line-height: 30px;
}

/*
------------------------------------
スタイロ畳
------------------------------------
*/

.tatami_feature_section .tatami_feature01 .c_img_block_inner,
.tatami_feature_section .tatami_feature02 .c_img_block_inner,
.tatami_feature_section .tatami_feature03 .c_img_block_inner{
	max-width: 424px;
	margin-inline: auto;
}

.tatami_feature_section .tatami_sub_detail_area{
	max-width: 700px;
	margin-inline: auto;
	margin-top: 25px;
}

.tatami_feature_section .tatami_sub_detail_area .c_sub_detail,
.tatami_feature_section .tatami_sub_detail_area .c_sub_detail01,
.tatami_feature_section .tatami_sub_detail_area .c_sub_detail02{
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
}

.tatami_feature_section .tatami_sub_detail_area .c_sub_detail02{
	margin-top: var(--c_block_space);
}

.tatami_feature04_05_area{
	margin-top: var(--c_contents_space);
}

.tatami_feature04_05{
	justify-content: center;
	gap: 0 40px;
}

.tatami_feature04_05 .c_flex_cols_item{
	width: 424px;
}

.tatami_size_section .tatami_size01{
	max-width: 800px;
	margin-inline: auto;
}

.tatami_size_section .tatami_size02 .tatami_sub_head_detail{
	margin-top: var(--c_block_space);
	font-size: 18px;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 0.9px;
}

.tatami_size_section .tatami_size02 .tatami_sub_detail_area .c_sub_detail{
	font-size: 14px;
	font-weight: 400;
	line-height: 30px;
}

.tatami_size_section .tatami_size03_04{
	gap: 0 50px;
	align-items: flex-start;
}

.tatami_size_section .tatami_size03_04 .c_flex_cols_item{
	width: calc((100% - 50px) / 2);
}

.tatami_size_section .tatami_size03_04 .c_sub_head,
.tatami_size_section .tatami_size03_04 .tatami_sub_head_detail{
	margin-top: var(--c_block_space);
}

.tatami_size_section .tatami_size03_04 .tatami_sub_head_detail{
	font-size: 14px;
	font-weight: 400;
	line-height: 30px;
}

/*
------------------------------------
スタイロタック
------------------------------------
*/

.dekki_size_section .dekki_size01{
	max-width: 730px;
	margin-inline: auto;
}

.dekki_size_section .dekki_size02{
	max-width: 805px;
	margin-inline: auto;
}

.dekki_flow_section .dekki_flow01{
	max-width: 410px;
	margin-inline: auto;
}

.dekki_construction_photo_section .c_sub_head{
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.8px;
}

.dekki_construction_photo_section .photo_group01 .c_sub_head{
	margin-top: var(--c_contents_space);
}

.dekki_construction_photo_section .photo_group01 .photo_list{
	grid-template-columns: repeat(1, 300px);
}

.dekki_construction_photo_section .photo_list{
	margin-top: 15px;
}

/*
------------------------------------
フレイムワークMZ
------------------------------------
*/

.naisou_size_section .c_sub_detail{
	font-size: 14px;
	font-weight: 400;
	line-height: 30px; /* 214.286% */
}

.naisou_size_section .naisou_sub_head_detail{
	font-size: 18px;
	font-weight: 500;
	line-height: 30px; /* 166.667% */
	letter-spacing: 0.9px;
	text-align: center;
}

.naisou_size_section .naisou_size01,
.naisou_size_section .naisou_size02,
.naisou_size_section .naisou_size03{
	max-width: 940px;
	margin-inline: auto;
}

.naisou_size_section .naisou_size02{
	margin-top: var(--c_block_space);
}

/* size01は高さ低いので縦スクロールバー抑制 */
.naisou_size_section .naisou_size02 .c_img_block_inner{
	overflow-y: hidden !important;
}

.naisou_size_section .naisou_size04{
	max-width: 700px;
	margin-inline: auto;
}

.naisou_size_section .naisou_size05{
	max-width: 730px;
	margin-inline: auto;
}

.naisou_size04_sub_head_detail{
	margin-top: 25px;
}

.naisou_size06_07_08{
	max-width: 900px;
	margin-inline: auto;
	margin-top: var(--c_block_space);
	display: flex;
	justify-content: space-between;
	gap: 0 20px;
}

.naisou_size06_07_08_left,
.naisou_size06_07_08_middle,
.naisou_size06_07_08_right{
	width: calc((100% - 40px) / 3);
}

.naisou_size_section .naisou_size09,
.naisou_size_section .naisou_size10{
	max-width: 876px;
	margin-inline: auto;
}

.naisou_size_head_detail_area{
	margin-top: var(--c_contents_space);
}

.naisou_size_head_detail_area .naisou_sub_head_detail{
	text-align: center;
	font-size: 14px;
	font-weight: 500;
	line-height: 30px; /* 214.286% */
	margin-top: var(--c_block_space);
}

.naisou_size_section .naisou_size11,
.naisou_size_section .naisou_size12{
	max-width: 650px;
	margin-inline: auto;
}

.naisou_size_section .naisou_size11 .naisou_sub_head_detail,
.naisou_size_section .naisou_size12 .naisou_sub_head_detail{
	text-align: center;
	font-size: 14px;
	font-weight: 400;
	line-height: 30px; /* 214.286% */
	margin-top: var(--c_block_space);
}

.naisou_size_section .naisou_size13{
	max-width: 800px;
	margin-inline: auto;
}

.naisou_size_section .naisou_size13 .c_sub_head{
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 30px; /* 157.895% */
}

.naisou_size_section .naisou_size14{
	max-width: 870px;
	margin-inline: auto;
}

.naisou_size_section .naisou_size14 .naisou_sub_head_detail{
	font-size: 14px;
	font-weight: 500;
	line-height: 30px; /* 214.286% */
	margin-top: var(--c_block_space);
}

.naisou_flow_section .naisou_flow01,
.naisou_flow_section .naisou_flow02,
.naisou_flow_section .naisou_flow03{
	max-width: 885px;
	margin-inline: auto;
}

.naisou_flow_section .naisou_flow04 .c_img_block_inner{
	max-width: 600px;
	margin-inline: auto;
}

.naisou_flow_section .naisou_flow04 .naisou_sub_detail_area{
	max-width: 645px;
	margin-inline: auto;
}

.naisou_flow_section .naisou_flow04 .c_sub_detail{
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 30px; /* 157.895% */
}

/*
------------------------------------
シェルボード
------------------------------------
*/

.shellboard_feature_text_area{
	margin-top: var(--c_contents_space);
	max-width: 700px;
	margin-inline: auto;
}

.shellboard_feature_text_area .shellboard_feature_text{
	font-size: 18px;
	font-weight: 700;
	line-height: 30px; /* 166.667% */
	letter-spacing: 0.9px;
}

.shellboard_feature_text_area .shellboard_feature_text + .shellboard_feature_text{
	margin-top: 30px;
}

.shellboard_size01_area{
	margin-top: var(--c_contents_space);
}

.shellboard_size01_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: calc(60 / 1000 * 100%);
}

.shellboard_size01_left{
	flex-shrink: 0;
	width: calc(500 / 1000 * 100%);
}

.shellboard_size01_right{
	width: 100%;
	display: flex;
	align-items: flex-end;
}

.shellboard_size01_head{
	font-size: 20px;
	font-weight: 700;
}

.shellboard_size01_text{
	margin-top: 44px;
	line-height: 1.875;
	letter-spacing: 0.05em;
}

.shellboard_method_area{
	margin-top: var(--c_contents_space);
}

.shellboard_method_flex{
	display: flex;
	justify-content: center;
	gap: 0 80px;
}

.shellboard_method_item .shellboard_method_title{
	font-size: 18px;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 0.9px;
	text-align: center;
}

.shellboard_method_item .shellboard_method_text{
	font-size: 18px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.9px;
	text-align: center;
	margin-top: 8px;
}

.shellboard_size_section .shellboard_size02{
	max-width: 700px;
	margin-inline: auto;
}

/* 高さの低い画像のため縦スクロールバーが出る → 抑制 */
.shellboard_size_section .shellboard_size02 .c_img_block_inner{
	overflow-y: hidden !important;
}

.shellboard_size_section .shellboard_size03{
	max-width: 570px;
	margin-inline: auto;
}

.shellboard_size_section .shellboard_size04{
	max-width: 700px;
	margin-inline: auto;
}



/*
------------------------------------
FAQ
------------------------------------
*/

.faq_list_section{

}

.faq_list_section .sec_head{
	font-size: 32px;
	text-align: center;
	font-weight: 700;
}

.faq_list_section .guide_text{
	margin-top: 24px;
	width: fit-content;
	margin-inline: auto;
	font-size: 14px;
	font-weight: 700;
}

.faq_list_section .faq_list{
	max-width: 700px;
	margin-inline: auto;
	margin-top: 64px;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap:32px;
}

.faq_list_section .faq_question{
	cursor: pointer;
	position: relative;
	padding-left: 40px;
	padding-right: 32px;
	
}

.faq_list_section .faq_question::before{
	content:'Q';
	font-size: 24px;
	font-weight: 700;
	color:var(--base_green);
	position: absolute;
	left:0;
	top:-6px;
}

.faq_list_section .faq_question::after{
	content:'';
	display: block;
	width:16px;
	aspect-ratio: 1 / calc(9 / 16);
	background-image: url('../img/common/icon_faq_angle.svg');
	position: absolute;
	right:0;
	top:10px;
}

.faq_list_section .faq_question.active::after{
	transform: rotateZ(180deg);
}

.faq_list_section .faq_question_text{
	padding-bottom: 6px;
	border-bottom:2px solid var(--base_green);
	font-size: 16px;
	font-weight: 700;
	padding-inline: 8px;
}

.faq_list_section .faq_answer{
	padding-top: 24px;
	padding-left: 40px;
	padding-right: 32px;
	display: none;
}

.faq_list_section .faq_answer_text{
	padding-left: 40px;
	position: relative;
	line-height: 1.75;
}

.faq_list_section .faq_answer_text::before{
	content:'A';
	font-size: 24px;
	font-weight: 700;
	color:var(--base_green);
	position: absolute;
	left:0;
	top:-6px;
}

.faq_list_section .faq_answer_text a{
	border-bottom:1px solid;
}


/*
------------------------------------
素材から探す / 工法・用途から探す
------------------------------------
*/


.material_page_title_section .page_title{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:40px;
}

.material_page_title_section .page_title::before{
	content:'';
	width:100px;
	aspect-ratio: 1 / calc(94 / 100);
	flex-shrink: 0;
	background-image: url('../img/material/icon_title.svg');
}


.method_page_title_section .page_title{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:40px;
}

.method_page_title_section .page_title::before{
	content:'';
	width:100px;
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
	background-image: url('../img/method/icon_title.svg');
}


.method_list_section{

}

.method_list_section .method_list{
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap:100px;
}

.method_list_section .method_line{
	display: flex;
	justify-content: space-between;

}

.method_list_section .method_border{
	flex-shrink: 0;
	width:1px;
	min-height: 350px;
	background-color: #64D24E;
}

.method_list_section .method_left,
.method_list_section .method_right{
	width:48%;
	max-width: 420px;
	display: flex;
	align-items: center;
}

.method_list_section .method_thumb{
	width:100%;
	aspect-ratio: 1 / calc(250 / 400);
}

.method_list_section .method_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.method_list_section .method_contents{
	width:100%;
}

.method_list_section .method_title{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
}

.method_list_section .method_title01{
	font-size: 16px;
}

.method_list_section .method_title02{
	font-size: 20px;
}

.method_list_section .method_title01 + .method_title02{
	margin-top: 10px;
}

.method_list_section .method_text{
	margin-top: 20px;
	line-height: 1.875;
	letter-spacing: 0.05em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}


.method_list_section .method_button{
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 36px;
	min-width:166px;
	width: fit-content;
	border-radius: 9999px;
	padding:8px 24px;
	transition-duration: var(--c_duration);
	background-color: var(--base_navy);
	color:#fff;
	font-size: 14px;
	font-weight: 700;
	gap:8px;
	border:1px solid var(--base_navy);
	
}

.method_list_section .method_button::after{
	content:'';
	width:7px;
	aspect-ratio: 1 / calc(13 / 7);
	flex-shrink: 0;
	background-image: url('../img/common/icon_angle_right_white.svg');
	transition-duration: var(--c_duration);
}

@media (any-hover: hover) {
	.method_list_section .method_button:hover{
		background-color: #fff;
		color:var(--base_navy)
	}
	.method_list_section .method_button:hover::after{
		background-image: url('../img/common/icon_angle_right_navy.svg');
	}
}

.method_list_section .page_nation{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap:24px 32px;
	margin-top: 88px;
}

.method_list_section .page_nation .numbers.current{
	pointer-events: none;
	background-color: #CBFBBC;
}

.method_list_section .page_nation .numbers{
	width:40px;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #64D24E;
	color:#fff;
	color: #FFF;
	font-size: 14px;
	font-weight: 700;
}

.method_list_section .page_nation .arrow{
	width:16px;
	aspect-ratio: 1 / 1;
	background-color: #64D24E;
}
.method_list_section .page_nation .arrow.vanish{
	opacity: 0;
	pointer-events: none;
}

.method_list_section .page_nation .arrow.prev{
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.method_list_section .page_nation .arrow.next{
	clip-path: polygon(0 0, 0 100%, 100% 50%);
}
/*
------------------------------------
建物の部位から探す
------------------------------------
*/
 



.illust_page_title_section{

}

.illust_page_title_section .page_title{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:40px;
}

.illust_page_title_section .page_title::before{
	content:'';
	width:100px;
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
	background-image: url('../img/illust/icon_title.svg');
}

.illust_section{

}

.illust_section .illust_area{

}

.illust_section .illust_frame{
	position: relative;
}

.illust_section .illust_frame .illust_pic{
	aspect-ratio: 1 / calc(679 / 997);
}

.illust_section .build{
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
}

.illust_section .parts{
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
	opacity: 0;
	pointer-events: none;
}

.illust_section .parts.show{
	opacity: 1;
}

.illust_section .check_area{
	margin-top: 80px;
}

.illust_section .check_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:40px 0;
}

.illust_section .check_item{
	padding-inline: 10px;
	display: flex;
	align-items: flex-start;
	gap:20px;
}


.illust_section .parts_check{
	flex-shrink: 0;
	width:36px;
	cursor: pointer;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border:1px solid #000;
	position: relative;
}

.illust_section .parts_check::before{
	content:'';
	width:calc(34 / 36 * 100%);
	aspect-ratio: 1 / calc(26 / 34);
	background-image: url('../img/common/icon_check_green.svg');
	position: absolute;
	left:calc(8 / 36 * 100%);
	bottom:calc(12 / 36 * 100%);
	opacity: 0;
	pointer-events: none;
}

.illust_section .parts_check.active::before{
	opacity: 1;
	pointer-events: auto;
}

.illust_section .parts_link{
	min-height: 36px;
	display: flex;
	align-items: center;
	line-height: 1.2;
	transition-duration: var(--c_duration);
	gap:4px;
}

.illust_section .parts_link[target="_blank"]::after{
	content:'';
	background-image: url('../img/common/icon_link_black.svg');
	width:16px;
	aspect-ratio: 1 / 1;
}



@media (any-hover: hover) {
	.illust_section .parts_link:hover{
		opacity: var(--c_hover_opa);
	}
}