.mv{ background: url(../images/index/bg-mv01.jpg) no-repeat top center/1863px; position: relative; }
.mv .wrap{ height: 1200px; }
.mv .inner{ width: 284px; margin: 0 auto 115px; padding-top: 182px; opacity: 0; transition: 1s; transform: translateY(-20px); transition-delay: .3s; }
.mv .inner.active{ opacity: 1; transform: translateY(0); }
.mv .inner img{ display: block; width: 100%; margin-bottom: 25px; margin-left: 17px; }
.mv .inner p{ font-size: 16px; text-align-last: justify; padding-left: 22px; padding-right: 8px; }
.mv .scroll{ -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; transform: scale(-1,-1) translateX(calc(1em - 1px)); display: block; margin: 0 auto; font-size: 10px; border-left: solid 1px; height: 235px; text-align: end; }
@-moz-document url-prefix() { .mv .scroll { width: 23px; } }
_:-ms-lang(x)::-ms-backdrop, .mv .scroll { width: 23px; position: relative; left: 48%; }
_:-ms-lang(x)::-ms-backdrop, .mv .inner p{ text-justify: inter-cluster; }
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    _::-webkit-full-page-media, _:future, :root .mv .inner p { letter-spacing: .6em; white-space: nowrap; }
    _::-webkit-full-page-media, _:future, :root .mv .scroll{ transform: scale(-1,-1) translateX(calc(1em - 1px)); }
}
.mv .item01{ width: 305px; position: absolute; top: 210px; right: 10px; }
.mv .item02{ width: 235px; position: absolute;top: 540px; right: 140px; }
.mv .item03{ width: 240px; position: absolute; top: 315px; left: 115px; }
.mv .item04{ width: 200px; position: absolute; top: 775px; left: 260px; }
.mv .mvfade{ opacity: 0; transition: .8s; transition-delay: .4s; }
.mv .mvfade.active{ opacity: 1; }

h2.general{ font-size: 40px; text-align: center; font-family: fot-tsukuardgothic-std, sans-serif; font-weight: 700; font-style: normal; letter-spacing: .14em; position: relative; z-index: 0; line-height: 1.4; }
h2.general:before{ content: ''; width: 78px; height: 78px; border-radius: 40px; background: #cdeaf2; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -2; }
h2.general:after{ content: ''; width: 62px; height: 62px; border-radius: 31px; border: solid 7px #fff; box-sizing: border-box; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }

.intro{ padding-bottom: 280px; position: relative; z-index: 0; }
.intro:before{ content: ''; width: 1812px; height: 1134px; background: url(../images/index/bg-intro01.png) no-repeat center bottom/contain; position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); z-index: -1; opacity: 0; transition: 1s; }
.intro.active:before{ opacity: 1; bottom: 0; }
.intro h2{ margin-bottom: 65px; }
.intro p{ text-align: center; font-size: 16px; line-height: 2; }
.intro p + p{ margin-top: 2em; }
.intro a.btn{ margin-top: 85px; }
.intro .item01{ width: 335px; position: absolute; bottom: -130px; right: -50px; }

.worry{ background: url(../images/index/bg-worry01.png) no-repeat #cdeaf2 top center/1561px; padding-bottom: 125px; }
.worry > .wrap{ padding-top: 110px; }
.worry .item03{ width: 260px; position: absolute; top: -60px; left: -110px; }
.worry h2{ margin-bottom: 80px; }
.worry h2.general:before{ background: #fff; }
.worry h2.general:after{ border-color: #cdeaf2; }
.worry .worry-list{ margin-bottom: 115px; }
.worry .worry-list li{ width: 300px; }
.worry .worry-list li img{ display: block; width: 250px; margin: 0 auto 40px; }
.worry .worry-list li h3{ font-size: 24px; text-align: center; margin-bottom: 22px; }
.worry .white-wrap{ background: #fff; width: 1200px; padding: 90px 0 75px; margin: 0 auto; border-radius: 50px; position: relative; box-shadow: 0px 0px 20px -9px rgba(0,0,0,0.6); }
.worry .white-wrap .inner{ width: 500px; }
.worry .white-wrap h3{ font-size: 30px; margin-bottom: 65px; white-space: nowrap; }
.worry .white-wrap dl{ max-width: 500px; align-items: center; margin-bottom: 55px; }
.worry .white-wrap dl dd img{ display: block; width: 230px; }
.worry .white-wrap dl dt strong{ font-size: 24px; margin-left: .8em; vertical-align: middle; }
.worry .white-wrap p{ max-width: 500px; line-height: 2; letter-spacing: .12em; }
.worry .white-wrap a.btn{ margin-top: 65px; }
.worry .white-wrap .item01{ width: 869px; position: absolute; bottom: 0; right: -415px; }
.worry .white-wrap .item02{ width: 170px; position: absolute; top: 105px; right: 260px; }

.info{ background: url(../images/index/bg-info01.jpg) no-repeat center bottom/cover; padding-bottom: 175px; }
.info .wrap{ padding-top: 100px; }
.info .item01{ width: 245px; position: absolute; top: -175px; right: 20px; }
.info .inner{ width: 400px; margin-left: auto; position: relative; }
.info .item02{ width: 200px; position: absolute; top: 40px; left: -200px; }
.info h2.general{ font-size: 30px; margin-bottom: 50px; }
.info h3{ font-size: 24px; text-align: center; line-height: 1.6; margin-bottom: 50px; }
.info p{ line-height: 2; }
.info a.btn{ margin-top: 60px; }

.reason{ padding-top: 185px; padding-bottom: 475px; }
.reason:before{ content: ''; width: 100vw; height: 1433.5px; background: url(../images/index/bg-reason01.png) no-repeat top center/1867px; position: absolute; top: -170px; left: 50%; transform: translateX(-50%); }
.reason:after{ content: ''; width: 100vw; height: 942px; background: url(../images/index/bg-reason02.jpg) no-repeat center bottom/1728px; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: -1; }
.reason .item01{ width: 330px; position: absolute; top: -30px; left: -70px; z-index: 2; }
.reason .item02{ width: 250px; position: absolute; bottom: 410px; right: 45px; }
.reason h2{ margin-bottom: 80px; }
.reason ol{ counter-reset: reason; }
.reason ol li{ position: relative; }
.reason ol li + li{ margin-top: 95px; }
.reason ol li .img{ width: calc(50vw + 300px); height: 300px; margin-bottom: 50px; background-repeat: no-repeat; background-size: cover; transform: translateY(-20px); opacity: 0; transition: 1s; }
.reason ol li .img.active{ opacity: 1; transform: translateY(0); }
.reason ol li:nth-of-type(1) .img{ background-image: url(../images/index/reason01.jpg); background-position: top right; }
.reason ol li:nth-of-type(2) .img{ background-image: url(../images/index/reason02.jpg); background-position: top left; }
.reason ol li:nth-of-type(3) .img{ background-image: url(../images/index/reason03.jpg); background-position: top right; }
.reason ol li:nth-of-type(odd) .img{ margin-left: calc(-50vw + 500px); border-radius: 0 150px 150px 0; }
.reason ol li:nth-of-type(even) .img{ margin-left: 200px; border-radius: 150px 0 0 150px; }
.reason ol li h3{ width: 450px; min-height: 195px; font-size: 24px; position: relative; text-align: center; z-index: 0; padding-top: 53px; border-right: solid 2px #facfd4; }
.reason ol li h3:before{ content: ''; width: 140px; height: 140px; border-radius: 70px; background: #facfd4; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }
.reason ol li:nth-of-type(2) h3:before{ background: #ffe7a6; }
.reason ol li:nth-of-type(3) h3:before{ background: #aee3c8; }
.reason ol li h3:after{ content: ''; width: 176px; height: 176px; border-radius: 90px; border: dotted 4px #facfd4; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }
.reason ol li:nth-of-type(2) h3:after{ border-color: #ffe7a6; }
.reason ol li:nth-of-type(3) h3:after{ border-color: #aee3c8; }
.reason ol li:nth-of-type(2) h3{ border-right: none; border-left: solid 2px #ffe7a6; }
.reason ol li:nth-of-type(3) h3{ border-color: #aee3c8; }
.reason ol li h3 span{ display: block; font-size: 15px; text-align: center; margin-bottom: .2em; color: #fff; }
.reason ol li h3 span:after{ counter-increment: reason; content: counter(reason); font-size: 30px; display: block; text-align: center; line-height: 1; }
.reason ol li .content{ width: 550px; display: flex; align-items: center; }
.reason ol li p{ width: 300px; line-height: 2; letter-spacing: .12em; }
.reason ol li:nth-of-type(odd) p{ margin: 0 0 0 50px; }
.reason ol li:nth-of-type(even) p{ margin: 0 50px 0 auto; }
.reason a.btn{ margin-top: 75px; }

.contact{ background: #fff3d2; padding: 285px 0 70px; position: relative; }
.contact:before{ content: ''; width: 1200px; height: 450px; border-radius: 225px; background: url(../images/index/bg-contat01.jpg) no-repeat center/cover; position: absolute; top: -225px; left: 50%; transform: translateX(-50%); opacity: 0; transition: 1s; margin-top: -30px; }
.contact.active:before{ opacity: 1; margin-top: 0; }
.contact .item01{ width: 225px; position: absolute; top: -220px; left: -90px; transition-delay: .3s; }
.contact .item02{ width: 245px; position: absolute; bottom: 24px; right: -110px; }
.contact h2{ font-size: 40px; text-align: center; margin-bottom: 30px; }
.contact h3{ font-size: 24px; text-align: center; margin-bottom: 20px; }
.contact p{ max-width: 700px; margin: 0 auto 65px; line-height: 2; }
.contact p + .row{ width: 700px; margin: 0 auto; }
.contact p + .row a.btn{ margin: 0; }

.clinic{ padding: 80px 0; background: url(../images/index/bg-reason01.png) no-repeat center top -320px/1867px; }
.clinic .wrap{ width: 1200px;     padding-bottom: 5rem;}
.clinic h2{ font-size: 40px; text-align: center; margin-bottom: 50px; }
.clinic h2 + p{ text-align: center; line-height: 2; margin-bottom: 60px; }
.clinic ul{ margin-bottom: -50px; }
.clinic ul li{ width: 580px; height: 160px; border-radius: 80px; background: #cdeaf2; display: flex; align-items: center; padding-left: 170px; position: relative; transition: .3s; }
.clinic ul li:hover{ background: #ffe7a6; }
.clinic ul li:before{ content: ''; width: 120px; height: 120px; border-radius: 60px; background-repeat: no-repeat; background-size: cover; position: absolute; top: 50%; left: 20px; transform: translateY(-50%); }
.clinic ul li:nth-of-type(1):before{ background-image: url(../images/common/clinic01.jpg); }
.clinic ul li:nth-of-type(2):before{ background-image: url(../images/common/clinic02.jpg); }
.clinic ul:nth-of-type(2) li:nth-of-type(1):before{ background-image: url("../images/common/clinic_chiba.jpg"); }
.clinic ul:nth-of-type(2) li:nth-of-type(2):before{ background-image: url("../images/common/clinic_osaka.jpg"); }
.clinic ul li:after{ content: ''; width: 8px; height: 16px; background: url(../images/common/arrow02.png) no-repeat center/contain; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); }
.clinic ul li .logo img{ display: block; width: 361px; }

footer{ padding-top: 150px; }

.fuwafuwa{ animation: fuwafuwa 4s ease-in-out infinite; }
.fuwafuwa + .fuwafuwa{ animation-duration: 5s; }
.fuwafuwa + .fuwafuwa + .fuwafuwa{ animation-duration: 3s; }
.fuwafuwa + .fuwafuwa + .fuwafuwa + .fuwafuwa{ animation-duration: 5.5s; }
.fuwafuwa.speed01{ animation-duration: 3s; }
.fuwafuwa.speed02{ animation-duration: 5s; }
@keyframes fuwafuwa {
  0% { transform: translateY(0) }
  50% { transform: translateY(30px) }
  100% { transform: translateY(0) }
}

.fade{ transition: 1s; opacity: 0; margin-top: -40px; }
.fade.active{ opacity: 1; margin-top: 0; }
.worry .white-wrap .item01.fade{ margin-top: 0; bottom: 30px; }
.worry .white-wrap .item01.fade.active{ bottom: 0; }

.treatment {
    display: block;
    margin: 110px auto;
    width: 800px;
}
.treatment .side-img {
    display: flex;
    justify-content: space-between;
    margin: 60px 0
}

.treatment .side-img .img {
    width: 48%
}

.treatment .side-img .img img {
    display: block;
    width: 100%
}

.treatment .side-img .content {
    width: 350px
}

.treatment .blue-wrap {
    margin: 120px 0;
    padding: 60px 0 70px;
    position: relative;
    z-index: 0
}

.treatment .blue-wrap:before {
    background: #cdeaf2;
    border-radius: 37px;
    content: "";
    height: 100%;
    left: -115px;
    position: absolute;
    top: 0;
    width: calc(100% + 230px);
    z-index: -1
}

.treatment ol {
    counter-reset: number;
    margin: 50px 0
}

.treatment ol li {
    align-items: center;
    display: flex;
    min-height: 100px;
    padding-left: 120px;
    position: relative
}

.treatment ol li+li {
    margin-top: 60px
}

.treatment ol li:before {
    align-items: center;
    background: url(../images/common/bg-number01.png) no-repeat 50%/contain;
    color: #fff;
    content: counter(number);
    counter-increment: number;
    display: flex;
    font-family: fot-tsukuardgothic-std,sans-serif;
    font-size: 50px;
    font-style: normal;
    font-weight: 700;
    height: 103px;
    justify-content: center;
    left: 0;
    letter-spacing: 0;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 103px
}

.treatment ol li dl dt {
    font-size: 20px;
    font-weight: 700
}

.treatment ol li dl>*+* {
    margin-top: 6px
}

.treatment ul.list {
    margin: 50px 0
}

.treatment ul.list li {
    padding-left: 100px;
    position: relative
}

.treatment ul.list li+li {
    margin-top: 30px
}

.treatment ul.list li:before {
    background: url(../images/common/icon-consul02.png) no-repeat 50%/contain;
    content: "";
    height: 39px;
    left: 30px;
    position: absolute;
    width: 39px
}

.treatment .blue-wrap ul.list li:before {
    background-image: url(../images/common/icon-consul01.png)
}

.treatment ul.list li dl dt {
    font-size: 20px;
    font-weight: 700
}

.treatment ul.list li dl>*+* {
    margin-top: 6px
}

.treatment table {
    border-bottom: 1px solid;
    margin: 50px 0;
    table-layout: fixed;
    width: 100%
}

.treatment table tbody th,main table thead th {
    border-top: 1px solid;
    font-size: 16px;
    padding: .8em;
    text-align: center;
    vertical-align: middle
}

.treatment table tbody th {
    background: #cdeaf2
}

.treatment table tbody td {
    border-top: 1px solid;
    font-size: 16px;
    padding: .8em;
    text-align: center;
    vertical-align: middle
}

.treatment h2 {
    font-family: fot-tsukuardgothic-std,sans-serif;
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.4;
    margin: 135px 0 60px;
    position: relative;
    text-align: center;
    z-index: 0
}

.treatment h2:before {
    background: #cdeaf2;
    border-radius: 40px;
    content: "";
    height: 78px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 78px;
    z-index: -2
}

.treatment .blue-wrap h2:before {
    background: #fff
}

.treatment h2:after {
    border: 7px solid #fff;
    border-radius: 31px;
    box-sizing: border-box;
    content: "";
    height: 62px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 62px;
    z-index: -1
}

.treatment .blue-wrap h2:after {
    border-color: #cdeaf2
}

.treatment h3 {
    font-family: fot-tsukuardgothic-std,sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.6;
    margin: 70px 0 25px;
    position: relative;
    z-index: 0
}

.treatment .side-img h3{
    margin-top: 0!important;
}

.treatment h3:before {
    background: #addeeb;
    border-radius: 5px;
    bottom: 2px;
    content: "";
    height: 10px;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: -1
}

.treatment h4 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    margin: 45px 0 15px;
    padding-left: 1em;
    position: relative
}

.treatment .side-img h4:before {
    color: #addeeb;
    content: "●"!important;
    left: 0;
    position: absolute
}
