@charset "UTF-8";

/* --------------------------------------------
STATE
--------------------------------------------- */
.is-sp{
	@media print , screen and ( width > 780px ){
		display : none;
	}
}
.is-pc{
	@media screen and ( width <= 780px ){
		display : none;
	}
}
.is-tb{
	@media screen and ( width <= 780px ){
		display : none;
	}
	@media print , screen and ( width >= 1200px ){
		display : none;
	}
}

/* --------------------------------------------
MAIN CONTENT
--------------------------------------------- */
.main_content{
	background : image-set( url( "../images/top/bg.avif" ) type( "image/avif" ) , url( "../images/top/bg.webp" ) type( "image/webp" ) ) left top / cover no-repeat;
}

/* --------------------------------------------
REVIEWS01
--------------------------------------------- */
#reviews01{
	height : calc( 1402 * var( --remBase ) );
	padding-top : calc( 48 * var( --remBase ) );
	background : image-set( url( "../images/ui/bg/pattern01.avif" ) type( "image/avif" ) , url( "../images/ui/bg/pattern01.webp" ) type( "image/webp" ) ) left top / 100% auto repeat-y;
}
#reviews0101{
	h2 , li{
		img{
			width : auto;
		}
	}
	h2{
		picture{
			img{
				height : calc( 54.5 * var( --remBase ) );
			}
		}
		> img{
			height : calc( 63 * var( --remBase ) );
			margin-top : calc( 32.46 * var( --remBase ) );
		}
		img{
			margin-inline : auto;
		}
	}
	ul{
		display : grid;
		grid-template-columns : auto auto;
		column-gap : calc( 15.47 * var( --viewportBase ) );
		align-items : start;
		justify-content : center;
		margin-top : calc( 25.47 * var( --remBase ) );
		img{
			height : calc( 161 * var( --remBase ) );
		}
	}
	.swiper-review{
		margin-top : calc( 29.33 * var( --remBase ) );
		font-size : 0;
	}
	.swiper-review .swiper2 .swiper-wrapper{
		transition-timing-function : linear;
	}
	.swiper-review .swiper2 .swiper-wrapper .swiper-slide{
		width : min( 273.7878787879px , 35.101010101vw );
		padding-left : min( 7.8787878788px , 1.0101010101vw );
		padding-right : min( 7.8787878788px , 1.0101010101vw );
	}
	.swiper-review .swiper2 .swiper-wrapper .swiper-slide.even{
		padding-top : min( 29.5454545455px , 3.7878787879vw );
	}
	.swiper-review .swiper2 .swiper-wrapper .swiper-slide img{
		width : 100%;
	}
	.swiper-review{
		img{
			height : auto;
		}
	}
	.note{
		margin-top : calc( 20 * var( --remBase ) );
		font-size : calc( 12 * var( --remBase ) );
		font-weight : 500;
		line-height : 1;
		color : #b6b6b6;
		text-align : center;
	}
	@media only screen and ( max-width : 768px ){
		.swiper-review .swiper2 .swiper-wrapper .swiper-slide{
			width : 35.101010101vw;
			padding-left : 1.0101010101vw;
			padding-right : 1.0101010101vw;
		}
		.swiper-review .swiper2 .swiper-wrapper .swiper-slide.even{
			padding-top : 3.7878787879vw;
		}
	}
}
.partsReviews0201{
	margin-top : calc( 38 * var( --remBase ) );
}
.partsReviews02{
	.swiper-content{
		padding-inline : calc( 15 * var( --viewportBase ) );
		margin-top : calc( 25 * var( --remBase ) );
		img{
			height : auto;
		}
	}
	.swiper-content .swiper{
		position : relative;
		padding-bottom : min( 70.9090909091px , 9.0909090909vw );
	}
	@media only screen and ( max-width : 768px ){
		.swiper-content .swiper{
			padding-bottom : 9.0909090909vw;
		}
	}
	.swiper-content .swiper-pagination{
		position : absolute;
		bottom : 0;
		left : 50%;
		transform : translateX( -50% );
	}
	.swiper-content .swiper-pagination-bullet{
		width : min( 19.696969697px , 2.5252525253vw );
		height : min( 19.696969697px , 2.5252525253vw );
		margin : 0 min( 14.7727272727px , 1.8939393939vw );
		background-color : #fff;
		border-radius : 50%;
		opacity : 1;
		transition : background-color .3s;
	}
	@media only screen and ( max-width : 768px ){
		.swiper-content .swiper-pagination-bullet{
			width : 2.5252525253vw;
			height : 2.5252525253vw;
			margin : 0 1.8939393939vw;
		}
	}
	.swiper-content .swiper-pagination-bullet-active{
		background : linear-gradient( 90deg , #e58680 0% , #e59d99 51.92% );
	}
}

/* --------------------------------------------
DOCTORS
--------------------------------------------- */
#doctors{
	font-size : 0;
	li:first-child{
		position : relative;
		z-index : 1;
	}
	li + li{
		margin-top : calc( -24 * var( --remBase ) );
	}
}

/* --------------------------------------------
FEATURES
--------------------------------------------- */
#features{
	position : relative;
	padding-top : calc( 214 * var( --remBase ) );
	padding-bottom : calc( 54 * var( --remBase ) );
	margin-top : calc( 54 * var( --remBase ) );
	overflow : clip;
	h2{
		position : absolute;
		top : calc( -65.71 * var( --remBase ) );
		left : calc( -68.71 * var( --viewportBase ) );
		img{
			width : auto;
			height : calc( 336 * var( --remBase ) );
		}
	}
	ul{
		padding-inline : calc( 15 * var( --viewportBase ) );
	}
	li:nth-child( 2 ){
		margin-top : calc( 34 * var( --remBase ) );
	}
	li:nth-child( 3 ){
		margin-top : calc( 35 * var( --remBase ) );
	}
}

/* --------------------------------------------
PRICE
--------------------------------------------- */
#price{
	height : calc( 750 * var( --remBase ) );
	background : image-set( url( "../images/top/price/bg.avif" ) type( "image/avif" ) , url( "../images/top/price/bg.webp" ) type( "image/webp" ) ) left top / cover no-repeat;
	.partsPrice02{
		margin-top : calc( 16 * var( --remBase ) );
	}
	.partsCta02{
		margin-top : calc( 18 * var( --remBase ) );
	}
}
.frame{
	padding-top : calc( 57 * var( --remBase ) );
	background : image-set( url( "../images/top/frame.avif" ) type( "image/avif" ) , url( "../images/top/frame.webp" ) type( "image/webp" ) ) left top / 100% auto no-repeat;
}

/* --------------------------------------------
REVIEWS02
--------------------------------------------- */
#reviews02{
	padding-bottom : calc( 50 * var( --remBase ) );
}
#reviews0201{
	position : relative;
	padding-bottom : calc( 138 * var( --remBase ) );
	overflow-x : clip;
	&::after{
		position : absolute;
		bottom : calc( 36 * var( --remBase ) );
		left : calc( -33.63 * var( --viewportBase ) );
		display : block;
		width : auto;
		height : calc( 82 * var( --remBase ) );
		aspect-ratio : 915/164;
		font-size : 0;
		content : "";
		background : image-set( url( "../images/top/reviews/reviews02/next.avif" ) type( "image/avif" ) , url( "../images/top/reviews/reviews02/next.webp" ) type( "image/webp" ) ) left top / contain no-repeat;
	}
	h2{
		img{
			width : auto;
			margin-inline : auto;
		}
		picture{
			img{
				height : calc( 48 * var( --remBase ) );
			}
		}
		> img{
			height : calc( 62.59 * var( --remBase ) );
			margin-top : calc( 26.74 * var( --remBase ) );
		}
	}
	ul{
		display : grid;
		grid-template-columns : auto auto;
		column-gap : calc( 15.34 * var( --viewportBase ) );
		align-items : start;
		justify-content : center;
		margin-top : calc( 25.67 * var( --remBase ) );
		img{
			height : calc( 161 * var( --remBase ) );
		}
	}
	.note{
		margin-top : calc( 20 * var( --remBase ) );
		font-size : calc( 10 * var( --remBase ) );
		font-weight : 500;
		line-height : 1;
		color : #b6b6b6;
		text-align : center;
	}
}
#reviews0201{
	.swiper-review{
		margin-top : calc( 56.33 * var( --remBase ) );
	}
	.swiper-review .swiper2 .swiper-wrapper{
		transition-timing-function : linear;
	}
	.swiper-review .swiper2 .swiper-wrapper .swiper-slide{
		width : min( 561.3636363636px , 71.9696969697vw );
		padding-left : min( 29.5454545455px , 3.7878787879vw );
		padding-right : min( 29.5454545455px , 3.7878787879vw );
	}
	.swiper-review .swiper2 .swiper-wrapper .swiper-slide img{
		width : 100%;
		height : auto;
	}
	.swiper-review .swiper2 .swiper-pagination-bullet{
		width : min( 11.8181818182px , 1.5151515152vw );
		height : min( 11.8181818182px , 1.5151515152vw );
		margin : 0 min( 9.8484848485px , 1.2626262626vw );
		background-color : #fff;
		border-radius : 50%;
		opacity : 1;
		transition : background-color .3s;
	}
	.swiper-review .swiper2 .swiper-pagination{
		position : relative;
		margin-top : calc( 36 * var( --remBase ) );
	}
	.swiper-review .swiper2 .swiper-pagination-bullet-active{
		background : linear-gradient( 90deg , #e58680 0% , #e59d99 51.92% );
	}
	@media only screen and ( max-width : 768px ){
		.swiper-review .swiper2 .swiper-wrapper .swiper-slide{
			width : 71.9696969697vw;
			padding-left : 3.7878787879vw;
			padding-right : 3.7878787879vw;
		}
	}
	@media only screen and ( max-width : 768px ){
		.swiper-review .swiper2 .swiper-pagination-bullet{
			width : 1.5151515152vw;
			height : 1.5151515152vw;
			margin : 0 1.2626262626vw;
		}
	}
}

/* --------------------------------------------
DETAIL
--------------------------------------------- */
#detail{
	padding-bottom : calc( 33 * var( --remBase ) );
	picture{
		display : block;
		padding-inline : calc( 15 * var( --viewportBase ) );
		margin-top : calc( 54 * var( --remBase ) );
	}
}
.partsCta03{
	padding-bottom : calc( 34 * var( --remBase ) );
	margin-top : calc( 18 * var( --remBase ) );
}

/* --------------------------------------------
FOOTER
--------------------------------------------- */
#footer{
	img{
		width : auto;
	}
	.me{
		height : calc( 596 * var( --remBase ) );
		padding-top : calc( 77.03 * var( --remBase ) );
		background : image-set( url( "../images/top/footer/bg.avif" ) type( "image/avif" ) , url( "../images/top/footer/bg.webp" ) type( "image/webp" ) ) left top / cover no-repeat;
	}
	.logo{
		img{
			width : auto;
			height : calc( 39.95 * var( --remBase ) );
			margin-inline : auto;
		}
	}
	dl{
		margin-top : calc( 30.83 * var( --remBase ) );
		img{
			margin-inline : auto;
		}
		dt{
			img{
				height : calc( 11.41 * var( --remBase ) );
			}
		}
		dd{
			&:nth-of-type( 1 ){
				margin-top : calc( 33.19 * var( --remBase ) );
				img{
					height : calc( 35.59 * var( --remBase ) );
				}
			}
			&:nth-of-type( 2 ){
				margin-top : calc( 21.21 * var( --remBase ) );
				img{
					height : calc( 12.22 * var( --remBase ) );
				}
			}
			&:nth-of-type( 3 ){
				margin-top : calc( 42.55 * var( --remBase ) );
				iframe{
					display : block;
					width : calc( 324 * var( --viewportBase ) );
					height : auto;
					aspect-ratio : 324/193;
					margin-inline : auto;
				}
			}
		}
	}
	ul{
		display : grid;
		grid-template-columns : auto auto;
		column-gap : calc( 30 * var( --viewportBase ) );
		align-items : center;
		justify-content : center;
		margin-top : calc( 38 * var( --remBase ) );
		a{
			font-size : calc( 14 * var( --remBase ) );
			font-weight : 500;
			line-height : calc( 24 / 14 );
			color : white;
		}
	}
	.copyright{
		display : block;
		align-content : center;
		justify-content : center;
		height : calc( 34 * var( --remBase ) );
		background-color : #658fa0;
		img{
			width : auto;
			height : calc( 7.13 * var( --remBase ) );
			margin-inline : auto;
		}
	}
}

/* --------------------------------------------
FIXED LINKS
--------------------------------------------- */
body:has( #fixedLinks ){
	@media screen and ( width <= 780px ){
		padding-bottom : calc( 64 * var( --remBase ) );
	}
}
#fixedLinks{
	@media screen and ( width <= 780px ){
		position : fixed;
		bottom : 0;
		left : 0;
		z-index : 5;
		display : grid;
		grid-template-rows : calc( 64 * var( --remBase ) );
		grid-template-columns : repeat( 2 , 50% );
		width : 100%;

		/* translate: 0 100%; */
		a{
			display : grid;
			grid-template-columns : auto auto;
			align-items : center;
			justify-content : center;
			width : 100%;
			height : 100%;
			font-family : source-han-sans-japanese;
			font-size : calc( 16 * var( --remBase ) );
			font-weight : 700;
			line-height : 1.2;
			text-align : center;
			&::before{
				display : block;
				width : auto;
				font-size : 0;
				content : "";
				background-repeat : no-repeat;
				background-position : 0 0;
				background-size : contain;
			}
		}
		a:nth-of-type( 1 ){
			column-gap : calc( 10 * 100% / 195 );
			color : white;
			background-color : #4fba2b;
			&::before{
				height : calc( 23.33 * var( --remBase ) );
				aspect-ratio : 24.48/23.33;
				background-image : url( "../images/ui/sns/line.svg" );
			}
		}
		a:nth-of-type( 2 ){
			column-gap : calc( 12 * 100% / 195 );
			color : #db5549;
			background-color : white;
			outline : solid 1px #db5549;
			outline-offset : -1px;
			&::before{
				height : calc( 23.25 * var( --remBase ) );
				aspect-ratio : 22.88/23.25;
				background-image : url( "../images/ui/icon/calendar.svg" );
			}
		}
	}
}