@charset "UTF-8";

/* --------------------------------------------
ABOUT
--------------------------------------------- */
#about li{
	background-repeat : no-repeat;
	background-position : 0 0;
	background-size : contain;
}
#about ul span{
	font-weight : 500;
	color : #fff;
	background-color : var( --green );
}
@media screen and ( max-width : 750px ){
	#about{
		padding-top : calc( ( 99 - var( --sp-title01-lh ) ) var( --remBase ) );
		padding-bottom : calc( 145 var( --remBase ) );
		background : url( "../images/home/about/bg_sp.png" ) 0 calc( 255 var( --remBase ) ) / 100% auto no-repeat;
	}
	#about .text01{
		margin-top : calc( ( 40 - 13 ) var( --remBase ) );
	}
	#about ul{
		margin-top : calc( ( 34 - var( --sp-text01-lh ) ) var( --remBase ) );
	}
	#about ul span{
		display : table;
		padding-block : calc( ( 14 - 3.8 ) var( --remBase ) );
		font-size : 3.2rem;
		line-height : 1.2;
	}
	#about li{
		height : calc( 260 var( --remBase ) );
	}
	#about li:nth-child( 1 ){
		width : calc( 475 * 100% / 710 );
		padding-top : calc( 198 var( --remBase ) );
		margin-left : calc( 4 * 100% / 710 );
		background-image : url( "../images/home/about/bg01_sp.png" );
	}
	#about li:nth-child( 1 ) span{
		padding-inline : calc( 12 * 100% / 475 );
		margin-left : calc( 49 * 100% / 475 );
	}
	#about li:nth-child( 2 ){
		width : calc( 486 * 100% / 710 );
		padding-top : calc( 194 var( --remBase ) );
		margin-top : calc( -20 var( --remBase ) );
		margin-left : calc( 225 * 100% / 710 );
		background-image : url( "../images/home/about/bg02_sp.png" );
	}
	#about li:nth-child( 2 ) span{
		padding-inline : calc( 10 * 100% / 486 );
		margin-left : calc( 34 * 100% / 486 );
	}
	#about li:nth-child( 3 ){
		width : calc( 550 * 100% / 710 );
		padding-top : calc( 144 var( --remBase ) );
		margin-top : calc( 31 var( --remBase ) );
		background-image : url( "../images/home/about/bg03_sp.png" );
	}
	#about li:nth-child( 3 ) span{
		padding-inline : calc( 12 * 100% / 550 );
		margin-left : auto;
	}
}
@media print , screen and ( min-width : 751px ){
	#about{
		position : relative;
		padding-top : calc( 63px - var( --pc-title01-lh ) );
		padding-bottom : 164px;
		overflow : hidden;
	}
	#about::before{
		position : absolute;
		top : 0;
		left : calc( 50% + 140px );
		display : block;
		width : 860px;
		height : 640px;
		content : "";
		background : url( "../images/home/about/bg_pc.png" ) 0 0 / contain no-repeat;
	}
	#about .text01{
		width : 654px;
		margin-top : calc( 32px - var( --pc-text01-lh ) );
	}
	#about ul{
		display : flex;
		align-items : flex-start;
		margin-top : 32px;
	}
	#about ul span{
		display : table;
		padding-block : calc( 7px - 1.6px );
		margin-left : auto;
		font-size : 1.6rem;
		line-height : 1.2;
	}
	#about li:nth-child( 1 ){
		width : 160px;
		height : 170px;
		padding-top : 113px;
		background-image : url( "../images/home/about/bg01_pc.png" );
	}
	#about li:nth-child( 1 ) span{
		padding-inline : 12px;
	}
	#about li:nth-child( 2 ){
		width : 166px;
		height : 170px;
		padding-top : 113px;
		padding-right : 3px;
		margin-left : 18px;
		background-image : url( "../images/home/about/bg02_pc.png" );
	}
	#about li:nth-child( 2 ) span{
		padding-inline : 10px;
	}
	#about li:nth-child( 3 ){
		width : 160px;
		height : 169px;
		padding-top : 112px;
		margin-top : 1px;
		margin-left : 16px;
		background-image : url( "../images/home/about/bg03_pc.png" );
	}
	#about li:nth-child( 3 ) span{
		padding-inline : 10px;
		margin-right : -1px;
	}
}
.home_h1_ttl{
	text-align : center;
}
.home_h1_ttl span{
	position : relative;
	z-index : 5;
	display : inline-block;
	padding : 5px;
	margin-bottom : 40px;
	font-family : "Noto Serif JP" , serif;
	font-size : 2.4rem;
	line-height : 1;
	background-color : #fff;
}
@media screen and ( max-width : 750px ){
	.home_h1_ttl span{
		font-size : 4vw;
	}
}

/* --------------------------------------------
FEATURE
--------------------------------------------- */
#feature{
	position : relative;
	overflow : hidden;
}
#feature::before{
	position : absolute;
	display : block;
	content : "";
	background-repeat : no-repeat;
	background-position : 0 0;
	background-size : contain;
}
#feature li{
	background-color : #fff;
}
#feature li a{
	display : block;
}
#feature h3{
	display : flex;
	align-items : center;
	border-bottom-style : solid;
}
#feature h3::before{
	display : block;
	flex-shrink : 0;
	font-size : 0;
	content : "";
	background-repeat : no-repeat;
	background-position : 0 0;
}
#feature li:nth-child( 1 ) h3::before{
	background-image : url( "../images/home/feature/bg01.jpg" );
}
#feature li:nth-child( 2 ) h3::before{
	background-image : url( "../images/home/feature/bg02.jpg" );
}
#feature li:nth-child( 3 ) h3::before{
	background-image : url( "../images/home/feature/bg03.jpg" );
}
@media screen and ( max-width : 750px ){
	#feature{
		padding-top : calc( ( 95 - 45 ) * 100vw / 750 );
		margin-top : calc( ( -95 + 45 ) * 100vw / 750 );
	}
	#feature::before{
		top : 0;
		left : calc( ( -340 + 85 ) * 100% / 750 );
		width : calc( 456 * 100% / 750 );
		height : calc( 482 * 100vw / 750 );
		background-image : url( "../images/home/feature/tree_sp.svg" );
	}
	#feature .box{
		padding-top : calc( ( 44 - var( --sp-title02-lh ) ) * 100vw / 750 );
		padding-bottom : calc( 71 * 100vw / 750 );
		background-color : #f5f4e4;
	}
	#feature .title02 , #feature .text02{
		margin-left : calc( 200 * 100% / 710 );
	}
	#feature .title02::after{
		width : calc( 220 * 100% / 510 );
	}
	#feature .text02{
		margin-top : calc( ( 40 - var( --sp-text02-lh ) ) * 100vw / 750 );
	}
	#feature ul{
		margin-top : calc( ( 43 - var( --sp-text02-lh ) ) * 100vw / 750 );
	}
	#feature li:nth-child( 1 ) a{
		padding-bottom : calc( ( 30 - var( --sp-text03-lh ) ) * 100vw / 750 );
	}
	#feature li:nth-child( 2 ){
		margin-top : calc( 20 * 100vw / 750 );
	}
	#feature li:nth-child( 2 ) a{
		padding-bottom : calc( ( 49 - var( --sp-text03-lh ) ) * 100vw / 750 );
	}
	#feature li:nth-child( 3 ){
		margin-top : calc( 29 * 100vw / 750 );
	}
	#feature li:nth-child( 3 ) a{
		padding-bottom : calc( ( 32 - var( --sp-text03-lh ) ) * 100vw / 750 );
	}
	#feature li a{
		padding-top : calc( 21 * 100vw / 750 );
		padding-left : calc( 20 * 100% / 710 );
		padding-right : calc( 20 * 100% / 710 );
	}
	#feature h3{
		font-size : 3.8rem;
		line-height : 1.2;
	}
	#feature h3{
		padding-bottom : calc( 19 * 100vw / 750 );
		border-bottom-color : #f4f2f2;
		border-bottom-width : calc( 3 * 100vw / 750 );
	}
	#feature h3::before{
		width : calc( 100 * 100% / 670 );
		height : calc( 100 * 100vw / 750 );
		margin-right : calc( 17 * 100% / 670 );
	}
	#feature .text03{
		margin-top : calc( ( 21 - var( --sp-text03-lh ) ) * 100vw / 750 );
	}
}
@media print , screen and ( min-width : 751px ){
	#feature{
		height : calc( 134px + 739px );
		margin-top : -134px;
		background : url( "../images/home/feature/bg.jpg" ) 0 bottom / 100% 739px no-repeat;
	}
	#feature::before{
		bottom : 0;
		left : calc( 50% - 1258px + 134px );
		width : 720px;
		height : 832px;
		background-image : url( "../images/home/feature/tree_pc.svg" );
	}
	#feature .box{
		width : 885px;
		padding-top : calc( 134px + 76px );
		margin-left : 180px;
	}
	#feature .text02{
		margin-top : calc( 26px - var( --pc-text02-lh ) );
	}
	#feature ul{
		display : grid;
		grid-template-rows : auto 12px auto;
		grid-template-columns : 435px 15px 435px;
		margin-top : calc( 19px - var( --pc-text02-lh ) );
	}
	#feature li{
		box-shadow : 2.828px 2.828px 8px 0 rgb( 0 0 0 / .1 );
	}
	#feature li a{
		padding-top : 20px;
	}
	#feature li:nth-child( -n+2 ) a{
		padding-bottom : calc( 24px - var( --pc-text03-lh ) );
		padding-left : 20px;
		padding-right : 20px;
	}
	#feature li:nth-child( -n+2 ) h3{
		width : 380px;
		padding-bottom : 11px;
	}
	#feature li:nth-child( -n+2 ) h3::before{
		margin-right : 21px;
	}
	#feature li:nth-child( -n+2 ) .text03{
		margin-top : calc( 13px - var( --pc-text03-lh ) );
	}
	#feature li:nth-child( 3 ) a{
		padding-bottom : calc( 27px - var( --pc-text03-lh ) );
		padding-left : 22px;
		padding-right : 22px;
	}
	#feature li:nth-child( 3 ) h3{
		width : 830px;
		padding-bottom : 9px;
	}
	#feature li:nth-child( 3 ) h3::before{
		margin-right : 19px;
	}
	#feature li:nth-child( 3 ) .text03{
		margin-top : calc( 20px - var( --pc-text03-lh ) );
	}
	#feature li:nth-child( 1 ){
		grid-row : 1/2;
		grid-column : 1/2;
	}
	#feature li:nth-child( 2 ){
		grid-row : 1/2;
		grid-column : 3/4;
	}
	#feature li:nth-child( 3 ){
		grid-row : 3/4;
		grid-column : 1/4;
	}
	#feature h3{
		border-bottom-color : #f4f2f2;
		border-bottom-width : 1px;
	}
	#feature h3{
		font-size : 2.8rem;
		line-height : 1.28;
	}
	#feature h3::before{
		width : 84px;
		height : 84px;
	}
}

/* --------------------------------------------
SERVICE
--------------------------------------------- */
#service .service-card-wrapper > div{
	position : relative;
	overflow : hidden;
	background-color : #fff;
}
#service .service-card-wrapper > div::before{
	position : absolute;
	display : block;
	content : "";
	background-repeat : no-repeat;
	background-position : 0 0;
	background-size : contain;
}
#service li:nth-child( -n+3 ) div{
	background-color : #fff;
}
#service li:nth-child( 4 ) div{
	background-color : #f3f4ec;
}
#service li:nth-child( 4 ) div::after{
	position : absolute;
	top : 0;
	left : 0;
	z-index : 0;
	display : block;
	width : 100%;
	height : 100%;
	font-size : 0;
	content : "";
	background-repeat : no-repeat;
	background-position : 0 0;
	background-size : cover;
}
#service :where( h3 , h4 , .text03 , .link01 ){
	position : relative;
}
#service :where(  h3 , h4 ){
	font-family : "Noto Serif JP" , serif;
	text-align : center;
}
#service :where(  h3 , h4 )::after{
	display : block;
	margin-inline : auto;
	content : "";
}
#service h3::after{
	background-color : #ae9027;
}
#service h4::after{
	background-color : var( --green );
}
#service li:nth-child( 1 ) div::before{
	background-image : url( "../images/ui/kamon/01.svg" );
}
#service li:nth-child( 2 ) div::before{
	background-image : url( "../images/ui/kamon/02.svg" );
}
#service li:nth-child( 3 ) div::before{
	background-image : url( "../images/ui/kamon/03.svg" );
}
#service li:nth-child( 4 ) div::before{
	background-image : url( "../images/ui/kamon/04.svg" );
}
@media screen and ( max-width : 750px ){
	#service{
		padding-top : calc( ( 147 - var( --sp-title03-lh ) ) * 100vw / 750 );
	}
	#service .title03::after{
		width : calc( 220 * 100% / 750 );
	}
	#service ul{
		padding-bottom : calc( 70 * 100vw / 750 );
		margin-top : calc( 18 * 100vw / 750 );
		background-color : #f1f6d5;
	}
	#service .service-card-wrapper::before{
		display : block;
		width : 100%;
		content : "";
		background-repeat : no-repeat;
		background-position : 0 0;
		background-size : contain;
	}
	#service div{
		width : calc( 710 * 100% / 750 );
		margin-inline : auto;
	}
	#service div::before{
		left : 0;
		width : calc( 302 * 100% / 710 );
		height : calc( 348 * 100vw / 750 );
	}
	#service :where( h3 , h4 ){
		font-size : 3.8rem;
	}
	#service :where( h3 , h4 )::after{
		width : calc( 220 * 100% / 670 );
		height : calc( 6 * 100vw / 750 );
		margin-top : calc( 22 * 100vw / 750 );
	}
	#service .link01{
		width : calc( 240 * 100% / 670 );
		padding-left : calc( 9 * 100% / 670 );
		padding-right : calc( 16 * 100% / 670 );
		margin-top : calc( ( 32 - var( --sp-text03-lh ) ) * 100vw / 750 );
	}
	#service li:nth-child( 1 ) .service-card-wrapper::before{
		height : calc( 515 * 100vw / 750 );
		background-image : url( "../images/home/service/bg01_sp.jpg" );
	}
	#service li:nth-child( 1 ) div{
		padding-inline : calc( 20 * 100% / 710 );
		padding-top : calc( 36 * 100vw / 750 );
		padding-bottom : calc( 31 * 100vw / 750 );
		margin-top : calc( -162 * 100vw / 750 );
	}
	#service li:nth-child( 1 ) div::before{
		top : calc( 57 * 100vw / 750 );
	}
	#service li:nth-child( 1 ) .text03{
		margin-top : calc( ( 30 - var( --sp-text03-lh ) ) * 100vw / 750 );
	}
	#service li:nth-child( 2 ){
		margin-top : calc( 49 * 100vw / 750 );
	}
	#service li:nth-child( 2 ) .service-card-wrapper::before{
		height : calc( 460 * 100vw / 750 );
		background-image : url( "../images/home/service/bg02_sp.jpg" );
	}
	#service li:nth-child( 2 ) div{
		padding-inline : calc( 20 * 100% / 710 );
		padding-top : calc( 30 * 100vw / 750 );
		padding-bottom : calc( 31 * 100vw / 750 );
		margin-top : calc( -80 * 100vw / 750 );
	}
	#service li:nth-child( 2 ) div::before{
		top : calc( 27 * 100vw / 750 );
	}
	#service li:nth-child( 2 ) .text03{
		margin-top : calc( ( 28 - var( --sp-text03-lh ) ) * 100vw / 750 );
	}
	#service li:nth-child( 3 ){
		margin-top : calc( 72 * 100vw / 750 );
	}
	#service li:nth-child( 3 ) .service-card-wrapper::before{
		height : calc( 462 * 100vw / 750 );
		background-image : url( "../images/home/service/bg03_sp.jpg" );
	}
	#service li:nth-child( 3 ) div{
		padding-inline : calc( 20 * 100% / 710 );
		padding-top : calc( 36 * 100vw / 750 );
		padding-bottom : calc( 36 * 100vw / 750 );
		margin-top : calc( -68 * 100vw / 750 );
	}
	#service li:nth-child( 3 ) div::before{
		top : calc( 37 * 100vw / 750 );
	}
	#service li:nth-child( 3 ) .text03{
		margin-top : calc( ( 31 - var( --sp-text03-lh ) ) * 100vw / 750 );
	}
	#service li:nth-child( 4 ){
		margin-top : calc( 74 * 100vw / 750 );
	}
	#service li:nth-child( 4 ) .service-card-wrapper::before{
		height : calc( 521 * 100vw / 750 );
		background-image : url( "../images/home/service/bg04_sp.jpg" );
	}
	#service li:nth-child( 4 ) div{
		height : calc( 290 * 100vw / 750 );
		padding-inline : calc( 30 * 100% / 710 );
		padding-top : calc( 36 * 100vw / 750 );
		margin-top : calc( -73 * 100vw / 750 );
	}
	#service li:nth-child( 4 ) div::before{
		top : calc( 20 * 100vw / 750 );
		left : calc( 10 * 100% / 710 );
	}
	#service li:nth-child( 4 ) div::after{
		background-image : url( "../images/home/service/frame_sp.png" );
	}
	#service li:nth-child( 4 ) h3::after{
		margin-top : calc( 15 * 100vw / 750 );
	}
	#service li:nth-child( 4 ) .text03{
		margin-top : calc( ( 23 - var( --sp-text03-lh ) ) * 100vw / 750 );
	}
	#service li:nth-child( 4 ) .link01{
		width : calc( 240 * 100% / 650 );
		padding-left : calc( 9 * 100% / 650 );
		padding-right : calc( 16 * 100% / 650 );
		margin-top : calc( ( 32 - var( --sp-text03-lh ) ) * 100vw / 750 );
	}
}
@media print , screen and ( min-width : 751px ){
	#service{
		position : relative;
		padding-top : calc( 90px - var( --pc-title03-lh ) );
		overflow : hidden;
	}
	#service::before{
		position : absolute;
		top : 241px;
		left : 0;
		display : block;
		width : 100%;
		height : 1052px;
		content : "";
		background-color : rgb( 183 211 47 / .2 );
	}
	#service ul{
		display : flex;
		flex-wrap : wrap;
		justify-content : space-between;
		margin-top : 35px;
	}
	#service .service-card-wrapper{
		position : relative;
		display : block;
	}
	#service .service-card-wrapper::before{
		position : absolute;
		display : block;
		content : "";
		background-repeat : no-repeat;
		background-position : 0 0;
		background-size : contain;
	}
	#service .service-card-wrapper div::before{
		width : 262px;
		height : 302px;
	}
	#service img{
		position : absolute;
		z-index : 1;
	}
	#service :where( h3 , h4 ){
		font-size : 2.6rem;
		line-height : 1.38;
	}
	#service :where( h3 , h4 )::after{
		width : 150px;
		height : 3px;
		margin-top : calc( 12px - 5px );
	}
	#service .link01{
		margin-top : auto;
	}
	#service li:nth-child( 1 ){
		width : 100%;
	}
	#service li:nth-child( 1 ) .service-card-wrapper{
		padding-top : 159px;
		padding-bottom : 13px;
	}
	#service li:nth-child( 1 ) .service-card-wrapper::before{
		top : 0;
		left : 0;
		width : 990px;
		height : 402px;
		background-image : url( "../images/home/service/bg01_pc.jpg" );
	}
	#service li:nth-child( 1 ) img{
		top : 235px;
		left : 338px;
		height : 168px;
	}
	#service li:nth-child( 1 ) div{
		width : 500px;
		padding-inline : 25px;
		padding-top : calc( 33px - 5px );
		padding-bottom : 21px;
		margin-left : auto;
	}
	#service li:nth-child( 1 ) div::before{
		top : 10px;
		left : 0;
	}
	#service li:nth-child( 1 ) .text03{
		margin-top : calc( 16px - var( --pc-text03-lh ) );
	}
	#service li:nth-child( 1 ) .link01{
		margin-top : calc( 32px - var( --pc-text03-lh ) );
	}
	#service li:nth-child( 2 ) , #service li:nth-child( 3 ){
		width : 522px;
		margin-top : 26px;
	}
	#service li:nth-child( 2 ) .service-card-wrapper , #service li:nth-child( 3 ) .service-card-wrapper{
		display : flex;
		flex-direction : column;
		height : 100%;
		padding-top : 175px;
	}
	#service li:nth-child( 2 ) .service-card-wrapper::before , #service li:nth-child( 3 ) .service-card-wrapper::before{
		top : 0;
		left : 0;
		width : 100%;
		height : 320px;
	}
	#service li:nth-child( 2 ) div , #service li:nth-child( 3 ) div{
		display : flex;
		flex-direction : column;
		flex-grow : 1;
		flex-shrink : 0;
		width : 415px;
		padding-inline : 20px;
		padding-top : 31px;
		padding-bottom : 20px;
		margin-inline : auto;
	}
	#service li:nth-child( 2 ) div::before , #service li:nth-child( 3 ) div::before{
		top : 10px;
		left : 0;
	}
	#service li:nth-child( 2 ) .text03 , #service li:nth-child( 3 ) .text03{
		margin-top : calc( 17px - var( --pc-text03-lh ) );
		margin-bottom : calc( 20px - var( --pc-text03-lh ) );
	}
	#service li:nth-child( 2 ) .link01 , #service li:nth-child( 3 ) .link01{
		flex-shrink : 0;
		margin-top : auto;
	}
	#service li:nth-child( 2 ) .service-card-wrapper::before{
		background-image : url( "../images/home/service/bg02_pc.jpg" );
	}
	#service li:nth-child( 2 ) img{
		top : 106px;
		left : -1px;
		height : 140px;
	}
	#service .box{
		z-index : 2;
	}
	#service li:nth-child( 3 ) .service-card-wrapper::before{
		background-image : url( "../images/home/service/bg03_pc.jpg" );
	}
	#service li:nth-child( 4 ){
		width : 100%;
		margin-top : 22px;
	}
	#service li:nth-child( 4 ) .service-card-wrapper{
		padding-top : 30px;
		padding-bottom : 31px;
	}
	#service li:nth-child( 4 ) .service-card-wrapper::before{
		top : 0;
		right : 0;
		width : 810px;
		height : 271px;
		background-image : url( "../images/home/service/bg04_pc.jpg" );
	}
	#service li:nth-child( 4 ) div{
		width : 415px;
		height : 210px;
		padding-inline : 25px;
		padding-top : 30px;
	}
	#service li:nth-child( 4 ) div::before{
		top : 9px;
		left : 5px;
	}
	#service li:nth-child( 4 ) div::after{
		background-image : url( "../images/home/service/frame_pc.png" );
	}
	#service li:nth-child( 4 ) .text03{
		margin-top : calc( 16px - var( --pc-text03-lh ) );
	}
	#service li:nth-child( 4 ) .link01{
		margin-top : calc( 20px - var( --pc-text03-lh ) );
	}
}

/* --------------------------------------------
PLANS
--------------------------------------------- */
#plans h2{
	display : grid;
	align-items : center;
	justify-content : center;
	font-family : "Noto Serif JP";
	font-weight : 400;
	color : white;
}
#plans picture{
	text-align : center;
}
#plans .splide__slide > a{
	color : #373737;
}
#plans .splide__slide > a > h3{
	font-weight : 700;
	text-align : center;
}
#plans .splide__slide > a > ul{
	display : grid;
	align-items : start;
	justify-content : center;
}
#plans .splide__slide > a > ul > li{
	display : grid;
	place-items : center;
	width : 100%;
	height : 100%;
}
#plans .splide__slide > a > ul .pink{
	background-color : #f3aeae;
}
#plans .splide__slide > a > ul .green{
	background-color : #b7d32f;
}
#plans .splide__slide > a > ul .brown{
	color : white;
	background-color : #ae9027;
}
#plans .box{
	margin-inline : auto;
	background-color : white;
}
#plans .box ol{	
margin-left: 1.5em;	
}	
#plans .box ol li{	
list-style: disc;	
}
#plans .box h3{
	font-weight : 700;
	text-align : center;
}
#plans dl{
	display : grid;
	grid-template-columns : auto auto;
	align-items : center;
	justify-content : center;
}
#plans .splide__slide > a > span{
	display : grid;
	place-items : center;
	margin-inline : auto;
	color : white;
	background-color : #fcb905;
	box-shadow : 1px 1px 0 #000;
}
#plans .plan01{
	background-color : #faeabf;
}
#plans .plan01 h2{
	background-color : #fcb905;
}
#plans .plan02{
	background-color : #f1f6d5;
}
#plans .plan02 h2{
	background-color : #a9c609;
}
#plans .plan03{
	background-color : #ace5b8;
}
#plans .plan03 h2{
	background-color : #15a03a;
}
#plans .plan04{
	background-color : #eee99a;
}
#plans .plan04 h2{
	background-color : #ae9027;
}
@media screen and ( max-width : 750px ){
	#plans{
		padding-top : calc( 23 var( --remBase ) );
		padding-bottom : calc( 69 var( --remBase ) );
		margin-left : calc( 20 var( --viewportBase ) );
	}
	#plans h2{
		padding-block : calc( 18.5 var( --remBase ) );
		font-size : 3.2rem;
		line-height : calc( 44 / 32 );
	}
	#plans picture{
		width : calc( 322 * 100% / 360 );
		height : calc( 235 var( --remBase ) );
		margin-inline : auto;
		margin-top : calc( 26 var( --remBase ) );
	}
	#plans picture img{
		width : 100%;
		height : 100%;
		object-fit : contain;
	}
	#plans .splide__slide > a{
		display : block;
		padding-bottom : calc( 32 var( --remBase ) );
	}
	#plans .splide__slide > a > h3{
		margin-top : calc( 25 var( --remBase ) );
		font-size : 2.6rem;
	}
	#plans .splide__slide > a > ul{
		grid-template-columns : repeat( 2 , calc( 158 * 100% / 360 ) );
		grid-auto-rows : calc( 40 var( --remBase ) );
		row-gap : calc( 4 var( --remBase ) );
		column-gap : calc( 4 * 100% / 360 );
		margin-top : calc( 10 var( --remBase ) );
	}
	#plans .splide__slide > a > ul > li{
		font-size : 2.2rem;
	}
	#plans .box{
		width : calc( 320 * 100% / 360 );
		padding-inline : calc( 10 * 100% / 360 );
		padding-top : calc( 23 var( --remBase ) );
		padding-bottom : calc( ( 17 - 6 ) var( --remBase ) );
		margin-top : calc( 31 var( --remBase ) );
	}
	#plans .box h3{
		font-size : 2.6rem;
	}
	#plans .box p , #plans .box ol{
		margin-top : calc( ( 16 - 6 ) var( --remBase ) );
	}
	#plans .box p , #plans .box li{
		font-size : 2.4rem;
		line-height : calc( 36 / 24 );
	}
	#plans dl{
		margin-top : calc( 31 var( --remBase ) );
	}
	#plans dt , #plans dd{
		font-size : 2.6rem;
	}
	#plans .splide__slide > a > span{
		width : calc( 240 * 100% / 360 );
		height : calc( 40 var( --remBase ) );
		margin-top : calc( 34 var( --remBase ) );
		font-size : 2.6rem;
	}
}
@media print , screen and ( min-width : 751px ){
	#plans{
		padding-top : calc( 52 var( --remBase ) );
		padding-bottom : calc( 54 var( --remBase ) );
	}
	#plans .splide__list{
		display : grid;
		grid-template-columns : repeat( 4 , calc( 270 var( --percentBase ) ) );
	}
	#plans .splide__slide , #plans .splide__slide > a{
		display : grid;
		grid-template-rows : subgrid;
		grid-row : span 7;
	}
	#plans h2{
		padding-block : calc( 5 var( --remBase ) );
		font-size : 2rem;
		line-height : calc( 44 / 20 );
	}
	#plans picture{
		align-self : center;
		margin-top : calc( 25 var( --remBase ) );
	}
	#plans .splide__slide > a{
		padding-bottom : calc( 38 var( --remBase ) );
	}
	#plans .splide__slide > a > h3{
		margin-top : calc( ( 27 - 1 ) var( --remBase ) );
		font-size : 1.4rem;
		line-height : calc( 16 / 14 );
	}
	#plans .splide__slide > a > ul{
		grid-template-columns : repeat( 2 , calc( 100 * 100% / 270 ) );
		grid-auto-rows : calc( 30 var( --remBase ) );
		row-gap : calc( 2 var( --remBase ) );
		column-gap : calc( 2 * 100% / 270 );
		margin-top : calc( ( 13 - 1 ) var( --remBase ) );
	}
	#plans .splide__slide > a > ul > li{
		font-size : 1.4rem;
		line-height : calc( 16 / 14 );
	}
	#plans .box{
		width : calc( 250 * 100% / 270 );
		padding-inline : calc( 10 * 100% / 270 );
		padding-top : calc( ( 16 - 1 ) var( --remBase ) );
		padding-bottom : calc( ( 24 - 1 ) var( --remBase ) );
		margin-top : calc( 21 var( --remBase ) );
	}
	#plans .box h3{
		font-size : 1.4rem;
		line-height : calc( 16 / 14 );
	}
	#plans .box p , #plans .box li{
		font-size : 1.4rem;
		line-height : calc( 21 / 14 );
	}
	#plans .box ol{
		margin-top : calc( ( 16 - 1 - 3.5 ) var( --remBase ) );
	}

	#plans dl{
		margin-top : calc( ( 19 - 1 ) var( --remBase ) );
	}
	#plans dt , #plans dd{
		font-size : 2rem;
		line-height : calc( 22 / 20 );
	}
	#plans .splide__slide > a > span{
		width : calc( 134 * 100% / 270 );
		height : calc( 35 var( --remBase ) );
		margin-top : calc( ( 30 - 1 ) var( --remBase ) );
		font-size : 1.4rem;
	}
	#plans .plan01 picture img{
		height : calc( 155 var( --remBase ) );
	}
	#plans .plan02 picture img{
		height : calc( 155 var( --remBase ) );
	}
	#plans .plan03 picture img{
		height : calc( 144 var( --remBase ) );
	}
	#plans .plan01 picture img{
		height : calc( 155 var( --remBase ) );
	}
}

/* --------------------------------------------
VOICES
--------------------------------------------- */
#voices{
	background-color : #f1f6d5;
}
#voices h2{
	font-family : "Noto Serif JP";
}
#voices h2::after{
	display : block;
	content : "";
	background-color : var( --green );
}
#voices li > a{
	display : grid;
}
#voices picture{
	overflow : hidden;
}
#voices picture > img{
	width : 100%;
	height : 100%;
	object-fit : cover;
}
#voices picture{
	width : 100%;
}
#voices li span{
	display : block;
	border-bottom-color : currentColor;
	border-bottom-style : solid;
}
@media screen and ( max-width : 750px ){
	#voices{
		padding-top : calc( ( 100 - 9 ) var( --remBase ) );
		padding-bottom : calc( 97 var( --remBase ) );
	}
	#voices h2{
		font-size : 4.2rem;
		font-weight : 400;
		line-height : calc( 60 / 42 );
		text-align : center;
	}
	#voices h2::after{
		width : calc( 220 var( --percentBase ) );
		height : calc( 6 var( --remBase ) );
		margin-inline : auto;
		margin-top : calc( ( 23 - 9 ) var( --remBase ) );
	}
	#voices > p{
		margin-top : calc( ( 37 - 7 ) var( --remBase ) );
		font-size : 2.6rem;
		line-height : calc( 40 / 26 );
	}
	#voices ul{
		margin-top : calc( 36 var( --remBase ) );
	}
	#voices li + li{
		margin-top : calc( 30 var( --remBase ) );
	}
	#voices li a{
		grid-template-rows : auto 1fr auto;
		grid-template-columns : calc( 200 var( --percentBase ) ) calc( 10 var( --percentBase ) ) 1fr auto;
	}
	#voices picture{
		grid-row : 1/4;
		grid-column : 1;
		height : calc( 165 var( --remBase ) );
	}
	#voices li p{
		grid-row : 1;
		grid-column : 3/5;
		margin-top : calc( ( 1em - 1lh ) / 2 );
		font-size : 2.6rem;
		line-height : calc( 40 / 26 );
	}
	#voices li span{
		grid-row : 3;
		grid-column : 4;
		padding-bottom : calc( 6 var( --remBase ) );
		font-size : 2.6rem;
		border-bottom-width : calc( 2 var( --remBase ) );
	}
	#voices .link01{
		margin-top : calc( 64 var( --remBase ) );
	}
}
@media print , screen and ( min-width : 751px ){
	#voices{
		padding-top : calc( ( 62 - 5 ) var( --remBase ) );
		padding-bottom : calc( 70 var( --remBase ) );
	}
	#voices h2{
		font-size : 3.4rem;
		font-weight : 300;
		line-height : calc( 44 / 34 );
	}
	#voices h2::after{
		width : calc( 250 var( --percentBase ) );
		height : calc( 3 var( --remBase ) );
		margin-top : calc( ( 25 - 5 ) var( --remBase ) );
	}
	#voices > p{
		margin-top : calc( ( 20 - 4 ) var( --remBase ) );
		font-size : 1.6rem;
		line-height : calc( 24 / 16 );
	}
	#voices ul{
		display : grid;
		grid-template-columns : repeat( 3 , calc( 100% / 3 ) );
		column-gap : calc( 10 var( --percentBase ) );
		margin-top : calc( 22 var( --remBase ) );
	}
	#voices li a{
		grid-template-rows : calc( ( 16 - 5 ) var( --remBase ) ) auto 1fr auto;
		grid-template-columns : calc( 170 * 100% / 350 ) calc( 10 * 100% / 350 ) auto 1fr;
		width : calc( 350 * 100% / 360 );
	}
	#voices picture{
		grid-row : 1/5;
		grid-column : 1;
		height : calc( 140 var( --remBase ) );
	}
	#voices li p{
		grid-row : 2;
		grid-column : 3/5;
		font-size : 1.4rem;
		line-height : calc( 24 / 14 );
	}
	#voices li span{
		grid-row : 4;
		grid-column : 3;
		padding-inline : calc( 7 var( --remBase ) );
		padding-bottom : calc( ( 5 - 3 ) var( --remBase ) );
		font-size : 1.6rem;
		line-height : calc( 22 / 16 );
		border-bottom-width : 1px;
	}
	#voices .link01{
		margin-top : calc( 61 var( --remBase ) );
	}
}

/* --------------------------------------------
COLUMNS
--------------------------------------------- */
#colums > a{
	display : block;
	width : 100%;
}
#colums > a img{
	width : 100%;
	height : auto;
}
@media screen and ( max-width : 750px ){
	#colums{
		padding-top : calc( ( 106 - var( --sp-title04-lh ) ) * 100vw / 750 );
		padding-bottom : calc( 89 * 100vw / 750 );
	}
	#colums > a{
		margin-top : calc( 71 var( --remBase ) );
	}
}
@media print , screen and ( min-width : 751px ){
	#colums{
		display : grid;
		grid-template-rows : auto calc( 90 var( --remBase ) ) calc( 143 var( --remBase ) ) 1fr;
		grid-template-columns : calc( 520 var( --percentBase ) ) calc( 13 var( --percentBase ) ) calc( 27 var( --percentBase ) ) calc( 520 var( --percentBase ) );
		align-items : start;
		padding-top : calc( 117px - var( --pc-title04-lh ) );
		padding-bottom : 42px;
	}
	#colums > a{
		grid-row : 3;
		grid-column : 1/3;
	}
}
#news li{
	border-color : rgb( 0 0 0 / .2 );
	border-style : dotted;
}
@media screen and ( max-width : 750px ){
	#news ul{
		margin-top : calc( 7 * 100vw / 750 );
	}
	#news li{
		border-bottom-width : calc( 3 * 100vw / 750 );
	}
	#news li a{
		display : block;
		padding-top : calc( 38 * 100vw / 750 );
		padding-bottom : calc( ( 37 - 7 ) * 100vw / 750 );
	}
	#news time{
		font-size : 2.6rem;
		letter-spacing : .1em;
	}
	#news h3{
		font-size : 2.6rem;
		line-height : 1.53;
	}
	#news h3{
		margin-top : calc( ( 14 - 7 ) * 100vw / 750 );
	}
	#news .link01{
		margin-top : calc( 39 * 100vw / 750 );
	}
}
@media print , screen and ( min-width : 751px ){
	#news{
		grid-row : 1;
		grid-column : 1;
	}
	#news ul{
		margin-top : 15px;
	}
	#news li{
		border-bottom-width : 1px;
	}
	#news li a{
		display : grid;
		grid-template-columns : 113px 1fr;
		grid-row : auto;
		padding-top : calc( 20px - 3px );
		padding-bottom : calc( 18px - 3px );
	}
	#news time{
		grid-row : 1;
		grid-column : 1;
		margin-top : 3px;
		font-size : 1.6rem;
	}
	#news h3{
		font-size : 1.6rem;
		line-height : 1.37;
	}
	#news h3{
		grid-row : 1;
		grid-column : 2;
	}
	#news .link01{
		margin-top : 26px;
	}
}
#memories li{
	border-color : rgb( 0 0 0 / .2 );
	border-style : dotted;
}
#memories li a{
	display : flex;
}
#memories picture{
	overflow : hidden;
}
#memories picture > img{
	width : 100%;
	height : 100%;
	object-fit : cover;
}
#memories picture{
	flex-shrink : 0;
}
@media screen and ( max-width : 750px ){
	#memories{
		margin-top : calc( ( 121 - var( --sp-title04-lh ) ) * 100vw / 750 );
	}
	#memories > ul{
		margin-top : calc( -7 * 100vw / 750 );
	}
	#memories li{
		border-bottom-width : calc( 3 * 100vw / 750 );
	}
	#memories li a{
		align-items : center;
		padding-top : calc( 40 * 100vw / 750 );
		padding-bottom : calc( 40 * 100vw / 750 );
	}
	#memories picture{
		width : calc( 180 * 100% / 710 );
		height : calc( 125 * 100vw / 750 );
		margin-right : calc( 21 * 100% / 710 );
	}
	#memories h3{
		font-size : 2.6rem;
		line-height : 1.3;
	}
	#memories .link01{
		margin-top : calc( 48 * 100vw / 750 );
	}
}
@media print , screen and ( min-width : 751px ){
	#memories{
		grid-row : 1/5;
		grid-column : 4;
	}
	#memories > ul{
		margin-top : 7px;
	}
	#memories li{
		border-bottom-width : 1px;
	}
	#memories li a{
		align-items : flex-start;
		padding-top : 21px;
		padding-bottom : 21px;
	}
	#memories picture{
		width : 100px;
		height : 80px;
		margin-right : 13px;
	}
	#memories li div div{
		display : flex;
		align-items : flex-start;
	}
	#memories time{
		flex-shrink : 0;
		margin-top : 5px;
		font-size : 1.6rem;
	}
	#memories ul ul{
		position : relative;
		display : flex;
		flex-grow : 1;
		flex-wrap : wrap;
		padding-left : calc( 48px - 10px );
		margin-top : calc( 5px - 10px - 3px );
	}
	#memories ul ul::before{
		position : absolute;
		top : calc( 5px + 10px - 3px );
		left : 0;
		font-size : 1.6rem;
		line-height : 1;
		white-space : pre;
		content : "　｜　";
	}
	#memories ul ul li{
		font-size : 1.6rem;
		line-height : 1.37;
	}
	#memories ul ul li{
		margin-top : 10px;
		margin-left : 10px;
	}
	#memories h3{
		margin-top : calc( 16px - 3px - 3px );
	}
	#memories h3{
		font-size : 1.6rem;
		line-height : 1.37;
	}
	#memories .link01{
		margin-top : 25px;
	}
}

/* 20250626 add */
#plans .title03 {
	display : revert;
	font-weight : 300;
	color : revert;
	padding-block: revert;
}
@media print, screen and (min-width: 751px) {
	#plans .title03 {
		font-size : 3.4rem;
		line-height : 1.05;
		margin-bottom: 35px;
	}
}
@media print, screen and (max-width: 750px) {
	#plans {
		padding-top: calc((147 / 2 - var(--sp-title03-lh)) * 100vw / 750);
	}
	#plans .title03 {
		font-size : 4.2rem;
		line-height : 1.42;
		margin-bottom : calc( 18 * 100vw / 750 );
	}
	#plans .title03::after {
		width : calc(220 * 100% / 750);
	}
}

/* 20251030 依頼することのメリット */
#merit {
  background-color: #f1f6d5;
  padding: 100px calc( ( 100% - 1080px ) / 2 );
}
.meritTitle {
  font-size: 3.4rem;
  line-height: 1.05;
  margin-bottom: 35px;
  font-weight: 300;
  text-align: center;
  font-family: "Noto Serif JP";
}
.meritTitle::after {
  content: "";
  display: block;
  margin: 0 auto;
  font-size: 0;
  background-color: var(--green);
  width: 250px;
  height: 3px;
  margin-top: calc(24px - var(--pc-title03-lh));
}
.meritList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.meritList .items {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.meritList .itemImage img {
  display: block;
  width: 100%;
}
.meritList .itemHeader {
  font-weight: bold;
  text-align: center;
  font-size: 20px;
}
.itemText {
  line-height: calc(24 / 18);
}
.voiceDescription {
  text-align: center;
}
@media screen and (max-width: 750px) {
  .meritList {
    grid-template-columns: auto;
  }
  .meritTitle {
    font-size: 4.2rem;
  }
  .meritTitle::after {
    width: calc(220 * 100% / 750);
    height: calc(6 * 100vw / 750);
    margin-top: calc((23 - var(--sp-title03-lh)) * 100vw / 750);
  }
  .itemText {
    padding: 10px;
  }
}

/* 20251118 特徴コンテンツ変更 */
#feature .retouch_features_addition_box li:nth-child(-n+4) a {
	padding-bottom: calc(24px - var(--pc-text03-lh));
	padding-left: 20px;
	padding-right: 20px;
}
#feature .retouch_features_addition_box li:nth-child(-n+4) h3 {
	width: 380px;
	padding-bottom: 11px;
}
#feature .retouch_features_addition_box li:nth-child(-n+4) h3::before {
	margin-right: 21px;
}
#feature .retouch_features_addition_box li:nth-child(-n+4) .text03 {
	margin-top: calc(13px - var(--pc-text03-lh));
}
#feature .retouch_features_addition_box li:nth-child(3) {
	grid-row: 3/4;
	grid-column: 1/2;
}
#feature .retouch_features_addition_box li:nth-child(4) {
	grid-row: 3/4;
	grid-column: 3/4;
}
#feature .retouch_features_addition_box li:nth-child(3) h3::before {
	background-image: url(../images/home/feature/top4.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#feature .retouch_features_addition_box li:nth-child(4) h3::before {
	background-image: url(../images/home/feature/bg03.jpg);
}
@media print,
screen and (min-width: 751px) {
	#feature.retouch_features_addition_wrap {
			height: calc(80px + 850px);
	}
}
@media screen and (max-width: 750px) {
	#feature.retouch_features_addition_wrap li:nth-child(4) {
			margin-top: calc(20 * 100vw / 750);
	}
}

/* 20251218 家系図を作るタイミング */
#scn-survey-timing {
	background-color: #f1f6d5;
	padding: 100px calc((100% - 1080px) / 2);
	line-height: 1.5;
}
#scn-survey-timing .scn-description {
	width: 80%;
	margin: 60px auto
}
#scn-survey-timing .scn-item {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	row-gap: 20px;
	column-gap: 10px;
	margin: 60px auto;
}
#scn-survey-timing .scn-img {
	width: 100%;
	max-width: 320px;
}
#scn-survey-timing .scn-img img {
	width: 100%;
}
#scn-survey-timing .scn-txt-wrap {
	display: flex;
	justify-content: center;
	flex-direction: column;
}
#scn-survey-timing .scn-txt-box {
	width: 100%;
	max-width: 650px;
}
#scn-survey-timing .scn-headline {
	margin: 0 auto 10px;
	font-weight: bold;
}
@media screen and (max-width: 750px) {
	#scn-survey-timing {
		padding: 10px;
	}
	#scn-survey-timing .scn-description {
		width: 100%;
	}
	#scn-survey-timing .scn-headline {
		font-weight: bold;
		text-align: center;
		font-size: 20px;
	}
}