/****** layout ******/

.bg-lazy{ background-image: none !important; }

p strong{ font-weight: 700; color: var(--sub-color01);  padding-bottom: .2em; }

h2.general{ font-size: 5rem; color: var(--sub-color01); text-align: center; line-height: 1.5; position: relative; z-index: 0; }
/*h2.general:before{ content: ''; width: 60rem; height: 14.35rem; background: url(../images/common/item-ttl01.svg) no-repeat center/contain; position: absolute; top: -3rem; left: 50%; transform: translateX(-50%); z-index: -1; }*/
h2.general small{ display: block; font-size: 3.4rem; line-height: 1.3; }
h2.general + p.sub-font{ font-size: 2rem; text-align: center; line-height: 1.7; margin-top: 1.7rem; }


/****** style *****/

header{ position: absolute; top: 13rem; left: 6rem; z-index: 2; }

.mv{ position: relative; }
.mv .main-slide{ width: calc(100vw - 32rem); margin-right: 0; }
.mv .main-slide li{ width: 100%; overflow: hidden; border-radius: 0 0 0 12rem; }
.mv .main-slide li img{ width: 100%; object-fit: cover; object-position: center; transform: scale(1.1); }
.mv .main-slide li.swiper-slide-active img,
.mv .main-slide li.swiper-slide-duplicate-active img,
.mv .main-slide li.swiper-slide-prev img{ animation: zoom 8s linear 0s 1 normal both; }
.mv h1{ position: absolute; bottom: 6rem; left: 6rem; z-index: 5; font-size: 3.4rem; color: var(--sub-color01); }
.mv h1 span{ background: rgba(255, 255, 255, .9); padding: .2em .5em .3em 0; border-radius: 1rem; }
.mv h1 strong{ font-size: 5rem; line-height: 1;}


/*20221110_add*/
.mv .top-p{ position: absolute; bottom: 6rem; left: 6rem; z-index: 5; font-size: 3.4rem; color: var(--sub-color01); }
.mv .top-p span{ background: rgba(255, 255, 255, .9); padding: .2em .5em .3em 0; border-radius: 1rem; }
.mv .top-p strong{ font-size: 5rem; line-height: 1; font-weight: 500; background: none; padding-bottom: 0;}

.mv .top-p {
    font-family: var(--sub-font);
    font-weight: 500;
    letter-spacing: .08em;
    line-height: 1.8;
}

.seo-h1 {
        font-family: var(--base-font);
    font-feature-settings: "palt";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--base-color);
    font-size: 1.6rem;
    padding-top: 2em;
}

/*20221110_add*/




@keyframes zoom {
  0% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

.mv-info{ width: 108rem; margin: 0 auto 8rem; }
.mv-info > p{ font-size: 1.2rem; padding-top: 5rem; }
.mv-info .news{ width: 54rem; padding: 3rem 0 4rem 8rem; position: relative; z-index: 0; }
.mv-info .news:before{content: '';
    width: 50vw;
    height: 100%;
    background: var(--bg-color01);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 0 0 0 4rem; }
.mv-info .news dl{ display: flex; align-items: center; margin-bottom: 2rem; }
.mv-info .news dl dt{ font-size: 3.4rem; line-height: 1; color: var(--sub-color02); width: 13rem; border-right: solid 2px; }
.mv-info .news dl dd{ width: calc(100% - 13rem); line-height: 1.4; padding-left: 2rem; }
.mv-info .news dl dd .time{ display: block; }
.mv-info .news dl dd a{ display: block; text-decoration: underline; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mv-info .news .btn{ width: 45rem; }

.banner-consuling{ display: flex; width: 100rem; height: 26.8rem; align-items: center; margin: 0 auto 4rem; position: relative; z-index: 0; border-radius: 4rem; padding-left: 38rem; }
.banner-consuling .bg01{ width: 100%; height: 100%; border-radius: 4rem; overflow: hidden; position: absolute; left: 0; top: 0; z-index: -1; }
.banner-consuling .bg01:before{ content: ''; width: 200%; height: 100%; background: var(--gradation03); position: absolute; top: 0; left: 0; z-index: -1; transition: .5s; }
.banner-consuling .item01{ position: absolute; bottom: 0; left: 5rem; }
.banner-consuling dl{ text-align: center; color: #fff;  }
.banner-consuling dl dt{ font-size: 2rem; line-height: 1.6; position: relative; z-index: 0; margin-bottom: 3.1rem; }
.banner-consuling dl dt:before{ content: ''; width: calc(100% + 7rem); height: calc(100% + 3rem); border-radius: 10rem; background: linear-gradient(90deg, rgba(85,173,214,1) 0%, rgba(60,125,181,1) 100%); position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }
.banner-consuling dl dt:after{ content: ''; width: 0; height: 0; border-style: solid; border-width: 1.5rem 3rem 1.5rem 0; border-color: transparent #55add6 transparent transparent; position: absolute; top: 50%; left: -5.8rem; transform: translateY(-50%); }
.banner-consuling dl dd{ font-size: 5rem; line-height: 1; }
.banner-consuling dl dd strong{ border-bottom: solid 2px var(--sub-color02); padding-bottom: .5rem; }
.banner-consuling:hover{ opacity: 1; }
.banner-consuling:hover:after{ transform: translateY(-50%) scale(1.1); }
.banner-consuling:hover .bg01:before{ transform: translateX(-50%); }

.sec-intro{ position: relative; z-index: 0; padding: 12.5rem 0 10rem; margin-bottom: 11.5rem; }
.sec-intro:before{ content: ''; width: 100%; height: calc(100% + 28rem); border-radius: 4rem 4rem 0 0; background: var(--bg-color01); position: absolute; bottom: 0; left: 0; z-index: -1; }
.sec-intro .wrap{ z-index: 0; }
.sec-intro .bg01{ position: absolute; top: 26rem; left: -50rem; z-index: -1; opacity: .5; }
.sec-intro .bg02{ position: absolute; top: 26rem; right: -50rem; z-index: -1; opacity: .5; }
.sec-intro h2{ font-size: 3.4rem; color: var(--sub-color02); text-align: center; line-height: 1.45; margin-bottom: 4rem; }
.sec-intro h2 strong{ font-size: 5rem; display: block; }
.sec-intro ol{ counter-reset: intro; margin-bottom: 8rem; }
.sec-intro ol li{ width: 25rem; height: 25rem; border-radius: 100%; display: flex; justify-content: center; padding-top: 3.6rem; align-items: center; background:linear-gradient(0deg, rgba(190, 166, 121, 1) 0%, rgba(192, 169, 125, 1) 21.19%, rgba(198, 177, 138, 1) 43.16%, rgba(207, 191, 158, 1) 65.47%, rgba(220, 210, 187, 1) 87.89%, rgba(229, 223, 206, 1) 100%); position: relative; z-index: 0; font-size: 2rem; color: #fff; text-align: center; line-height: 1.6; }
.sec-intro ol li:before{ content: ''; width: calc(100% - 2rem); height: calc(100% - 2rem); border-radius: 100%; background: var(--gradation02); position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }
.sec-intro ol li:after{ counter-increment: intro; content: counter(intro,decimal-leading-zero); font-size: 3.4rem; line-height: 1; letter-spacing: .14em; position: absolute; top: 4.4rem; left: 50%; transform: translateX(-50%); }
.sec-intro h3{ font-size: 2.4rem; text-align: center; color: var(--sub-color01); letter-spacing: .2em; margin-bottom: 3rem; line-height: 2.083; }
.sec-intro h3 + p{ text-align: center; line-height: 2.25; margin-bottom: 3.6rem; }
.sec-intro .btn{ margin: 0 auto; }

.sec-feature{ margin-bottom: 20rem; }
.sec-feature h2 + p{ margin-bottom: 8.5rem; }
.sec-feature .feature-list li{ position: relative; }
.sec-feature .feature-list li + li{ margin-top: 5rem; }
.sec-feature .feature-list li .img{ width: calc(50vw - 2rem); height: 100%; background: no-repeat center/cover; position: absolute; left: calc(-50vw + 50rem); border-radius: 0 4rem 4rem 0; }
.sec-feature .feature-list li:nth-of-type(1) .img{ background-image: url(../images/index/feature01.jpg); }
.sec-feature .feature-list li:nth-of-type(2) .img{ background-image: url(../images/index/feature02.jpg); }
.sec-feature .feature-list li:nth-of-type(3) .img{ background-image: url(../images/index/feature03.jpg); }
.sec-feature .feature-list li:nth-of-type(4) .img{ background-image: url(../images/index/feature04.jpg); }
.sec-feature .feature-list li:nth-of-type(5) .img{ background-image: url(../images/index/feature05.jpg); }
.sec-feature .feature-list li .img .no{ width: 5rem; height: 100%; background: var(--gradation02); color: #fff; display: flex; justify-content: center; align-items: center; }
.sec-feature .feature-list li .img .no span{ -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; display: flex; width: 100%; align-items: center; margin-bottom: 1rem; }
.sec-feature .feature-list li .img .no strong{ display: block; font-size: 2.4rem; text-align: center; }
.sec-feature .feature-list li .txt{ width: 44rem; margin-left: auto; padding: 4rem 0 3rem; }
.sec-feature .feature-list li .txt h3{ font-size: 2.4rem; line-height: 1.667; letter-spacing: .16em; position: relative; padding-bottom: 2.4rem; margin-bottom: 2.2rem; }
.sec-feature .feature-list li .txt h3:after{ content: ''; width: calc(100% + 8rem); height: 1px; background: var(--gradation04); position: absolute; bottom: 0; right: 0; }
.sec-feature .feature-list li .txt h3 a{ background: var(--sub-color01); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: block; position: relative; }
.sec-feature .feature-list li .txt h3 a span{ right: 0; }
.sec-feature .feature-list li .txt h3 a:hover{ opacity: 1; }
.sec-feature .feature-list li .txt p{ line-height: 2.25; }

.sec-resv{ position: relative; z-index: 0; padding: 10rem 0 18rem; border-radius: 4rem 4rem 0 0; overflow: hidden; color: #fff; background: url(../images/index/webp/resv-bg01.webp) no-repeat center/cover; }
.sec-resv ~ .sec-resv{ background-image: url(../images/index/webp/resv-bg02.webp); }
.sec-resv:before{ content: ''; width: 100%; height: 100%; background: var(--gradation02); opacity: .93; position: absolute; top: 0; left: 0; z-index: -1; }
.sec-resv .wrap{ padding-top: 7rem; }
.sec-resv .border01{ width: calc(100rem - 16rem); height: 1rem; background: #e5dfce; position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: -1; }
.sec-resv .border01:before{ content: ''; width: 8rem; height: 8rem; background: url(../images/index/round01.svg) no-repeat top left/contain; position: absolute; left: -8rem; top: 0; }
.sec-resv .border01:after{ content: ''; width: 8rem; height: 8rem; background: url(../images/index/round02.svg) no-repeat top left/contain; position: absolute; right: -8rem; top: 0; }
.sec-resv .border02{ width: 1rem; height: calc(100% - 22rem); background: var(--gradation06); position: absolute; right: -10rem; top: 8rem; }
.sec-resv .border03{ width: calc(100rem - 16rem); height: 1rem; background: #bea679; position: absolute; bottom: 6rem; left: 50%; transform: translateX(-50%); z-index: -1; }
.sec-resv .border03:before{ content: ''; width: 8rem; height: 8rem; background: url(../images/index/round03.svg) no-repeat top left/contain; position: absolute; right: -8rem; bottom: 0; }
.sec-resv .border03:after{ content: ''; width: 8rem; height: 8rem; background: url(../images/index/round04.svg) no-repeat top left/contain; position: absolute; left: -8rem; bottom: 0; }
.sec-resv .border04{ width: 1rem; height: calc(100% - 22rem); background: var(--gradation06); position: absolute; left: -10rem; top: 8rem; }
.sec-resv h2{ font-size: 3.4rem; text-align: center; line-height: 1.563; margin-bottom: 3.5rem; }
.sec-resv h2 strong{ font-size: 5rem; line-height: 1.2; display: block; margin-top: 1rem; }
.sec-resv h2 + h3{ font-size: 2rem; text-align: center; line-height: 1.7; color: var(--sub-color01); padding: 2rem 0; position: relative; z-index: 0; margin-bottom: 3.4rem; }
.sec-resv h2 + h3:before{ content: ''; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; background: linear-gradient(90deg, rgba(190,166,121,0) 0%, rgba(221,212,189,0.9) 20%, rgba(229,223,206,1) 50%, rgba(221,212,189,0.9) 80%, rgba(190,166,121,0) 99%); }
.sec-resv p{ max-width: 50rem; margin: 0 auto 5.4rem; }
.sec-resv .check{ max-width: 50rem; margin: 0 auto 4rem; }
.sec-resv .check li{ font-size: 2rem; font-weight: 700; background: url(../images/common/border02.png) repeat-x left bottom/auto 1px; padding: 1.2rem 0 1.2rem 4rem; position: relative; }
.sec-resv .check li:before{ content: ''; width: 3rem; height: 2.4rem; background: url(../images/index/icon-check01.svg) no-repeat center/contain; position: absolute; left: 0; top: 1.7rem; }
.sec-resv .banner01{ width: 100%; height: 14rem; background: #fff; display: flex; align-items: center; font-size: 2rem; color: var(--sub-color03); line-height: 1.65; justify-content: flex-end; padding-right: 17rem; border-radius: 2rem; border: solid 1px; position: relative; margin-top: 7.4rem; }
.sec-resv .banner01 img{ position: absolute; bottom: 0; left: 13rem; }
.sec-resv .banner01:hover{ opacity: 1; }

.sec-greeting{ margin-top: 12rem; margin-bottom: 12rem; }
.sec-greeting .dr-pic{ position: relative; }
.sec-greeting .dr-pic .dr01{ position: absolute; bottom: 0; left: 0; z-index: -1; }
.sec-greeting .dr-pic .txt{ width: 44rem; margin-left: auto; padding: 12rem 0 9.5rem; }
.sec-greeting .dr-pic .txt h3{ font-size: 2.4rem; color: var(--sub-color01); line-height: 1.667; margin-bottom: 1.5rem; }
.sec-greeting .dr-pic .txt p{ line-height: 2.25; letter-spacing: .06em; margin-bottom: 2.2rem; }
.sec-greeting .blue-wrap{ background: var(--bg-color01); padding: 8rem 10rem; border-radius: 5rem; }
.sec-greeting .blue-wrap .graph{ display: block; margin: 0 auto 3.5rem; }
.sec-greeting .blue-wrap .graph + p{ margin-bottom: 2.5rem; }
.sec-greeting .blue-wrap .btn{ margin: 0 auto; }

.sec-treatment{ padding-bottom: 13rem; position: relative; z-index: 0; }
.sec-treatment:before{ content: ''; width: 100vw; height: 80rem; background: var(--bg-color01); border-radius: 4rem 4rem 0 0; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: -1; }
.sec-treatment h2 + p{ margin-bottom: 6rem; }

.sec-first{ z-index: 0; }
.sec-first .img01{ width: 50vw; height: calc(100% - 8.5rem); background: url(../images/index/first01.jpg) no-repeat center/cover; border-radius: 0 4rem 0 0; position: absolute; bottom: 0; left: calc(-50vw + 50rem); z-index: 1; }
.sec-first:before{ content: ''; width: 100vw; height: 100%; background: var(--bg-color01); position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: -1; }
.sec-first .inner{ width: 43rem; margin-left: auto; padding: 8.5rem 0 10rem; position: relative; z-index: 0; }
.sec-first .inner:after{ content: ''; width: calc(50vw + 10rem); height: 100%; background: #fff; position: absolute; left: -17rem; top: 0; z-index: -1; border-radius: 4rem 0 0 0; }
.sec-first .inner .note{ width: 18rem; height: 18rem; border-radius: 100%; background: linear-gradient(0deg, rgba(190, 166, 121, 1) 0%, rgba(192, 169, 125, 1) 21.19%, rgba(198, 177, 138, 1) 43.16%, rgba(207, 191, 158, 1) 65.47%, rgba(220, 210, 187, 1) 87.89%, rgba(229, 223, 206, 1) 100%); display: flex; justify-content: center; position: absolute; top: -3rem; right: 0; font-size: 2rem; color: #fff; text-align: center; line-height: 1.5; padding-top: 8.3rem; }
.sec-first .inner .note:before{ content: ''; width: 2.6rem; height: 3.4rem; background: url(../images/index/icon-first01.svg) no-repeat center/contain; position: absolute; top: 3.7rem; left: 50%; transform: translateX(-50%); }
.sec-first .inner h2{ font-size: 3.4rem; color: var(--sub-color02); line-height: 1.45; letter-spacing: .18em; margin-bottom: 2.7rem; }
.sec-first .inner p{ margin-bottom: 3.7rem; line-height: 2.25; }
.sec-first + .sec-resv{ border-radius: 0; margin-bottom: 12rem; }

.sec-clinic{ margin-bottom: 15rem; margin-top: 10rem; }
.sec-clinic h2 + p{ margin-bottom: 4rem; }
.sec-clinic .clinic-photo{ display: flex; justify-content: space-between; margin-bottom: 3.4rem; }
.sec-clinic .clinic-photo li img{ border-radius: 2rem; }
.sec-clinic .clinic-photo + p{ max-width: 50rem; margin: 0 auto 4rem }
.sec-clinic .btn{ margin: 0 auto; }

p.am{
	background: linear-gradient(90deg, rgba(85,173,214,1) 0%, rgba(60,125,181,1) 100%);
    color: #fff;
    font-weight: 600;
    text-align: center;
    font-size: 20px;
	border-radius: 1.5rem;
	font-family: var(--sub-font);
}


.flex2{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 650px;
	margin: auto;
	margin-bottom: 0px;
	margin-top: 20px;
}

.flex2 h2{
	position: relative;
	padding-left: 75px;
	color: #31a6d6;
	font-weight: 600;
	font-size: 35px;
	margin-bottom: 6px;
}

.flex2 div:first-child h2:after{
	content: "";
	position: absolute;
	background: url("../images/index/taiyou.png");
	background-repeat: no-repeat;
	background-size: contain;
	width: 70px;
	height: 70px;
	top: 0;
	left: 0;
}

.flex2 div:first-child{
	border-right: 2px solid #f2f2f2;
}

.flex2 div:nth-child(2) h2:after{
	content: "";
	position: absolute;
	background: url("../images/index/30min.png");
	background-repeat: no-repeat;
	background-size: contain;
	width: 70px;
	height: 70px;
	top: 0;
	left: 0;
}

.flex2 div{
	width: 48%;
}

.flex2 div p{
	font-size: 18px;
}

.blue{
	color: #31a6d6;
	font-weight: 600;
}

.no_flex {
	display: block;
}
.no_flex div:first-child {
	width: 100%;
	border-right: none;
	margin: 0 auto;
}
li.web small {
	font-size: 1px;
	position: absolute;
	top: 0;
}
.standout{
	color: red;
	font-weight: bold;
}

