@charset "UTF-8";

/* --------------------------------------------
feature
--------------------------------------------- */
#feature01{
	color : var( --title );
}
#feature01 .splide__slide{
	font-size : 2rem;
	font-weight : 700;
	line-height : 1.2;
	text-align : center;
}
#feature01 .splide__slide::before{
	display : block;
	margin-inline : auto;
	font-size : 0;
	content : "";
	background-repeat : no-repeat;
}
#feature01 .slide01::before{
	background-image : url( "../images/ui/icon/icon0101.svg" );
}
#feature01 .slide02::before{
	background-image : url( "../images/ui/icon/icon0102.svg" );
}
#feature01 .slide03::before{
	background-image : url( "../images/ui/icon/icon0103_sp.svg" );
}
#feature01 .slide04::before{
	background-image : url( "../images/ui/icon/icon0104.svg" );
}
#feature01 .slide05::before{
	background-image : url( "../images/ui/icon/icon0105.svg" );
}
#feature01 .slide06::before{
	background-image : url( "../images/ui/icon/icon0106.svg" );
}
#feature01 .slide07::before{
	background-image : url( "../images/ui/icon/icon0107.svg" );
}
#feature01 .slide08::before{
	background-image : url( "../images/ui/icon/icon0108.svg" );
}
@media screen and ( width <= 750px ){
	#feature01 .catch01{
		margin-top : calc( 28 var( --remBase ) );
	}
	#feature01 #slider02{
		margin-top : calc( 44 var( --remBase ) );
	}
	#feature01 .splide__slide::before{
		height : calc( 143.71 var( --remBase ) );
		margin-bottom : calc( 12.05 var( --remBase ) );
		background-position : center;
	}
	#feature01 .slide01{
		width : calc( ( 137.19 + 20 ) var( --remBase ) );
	}
	#feature01 .slide01::before{
		background-size : auto calc( 117.67 var( --remBase ) );
	}
	#feature01 .slide02{
		width : calc( ( 102.79 + 20 ) var( --remBase ) );
	}
	#feature01 .slide02::before{
		background-size : auto calc( 122.81 var( --remBase ) );
	}
	#feature01 .slide03{
		width : calc( ( 148.01 + 20 ) var( --remBase ) );
	}
	#feature01 .slide03::before{
		background-image : url( "../images/ui/icon/icon0103_sp.svg" );
		background-size : auto calc( 101.42 var( --remBase ) );
	}
	#feature01 .slide04{
		width : calc( ( 120.6 + 20 ) var( --remBase ) );
	}
	#feature01 .slide04::before{
		background-size : auto calc( 124.6 var( --remBase ) );
	}
	#feature01 .slide05{
		width : calc( ( 149.09 + 20 ) var( --remBase ) );
	}
	#feature01 .slide05::before{
		background-size : auto calc( 140.81 var( --remBase ) );
	}
	#feature01 .slide06{
		width : calc( ( 138.95 + 20 ) var( --remBase ) );
	}
	#feature01 .slide06::before{
		background-size : auto calc( 137.69 var( --remBase ) );
	}
	#feature01 .slide07{
		width : calc( ( 144.98 + 20 ) var( --remBase ) );
	}
	#feature01 .slide07::before{
		background-size : auto calc( 103.72 var( --remBase ) );
	}
	#feature01 .slide08{
		width : calc( ( 165.23 + 20 ) var( --remBase ) );
	}
	#feature01 .slide08::before{
		background-size : auto calc( 161.6 var( --remBase ) );
	}
}
@media print , screen and ( width > 750px ){
	#feature01{
		position : relative;
		padding-bottom : calc( 62 var( --remBase ) );
		overflow-x : clip;
	}
	#feature01::before{
		position : absolute;
		top : calc( 16 var( --remBase ) );
		left : 0;
		z-index : -1;
		width : 100%;
		height : calc( 100% - ( 16 var( --remBase ) ) );
		font-size : 0;
		content : "";
		background-color : #d9d9d9;
	}
	#feature01 .catch01{
		margin-top : calc( 40 var( --remBase ) );
	}
	#feature01 #slider02{
		margin-top : calc( 23 var( --remBase ) );
	}
	#feature01 .splide__list{
		display : grid;
		grid-template-columns : calc( 137.19 var( --percentBase ) ) calc( 102.79 var( --percentBase ) ) calc( 148.01 var( --percentBase ) ) calc( 120.6 var( --percentBase ) ) calc( 149.09 var( --percentBase ) ) calc( 138.95 var( --percentBase ) ) calc( 144.98 var( --percentBase ) ) calc( 165.23 var( --percentBase ) );
		align-items : start;
		justify-content : space-between;
	}
	#feature01 .splide__slide{
		font-size : 2rem;
	}
	#feature01 .splide__slide::before{
		height : calc( 161.95 var( --remBase ) );
		margin-bottom : calc( 12.05 var( --remBase ) );
		background-position : center bottom;
	}
	#feature01 .slide01::before{
		background-size : auto calc( 117.67 var( --remBase ) );
	}
	#feature01 .slide02::before{
		background-size : auto calc( 122.81 var( --remBase ) );
	}
	#feature01 .slide03::before{
		background-size : auto calc( 101.42 var( --remBase ) );
	}
	#feature01 .slide04::before{
		background-size : auto calc( 124.6 var( --remBase ) );
	}
	#feature01 .slide05::before{
		background-size : auto calc( 140.81 var( --remBase ) );
	}
	#feature01 .slide06::before{
		background-size : auto calc( 137.69 var( --remBase ) );
	}
	#feature01 .slide07::before{
		background-size : auto calc( 103.72 var( --remBase ) );
	}
	#feature01 .slide08::before{
		background-size : auto calc( 161.95 var( --remBase ) );
	}
}
#feature02{
	margin-top : calc( 80 var( --remBase ) );
}
#feature02 > ul h4{
	font-size : 1.6rem;
	font-weight : 400;
	line-height : 1.7;
	background-repeat : no-repeat;
	background-position : 0 0;
	background-size : contain;
}
#feature02 > ul li li:nth-child( 1 ){
	position : relative;
	z-index : 1;
}
#feature02 > ul li li:nth-child( 1 ) picture{
	width : 100%;
	height : 100%;
	box-shadow : calc( 4 var( --remBase ) ) calc( 4 var( --remBase ) ) 0 black;
}
#feature02 > ul li li:nth-child( 1 ) picture img{
	width : 100%;
	height : 100%;
	object-fit : cover;
	object-position : center;
}
#feature02 h4{
	color : black;
}
#feature02 h5{
	font-weight : 700;
	background-repeat : no-repeat;
	background-position : 0 0;
	background-size : contain;
}
#feature02 #slider03 .splide__slide{
	width : 100%;
	height : 100%;
}
#feature02 #slider03 .splide__slide img{
	width : 100%;
	height : 100%;
	object-fit : cover;
	object-position : center;
}
@media screen and ( width <= 750px ){
	#feature02 .catch01{
		margin-top : calc( 14 var( --remBase ) );
	}
	#feature02 > ul{
		margin-top : calc( 14 var( --remBase ) );
	}
	#feature02 > ul > li + li{
		margin-top : calc( 40 var( --remBase ) );
	}
	#feature02 > ul h4{
		width : calc( 350.45 var( --viewportBase ) );
		height : calc( 137.29 var( --remBase ) );
		padding-top : calc( 48 var( --remBase ) );
		padding-left : calc( 25 var( --viewportBase ) );
		padding-right : calc( 14.45 var( --viewportBase ) );
		margin-left : calc( 25 var( --viewportBase ) );
		background-image : url( "../images/features/feature02/bg_comment_sp.svg" );
	}
	#feature02 > ul ol{
		position : relative;
		display : grid;
	}
	#feature02 > ul ol::before{
		position : absolute;
		display : block;
		width : auto;
		width : calc( 75.9 var( --viewportBase ) );
		height : calc( 56.24 var( --remBase ) );
		font-size : 0;
		content : "";
		background-image : url( "../images/features/feature02/arrow.svg" );
		background-repeat : no-repeat;
		background-position : left center;
		background-size : contain;
	}
	#feature02 > ul ol li:nth-child( 1 ){
		grid-row : 1/3;
		grid-column :  ;
		grid-column : 1/3;
	}
	#feature02 > ul ol li:nth-child( 2 ){
		grid-row : 2/-1;
		grid-column : 2/-1;
	}
	#feature02 > ul > li:nth-child( 1 ) ol{
		grid-template-rows : calc( 106 var( --remBase ) ) calc( 30.61 var( --remBase ) ) auto;
		grid-template-columns : calc( 17 * 100% / 353 ) calc( 153 * 100% / 353 ) 1fr;
		padding-left : calc( 17 var( --viewportBase ) );
		padding-right : calc( 30 var( --viewportBase ) );
		margin-top : calc( -24.86 var( --remBase ) );
	}
	#feature02 > ul > li:nth-child( 1 ) ol::before{
		top : calc( 61.42 var( --remBase ) );
		left : calc( 201.33 var( --viewportBase ) );
	}
	#feature02 > ul > li:nth-child( 1 ) li:nth-child( 2 ) img{
		height : calc( 215.36 var( --remBase ) );
	}
	#feature02 > ul > li:nth-child( 2 ) ol{
		grid-template-rows : calc( 102 var( --remBase ) ) calc( 34.61 var( --remBase ) ) auto;
		grid-template-columns : calc( 16 * 100% / 352 ) calc( 154 * 100% / 352 ) 1fr;
		padding-left : calc( 19 var( --viewportBase ) );
		padding-right : calc( 29 var( --viewportBase ) );
		margin-top : calc( -18.29 var( --remBase ) );
	}
	#feature02 > ul > li:nth-child( 2 ) ol::before{
		top : calc( 38.42 var( --remBase ) );
		left : calc( 199.33 var( --viewportBase ) );
	}
	#feature02 > ul > li:nth-child( 2 ) li:nth-child( 2 ) img{
		height : calc( 336 var( --remBase ) );
	}
	#feature02 #slider03{
		margin-top : calc( 40 var( --remBase ) );
	}
	#feature02 #slider03 h5{
		position : relative;
		z-index : 1;
		width : calc( 345.85 var( --viewportBase ) );
		height : calc( 126.21 var( --remBase ) );
		padding-top : calc( 23 var( --remBase ) );
		padding-left : calc( 31 var( --viewportBase ) );
		padding-right : calc( 21.85 var( --viewportBase ) );
		margin-left : calc( 27 var( --viewportBase ) );
		font-size : 2rem;
		line-height : 1.3;
		background-image : url( "../images/features/feature02/bg_comment_sp.svg" );
	}
	#feature02 #slider03 .splide__track{
		margin-top : calc( -7.21 var( --remBase ) );
	}
	#feature02 .link02{
		margin-top : calc( 40 var( --remBase ) );
	}
}
@media print , screen and ( width > 750px ){
	#feature02 .catch01{
		margin-top : calc( 40 var( --remBase ) );
	}
	#feature02 > ul{
		display : grid;
		grid-template-columns : repeat( 2 , calc( 680 var( --percentBase ) ) );
		align-items : start;
		justify-content : space-between;
		margin-top : calc( 24 var( --remBase ) );
	}
	#feature02 > ul > li{
		position : relative;
	}
	#feature02 > ul h4{
		position : absolute;
		z-index : 2;
	}
	#feature02 > ul ol{
		display : grid;
	}
	#feature02 > ul li li:nth-child( 1 ){
		grid-row : 1/3;
		grid-column : 1;
	}
	#feature02 > ul li li:nth-child( 2 ){
		grid-row : 2/-1;
		grid-column : 1/-1;
		align-self : end;
		justify-self : end;
	}
	#feature02 > ul > li:nth-child( 1 ) h4{
		top : calc( 11 var( --remBase ) );
		left : calc( 239.94 * 100% / 680 );
		width : calc( 321.85 * 100% / 680 );
		height : calc( 126.21 var( --remBase ) );
		padding-top : calc( 28 var( --remBase ) );
		padding-left : calc( 24 * 100% / 680 );
		padding-right : calc( 22.85 * 100% / 680 );
		background-image : url( "../images/features/feature02/bg_comment01_pc.svg" );
	}
	#feature02 > ul > li:nth-child( 1 ) ol{
		grid-template-rows : calc( 62 var( --remBase ) ) calc( 118 var( --remBase ) ) 1fr;
		grid-template-columns : calc( 224 * 100% / 680 ) 1fr;
	}
	#feature02 > ul > li:nth-child( 1 ) li:nth-child( 2 ) picture img{
		height : calc( 363 var( --remBase ) );
	}
	#feature02 > ul > li:nth-child( 2 ) h4{
		top : calc( 188 var( --remBase ) );
		left : 0;
		width : calc( 281.85 * 100% / 680 );
		height : calc( 126.21 var( --remBase ) );
		padding-top : calc( 30 var( --remBase ) );
		padding-left : calc( 33 * 100% / 680 );
		padding-right : calc( 21.85 * 100% / 680 );
		background-image : url( "../images/features/feature02/bg_comment02_pc.svg" );
	}
	#feature02 > ul > li:nth-child( 2 ) ol{
		grid-template-rows : calc( 20 var( --remBase ) ) calc( 176 var( --remBase ) ) 1fr;
		grid-template-columns : calc( 243.91 * 100% / 680 ) 1fr;
	}
	#feature02 > ul > li:nth-child( 2 ) li:nth-child( 2 ) picture img{
		height : calc( 405.28 var( --remBase ) );
	}
	#feature02 #slider03{
		position : relative;
		margin-top : calc( 40 var( --remBase ) );
	}
	#feature02 #slider03 h5{
		position : absolute;
		top : calc( 31 var( --remBase ) );
		left : calc( 35 var( --percentBase ) );
		z-index : 1;
		width : calc( 414.41 var( --percentBase ) );
		height : calc( 151.63 var( --remBase ) );
		padding-top : calc( 46 var( --remBase ) );
		padding-left : calc( 32 var( --percentBase ) );
		padding-right : calc( 17.41 var( --percentBase ) );
		font-size : 2.4rem;
		line-height : 1.3;
		background-image : url( "../images/features/feature02/bg_comment03_pc.svg" );
	}
	#feature02 #slider03 .splide__list{
		display : grid;
		grid-auto-rows : calc( 200 var( --remBase ) );
		grid-auto-columns : calc( 200 var( --percentBase ) );
		grid-auto-flow : column;
		column-gap : calc( 16 var( --percentBase ) );
		align-items : start;
		justify-content : end;
	}
	#feature02 .link02{
		margin-top : calc( 24 var( --remBase ) );
	}
}
#feature03{
	position : relative;
	color : var( --title );
}
#feature03::before{
	position : absolute;
	left : 0;
	z-index : -1;
	display : block;
	width : 100%;
	font-size : 0;
	content : "";
	background-color : var( --yellow );
}
#feature03 > p{
	font-size : 2.4rem;
	font-weight : 700;
	line-height : 1.7;
	text-align : center;
}
#feature03 li{
	text-align : center;
}
#feature03 li::before{
	display : block;
	width : 100%;
	height : auto;
	aspect-ratio : 1;
	margin-bottom : calc( 8 var( --remBase ) );
	font-size : 0;
	content : "";
	background-repeat : no-repeat;
	background-position : center;
	background-size : contain;
}
#feature03 li:nth-child( 1 )::before{
	background-image : url( "../images/features/feature03/icon01.svg" );
}
#feature03 li:nth-child( 2 )::before{
	background-image : url( "../images/features/feature03/icon02.svg" );
}
#feature03 li:nth-child( 3 )::before{
	background-image : url( "../images/features/feature03/icon03.svg" );
}
@media screen and ( width <= 750px ){
	#feature03{
		padding-bottom : calc( 100 var( --remBase ) );
		margin-top : calc( 80 var( --remBase ) );
	}
	#feature03::before{
		top : calc( 25 var( --remBase ) );
		height : calc( 100% - 25 var( --remBase ) );
	}
	#feature03 .hgroup01 p{
		border-image-source : linear-gradient( #d9d9d9 , #d9d9d9 );
	}
	#feature03 > p{
		margin-top : calc( 30 var( --remBase ) );
	}
	#feature03 ul{
		margin-top : calc( 24 var( --remBase ) );
	}
	#feature03 li + li{
		margin-top : calc( 40 var( --remBase ) );
	}
	#feature03 li{
		width : calc( 280 var( --percentBase ) );
		margin-inline : auto;
		font-size : 2.4rem;
		font-weight : 700;
		line-height : 1.7;
	}
}
@media print , screen and ( width > 750px ){
	#feature03{
		padding-bottom : calc( 100 var( --remBase ) );
		margin-top : calc( 129 var( --remBase ) );
	}
	#feature03::before{
		top : calc( 31 var( --remBase ) );
		height : calc( 100% - ( 31 var( --remBase ) ) );
	}
	#feature03 .hgroup01 p{
		color : white;
		background-color : black;
	}
	#feature03 .hgroup01 h3{
		color : var( --title );
		background-color : #d9d9d9;
	}
	#feature03 > p{
		margin-top : calc( 40 var( --remBase ) );
	}
	#feature03 ul{
		display : grid;
		grid-template-columns : repeat( 3 , calc( 280 var( --percentBase ) ) );
		column-gap : calc( 80 var( --percentBase ) );
		justify-content : center;
		margin-top : calc( 40 var( --remBase ) );
	}
	#feature03 li{
		font-size : 1.2rem;
		font-size : 3.2rem;
		font-weight : 900;
	}
}
@media screen and ( width <= 750px ){
	#feature04{
		margin-top : calc( -25 var( --remBase ) );
	}
	#feature04 .hgroup01 p{
		border-image-source : linear-gradient( #d9d9d9 , #d9d9d9 );
	}
	#feature04 .box{
		margin-top : calc( 28 var( --remBase ) );
		color : var( --title );
	}
	#feature04 .box hgroup{
		margin-top : calc( 36 var( --remBase ) );
		font-weight : 900;
	}
	#feature04 .box hgroup p{
		font-size : 2rem;
		line-height : 1.5;
	}
	#feature04 .box hgroup h4{
		margin-top : calc( 8 var( --remBase ) );
		font-size : 3.6rem;
		line-height : 1.3;
	}
	#feature04 .box > p{
		margin-top : calc( 16 var( --remBase ) );
		font-size : 1.6rem;
		line-height : 2;
	}
}
@media print , screen and ( width > 750px ){
	#feature04{
		margin-top : calc( 80 var( --remBase ) );
	}
	#feature04 .box{
		display : grid;
		grid-template-rows : 1fr auto calc( 24 var( --remBase ) ) auto 1fr;
		grid-template-columns : calc( 560 var( --percentBase ) ) 1fr;
		column-gap : calc( 35 var( --percentBase ) );
		margin-top : calc( 40 var( --remBase ) );
	}
	#feature04 picture{
		grid-row : 1/-1;
		grid-column : 1;
	}
	#feature04 .box hgroup{
		grid-row : 2;
		grid-column : 2;
		font-size : 4rem;
		font-weight : 700;
		line-height : 1.3;
	}
	#feature04 .box > p{
		grid-row : 4;
		grid-column : 2;
		font-size : 1.6rem;
		line-height : 1.7;
	}
}
#feature05::after{
	display : block;
	font-size : 0;
	content : "";
	background : url( "../images/features/feature05/bg.webp" ) center / contain no-repeat;
	background-position : center;
	background-size : cover;
}
#feature05 h4 a{
	display : block;
}
#feature05 li hgroup p{
	display : grid;
	grid-auto-flow : column;
	align-items : center;
	font-weight : 400;
	color : black;
}
#feature05 li hgroup h5{
	font-size : 0;
}
#feature05 li a{
	display : grid;
	grid-template-columns : auto auto;
	align-items : baseline;
	justify-content : end;
	width : fit-content;
	font-family : Afacad , sans-serif;
	font-weight : 700;
	color : var( --title );
}
#feature05 .splide{
	padding-top : calc( 16 var( --remBase ) );
	border-image-source : linear-gradient( var( --yellow ) , var( --yellow ) );
	border-image-slice : 0 fill;
	border-image-outset : 0 100vw 0 100vw;
}
#feature05 .splide__slide{
	display : grid;
	grid-template-rows : calc( 40 var( --remBase ) ) calc( 24 var( --remBase ) ) 1fr;
	grid-template-columns : calc( 20 * 100% / 200 ) 1fr calc( 20 * 100% / 200 );
}
#feature05 .splide__slide span{
	display : grid;
	grid-row : 1/3;
	grid-column : 1/-1;
	place-items : center;
	font-size : 2rem;
	font-weight : 700;
	line-height : 1.2;
	text-align : center;
}
#feature05 .splide__slide::after{
	grid-row : 2/-1;
	grid-column : 2;
	content : "";
	background-repeat : no-repeat;
	background-position : center;
	background-size : contain;
}
#feature05 .slide01::after{
	background-image : url( "../images/features/feature05/icon01.svg" );
}
#feature05 .slide02::after{
	background-image : url( "../images/features/feature05/icon02.svg" );
}
#feature05 .slide03::after{
	background-image : url( "../images/features/feature05/icon03.svg" );
}
#feature05 .slide04::after{
	background-image : url( "../images/features/feature05/icon04.svg" );
}
#feature05 .slide05::after{
	background-image : url( "../images/features/feature05/icon05.svg" );
}
#feature05 .slide06::after{
	background-image : url( "../images/features/feature05/icon06.svg" );
}
#feature05 .slide07::after{
	background-image : url( "../images/features/feature05/icon07.svg" );
}
@media screen and ( width <= 750px ){
	#feature05{
		grid-template-rows : auto calc( 18.6 var( --remBase ) ) calc( 200 var( --remBase ) ) calc( 24 var( --remBase ) ) auto calc( 16 var( --remBase ) ) auto calc( 40 var( --remBase ) ) auto calc( 24 var( --remBase ) ) auto calc( 44 var( --remBase ) ) auto;
		padding-bottom : calc( 80 var( --remBase ) );
		margin-top : calc( 49.6 var( --remBase ) );
	}
	#feature05::after{
		grid-row : 3;
		grid-column : 1/-1;
	}
	#feature05 .hgroup01{
		grid-row : 1;
		grid-column : 2;
	}
	#feature05 h4{
		grid-row : 5;
		grid-column : 2;
	}
	#feature05 h4 img{
		height : calc( 56.6 var( --remBase ) );
	}
	#feature05 > p{
		grid-row : 7;
		grid-column : 2;
	}
	#feature05 > p img{
		display : block;
		height : calc( 124 var( --remBase ) );
		margin-inline : auto;
	}
	#feature05 > p span{
		display : block;
		margin-top : calc( 16 var( --remBase ) );
		font-size : 1.6rem;
		line-height : 2;
	}
	#feature05 > ul{
		grid-row : 9;
		grid-column : 2;
	}
	#feature05 > ul > li + li{
		margin-top : calc( 40 var( --remBase ) );
	}
	#feature05 > ul li hgroup p{
		justify-content : center;
		font-size : 1.6rem;
		line-height : 2;
		background-color : #f1f2ed;
	}
	#feature05 > ul li hgroup h5{
		margin-top : calc( 16 var( --remBase ) );
		text-align : center;
	}
	#feature05 > ul li a{
		margin-inline : auto;
		margin-top : calc( 16 var( --remBase ) );
		font-size : 1.6rem;
		line-height : 1.4;
	}
	#feature05 > ul li:nth-child( 1 ) h5 img{
		height : calc( 43.24 var( --remBase ) );
	}
	#feature05 > ul li:nth-child( 2 ) h5 img{
		height : calc( 44.05 var( --remBase ) );
	}
	#feature05 > ul li:nth-child( 3 ) h5 img{
		height : calc( 59.8 var( --remBase ) );
	}
	#feature05 > ul li:nth-child( 4 ) h5 img{
		height : calc( 33.14 var( --remBase ) );
	}
	#feature05 > ul li:nth-child( 5 ) h5 img{
		height : calc( 120.91 var( --remBase ) );
	}
	#feature05 .splide{
		grid-row : 11;
		grid-column : 2/-1;
	}
	#feature05 .link03{
		grid-row : 13;
		grid-column : 2;
	}
}
@media print , screen and ( width > 750px ){
	#feature05{
		grid-template-rows : calc( 30 var( --remBase ) ) calc( 30 var( --remBase ) ) calc( 47 var( --remBase ) ) auto calc( 45 var( --remBase ) ) calc( 441 var( --remBase ) ) calc( 168 var( --remBase ) ) auto auto auto calc( 40 var( --remBase ) ) auto;
		padding-bottom : calc( 80 var( --remBase ) );
		margin-top : calc( 80 var( --remBase ) );
	}
	#feature05::before{
		position : relative;
		z-index : -2;
		display : block;
		grid-row : 2/10;
		grid-column : 1/-1;
		content : "";
		background-color : #d9d9d9;
	}
	#feature05::after{
		z-index : -1;
		grid-row : 6/8;
		grid-column : 1/-1;
	}
	#feature05 .hgroup01{
		grid-row : 1/3;
		grid-column : 2;
	}
	#feature05 > p{
		display : grid;
		grid-template-columns : calc( 890 var( --percentBase ) ) auto;
		grid-row : 4;
		grid-column : 2;
		column-gap : calc( 40 var( --percentBase ) );
		align-items : center;
		justify-content : center;
	}
	#feature05 > p span{
		font-size : 2.4rem;
		font-weight : 700;
		line-height : 2;
	}
	#feature05 > p img{
		grid-row : 1;
		grid-column : 2;
		height : calc( 198 var( --remBase ) );
	}
	#feature05 > h4{
		grid-row : 7/9;
		grid-column : 2;
		padding-top : calc( 104 var( --remBase ) );
		padding-bottom : calc( 72.64 var( --remBase ) );
		background-color : white;
	}
	#feature05 > h4 a{
		width : fit-content;
		margin-inline : auto;
	}
	#feature05 > h4 img{
		height : calc( 138.13 var( --remBase ) );
	}
	#feature05 > ul{
		display : flex;
		flex-wrap : wrap;
		grid-row : 9;
		grid-column : 2;
		row-gap : calc( 50.93 var( --remBase ) );
		column-gap : calc( 81 var( --percentBase ) );
		justify-content : center;
		padding-bottom : calc( 76.3 var( --remBase ) );
		background-color : white;
	}
	#feature05 > ul li hgroup p{
		column-gap : .25em;
		justify-content : start;
		font-size : 2rem;
		line-height : 2;
	}
	#feature05 > ul li hgroup h5{
		margin-top : calc( 4 var( --remBase ) );
	}
	#feature05 > ul li a{
		font-size : 2.4rem;
		line-height : 1.4;
	}
	#feature05 > ul li:not( :nth-child( 3n+1 ) ){
		position : relative;
	}
	#feature05 > ul li:not( :nth-child( 3n+1 ) )::before{
		position : absolute;
		top : 0;
		left : calc( -40 var( --remBase ) );
		display : block;
		width : 1px;
		height : calc( 128 var( --remBase ) );
		font-size : 0;
		content : "";
		background-color : var( --base );
	}
	#feature05 > ul li:nth-child( 1 ) h5 img{
		height : calc( 54 var( --remBase ) );
	}
	#feature05 > ul li:nth-child( 2 ) h5 img{
		height : calc( 54 var( --remBase ) );
	}
	#feature05 > ul li:nth-child( 3 ) h5 img{
		height : calc( 64.93 var( --remBase ) );
	}
	#feature05 > ul li:nth-child( 4 ) h5 img{
		height : calc( 45 var( --remBase ) );
	}
	#feature05 > ul li:not( :nth-child( 5 ) ) a{
		margin-top : calc( 5 var( --remBase ) );
		margin-left : auto;
	}
	#feature05 > ul li:nth-child( 5 ){
		display : grid;
		grid-template-columns : auto auto;
		column-gap : calc( 16 var( --remBase ) );
		align-items : end;
		justify-content : start;
	}
	#feature05 > ul li:nth-child( 5 ) h5 img{
		height : calc( 80 var( --remBase ) );
	}
	#feature05 .splide{
		grid-row : 10;
		grid-column : 2;
	}
	#feature05 .splide__list{
		display : grid;
		grid-auto-rows : calc( 200 var( --remBase ) );
		grid-auto-columns : calc( 200 var( --percentBase ) );
		grid-auto-flow : column;
		justify-content : space-between;
	}
	#feature05 .link03{
		grid-row : 12;
		grid-column : 2;
	}
}

/* --------------------------------------------
CONTACT
--------------------------------------------- */
#contact form{
	margin-top : calc( 40 var( --remBase ) );
}
#contact dt{
	background-color : #f1f2ed;
}
#contact dt label{
	color : black;
}
#contact dl > div:has( [aria-required="true"] , input[type="radio"] , .wpcf7-validates-as-required ) dt label{
	display : grid;
	align-items : center;
}
#contact dl > div:has( [aria-required="true"] , input[type="radio"] , .wpcf7-validates-as-required ) dt label::after{
	display : grid;
	place-items : center;
	height : calc( 30 var( --remBase ) );
	font-size : 1.6rem;
	line-height : 1.3;
	color : white;
	content : "必須";
	background-color : #e83819;
}
#contact .wpcf7-form-control-wrap{
	display : block;
}
#contact :where( input[type="text"] , input[type="email"] , input[type="tel"] , select , textarea ){
	width : 100%;
	padding-inline : calc( 8 var( --remBase ) );
	border : solid 1px #a1a1a1;
	border-radius : calc( 4 var( --remBase ) );
}
#contact :where( input[type="text"] , input[type="email"] , input[type="tel"] , select , textarea )::placeholder{
	color : #a1a1a1;
}
#contact :where( input[type="text"] , input[type="email"] , input[type="tel"] , select ){
	height : calc( 40 var( --remBase ) );
}
#contact select{
	background-image : url( "../images/contact/parts_select.svg" );
	background-repeat : no-repeat;
}
#contact .wpcf7-list-item{
	margin-left : 0;
}
#contact input[type="radio"]{
	width : auto;
	aspect-ratio : 1;
	accent-color : var( --title );
}
#contact .names{
	display : grid;
}
#contact .emails p{
	color : #333;
}
#contact .addresses label{
	color : #333;
}
#contact .addresses button{
	display : grid;
	place-items : center;
	color : #333;
	background-color : #f1f2ed;
	border-radius : 100vmax;
}
#contact .addresses select{
	background-position : right calc( 16 var( --remBase ) ) top 50%;
	background-size : auto calc( 7.41 var( --remBase ) );
}
#contact .locations label{
	display : grid;
	grid-template-columns : auto auto;
	column-gap : calc( 7 var( --remBase ) );
	align-items : center;
	justify-content : start;
}
#contact .locations label span{
	font-size : 1.6rem;
	line-height : 1.7;
	color : #333;
}
#contact .locations input[type="radio"]{
	height : calc( 20 var( --remBase ) );
}
#contact .wpcf7-form-control-wrap:has( .wpcf7-checkbox ){
	display : block;
}
#contact .wpcf7-checkbox{
	display : flex;
	flex-wrap : wrap;
	row-gap : calc( 16 var( --remBase ) );
}
#contact .wpcf7-checkbox .wpcf7-list-item{
	display : block;
}
#contact .wpcf7-checkbox label{
	display : grid;
	grid-auto-flow : column;
	align-items : center;
	justify-content : start;
}
#contact .wpcf7-checkbox label input{
	appearance : none;
	position : relative;
}
#contact .wpcf7-checkbox label input::before , #contact .wpcf7-checkbox label input::after{
	display : block;
	font-size : 0;
}
#contact .wpcf7-checkbox label input::before{
	content : "";
}
#contact .wpcf7-checkbox label input::after{
	position : absolute;
}
#contact .wpcf7-checkbox label input:checked::after{
	content : "";
}
#contact .wpcf7-checkbox label{
	grid-template-columns : calc( 28 var( --remBase ) ) auto;
	column-gap : calc( 8 var( --remBase ) );
}
#contact .wpcf7-checkbox label span{
	color : #333;
}
#contact .wpcf7-checkbox label input::before{
	height : calc( 28 var( --remBase ) );
	background-color : #f1f2ed;
}
#contact .wpcf7-checkbox label input::after{
	top : calc( 9 var( --remBase ) );
	left : calc( 2 var( --remBase ) );
	width : calc( 25 var( --remBase ) );
	height : calc( 16.5 var( --remBase ) );
	background : url( "../images/contact/check.svg" ) center / auto 100% no-repeat;
}
@media screen and ( width <= 750px ){
	#contact dt{
		padding-block : calc( 16 var( --remBase ) );
		padding-left : calc( 16 var( --percentBase ) );
	}
	#contact dt label{
		font-size : 1.4rem;
		line-height : 2;
	}
	#contact dl > div + div{
		margin-top : calc( 32 var( --remBase ) );
	}
	#contact dl > div:has( [aria-required="true"] , input[type="radio"] , .wpcf7-validates-as-required ) dt label{
		grid-template-columns : 1fr calc( 52 * 100% / 320 );
	}
	#contact dd{
		margin-top : calc( 8 var( --remBase ) );
	}
	#contact :where( input[type="text"] , input[type="email"] , input[type="tel"] , select , textarea ){
		font-size : 1.4rem;
		line-height : 2;
	}
	#contact .names{
		grid-template-columns : repeat( 2 , calc( 160 var( --percentBase ) ) );
		justify-content : space-between;
	}
	#contact .emails p{
		margin-block : calc( 8 var( --remBase ) );
		font-size : 1.4rem;
		line-height : 2;
	}
	#contact .addresses label{
		font-size : 1.6rem;
		line-height : 1.7;
	}
	#contact .addresses li:nth-child( 1 ){
		display : grid;
		grid-template-columns : auto calc( 120 var( --percentBase ) ) calc( 128 var( --percentBase ) );
		align-items : center;
		justify-content : space-between;
	}
	#contact .addresses button{
		height : calc( 32 var( --remBase ) );
		font-size : 1.2rem;
		line-height : 1.3;
	}
	#contact .addresses li:not( :last-child ){
		margin-top : calc( 8 var( --remBase ) );
	}
	#contact .addresses li:not( :last-child ) .wpcf7-form-control-wrap{
		margin-top : calc( 4 var( --remBase ) );
	}
	#contact .locations .wpcf7-radio{
		display : flex;
		flex-wrap : wrap;
		row-gap : calc( 16 var( --remBase ) );
		column-gap : calc( 16 var( --percentBase ) );
	}
	#contact .locations .wpcf7-form-control-wrap:not( :has( .wpcf7-radio ) ){
		margin-top : calc( 16 var( --remBase ) );
	}
	#contact .wpcf7-checkbox{
		column-gap : calc( 16 var( --percentBase ) );
	}
	#contact .wpcf7-checkbox label span{
		font-size : 1.4rem;
		line-height : 2;
	}
	#contact textarea{
		height : calc( 155 var( --remBase ) );
	}
	#contact .wpcf7-not-valid-tip{
		font-size : 1.4rem;
		line-height : 2;
	}
}
@media print , screen and ( width > 750px ){
	#contact dl > div{
		display : grid;
		grid-template-columns : calc( 320 * 100% / 1160 ) calc( 800 * 100% / 1160 );
		justify-content : space-between;
		padding-block : calc( 8 var( --remBase ) );
		border-bottom : solid 1px #f1f2ed;
	}
	#contact dl > div:first-of-type{
		border-top : solid 1px #f1f2ed;
	}
	#contact dt{
		padding-block : calc( 18 var( --remBase ) );
		padding-left : calc( 16 * 100% / 320 );
	}
	#contact dt label{
		font-size : 1.6rem;
		line-height : 1.7;
	}
	#contact dl > div:has( [aria-required="true"] , input[type="radio"] , .wpcf7-validates-as-required ) dt label{
		grid-template-columns : 1fr calc( 52 * 100% / 304 );
	}
	#contact dd{
		padding-block : calc( 13 var( --remBase ) );
	}
	#contact :where( input[type="text"] , input[type="email"] , input[type="tel"] , select , textarea ){
		font-size : 1.6rem;
		line-height : 1.7;
	}
	#contact .names{
		grid-template-columns : repeat( 2 , calc( 238 * 100% / 800 ) );
		column-gap : calc( 15 * 100% / 800 );
	}
	#contact .emails .wpcf7-form-control-wrap{
		width : calc( 489 * 100% / 800 );
	}
	#contact .emails p{
		margin-top : calc( 9 var( --remBase ) );
		margin-bottom : calc( 10 var( --remBase ) );
		font-size : 1.6rem;
		line-height : 1.7;
	}
	#contact .wpcf7-form-control-wrap:has( #contact_tel ){
		width : calc( 424 * 100% / 800 );
	}
	#contact .addresses ul{
		display : grid;
		grid-template-columns : calc( 314 * 100% / 800 ) calc( 12 * 100% / 800 ) calc( 364 * 100% / 800 ) 1fr;
		row-gap : calc( 12 var( --remBase ) );
	}
	#contact .addresses label{
		font-size : 1.6rem;
		line-height : 1.7;
	}
	#contact .addresses li{
		display : grid;
		align-items : center;
		justify-content : start;
	}
	#contact .addresses li:nth-child( 1 ){
		grid-template-columns : auto calc( 230 * 100% / 800 ) calc( 160 * 100% / 800 );
		grid-row : 1;
		grid-column : 1/-1;
		column-gap : calc( 10 * 100% / 800 );
	}
	#contact .addresses li:nth-child( 1 ) button{
		height : calc( 43 var( --remBase ) );
		font-size : 1.6rem;
		line-height : 1.7;
	}
	#contact .addresses li:nth-child( 2 ){
		grid-template-columns : auto calc( 320 * 100% / 800 );
		grid-row : 2;
		grid-column : 1/-1;
		column-gap : calc( 10 * 100% / 800 );
	}
	#contact .addresses li:nth-child( 3 ){
		grid-template-columns : auto calc( 238 * 100% / 314 );
		grid-row : 3;
		grid-column : 1;
		column-gap : calc( 10 * 100% / 314 );
	}
	#contact .addresses li:nth-child( 4 ){
		grid-template-columns : auto calc( 304 * 100% / 364 );
		grid-row : 3;
		grid-column : 3;
		column-gap : calc( 10 * 100% / 364 );
	}
	#contact .addresses li:nth-child( 5 ){
		grid-template-columns : auto calc( 614 * 100% / 800 );
		grid-row : 4;
		grid-column : 1/-1;
		column-gap : calc( 10 * 100% / 800 );
	}
	#contact .locations{
		display : grid;
		grid-template-columns : auto calc( 424 * 100% / 800 ) 1fr;
		grid-auto-rows : auto;
		row-gap : calc( 8 var( --remBase ) );
		column-gap : calc( 8 * 100% / 800 );
		align-items : center;
		justify-content : start;
	}
	#contact .locations .wpcf7-form-control-wrap:has( .wpcf7-radio ){
		display : contents;
	}
	#contact .locations .wpcf7-radio{
		display : contents;
	}
	#contact .locations .wpcf7-list-item:not( last-of-type ){
		grid-column : 1/-1;
	}
	#contact .locations .wpcf7-list-item:last-of-type{
		grid-column : 1;
	}
	#contact .locations .wpcf7-form-control-wrap:not( :has( .wpcf7-radio ) ){
		grid-column : 2;
	}
	#contact .wpcf7-checkbox{
		column-gap : calc( 16 * 100% / 800 );
	}
	#contact .wpcf7-checkbox label span{
		font-size : 1.6rem;
		line-height : 1.7;
	}
	#contact .wpcf7-form-control-wrap:has( #contact_age ) , #contact .wpcf7-form-control-wrap:has( #contact_area ){
		width : calc( 362 * 100% / 800 );
	}
	#contact .wpcf7-form-control-wrap:has( textarea ){
		width : calc( 489 * 100% / 800 );
	}
	#contact textarea{
		height : calc( 123 var( --remBase ) );
	}
	#contact .wpcf7-not-valid-tip{
		font-size : 1.6rem;
		line-height : 1.7;
	}
}
#formPrivacy h2{
	font-weight : 500;
	line-height : 1.3;
	color : #333;
	text-align : center;
}
#formPrivacy > div{
	height : calc( 175 var( --remBase ) );
	padding-block : calc( 4 var( --remBase ) );
	overflow-y : auto;
	border-radius : calc( 4 var( --remBase ) );
	outline : solid 1px #a1a1a1;
	outline-offset : -1px;
}
#formPrivacy > div > *{
	line-height : 1.7;
	color : black;
}
@media screen and ( width <= 750px ){
	#formPrivacy{
		margin-top : calc( 32 var( --remBase ) );
	}
	#formPrivacy h2{
		font-size : 2.2rem;
	}
	#formPrivacy > div{
		padding-inline : calc( 8 var( --percentBase ) );
		margin-top : calc( 11 var( --remBase ) );
	}
	#formPrivacy > div > *{
		font-size : 1.4rem;
	}
}
@media print , screen and ( width > 750px ){
	#formPrivacy{
		width : calc( 908 var( --percentBase ) );
		margin-inline : auto;
		margin-top : calc( 40 var( --remBase ) );
	}
	#formPrivacy h2{
		font-size : 3rem;
	}
	#formPrivacy > div{
		padding-inline : calc( 8 * 100% / 908 );
		margin-top : calc( 36 var( --remBase ) );
	}
	#formPrivacy > div > *{
		font-size : 1.6rem;
	}
}
#contact .submits :where( input , button ){
	display : grid;
	place-items : center;
	font-size : 2rem;
	font-weight : 500;
	text-align : center;
	text-indent : .05em;
	letter-spacing : .05em;
	border-radius : 100vmax;
}
#contact .submits input{
	background-color : var( --yellow );
}
@media screen and ( width <= 750px ){
	#contact .submits{
		margin-top : calc( 32 var( --remBase ) );
	}
	#contact .submits :where( input , button ){
		width : calc( 318 var( --percentBase ) );
		height : calc( 56 var( --remBase ) );
		margin-inline : auto;
	}
}
@media print , screen and ( width > 750px ){
	#contact .submits{
		display : grid;
		grid-auto-rows : calc( 56 var( --remBase ) );
		grid-auto-columns : calc( 318 var( --percentBase ) );
		column-gap : calc( 32 var( --percentBase ) );
		align-items : center;
		justify-content : center;
		margin-top : calc( 40 var( --remBase ) );
	}
	#contact .submits :where( input , button ){
		width : 100%;
		height : 100%;
	}
}
#confirm form{
	margin-top : calc( 40 var( --remBase ) );
}
#confirm form > dl > div > dt{
	background-color : #f1f2ed;
}
@media screen and ( width <= 750px ){
	#confirm form > dl > div + div{
		margin-top : calc( 32 var( --remBase ) );
	}
	#confirm form > dl > div > dt , #confirm form > dl > div > dd{
		font-size : 1.4rem;
		line-height : 2;
	}
	#confirm form > dl > div > dt{
		padding-block : calc( 16 var( --remBase ) );
		padding-inline : calc( 16 var( --percentBase ) );
	}
	#confirm form > dl > div > dd{
		margin-top : calc( 8 var( --remBase ) );
	}
	#confirm dl dl{
		display : grid;
		grid-template-columns : auto 1fr;
		column-gap : calc( 14.5 var( --percentBase ) );
		align-items : center;
		justify-content : start;
	}
	#confirm dl dl > div{
		display : contents;
	}
}
@media print , screen and ( width > 750px ){
	#confirm form > dl > div{
		display : grid;
		grid-template-columns : calc( 320 * 100% / 1160 ) calc( 800 * 100% / 1160 );
		justify-content : space-between;
		padding-block : calc( 8 var( --remBase ) );
		border-bottom : solid 1px #f1f2ed;
	}
	#confirm form > dl > div:first-of-type{
		border-top : solid 1px #f1f2ed;
	}
	#confirm form > dl > div > dt{
		padding-left : calc( 16 * 100% / 320 );
	}
	#confirm form > dl > div > dt , #confirm form > dl > div > dd{
		padding-block : calc( 18 var( --remBase ) );
		font-size : 1.6rem;
		line-height : 1.7;
	}
	#confirm dl dl{
		display : grid;
		grid-template-columns : auto auto auto auto;
		column-gap : 1em;
		align-items : start;
		justify-content : start;
	}
	#confirm dl dl dt{
		font-weight : 500;
	}
	#confirm dl dl > div{
		display : contents;
	}
	#confirm dl dl > div:nth-of-type( 1 ) dt , #confirm dl dl > div:nth-of-type( 2 ) dt , #confirm dl dl > div:nth-of-type( 5 ) dt{
		grid-column : 1;
	}
	#confirm dl dl > div:nth-of-type( 1 ) dd , #confirm dl dl > div:nth-of-type( 2 ) dd , #confirm dl dl > div:nth-of-type( 5 ) dd{
		grid-column : 2/-1;
	}
	#confirm dl dl > div:nth-of-type( 3 ) dt{
		grid-column : 1;
	}
	#confirm dl dl > div:nth-of-type( 3 ) dd{
		grid-column : 2;
	}
	#confirm dl dl > div:nth-of-type( 4 ) dt{
		grid-column : 3;
	}
	#confirm dl dl > div:nth-of-type( 4 ) dd{
		grid-column : 4;
	}
}
#confirm .submits .wpcf7-spinner{
	display : none;
}
#confirm .submits input{
	display : grid;
	place-items : center;
	font-size : 2rem;
	font-weight : 500;
	text-align : center;
	text-indent : .05em;
	letter-spacing : .05em;
	border-radius : 100vmax;
}
#confirm .submits .wpcf7-previous{
	background-color : white;
	outline : solid 1px #a1a1a1;
	outline-offset : -1px;
}
#confirm .submits .wpcf7-submit{
	background-color : var( --yellow );
}
@media screen and ( width <= 750px ){
	#confirm .submits{
		margin-top : calc( 32 var( --remBase ) );
	}
	#confirm .submits input{
		width : calc( 318 var( --percentBase ) );
		height : calc( 56 var( --remBase ) );
		margin-inline : auto;
	}
}
@media print , screen and ( width > 750px ){
	#confirm .submits{
		display : grid;
		grid-auto-rows : calc( 56 var( --remBase ) );
		grid-auto-columns : calc( 318 var( --percentBase ) );
		grid-auto-flow : column;
		column-gap : calc( 32 var( --percentBase ) );
		align-items : center;
		justify-content : center;
		margin-top : calc( 40 var( --remBase ) );
	}
	#confirm .submits input{
		width : 100%;
		height : 100%;
	}
}