#top .mainvisual {
    width: 100%;
    position: relative;
}

@keyframes zoomUp {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.15);
    }
}

#top .mainvisual .swiper-slide-active .slide-img,
#top .mainvisual .swiper-slide-duplicate-active .slide-img,
#top .mainvisual .swiper-slide-prev .slide-img {
    animation: zoomUp 12s linear 0s;
    animation-fill-mode: both;
}

#top .mainvisual .slide-img {
    height: 100vh;
    background-size: cover;
    background-position: center;
}

#top .mainvisual__catch {
    color: #fff;
    max-width: 594.27px;
    max-height: 96px;
    display: inline-block;
    margin: auto;
    font-size: 3.2rem;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

@media screen and (max-width: 1199px) {
    #top .mainvisual__catch {
        max-width: 484.27px;
        font-size: 2.6rem;
    }
}

@media screen and (max-width: 767px) {
    #top .mainvisual__catch {
        max-width: 337.61px;
        font-size: 1.8rem;
    }
}

#top .about {
    padding: 120px 0;
    background: #fef6f5;
    background: linear-gradient(to bottom, #fef6f5 0%, #ffffff 100%);
}

@media screen and (max-width: 1199px) {
    #top .about {
        padding: 80px 0;
    }
}

@media screen and (max-width: 767px) {
    #top .about {
        padding: 60px 0;
    }
}

#top .about__wrp {
    padding: 100px 0 60px 5.714%;
    background: url(../img/pic_about@2x.jpg) no-repeat bottom right/75.758%;
}

@media screen and (max-width: 1199px) {
    #top .about__wrp {
        padding: 0 0 40px 5%;
    }
}

@media screen and (max-width: 767px) {
    #top .about__wrp {
        width: 90%;
        margin: auto;
        padding: 0;
        border-radius: 5px;
        background-position: center;
        background-size: cover;
    }
}

#top .about__wrp__box {
    width: 43.939%;
    max-width: 580px;
    padding: 60px;
    border-radius: 5px;
    background: #fff;
}

@media screen and (max-width: 1199px) {
    #top .about__wrp__box {
        width: 50%;
        padding: 5%;
    }
}

@media screen and (max-width: 767px) {
    #top .about__wrp__box {
        width: 100%;
        background: rgba(255, 255, 255, 0.5);
    }
}

#top .about__wrp__box__head {
    font-size: 3.2rem;
}

@media screen and (max-width: 1199px) {
    #top .about__wrp__box__head {
        font-size: 2.6rem;
    }
}

@media screen and (max-width: 767px) {
    #top .about__wrp__box__head {
        font-size: 2rem;
    }
}

#top .about__wrp__box__txt {
    color: #666;
    margin-top: 30px;
    font-size: 1.4rem;
}

@media screen and (max-width: 1199px) {
    #top .about__wrp__box__txt {
        margin-top: 20px;
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 767px) {
    #top .about__wrp__box__txt {
        font-size: 1rem;
    }
}

#top .about__wrp__box__link {
    color: #fff;
    width: 100%;
    max-width: 340px;
    display: block;
    margin-top: 40px;
    padding: 13px 0;
    text-align: center;
    text-decoration: none;
    border-radius: 25px;
    background: #f39c9c;
}

@media screen and (max-width: 1199px) {
    #top .about__wrp__box__link {
        margin-top: 30px;
        padding: 10px 0;
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 767px) {
    #top .about__wrp__box__link {
        margin-top: 20px;
        font-size: 1.2rem;
    }
}

#top .about__wrp__box__link:hover {
    opacity: 0.8;
}

#top .treatment {
    padding: 100px 0;
    background: #fef6f5;
}

@media screen and (max-width: 1199px) {
    #top .treatment {
        padding: 80px 0;
    }
}

@media screen and (max-width: 767px) {
    #top .treatment {
        padding: 60px 0;
    }
}

#top .treatment__ttl {
    font-size: 2.8rem;
    text-align: center;
}

@media screen and (max-width: 1199px) {
    #top .treatment__ttl {
        font-size: 2.2rem;
    }
}

@media screen and (max-width: 767px) {
    #top .treatment__ttl {
        font-size: 1.8rem;
    }
}

#top .treatment__ttl::after {
    content: "";
    width: 45px;
    height: 3px;
    display: block;
    margin: 30px auto 0;
    background: url(../common/img/bg_border01@2x.png) no-repeat center left/45px;
}

@media screen and (max-width: 1199px) {
    #top .treatment__ttl::after {
        margin-top: 20px;
    }
}

#top .treatment__nav {
    width: 90%;
    max-width: 1214px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 30px auto 0;
}

@media screen and (max-width: 767px) {
    #top .treatment__nav {
        flex-wrap: wrap;
    }
}

#top .treatment__nav__list {
    width: 19.769%;
}

@media screen and (max-width: 767px) {
    #top .treatment__nav__list {
        width: 42%;
    }
}

#top .treatment__nav__list__link {
    display: block;
    text-decoration: none;
}

#top .treatment__nav__list__link__pic:hover {
    opacity: 1;
}

#top .treatment__nav__list__link__txt {
    margin-top: 30px;
    font-size: 2rem;
    text-align: center;
}

@media screen and (max-width: 1199px) {
    #top .treatment__nav__list__link__txt {
        margin-top: 20px;
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 767px) {
    #top .treatment__nav__list__link__txt {
        font-size: 1.6rem;
    }
}

#top .treatment__nav__list__link__txt::after {
    content: "";
    width: 50px;
    height: 8.5px;
    display: block;
    margin: 20px auto 0;
    background: url(../common/img/ico_arrow01@2x.png) no-repeat center/50px;
    position: relative;
    left: 0;
    -webkit-text-size-adjust: 100%;
    transition-duration: 0.5s;
}

@media screen and (max-width: 767px) {
    #top .treatment__nav__list__link__txt::after {
        width: 25px;
        height: 4.25px;
        background-size: 25px;
    }
}

#top .treatment__nav__list__link:hover .treatment__nav__list__link__txt::after {
    left: 20px;
}

#top .treatment__nav__list:nth-child(even) {
    margin-top: 30px;
}

@media screen and (max-width: 767px) {
    #top .treatment__nav__list:nth-child(even) {
        margin-top: 20px;
    }
}

#top .consultation {
    padding: 100px 0;
}

@media screen and (max-width: 1199px) {
    #top .consultation {
        padding: 80px 0;
    }
}

@media screen and (max-width: 767px) {
    #top .consultation {
        padding: 60px 0;
    }
}

#top .consultation__ttl {
    font-size: 2.8rem;
    text-align: center;
}

@media screen and (max-width: 1199px) {
    #top .consultation__ttl {
        font-size: 2.2rem;
    }
}

@media screen and (max-width: 767px) {
    #top .consultation__ttl {
        font-size: 1.8rem;
    }
}

#top .consultation table {
    width: 100%;
    margin-top: 40px;
}

@media screen and (max-width: 1199px) {
    #top .consultation table {
        margin-top: 30px;
    }
}

@media screen and (max-width: 767px) {
    #top .consultation table {
        margin-top: 20px;
    }
}

#top .consultation table tbody {
    width: 100%;
}

#top .consultation table tbody tr {
    width: 100%;
}

#top .consultation table tbody tr th {
    width: 11.5%;
    padding: 14px 5px;
    font-weight: bold;
    background: #fff5f0;
}

#top .consultation table tbody tr th:nth-of-type(1) {
    width: 31%;
}

#top .consultation table tbody tr td {
    width: 11.5%;
    padding: 14px 5px;
}

#top .consultation table tbody tr td:nth-of-type(1) {
    width: 31%;
}

#top .consultation table, #top .consultation td, #top .consultation th {
    color: #eb5b66;
    font-size: 1.8rem;
    text-align: center;
    border: 1px solid #edcacc;
    border-collapse: collapse;
}

@media screen and (max-width: 1199px) {
    #top .consultation table, #top .consultation td, #top .consultation th {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 767px) {
    #top .consultation table, #top .consultation td, #top .consultation th {
        font-size: 1.4rem;
    }
}

#top .consultation__txt {
    margin-top: 10px;
    font-size: 1.4rem;
    text-align: right;
}

@media screen and (max-width: 1199px) {
    #top .consultation__txt {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 767px) {
    #top .consultation__txt {
        font-size: 1rem;
    }
}

#top .consultation__link {
    color: #fff;
    width: 100%;
    max-width: 340px;
    display: block;
    margin: 40px auto 0;
    padding: 13px 0;
    text-align: center;
    text-decoration: none;
    border-radius: 25px;
    background: #f39c9c;
}

@media screen and (max-width: 1199px) {
    #top .consultation__link {
        margin-top: 30px;
        padding: 10px 0;
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 767px) {
    #top .consultation__link {
        margin-top: 20px;
        font-size: 1.2rem;
    }
}

#top .consultation__link span {
    margin: 0 -1%;
}

#top .consultation__link:hover {
    opacity: 0.8;
}

#top .staff {
    padding: 100px 0;
    background: #f9f9f9;
}

@media screen and (max-width: 1199px) {
    #top .staff {
        padding: 80px 0;
    }
}

@media screen and (max-width: 767px) {
    #top .staff {
        padding: 60px 0;
    }
}

#top .staff__ttl {
    font-size: 2.8rem;
    text-align: center;
}

@media screen and (max-width: 1199px) {
    #top .staff__ttl {
        font-size: 2.2rem;
    }
}

@media screen and (max-width: 767px) {
    #top .staff__ttl {
        font-size: 1.8rem;
    }
}

#top .staff__ttl::after {
    content: "";
    width: 45px;
    height: 3px;
    display: block;
    margin: 30px auto 0;
    background: url(../common/img/bg_border01@2x.png) no-repeat center left/45px;
}

#top .staff__nav {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}

@media screen and (max-width: 767px) {
    #top .staff__nav {
        flex-wrap: wrap;
        justify-content: center;
    }
}

#top .staff__nav__list {
    width: 26.7%;
}

@media screen and (max-width: 767px) {
    #top .staff__nav__list {
        width: 60%;
    }
}

#top .staff__nav__list__link {
    display: block;
    text-decoration: none;
}

#top .staff__nav__list__link__pic:hover {
    opacity: 1;
}

#top .staff__nav__list__link__name {
    color: #333;
    margin-top: 30px;
    font-size: 2rem;
    text-align: center;
}

@media screen and (max-width: 1199px) {
    #top .staff__nav__list__link__name {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 767px) {
    #top .staff__nav__list__link__name {
        font-size: 1.6rem;
    }
}

#top .staff__nav__list__link__txt {
    margin-top: 4px;
    font-size: 1.4rem;
    text-align: center;
}

@media screen and (max-width: 1199px) {
    #top .staff__nav__list__link__txt {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 767px) {
    #top .staff__nav__list__link__txt {
        font-size: 1rem;
    }
}

#top .staff__nav__list__link__txt::after {
    content: "";
    width: 50px;
    height: 8.5px;
    display: block;
    margin: 20px auto 0;
    background: url(../common/img/ico_arrow02@2x.png) no-repeat center/50px;
    position: relative;
    left: 0;
    -webkit-text-size-adjust: 100%;
    transition-duration: 0.5s;
}

@media screen and (max-width: 767px) {
    #top .staff__nav__list__link__txt::after {
        width: 25px;
        height: 4.25px;
        background-size: 25px;
    }
}

#top .staff__nav__list__link:hover .staff__nav__list__link__txt::after {
    left: 20px;
}

#top .staff__nav__list:nth-child(even) {
    margin-top: 30px;
}

@media screen and (max-width: 767px) {
    #top .staff__nav__list:nth-child(even) {
        margin: 30px 0;
    }
}

#top .faq {
    padding: 120px 0 100px;
}

@media screen and (max-width: 1199px) {
    #top .faq {
        padding: 80px 0 60px;
    }
}

@media screen and (max-width: 767px) {
    #top .faq {
        padding: 60px 0;
    }
}

#top .faq__wrp {
    padding: 100px 0 20px 5.714%;
    background: url(../img/pic_question@2x.jpg) no-repeat top right/75.758%;
}

@media screen and (max-width: 1199px) {
    #top .faq__wrp {
        padding: 60px 0 20px 5%;
    }
}

@media screen and (max-width: 767px) {
    #top .faq__wrp {
        width: 90%;
        margin: auto;
        padding: 0;
        border-radius: 5px;
        background-size: cover;
    }
}

#top .faq__wrp__link {
    width: 29.545%;
    max-width: 390px;
    height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border-radius: 5px;
    background: #e9bda8;
}

@media screen and (max-width: 1199px) {
    #top .faq__wrp__link {
        height: 200px;
    }
}

@media screen and (max-width: 767px) {
    #top .faq__wrp__link {
        width: 100%;
        height: 150px;
        background: rgba(233, 189, 168, 0.5);
    }
}

#top .faq__wrp__link__txt {
    color: #fff;
    font-size: 2.8rem;
}

@media screen and (max-width: 1199px) {
    #top .faq__wrp__link__txt {
        font-size: 2.2rem;
    }
}

@media screen and (max-width: 767px) {
    #top .faq__wrp__link__txt {
        font-size: 1.8rem;
    }
}

#top .faq__wrp__link__txt::after {
    content: "";
    width: 50px;
    height: 8.5px;
    display: block;
    margin: 20px auto 0;
    background: url(../common/img/ico_arrow03@2x.png) no-repeat center/50px;
    position: relative;
    left: 0;
    -webkit-text-size-adjust: 100%;
    transition-duration: 0.5s;
}

@media screen and (max-width: 767px) {
    #top .faq__wrp__link__txt::after {
        width: 25px;
        height: 4.25px;
        background-size: 25px;
    }
}

#top .faq__wrp__link:hover .faq__wrp__link__txt::after {
    left: 20px;
}
