@charset "UTF-8";

.l-fv__img {background-image: url("../images/clinic/fv.jpg");}



/* ページ内共通
---------------------------------------------------------*/
/*スタイル*/
.clinic__style > dt {
	font-size: var(--fs-30);
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.5em;
	margin-bottom: .8em;
}
.clinic__style > dt .ft_en {
	color: var(--color-general);
	font: var(--font-en);
	font-size: var(--fs-15);
	letter-spacing: .1em;
	margin-bottom: .8em;
}
.clinic__style-lead {
	color: #41bde6;
	font-size: var(--fs-base);
	line-height: 1.5em;
	margin-bottom: .5em;
}

/*レイアウト*/
.clinic__width-img {
	width: min(100%,1152px);
	margin-inline: auto;
	margin-bottom: var(--gap-70);
}
.clinic__width-txt {
	width: min(80%,880px);
	margin-inline: auto;
}

.clinic__layout {
	width: min(100%,1280px);
	margin-inline: auto;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.clinic__layout-img {
	width: min(57%,720px);
}
.clinic__layout-txt {
	width: min(39%,450px);
}
.clinic__layout-txt .clinic__style {
	width: min(100%,385px);
}

.clinic__list-col2 {
	width: min(100%,1280px);
	margin-inline: auto;
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	row-gap: var(--80);
}
.clinic__list-col2 > li {
	width: min(48%,600px);
}
.clinic__list-col2 .clinic__style {
	width: min(100%,555px);
	margin-inline: auto;
}

.clinic__list-col3 {
	width: min(100%,1408px);
	margin-inline: auto;
	display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
	row-gap: var(--gap-80);
	column-gap: 3.95%;
}
.clinic__list-col3 > li {
	width: 30.7%;
}
.clinic__list-col3 .clinic__style {
	width: min(100%,385px);
	margin-inline: auto;
}

.clinic__list-img {
	margin-bottom: var(--gap-50);
}

.equipment__box {
	width: min(100%,1344px);
	margin-inline: auto;
	background: #fff;
	border-radius: 20px;
	padding: var(--gap-70) 4%;
	position: relative;
}
.equipment__box::before {
	content: "";
	position: absolute;
	width: 100%;
	height: min(60px,6vw);
	left: 0;
	top: 100%;
	background: url("../images/clinic/deco_equipment1.png") no-repeat center top;
	background-size: 100% 100%;
}

.equipment__pickup {
	width: min(100%,1152px);
	margin-inline: auto;
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.equipment__pickup-img {
	width: min(53%,600px);
}
.equipment__pickup-txt {
	width: min(43%,490px);
}

.equipment__pickup .clinic__style + div {
	margin-top: 2.0rem;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.equipment__box:has(.equipment__pickup) {
	width: 80%;
	margin-inline: auto;
	padding-left: 6%;
	padding-right: 6%;
}
.equipment__box .equipment__pickup {
	display: block;
}
.equipment__box .equipment__pickup-img {
	width: 100%;
	margin: 0 auto var(--gap-40);
}
.equipment__box .equipment__pickup-txt {
	width: 100%;
}
.equipment__pickup .clinic__style + div {
	width: 90%;
	margin-inline: auto;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
/*スタイル*/
.clinic__style > dt {
	letter-spacing: .06em;
	margin-bottom: .5em;
}

/*レイアウト*/
.clinic__width-img {
	margin-bottom: var(--gap-50);
}
.clinic__width-txt {
	width: 100%;
}

.clinic__layout {
	display: block;
}
.clinic__layout-img {
	width: 100%;
	margin-bottom: var(--gap-50);
}
.clinic__layout-txt {
	width: 100%;
}
.clinic__layout-txt .clinic__style {
	width: 100%;
}

.clinic__list-col2,
.clinic__list-col3 {
	display: block;
}
.clinic__list-col2 > li,
.clinic__list-col3 > li {
	width: 100%;
	margin-bottom: var(--gap-120);
}
.clinic__list-col2 > li:last-child,
.clinic__list-col3 > li:last-child {
	margin-bottom: 0;
}
.clinic__list-col2 .clinic__list-img {
	width: 90%;
	margin-inline: auto;
}
.clinic__list-col3 .clinic__list-img {
	width: 80%;
	margin-inline: auto;
}
.clinic__list-col2 .clinic__style,
.clinic__list-col3 .clinic__style {
	width: 100%;
}

.clinic__list-img {
	margin-bottom: var(--gap-50);
}

.equipment__box {
	border-radius: 5vw;
	padding: var(--gap-80) 6%;
}
.equipment__box::before {
	height: 8vw;
}

.equipment__pickup {
	display: block;
}
.equipment__pickup-img {
	width: 100%;
	margin-bottom: var(--gap-40);
}
.equipment__pickup-txt {
	width: 100%;
}

.equipment__pickup .clinic__style + div {
	margin-top: 1.5rem;
}
}



/* welcome
---------------------------------------------------------*/
/****************
 WAITING ROOM
*****************/
.waiting__bg {
	position: relative;
}
.waiting__bg::before {
	content: "";	/*背景*/
	position: absolute;
	width: 100%;
	height: 50%;
	left: 0;
	bottom: -1px;
	background: #fff;
}
.waiting__bg > div {
	position: relative;
	z-index: 2;
}
.waiting .clinic__width-img {
	position: relative;
	z-index: 0;
}
.waiting .clinic__width-txt {
	position: relative;
	z-index: 1;
}
.waiting__img-deco {
	position: absolute;
	width: min(32vw,490px);
	right: 0;
	bottom: 0;
	transform: translate(30%,86%);
}

/****************
 RECEPTION
*****************/
.reception__bg {
	position: relative;
	background: #fff;
}
.reception__bg > div {
	position: relative;
	z-index: 2;
}
.reception .clinic__layout-img {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 8px;
}
.reception .clinic__layout-img div:last-child {
	padding-top: 12%;
}

/****************
 KIDS SPACE
*****************/
.kids__bg {
	position: relative;
	background: #fff;
}
.kids__bg::before {
	content: "";	/*背景*/
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: -1px;
	background: url("../images/clinic/bg_beige1.png") no-repeat center bottom;
	background-size: 100% auto;
}
.kids__bg > div {
	position: relative;
	z-index: 2;
}
.kids__img {
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin-bottom: var(--gap-50);
}
.kids__img div:first-child {
	width: min(62%,784px);
}
.kids__img div:last-child {
	width: min(35%,440px);
}
.kids__img div:first-child span {
	display: block;
	width: min(100%,720px);
	margin-left: auto;
	margin-right: 0;
}
.kids__txt {
	width: min(100%,1068px);
	margin-inline: auto;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.kids__txt .clinic__style {
	width: min(52%,555px);
}
.kids__txt-point {
	width: min(44%,440px);
	position: relative;
	z-index: 1;
	padding-top: var(--gap-40);
}
.kids__txt-point::before {
	content: "";	/*背景*/
	position: absolute;
	z-index: -1;
	width: 100%;
	height: calc(100% - 1.5rem);
	left: 0;
	top: 0;
	background: var(--color-laser);
	border-radius: min(60px,8vw);
}
.kids__point-deco {
	width: min(32%,134px);
	position: absolute;
	z-index: 0;
	right: 0;
	top: 0;
	transform: translate(20%,-20%);
}
.kids__point-txt {
	color: #fff;
	text-align: center;
	font-weight: bold;
}
.kids__point-txt dt {
	font-size: var(--fs-15);
	line-height: 1.5em;
	margin-bottom: .8em;
}
.kids__point-txt dd {
	font-size: var(--fs-25);
	line-height: 1.5em;
}
.kids__point-txt dd span {
	color: #ffff6e;
}
.kids__txt-point .com_btn1 {
	margin-top: 1.5rem;
	text-align: center;
}
.kids__txt-point .com_btn1 a::before {
	color: var(--color-laser) !important;
}
.kids__txt-point .com_btn1 a:hover {
	border-color: #ffff6e;
	background: #ffff6e;
	color: var(--color-base);
}

/****************
 TREATMENT AREA
*****************/
.treatment__bg {
	background: #fdfcec;
}
.treatment__slider {
	position: relative;
}
.treatment__slider .swiper-wrapper {
	overflow: hidden;
}
.treatment__slider .swiper-pagination {
	position: absolute;
	width: auto !important;
	left:  auto !important;
	right: 0 !important;
	top: calc(100% + 15px) !important;
	bottom: auto !important;
	display: flex;
    align-items: flex-end;
	column-gap: 30px;
}
.treatment__slider .swiper-pagination .swiper-pagination-bullet {
	margin: 0 !important;
	opacity: 1 !important;
	display: block;
	width: 10px !important;
	height: 10px !important;
	border-radius: 50%;
	background: #dcdcdc;
	cursor: pointer;
	transition: all 0.4s;
}
.treatment__slider .swiper-pagination .swiper-pagination-bullet:hover {
	background: #eee;
}
.treatment__slider .swiper-pagination .swiper-pagination-bullet-active {
	background: var(--color-corporate);
}

/****************
 ROOM
*****************/
.room__bg {
	background: #fdfcec;
}
.room__bg > div {
	position: relative;
	z-index: 2;
}

/****************
 other
*****************/
.other__bg {
	background: #fff;
	position: relative;
}
.other__bg::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	aspect-ratio: 1536 / 480;
	left: 0;
	top: -1px;
	background: #fff url("../images/clinic/bg_beige2.png") no-repeat center center;
	background-size: 100% 100%;
	transform: translateY(-30%);
}
.other__bg > div {
	position: relative;
	z-index: 2;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
.welcome .com_btn1 {
	text-align: center;
}
.welcome .u-pdg-btm-80 {
	padding-bottom: var(--gap-120);
}
	
/****************
 WAITING ROOM
*****************/
.waiting__bg::before {
	height: calc(100% - 25vw);	/*背景*/
}
.waiting__img-deco {
	width: 40vw;
	transform: translate(15%,86%);
}

/****************
 RECEPTION
*****************/
.reception .clinic__layout-img {
	margin-bottom: 0;
}
.reception .clinic__layout-img div:last-child {
	padding-top: 20%;
}

/****************
 KIDS SPACE
*****************/
.kids__img {
	display: block;
	margin-bottom: var(--gap-50);
}
.kids__img div:first-child {
	width: 100%;
}
.kids__img div:last-child {
	width: 80%;
	margin-left: 13%;
	margin-right: auto;
	margin-top: -5vw;
}
.kids__txt {
	width: 100%;
	display: block;
}
.kids__txt .clinic__style {
	width: 100%;
}
.kids__txt-point {
	width: 90%;
	margin: var(--gap-40) auto 0;
}
.kids__point-deco {
	transform: translate(30%,-30%);
}

/****************
 TREATMENT AREA
*****************/

/****************
 ROOM
*****************/
.room__bg {
	background: #fdfcec;
}
.room__bg > div {
	position: relative;
	z-index: 2;
}

/****************
 other
*****************/
}



/* equipment
---------------------------------------------------------*/
.equipment__heading {
	width: 100%;
	height: min(480px,32vw);
	overflow: hidden;
	background: url("../images/clinic/img_equipment1.jpg") no-repeat center center;
	background-size: cover;
}
.equipment__bg {
	position: relative;
	background: #e0f6f4;
}
.equipment__bg::before {
	content: "";
	position: absolute;
	width: 100%;
	height: min(680px,100vw);
	left: 0;
	top: 0;
	background: linear-gradient(0deg,rgba(224, 246, 226, 0) 0%, rgba(224, 246, 226, 1) 100%);
}
.equipment__bg > section,
.equipment__bg > div {
	position: relative;
	z-index: 1;
}

.equipment .clinic__list-col3 > li > div {
	border-radius: 20px;
	overflow: hidden;
}

.equipment .clinic__list-img {
	margin-bottom: var(--gap-40);
}
.equipment .clinic__list-col3 dt {
	text-align: center;
	color: #23b0a9;
	font-size: min(2.5rem,2.6vw);
	font-weight: bold;
	line-height: 1.5em;
	margin-bottom: .8em;
}
.equipment .clinic__list-col3 .com_btn1 {
	text-align: center;
}
.equipment .clinic__list-col3 .com_btn1 a {
    display: flex;
	min-width: 0;
	width: min(95%,16em);
	margin-inline: auto;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.equipment .clinic__list-img {
	margin-bottom: 3vw;
}
.equipment .clinic__list-col3 dt {
	margin-bottom: .5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
.equipment .clinic__list-col3 > li > div {
	border-radius: 3vw;
}

.equipment .clinic__list-img {
	margin-bottom: var(--gap-40);
}
.equipment .clinic__list-col3 dt {
	font-size: var(--fs-25);
	margin-bottom: .5em;
}
}



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

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

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