@charset "UTF-8";


/* ========================================================
  
  common

======================================================== */

/*-----------------------------------------------
 common - header
-----------------------------------------------*/

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-logo__site {
	position: absolute;
}
}

/*---------------------------------------------------------
 common - info
---------------------------------------------------------*/



/* ========================================================
  
  FV

======================================================== */
.l-fv {
	display: flex;
	flex-direction: column;

	width: 100%;
	height: 100vh;
	min-height: min(calc(100vw * 0.74), 1100px);
}
.l-fv__img {
	height: calc(100% - min(12vw,130px));
}
/* Tablet,Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 960px) {

.l-fv {
	width: 100svw;
	height: 100svh;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.l-fv {
	display: block;
	height: 100svh;
	min-height: calc(100vw * 1.66);
	max-height: calc(100vw * 2);
}
.l-fv__img {
	height: 100%;
	padding-top: 26vw;
}
}


/*-----------------------------------------------
 FV - slide
-----------------------------------------------*/
.l-fv__slide {
	width: 100%;
	height: 100%;
	/* isolation: isolate; */

	.splide__track,
	.splide__list,
	.splide__slide {
		width: inherit;
		height: inherit;
	}

	.splide__slide {
		width: inherit;
		height: inherit;

		&::after {
			position: absolute;
			content: "";
			background: radial-gradient(rgb(0 0 0 / 0.3), transparent),
						linear-gradient(to top, rgb(138 227 196 / 1), transparent 40%);
			background-repeat: no-repeat;
			background-position: left bottom;
			background-size: contain;
			width: 100%;
			height: 100%;
			inset: 0;
			mix-blend-mode: multiply;
		}
	}
}

/* img-wrap */
.l-fv__slide {
	.img-wrap {
		height: 100%;
		display: flex;
		flex-wrap: wrap;

		> * {
			overflow: clip;
			clip-path: inset(0 100% 0 0);
			transition: clip-path 2s ease;

			> img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center center;
			}

			&.show-to-left {
				clip-path: inset(0 0 0 100%);
			}
		}
	}
	.splide__slide.is-active {
		.img-wrap {
			> * {
				clip-path: inset(0 0 0 0) !important;
			}
		}
	}
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.l-fv__slide {
	.slide1 {
		.img-wrap > * {
			width: 50%;
		}
	}
	.slide2 {
		.img-wrap > * {
			width: 25%;
		}
	}
	.slide4 {
		.img-wrap > * {
			width: 25%;

			&:nth-of-type(1),
			&:nth-of-type(6) {
				width: 50%;
			}
		}
	}
	.splide__pagination {
		position: absolute;
		justify-content: flex-start;
		left: 3%;
		bottom: 0;
		z-index: 1;
	}
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.l-fv__slide {

	.slide1 {
		.img-wrap > * {
			width: 100%;
			height: 62%;

			&:nth-child(1) {
				> img {
					object-position: center bottom;
					clip-path: polygon(0 0, 100% 0, 100% 60%, 0 100%);
				}
			}
			&:nth-child(2) {
				height: 66%;
				translate: 0 -40%;

				> img {
					object-position: center bottom;
					clip-path: polygon(0 40%, 100% 0, 100% 100%, 0 100%);
				}
			}
		}
	}
	.slide2 {
		.img-wrap > * {
			width: 50%;
			height: 25%;

			&:nth-child(4n),
			&:nth-child(4n + 1) {
				clip-path: inset(0 100% 0 0);
			}
			&:nth-child(4n + 2),
			&:nth-child(4n + 3) {
				clip-path: inset(0 0 0 100%);
			}
			&:nth-child(1) {
				> img {
					object-position: center 70%;
				}				
			}
			&:nth-child(3) {
				> img {
					object-position: center 30%;
				}				
			}
			&:nth-child(5),
			&:nth-child(6),
			&:nth-child(7),
			&:nth-child(8) {
				> img {
					object-position: center 15%;
				}
			}
		}
	}
	.slide3 {
		.img-wrap > * {
			> img {
				height: 105%;
				object-position: right -2vw top -16vw;
			}
		}
	}
	.slide4 {
		.img-wrap > * {
			width: 50%;
			height: 25%;

			&:nth-child(1),
			&:nth-child(6) {
				width: 100%;
			}
			&:nth-child(3) {
				clip-path: inset(0 0 0 100%);
			}
			&:nth-child(4) {
				clip-path: inset(0 100% 0 0);
			}

			&:nth-child(1) {
				> img {
					object-position: center 80%;
				}				
			}
			&:nth-child(4),
			&:nth-child(5),
			&:nth-child(6) {
				> img {
					object-position: center 15%;
				}
			}
		}
	}
}
}


/*-----------------------------------------------
 FV - copy
-----------------------------------------------*/
.l-fv__copy {
	position: absolute;
	width: 54%;
	max-width: max-content;
	left: 50%;
	top: 48%;
	opacity: 0;
	translate: -50% -50%;
	transition: opacity .8s .3s;
	z-index: 1;
}
.l-fv__img.is-animated {
	.l-fv__copy {
		opacity: 1;
	}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

.l-fv__copy {
	width: 65%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.l-fv__copy {
	width: 100%;
	top: 40%;
}
}


/*-----------------------------------------------
 FV - point
-----------------------------------------------*/
.l-fv__point {
	position: absolute;
	width: 71%;
	max-width: max-content;
	inset: auto 0 5% 0;
	margin: auto;
	opacity: 0;
	transition: opacity .8s .3s;
}
.l-fv__img.is-animated {
	.l-fv__point {
		opacity: 1;
	}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

.l-fv__point {
	width: 90%;
	bottom: 8%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.l-fv__point {
	width: 100%;
	inset: auto 0 -1% 0;
}
}





/* ========================================================
  
  page_common

======================================================== */
.p-inner {
	position: relative;
	padding-left: 3.5%;
}
.p-grd-area {
	position: relative;
	padding-top: 1px;

	.c-bg-color {
		background: linear-gradient(to top, #fabb89, #fd9281);
	}
}

.p-svg-wrap {
	position: relative;
	display: inline-block;
}
.p-svg-line {
	position: absolute;
	width: 104%;
	height: .78em;
	translate: -50% 0;
	left: 48%;
	bottom: -0.1em;
	z-index: -1;

	& polyline {
		fill: none;
		isolation: isolate;
		stroke: var(--color-primary);
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 20px;
		stroke-dasharray: 500;
		stroke-dashoffset: 500;
	}
}
.is-animated {
	.p-svg-line {
		& polyline {
			animation: LINE_DRAW 1.6s .2s ease forwards;
		}
	}
}
@keyframes LINE_DRAW {
  to {
    stroke-dashoffset: 0;
  }
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.p-inner {
	padding-left: 5%;
}
}

/*---------------------------------------------------------
 Heading
---------------------------------------------------------*/
.p-txt-grd {
	display: inline-block;
	letter-spacing: .18em;
	/* background: linear-gradient(to bottom, #5a3503, rgb(57 158 126 / 0.8)); */
	background: linear-gradient(to bottom, #5a3503, rgb(57 158 126 / 0.8) 50%, var(--color-grn) 60%);
	background-position: left top 100%;
	background-size: 100% 200%;
	background-repeat: no-repeat;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	transition: background-position 1.5s .4s;
}
.is-animated .p-txt-grd {
	background-position: left top;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}

/* ========================================================
  
  main

======================================================== */

/*---------------------------------------------------------
 Reason
---------------------------------------------------------*/
.reason {
	counter-reset: rsnCounter;

	.c-btn-radi {
		> a {
			width: max-content;
		}
	}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.reason {
	padding-top: 15%;
}
}

/* Reason - lead
-----------------------------------------------*/
.rsn-lead__ttl {
	font-size: min(4.8vw,411%);
	white-space: nowrap;
}
.rsn-lead__txt {
	position: relative;
	& p {
		font-size: min(1.8vw,135%);
		font-weight: var(--fw-bold);
		line-height: 2.1;
	}
}
.rsn-lead {
	.c-illust {
		&:nth-child(1) {
			left: -17%;
			bottom: 105%;
		}
		&:nth-child(2) {
			left: 90%;
			top: 80%;
		}
	}
}
.rsn-lead__mark {
	position: absolute;
	display: flex;
	font-size: min(8vw,700%);
	line-height: 1;
	letter-spacing: normal;
	right: -16%;
	bottom: 80%;

	> i {
		display: inline-block;
	}
	> i:nth-child(1) {
		color: var(--color-secondary);
	}
	> i:nth-child(2) {
		color: var(--color-primary);
		margin-top: 0.5em;
		margin-left: -0.6em;
	}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.rsn-lead {
	display: flex;
	column-gap: 5%;
	align-items: flex-end;
}
.rsn-lead__ttl {
	margin-bottom: 0;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.rsn-lead__ttl {
	font-size: 10vw;
}
.rsn-lead__txt {
	text-align: center;
	padding-top: 12%;
	
	& p {
		font-size: 100%;
	}
}
.rsn-lead {
	.c-illust {
		width: 24vw;

		&:nth-child(1) {
			inset: -14% auto auto -8%;
		}
		&:nth-child(2) {
			left: 78%;
			top: 85%;
		}
	}
}
.rsn-lead__mark {
	font-size: 15vw;
	inset: -0.2em -0.3em auto auto;
}
}

/* Reason - common
-----------------------------------------------*/
.rsn-index {
	display: flex;
	align-items: flex-end;
	column-gap: .8em;
	font: var(--font-en);
	font-size: min(1.6vw,1.17rem);
	letter-spacing: .08em;

	> p {
		position: relative;
		padding-left: .8em;
		margin-bottom: .7em;

		&::before {
			position: absolute;
			display: block;
			content: "";
			background-color: currentColor;
			width: 1px;
			height: 1.1em;
			rotate: 30deg;
			left: 0;
			top: 30%;
			translate: 0 -50%;
		}
	}

	.rsn-no {
		counter-increment: rsnCounter;
		display: inline-block;
		font-size: 300%;
		letter-spacing: .08em;
		line-height: 1.1;
		background: linear-gradient(to right, var(--grd-color-l), var(--grd-color-r));
		background-repeat: no-repeat;
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;

		&::before {
			content: counter(rsnCounter, decimal-leading-zero);
		}
	}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.rsn-index {
	font-size: 4vw;
}
}

/* Reason - main
-----------------------------------------------*/
.rsn-main {
	margin-bottom: min(10vw,120px);
}
.rsn-main__txt {
	.c-hdg--min {
		font-size: min(3vw,235%);
	}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.rsn-main {
	max-width: 1280px;

	&:nth-of-type(odd) {
		.rsn-main__img {
			margin-left: -4.5%;
		}
	}
	&:nth-of-type(even) {
		margin-left: auto;

		.rsn-main__img {
			margin-right: -4.5%;
		}
	}
}
.rsn-main__img {
	width: 54%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.rsn-main__img {
	width: 100%;
}
.rsn-main {
	&:nth-of-type(odd) {
		.rsn-main__img {
			margin-left: -6%;
		}
	}
	&:nth-of-type(even) {
		.rsn-main__img {
			margin-right: -6%;
		}
	}
}
.rsn-main__txt {
	.c-hdg--min {
		font-size: 8vw;
	}
}
}

/* Reason - sub
-----------------------------------------------*/
.rsn-sub {
	max-width: 1200px;
	display: grid;
	row-gap: 10vw;
	margin-inline: auto;
}
.rsn-sub__img {
	max-width: max-content;
	margin: 0 auto 5%;
}
.rsn-sub__txt {
	.c-hdg--min {
		font-size: min(2.5vw,176%);
	}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.rsn-sub {
	justify-content: space-between;
	grid-template-columns: repeat(3,min(31%,360px));
	row-gap: min(10vw,120px);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.rsn-sub__img {
	width: 85%;
}
.rsn-sub__txt {
	.c-hdg--min {
		font-size: 6.6vw;
	}
}
}




/*---------------------------------------------------------
 Consul
---------------------------------------------------------*/
.consul {
	.c-hdg--deco {
		position: absolute;
		left: 0;
		top: -0.4em;
	}
	.c-cta-wrap {
		margin-top: 1.5em;
	}
}
.consul-ttl {
	.c-txt--ccl {
		min-width: 6.6em;
		width: 6.6em;
		color: var(--color-taq);
		font-size: min(2vw,123%);
		background-color: #fff;
	}
	.c-hdg--min {
		font-size: min(2.3vw,167%);
		white-space: nowrap;

		> span {
			display: block;
			font-size: 203%;
		}
	}
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.consul {
	.c-slide--ticker {
		position: absolute;
		width: 31%;
		max-width: 460px;
		height: 100% !important;
		right: 0;
		top: 0;
		overflow: hidden;

		.splide__slide {
			width: 100%;
		}
	}
	.c-cta-wrap {
		width: 100%;
	}
	.c-illust {
		left: 83%;
		top: 0;
		translate: 0 -60%;
	}
}
.consul__inner {
	width: 62%;
	max-width: 800px;
	box-sizing: content-box;
	padding-left: 4%;
}
.consul-ttl {
	display: flex;
	align-items: center;
	column-gap: 1.5em;
	margin-bottom: 1.5em;

	.c-hdg--min {
		margin-bottom: 0;
	}
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.consul {
	padding-bottom: 0;

	.c-illust {
		left: 50%;
		top: 10vw;
		translate: none;
	}
}
.consul-ttl {
	.c-hdg--min {
		font-size: 105%;
		margin-top: 5%;
	}
	.c-txt--ccl {
		font-size: 5vw;
		left: 10%;
	}
}
}




/*---------------------------------------------------------
 Category
---------------------------------------------------------*/
.category {
	padding-bottom: min(18vw,266px);

	.c-bg-img {
		-webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 50%);
		mask-image: linear-gradient(to bottom, transparent 0%, black 50%);
		opacity: 0.3;
		inset: auto 0 0 0;
	}
}
/* Category - cat-list
-----------------------------------------------*/
.cat-list__item {
	&:nth-child(1) {
		--accent-color: #f9d2c9;
	}
	&:nth-child(2) {
		--accent-color: #add8e5;
	}
	&:nth-child(3) {
		--accent-color: #9ee8bc;
	}
	
	> a {
		display: block;
		text-align: center;
	}
	.c-icon {
		font-size: 220%;
		color: #FFF;
		background-color: var(--accent-color);
		margin: .5em auto 0;
		&::before {
			content: '\e812';
		}
	}
	.cat-chk {
		max-width: 330px;
		margin-inline: auto;
	}
}
.cat-list__img {
	position: relative;
	max-width: 390px;
	margin: 0 auto 5%;
	container-type: inline-size;

	> p {
		position: absolute;
		text-align: left;
		font: var(--font-min);
		font-size: min(9cqw);
		line-height: 1.7;
		letter-spacing: .16em;
		writing-mode: vertical-rl;
		right: 0;
		top: 0;

		&::before {
			position: absolute;
			content: "";
			background: url(../images/top/accent.svg) no-repeat;
			background-size: contain;
			width: 1em;
			height: 1em;
			right: -0.5em;
			top: -0.8em;
			scale: 0;
			transform-origin: left bottom;
			transition: scale .5s .5s;
		}
	}
}
.cat-list__txt {
	> p {
		position: relative;
		text-align: center;
		color: #FFF;
		width: 10em;
		font-size: min(1.8vw,117%);
		font-weight: var(--fw-bold);
		line-height: 1.4;
		letter-spacing: .1em;
		color: #FFF;
		background-color: var(--accent-color);
		border-radius: 2em;
		padding: .2em 1.2em;
		margin: 0 auto .4em;
	}
	.c-hdg--min {
		font-size: min(3.1vw,264%);
		font-feature-settings: "palt";
		white-space: nowrap;

		> span {
			display: block;
			font: var(--font-en);
			font-size: 45%;
			letter-spacing: .1em;
		}
	}
}
.cat-chk {
	text-align: left;
	font-size: min(1.5vw,105%);
	font-weight: var(--fw-bold);
	letter-spacing: .14em;
	line-height: 1.5;

	> li {
		position: relative;
		padding-left: 1.5em;
		padding-bottom: .5em;
		background: url(../images/common/underline-dot.svg) repeat-x left bottom;
		background-size: .34em auto;
		margin-bottom: .4em;
		
		&::before {
			position: absolute;
			content: "";
			font-family: 'fontello';
			font-weight: normal;
			left: 0;
			top: -0.1em;
			content: '\e808';
			color: var(--color-primary);
			font-size: 118%;
		}
	}
}
.cat-list__path {
	position: absolute;
	width: 100%;
	height: 100%;
	inset: 0;
	z-index: -1;

	> path {
		fill: none;
		isolation: isolate;
		stroke: var(--accent-color);
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 100px;
		stroke-dasharray: 1300;
		stroke-dashoffset: 1300;
	}
}
.cat-list__item {
	&.is-animated {
		.cat-list__path {
			> path {
				animation: LINE_DRAW 2s .4s ease forwards;
			}
		}
		.cat-list__img {
			> p {
				&::before {
					scale: 1;
				}
			}
		}
	}
	> a:hover {
		.c-icon {
			background-color: var(--color-brw-600);
		}
	}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.cat-list {
	display: flex;
	justify-content: center;
	column-gap: 5%;
}
.cat-list__item {
	width: 30%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.category {
	padding-bottom: 54vw;
}
.cat-list {
	display: grid;
	row-gap: 2em;
}
.cat-list__item {
	.c-icon {
		font-size: 7vw;
	}
}
.cat-list__img {
	width: 75%;
}
.cat-list__txt {
	> p {
		font-size: 100%;
	}
	.c-hdg--min {
		font-size: 200%;
	}
}
.cat-chk {
	width: 80%;
	font-size: 100%;
	letter-spacing: .08em;
	margin: 0 auto;
}
}

/* Category - bnr
-----------------------------------------------*/
.bnr-spc {
	position: relative;
	width: 80%;
	max-width: 750px;
	margin: 3.4% auto 0;

	> a {
		display: block;
		background: #efe2b7 url(../images/top/bnr-beauty-bg@2x.png) no-repeat right bottom;
		background-size: auto 100%;
		padding: 5% 7%;
	}
	.c-hdg--min {
		&:nth-child(1) {
			margin-bottom: 0;
		}
		&:nth-child(2) {
			display: flex;
			align-items: center;
			flex-wrap: wrap;
			gap: .2em;
			letter-spacing: .18em;
			margin-bottom: .2em;

			> span {
				color: #FFF;
				font-size: 45%;
				letter-spacing: .16em;
				background-color: #c3a130;
				padding: .3em 1em;
				border-radius: .5em;

				&::after {
					font-family: 'fontello';
					content: '\e803';
					font-size: 90%;
					font-weight: normal;
					vertical-align: 0.1em;
				}
			}
		}
	}
	.cat-chk {
		width: 56%;

		> li {
			background-image: url(../images/common/underline-dot-wh.svg);
			&::before {
				color: #c3a130;
			}
		}
	}
}
.bnr-spc__img {
	position: absolute;
	width: 24%;
	max-width: max-content;
	left: 60%;
	top: 53%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.bnr-spc {
	width: 100%;
	margin-top: 6%;

	> a {
		background-size: 100% auto;
		padding: 7%;
	}
	.c-hdg--min {
		&:nth-child(2) {
			font-size: 220%;
		}
	}
	.cat-chk {
		width: 100%;
		margin-top: 6%;
	}
}
.bnr-spc__img {
	width: 40%;
	left: 60%;
	top: 35%;
}
}




/*---------------------------------------------------------
 Nayami
---------------------------------------------------------*/
.nayami {
	position: relative;
	padding: 4.2% 6%;
	margin-top: max(-10vw,-150px);

	.c-bg-color {
		width: 100%;
		background: linear-gradient(to bottom, rgb(247 243 199 / 0.9), rgb(255 255 255 / 0.9));
		margin-inline: auto;
	}
}
.nayami__txt {
	position: relative;

	.c-hdg--min {
		position: relative;
		max-width: max-content;
		font-size: min(2.8vw,235%);
		white-space: nowrap;
		
		> span {
			font-size: 125%;
		}
		.c-brac-wrap {
			font-size: 175%;
			letter-spacing: .18em;
			padding: 0 .5em;
			margin-right: .2em;
		}
		.mark {
			position: absolute;
			display: block;
			font-size: 562%;
			line-height: 1;
			background: linear-gradient(to right, #fabb89, #fd9281);
			background-repeat: no-repeat;
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			rotate: 10deg;
			right: -0.45em;
			bottom: 0;
			z-index: -1;
		}
	}
}
.nayami__img {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(3,30.6%);
	row-gap: 10px;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.nayami {
	.c-illust {
		left: 37%;
		bottom: 0;
		translate: -50% 20%;
	}
}
.nayami__inner {
	max-width: 1154px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: 40% 57%;
	margin-left: auto;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.nayami {
	padding: 8% 7%;
	margin-top: -35%;

	.c-illust {
		left: 65%;
		top: 34vw;
	}
}
.nayami__txt {
	.c-hdg--min {
		font-size: 150%;
	}
	.c-btn-radi {
		text-align: left;
	}
}
.nayami__img {
	margin-top: 8%;
}
}




/*---------------------------------------------------------
 Case
---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.case__ttl {
	.c-btn-radi {
		text-align: center;
	}
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.case__ttl {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 6%;

	> * {
		margin-bottom: 0;
	}
}
}

/* Case - case-list
-----------------------------------------------*/
.case-list {
	display: flex;
	gap: 10px;
}
.case-list__item {
	flex: 1;
	> a {
		display: block;
		background-color: #fff;
		padding: 12% 10% 10%;

		&:hover {
			background-color: rgb(255 255 255 / 0.8);
		}
	}
}
.case-list__img {
	max-width: 250px;
	margin: 0 auto 5%;
}
.case-list__txt {
	text-align: center;
	font: var(--font-min);
	line-height: 1.5;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.case__inner {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 20% 76%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.case-list {
	width: max-content;
}
.case-list__item {
	flex: auto;
	width: 50vw;

	> a {
		padding: 12% 10% 10%;
	}
}
.case-list__img {
	max-width: 250px;
	margin: 0 auto 5%;
}
.case-list__txt {
	text-align: center;
	font: var(--font-min);
	line-height: 1.5;
}
}



/*---------------------------------------------------------
 Clinic
---------------------------------------------------------*/
.clinic {
	.c-hdg--deco {
		margin-bottom: .4em;
	}
	.c-hdg--min {
		font-size: min(3.6vw,264%);
		line-height: 1.8;

		> span {
			color: var(--color-taq);
		}
	}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.clinic {
	.c-hdg--min {
		font-size: 160%;
	}
}
}




/*---------------------------------------------------------
 Message
---------------------------------------------------------*/
.message {
	width: 96%;
	max-width: 1400px;
	background: linear-gradient(to top, #FFF, #e2d0ad 15%);
	padding: min(8vw,120px) 5%;
	margin-inline: auto;

	.c-hdg--min {
		font-size: min(3.4vw,276%);
	}
	.c-list {
		font-size: 88%;
		margin-top: 6%;

		> li::before {
			color: var(--color-primary);
		}
	}
}
.message__name {
	position: relative;
	font: var(--font-min);
	font-size: min(2.8vw,205%);
	line-height: 1.5;
	letter-spacing: .18em;
	margin-top: 1em;

	> span {
		font-size: 57%;
		letter-spacing: .15em;
		vertical-align: 0.2em;
		margin-right: .6em;
	}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.message__inner {
	max-width: 1200px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: 52% 42%;
	margin-inline: auto;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.message {
	background: linear-gradient(to top, #FFF, #e2d0ad 5%);
	padding: 10% 6% 12%;

	.c-hdg--min {
		font-size: 160%;
	}
}
.message__inner {
	display: grid;
	row-gap: 1.8em;
}
.message__name {
	font-size: 160%;
	margin-top: .6em;
}
}




/*---------------------------------------------------------

---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


}




/*-----------------------------------------------
 Layout - Info
-----------------------------------------------*/
.l-info {
	border-top: 1px solid var(--color-bdr);
}
.l-info__box {
	width: 94vw;
	max-width: 1340px;
	background: linear-gradient(to bottom, rgba(242,242,237,1), rgba(242,242,237,0.3));
	padding: min(10vw,80px) 3%;
	margin-inline: auto;
	margin-bottom: min(4vw,50px);
}
.l-info__box iframe {
	display: block;
}
.l-info__box__inner {
	display: grid;
	row-gap: 7vw;
}
.l-info__box address {
	margin: 1.2em 0 1em;
}

.l-info__box .c-txt--clinic {
	margin-bottom: .5em;
}

.l-info__box .c-txt--radi {
	align-self: center;
	text-align: center;
	max-width: max-content;
	background-color: var(--color-secondary);
	padding: .8em 1.6em;
	align-self: center;
	margin-inline: auto;
}

.l-info__box .c-btn-wrap {
	margin-top: 0;
}

.l-info__box .c-cta-wrap {
	margin-top: 3.5%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.l-info__box__inner {
	max-width: 1200px;
	justify-content: space-between;
	grid-template-columns: min(510px,46%) 50%;
	margin-inline: auto;
}
.l-info__box__inner.comingsoon {
	grid-template-columns: 32% 64%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.l-info__box {
	padding: 10% 5%;
}
.l-info iframe {
	height: 70vw;
}

.l-info__box .c-txt--clinic {
	text-align: center;
	margin-bottom: 1em;
}

.l-info__box .c-cta-wrap {
	margin-top: 8%;
}
}




/*---------------------------------------------------------

---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


}
