.font-oswald {
    transform: skew(0deg);
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner, .odometer.odometer-theme-minimal .odometer-digit .odometer-digit-inner {
    text-align: center !important;
}

/*blue slider*/
.border-font {
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
}
.flex-title {
    display: flex;

    align-items: center;
    justify-content: space-between;
}
.smooth {
    transition: 1.4s cubic-bezier(.37, 0, .63, 1);
    transition-property: clip-path;

    clip-path: inset(0 100% 0 0);
}
.smooth.is-animated {
    clip-path: inset(0);
}
.yen {
    display: inline-block;
    width: 63px;
    margin-right: 10px;
    margin-left: 15px;
}
.middle-text {
    margin-top: 14px;
    margin-bottom: 20px;
    letter-spacing: 1px;
}
.border-font li {
    float: left;
    width: 68px;
    padding: 10.5px 0;
    text-align: center;
    border-right: 2px solid #fff;
}
.border-font li:first-child {
    border-left: 2px solid #fff;
}
.blue-slider-title {
    width: 434px;
    padding-bottom: 26px;
    margin: 0 auto;
}
.blue-slider-img {
    width: 13.55735805330243%;
    margin-left: 2%;
}
.slider-bg-white {
    position: relative;
}
.name-text {
    position: absolute;
    top: -20px;
    right: 0;
    left: 0;
    width: 267px;
    padding: 13px 0;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    border-radius: 30px;
    background: #00aafa;
}
.name-text:after {
    position: absolute;
    right: 0;
    bottom: -11px;
    left: 0;
    width: 22px;
    height: 11px;
    margin-right: auto;
    margin-left: auto;
    content: "";
    background: url(../img/top/text-angle.png)no-repeat;
    background-size: contain;
}
.swiper-blue-slider-sec .swiper-pagination-bullet {
    box-sizing: border-box;
    border: 2px solid #00aafa;
    background: none;
}
.swiper-blue-slider-sec .swiper-pagination-bullet-active {
    width: 12px;
    height: 12px;
    border: none;
    background: #00aafa;
}
.swiper-blue-slider-sec .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 12px;
}
.slider-bg-white .time span {
    font-family: "Oswald", sans-serif;
    font-size: 33px;
}
.slider-bg-white .time small {
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 19px;
    font-weight: bold;
    vertical-align: 5px;
}
.slider-inner-text {
    width: 37.06720741599073%;
    margin-right: 4.141367323290846%;
}
.slider-bg-white .calc {
    margin-top: 24px;
    font-size: 19px;
    font-weight: bold;
    color: #00aafa;
}
.slider-bg-white .calc small {
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 15px;
    font-weight: bold;
}
.slider-bg-white .calc span {
    font-family: "Oswald", sans-serif;
    font-size: 33px;
    font-weight: normal;
}
.slider-bg-white .calc b {
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
    vertical-align: 4px;
}
.highlight-text {
    margin-top: 5px;
    font-weight: bold;
    line-height: 1.5;
}
.highlight-text span {
    display: inline-block;
    margin-bottom: 5px;
    line-height: 1;
    color: #00aaeb;
    background: linear-gradient(#fff 80%, #ff0 20%);
}
.slider-bg-white .normal {
    font-weight: bold;
    line-height: 1.7;
}
.slider-bg-white {
    display: flex;
    padding-top: 53px;
    padding-bottom: 60px;
    border-radius: 10px;
    background: #fff;

    align-items: center;
    justify-content: space-between;
}
.slider-bg-white .line-text {
    width: 28.96871378910776%;
    padding-top: 10px;
    margin-left: 7.415990730011587%;
    line-height: 1.2;
}
.slider-bg-white .line-text {
    text-align: center;
}
.slider-bg-white .line-text span {
    display: inline-block;
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 4px solid #00aafa;
}
.swiper-blue-slider-sec {
    background: #002882;
}
.swiper-blue-slider-inner {
    padding-top: 62.5px;
    padding-bottom: 80px;
    margin: 0 auto;
    background: url(../img/top/slider_bg.jpg)no-repeat;
    background-position: top center;
    background-size: 1420px;
}
.swiper-blue-slider {
    width: 100%;
    padding-top: 50px;
    overflow: hidden;
}
.swiper-blue-slider .country-slider-container {
    margin: 0 auto;
    overflow: visible;
}
.swiper-blue-slider .swiper-slide img {
    width: 100%;
    max-width: 863px;
}
.swiper-blue-slider .country-slider-item-photo {
    max-width: 863px;
    margin: 0 auto 70px;
}
.swiper-blue-slider .swiper-button-prev,
.swiper-blue-slider .swiper-button-next {
    top: calc(50% - 10px);
    width: 60px;
    height: 60px;
    background: none;
}
.swiper-blue-slider .swiper-button-prev img,
.swiper-blue-slider .swiper-button-next img {
    height: auto;
}
.swiper-blue-slider .swiper-pagination + div {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 1280px;
    height: 100%;
    margin: 0 auto;
}
.swiper-blue-slider .swiper-pagination + div .swiper-button-prev {
    left: 180px;
}
.swiper-blue-slider .swiper-pagination + div .swiper-button-next {
    right: 180px;
}
/*slider*/

/*before after*/
.before-after-section {
    position: relative;
    background: linear-gradient(90deg, #d5d1d1 50%, #cacac8 50%);
}
.before-after-bg {
    padding: 35px 0 47px;
    color: #fff;
    background: url(../img/top/before_after_bg.jpg)no-repeat;
    background-position: top center;
    background-size: 1280px;
}
.bf-container {
    max-width: 983px;
    margin: 0 auto;
}
.bf-container .check-icon {
    padding-right: 105px;
    text-align: right;
}
.bf-container .check-icon span {
    display: inline-block;
    width: 140.5px;
}
.bf_title {
    margin-top: 34px;
    text-align: center;
}
.bf_text01 {
    margin-top: 16px;
    text-align: center;
}
.before-after-inner {
    padding-top: 40px;
    padding-bottom: 74px;
    background: url(../img/top/bf_bg02.jpg);
    background-size: cover;
}
.bf-qa-col {
    display: flex;
    width: 48.52492370295015%;

    justify-content: space-between;
}
.bf-qa-icon {
    width: 120px;
}
.bf-qa-text {
    position: relative;
    width: 320px;
    box-sizing: border-box;
    line-height: 1.7;
    letter-spacing: -.5px;
    border-radius: 6px;
}
.bf-qa-text.white-bg {
    padding: 30px 0 35px 29px;
    margin-top: 34px;
    margin-left: 32px;
    background: #fff;
}
.bf-qa-text.blue-bg {
    padding: 16px 0 11px 26px;
    margin-top: 28px;
    margin-right: 35px;
    background: #00aafa;
}
.bf-qa-text:before {
    position: absolute;
    top: 35px;
    width: 27px;
    height: 22.5px;
    content: "";
}
.bf-qa-text.white-bg:before {
    left: -27px;
    background: url(../img/top/bf_text_icon_white.png)no-repeat;
    background-size: contain;
}
.bf-qa-text.blue-bg:before {
    right: -27px;
    background: url(../img/top/bf_text_icon_blue.png)no-repeat;
    background-size: contain;
}
.bf-qa-col.qa-mrg {
    margin-top: 49px;
}
.bf-qa-col.ft-left {
    float: left;
}
.bf-qa-col.ft-right {
    float: right;
}
.bf-qa-block {
    margin-bottom: 60px;
}
.bf-worries-text span {
    position: relative;
}
.bf-worries-text span:before {
    position: absolute;
    top: -4px;
    left: -30px;
    width: 26px;
    height: 50px;
    content: "";
    background: url(../img/top/open.png) no-repeat;
    background-size: contain;
}
.bf-worries-text span:after {
    position: absolute;
    top: -4px;
    right: -30px;
    width: 26px;
    height: 50px;
    content: "";
    background: url(../img/top/close.png) no-repeat;
    background-size: contain;
}
.bf-worries-text {
    padding-left: 63px;
    margin-bottom: 42px;
}
.before-after-inner .btn {
    margin-top: 0;
}
.before-after-section .min-width {
    min-width: 1280px;
    margin: 0 auto;
}
/*before after*/
.map-title {
    padding-top: 80px;
    padding-bottom: 95px;
    text-align: center;
    background: url(../img/top/map.png)no-repeat;
    background-position: 59% 66%;
    background-size: 257.5px;
}
.blue-text-eng {
    padding: 0 10px 0 18px;
    color: #00aafa;
}
.map-title .note {
    position: relative;
    margin-left: 20px;
}
.map-title .text-space {
    letter-spacing: 4px;
}
.map-title-text {
    padding-left: 48px;
}
.map-title .note:before {
    position: absolute;
    top: -8px;
    left: -25px;
    width: 17px;
    height: 36px;
    content: "";
    background: url(../img/top/open.png)no-repeat;
    background-size: contain;
}
.map-title .note:after {
    position: absolute;
    top: -8px;
    right: -22px;
    width: 17px;
    height: 36px;
    content: "";
    background: url(../img/top/close.png)no-repeat;
    background-size: contain;
}
/*slider*/
.swiper-country {
    width: 100%;
    overflow: hidden;
}
.swiper-country .country-slider-container {
    margin: 0 auto;
    overflow: visible;
}
.swiper-country .swiper-slide img, .swiper-country .swiper-slide video {
    width: 100%;
    max-width: 620px;
	height: 352px;
	object-fit: cover;
    border-radius: 10px;
}
.swiper-country .country-slider-item-photo {
    max-width: 620px;
    margin: 0 auto 60px;
}
.swiper-country .swiper-button-prev,
.swiper-country .swiper-button-next {
    top: calc(50% - 40px);
    width: 60px;
    height: 60px;
    background: none;
}
.swiper-country .swiper-button-prev img,
.swiper-country .swiper-button-next img {
    height: auto;
}
.swiper-country .swiper-pagination + div {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 1280px;
    height: 100%;
    margin: 0 auto;
}
.swiper-country .swiper-pagination + div .swiper-button-prev {
    left: 38px;
}
.swiper-country .swiper-pagination + div .swiper-button-next {
    right: 38px;
}
/*slider*/
/*faq*/
.question-text,
.answer-text {
    display: flex;

    align-items: center;
    justify-content: flex-start;
}
.question-text span,
.answer-text span {
    position: relative;
    display: inline-block;
    width: 38px;
    padding: 8px 0 20px;
    margin-right: 20px;
    text-align: center;
}
.question-text span {
    transform: none;
    color: #00aafa;
    background: url(../img/common/q_bg.png)no-repeat;
    background-size: contain;
}
.question-text {
    margin-bottom: 35px;
}
.answer-text {
    margin-bottom: 25px;
}
.question-text p,
.answer-text p {
    font-weight: bold;
    line-height: 1.6;
}
.answer-text span {
    transform: none;
    color: #000;
    background: url(../img/common/a_bg.png)no-repeat;
    background-size: contain;
}
.answer-text p {
    color: #00aafa;
}
.answer-detail {
    position: relative;
    padding: 30px;
    border-radius: 5px;
    background: #eef0f5;
}
.answer-detail i,
.answer-detail a {
    cursor: pointer;
}
.answer-detail i {
    position: absolute;
    top: auto;
    right: 20px;
    bottom: 25px;
    width: 30px;
    height: 30px;
    transition: .3s;
    border-radius: 50%;
    background: url(../img/common/plus_icon.png)#00aafa no-repeat;
    background-size: contain;

    -erbkit-transition: .3s;
}

.answer-detail .on-click i {
    transform: none;
    background: url(../img/common/minus_icon.png)#00aafa no-repeat;
    background-size: contain;
}
.answer-detail .on-click a.open {
    display: none;
}
.answer-detail .more-text {
    display: none;
}
.answer-detail a {
    color: #969696;
}
.answer-detail a.close {
    position: absolute;
    right: 60px;
    bottom: 25px;
    display: none;
}
.answer-detail .on-click a.close {
    display: block;
}

.answer-detail p {
    padding-right: 100px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 1px;
}
.answer-detail .on-click {
    padding-bottom: 20px;
}
.qa-block {
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid #646464;
}
.more-text {
    display: none;
    margin-left: -6px;
}
.faq-sec {
    padding: 60px 0 70px;
}
@media all and (min-width: 768px) {
    .faq-animated {
        -webkit-animation-duration: 1s;
                animation-duration: 1s;

        -webkit-animation-fill-mode: both;
                animation-fill-mode: both;
    }
    .answer-detail i:hover {
        -webkit-animation-name: rotateIn;
                animation-name: rotateIn;
    }

    @-webkit-keyframes rotateIn {
        0% {
            -webkit-transform: rotate3d(0, 0, 1, -200deg);
                    transform: rotate3d(0, 0, 1, -200deg);
            -webkit-transform-origin: center;
                    transform-origin: center;
            opacity: 0;
        }
        100% {
            -webkit-transform: none;
                    transform: none;
            -webkit-transform-origin: center;
                    transform-origin: center;
            opacity: 1;
        }
    }
    .rotateIn {
        -webkit-animation-name: rotateIn;
                animation-name: rotateIn;
    }
}

/*faq*/
/*news*/
.news-sec {
    padding: 90px 0 100px;
    background: #eef0f5;
}
.category {
    color: #00aafa;
}
.date {
    margin-right: 26px;
}
.news-block {
    position: relative;
    border-top: 1px solid #646464;
}
.news-sec .news-block:last-child {
    border-bottom: 1px solid #646464;
}
.detail-text {
    display: -webkit-box;
    width: 90%;
    max-height: 48px;
    margin-top: 20px;
    overflow: hidden;
    font-weight: bold;
    line-height: 1.5;
    text-overflow: ellipsis;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.news-block a:after {
    position: absolute;
    top: calc(50% - 15px);
    right: 0;
    width: 30px;
    height: 30px;
    content: "";
    border-radius: 50%;
    background: url(../img/common/link_arrow.png) #00aafa no-repeat center;
    background-size: 6px;
}
.news-block a {
    position: relative;
    display: block;
    padding: 36px 0;
    color: #000;
}
.news-block a:hover:after {
    transition: all 2s ease;
    animation: arrow .2s;
}
/*news*/
.banner-block {
    background: #ebedee;
}
.gray-bg {
    padding-bottom: 80px;
    background: #eef0f5;
}
.white-bg-block {
    display: flex;
    padding: 64px 0 53px 0;
    border-radius: 5px;
    background: #fff;

    align-items: center;
    justify-content: space-between;
}
.white-bg-block .text {
    width: 51.85185185185185%;
    padding-bottom: 80px;
    margin-right: 11.94444444444444%;
    font-weight: bold;
    line-height: 1.75;
}
.human-img {
    width: 21.2962962962963%;
}
.banner-block {
    background: #ebedee;
}
.banner-block .container {
    padding: .9% 0;
}
/*map block*/
.full-bnr {
    height: 720px;
    background: url(../img/top/full-width-bnr.jpg)repeat;
    background-size: 84%;
}
.full-bnr .img {
    position: relative;
    width: 894px;
    padding-top: 80px;
    margin: 0 auto;
}
.full-bnr .men-prize-tlt {
    position: absolute;
    top: 75px;
    left: 34%;
    text-align: center;
    color: #fff;
}
.full-bnr .men-prize-tlt .font-oswald {
    display: block;
    margin-bottom: 22px;
    transform: none;
}
.full-bnr .full-bnr-txt {
    position: absolute;
    top: 39.5%;
    left: 10px;
    color: #fff;
}
.full-bnr .full-bnr-txt h3 {
    margin-bottom: 50px;
}
.full-bnr .full-bnr-txt p.number {
    position: absolute;
    top: -55px;
    left: 400px;
    width: 200px;
}
.full-bnr .full-bnr-txt p.number span.odometer {
    font-family: "Oswald", sans-serif;
    font-size: 174px;
}
.full-bnr .full-bnr-txt p.case-number {
    position: absolute;
    bottom: -116px;
    left: 76px;
}
.full-bnr .full-bnr-txt p.notic-txt {
    position: absolute;
    bottom: -170px;
    left: 127px;
    font-size: 14px;
    font-weight: normal;
}
.full-bnr .full-bnr-txt p.case-number span.year {
    display: inline;
    font-size: 28px;
    color: #000;
}
.full-bnr .full-bnr-txt p.case-number span.odometer {
    font-family: "Oswald", sans-serif;
    font-size: 55px;
    font-weight: normal;
    vertical-align: baseline;
    color: #ff0;
}
.odometer.odometer-auto-theme .odometer-digit,
.odometer.odometer-theme-minimal .odometer-digit,
.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,
.odometer.odometer-theme-minimal .odometer-digit .odometer-digit-spacer {
    vertical-align: baseline;
}
.full-bnr .full-bnr-txt h4 {
    margin-left: 33px;
    letter-spacing: .7px;
}
.full-bnr .full-bnr-txt span.site-name:before {
    top: -26px;
    left: -26px;
    width: 19px;
    height: 48px;
    background: url(../img/top/open-white.png) no-repeat;
    background-size: contain;
}
.full-bnr .full-bnr-txt span.site-name:after {
    top: -26px;
    right: -26px;
    width: 19px;
    height: 48px;
    background: url(../img/top/close-white.png) no-repeat;
    background-size: contain;
}
.full-bnr .full-bnr-txt .line-ani {
    display: inline-block;
    padding-right: 22px;
    margin-bottom: 35px;
}
.full-bnr .full-bnr-txt .line-ani:after {
    bottom: -16px;
    border-bottom: 4px solid #00aafa;
}
.full-bnr .full-bnr-txt h3 span:last-child {
    display: block;
}
.full-bnr img img {
    width: 100%;
}
.pin {
    position: absolute;
    width: 3.4%;
    max-width: 30px;
    opacity: 0;
}
.pin01 {
    right: 10%;
    bottom: 41.4%;
    animation-duration: 4s !important;
}
.pin02 {
    right: 11.4%;
    bottom: 36.5%;
    animation-duration: 3s !important;
}
.pin03 {
    right: 9.4%;
    bottom: 29.4%;
    animation-duration: 2s !important;
}
.pin04 {
    right: 10%;
    bottom: 25%;
    animation-duration: 2s !important;
}
.pin05 {
    right: 12.7%;
    bottom: 22.5%;
    animation-duration: 4s !important;
}
.pin06 {
    right: 10.5%;
    bottom: 22%;
    animation-duration: 3s !important;
}
.pin07 {
    right: 14.5%;
    bottom: 20%;
    animation-duration: 2.5s !important;
}
.pin08 {
    right: 15%;
    bottom: 27%;
    animation-duration: 2.8s !important;
}
.pin09 {
    right: 21.3%;
    bottom: 24%;
}
.pin10 {
    right: 23.2%;
    bottom: 21%;
}
.pin11 {
    right: 20.6%;
    bottom: 20.5%;
}
.pin12 {
    top: 40.5%;
    right: 8.5%;
    animation-duration: 2.8s !important;
}
.bound {
    animation: bound .4s ease-in-out .4s forwards;
}
@keyframes bound {
    0% {
        transform: translateY(-100%);
    }
    40% {
        transform: translateY(0);
        opacity: 1;
    }
    55% {
        transform: translateY(2%);
        opacity: 1;
    }
    70% {
        transform: translateY(3%);
        opacity: 1;
    }
    80% {
        transform: translateY(2%);
        opacity: 1;
    }
    100% {
        transform: translateY(3%);
        opacity: 1;
    }
}
/*end map block*/
/*start reason*/
#reasons {
    background-color: #00aafa;
    background-image: linear-gradient(to right, #0093f8 1px, transparent 1px),
    linear-gradient(to bottom, #0093f8 1px, transparent 1px);
    background-size: 40px 40px;
}
.reasons-inner {
    padding: 7% 0 7.5%;
}
.reasons-inner .block-tlt {
    margin-bottom: 107px;
}
.reasons-inner .block-tlt span.site-name {
    margin-bottom: 19px;
}
.reasons-inner .block-tlt .white-txt span {
    display: inline-block;
    padding: 7px;
    margin-bottom: 0;
    border-radius: 5px;
    background: #fff;
}
.block-tlt .upper-circle {
    position: relative;
    display: inline-block;
}
.block-tlt .upper-circle:before {
    position: absolute;
    top: -10px;
    left: 50%;
    width: 8px;
    height: 8px;
    content: "";
    transform: translateX(-50%);
    border-radius: 50%;
    background: #fff;
}
.reasons-inner .tlt-blue {
    line-height: 1.8;
}
.reasons-inner .box01 .number-tlt {
    padding-left: 45px;
}
.reasons-inner .number-tlt {
    position: relative;
    padding-bottom: 13px;
    box-sizing: border-box;
}
.reasons-inner .box01 .number-tlt:before {
    position: absolute;
    top: -41px;
    left: 13px;
    font-family: "Oswald", sans-serif;
    font-size: 73px;
    font-weight: normal;
    content: "3";
    -webkit-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-deg, 0deg);
       -moz-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-deg, 0deg);
        -ms-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
         -o-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
            transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-1deg, 0deg);
}
.reasons-inner .box01 .number-tlt:after {
    position: absolute;
    bottom: 0;
    left: -5px;
    width: 0;
    height: 4px;
    content: "";
    transition: all 2s ease;
    background: #00aafa;
}
.reasons-inner .box01 .number-tlt.underline:after {
    left: 13px;
    width: 95%;
}
.reasons-inner .number-tlt .s-font {
    margin-right: 5px;
}
.reasons-inner .img-block {
    margin-top: 24px;
    margin-bottom: 25px;
}
.reasons-inner .txt-block {
    line-height: 1.8;
}
.reasons-inner .img-block .caption {
    display: block;
    margin-top: 12px;
    font-weight: bold;
    line-height: 1.5em;
    letter-spacing: 1px;
}
#reasons .flex {
    width: 90.5%;
    margin: 0 auto;

    flex-wrap: wrap;
}
.reasons-inner .reason-box {
    position: sticky;
    z-index: 0;
    width: 47%;
    padding: 4.3% 3.5% 4%;
    box-sizing: border-box;
    border-radius: 5px;
    background: #fff;
}
.reasons-inner .reason-box:before {
    position: absolute;
    top: -66px;
    left: -30px;
    width: 120px;
    height: 120px;
    content: "";
}
@keyframes rotate-y {
    0% {
        transform: rotateY(0deg);
    }
    100% {
        transform: rotateY(360deg);
    }
}
@-webkit-keyframes rotate-x {
    0% {
        -webkit-transform: rotateY(0deg);
    }
    100% {
        -webkit-transform: rotateY(360deg);
    }
}
.box-rotate:before {
    -webkit-animation: rotate-y .5s infinite;
            animation: rotate-y .5s infinite;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1;
}
.reasons-inner .reason-box.box01:before {
    background: url(../img/top/circle-01.png) no-repeat;
    background-size: contain;
}
.reason-box .tlt-blue .s-font {
    vertical-align: middle;
}
.reason-box .flex-img {
    display: flex;

    justify-content: space-between;
}
.reason-box .flex-img div {
    width: 48%;
}
.reasons-inner .box02 .tlt-blue {
    margin-bottom: 20px;
    line-height: 1.5em;
}
.reasons-inner .box02 .number-tlt .font-oswald {
    line-height: 0;
}
.reasons-inner .number-tlt .outline {
    position: relative;
}
.reasons-inner .number-tlt .outline:after {
    position: absolute;
    bottom: 0;
    left: -10px;
    width: 0;
    content: "";
    transition: all 2s ease;
    border-bottom: 4px solid #00aafa;
}
.reasons-inner .number-tlt .outline.outerline:after {
    left: 0;
    width: 100%;
}
.reasons-inner .box02 .number-tlt:after {
    position: absolute;
    bottom: 0;
    left: 100px;
    width: 0;
    height: 4px;
    content: "";
    transition: all 2s ease;
    background: #00aafa;
}
.reasons-inner .box02 .number-tlt.underline:after {
    left: 110px;
    width: 43%;
}
.color-outline-txt {
    -webkit-transition: all 2s ease;
       -moz-transition: all 2s ease;
        -ms-transition: all 2s ease;
         -o-transition: all 2s ease;
    /*background: linear-gradient(to top, #ffff00 20%, #ffffff 30%);*/
    background-image: -webkit-linear-gradient(left, #fff 50%, #ff0 50%);
    background-repeat: repeat-x;
    background-position: 0 15px;
    background-size: 200% 12px;
}
.color-outline-after {
    background-position: -100% 15px;
}
.reasons-inner .reason-box.box02:before {
    background: url(../img/top/circle-02.png) no-repeat;
    background-size: contain;
}
.reasons-inner .reason-box.box03:before {
    background: url(../img/top/circle-03.png) no-repeat;
    background-size: contain;
}
.reasons-inner .reason-box.box04:before {
    background: url(../img/top/circle-04.png) no-repeat;
    background-size: contain;
}
.reasons-inner .reason-box.box03 .tlt-blue,
.reasons-inner .reason-box.box04 .tlt-blue {
    line-height: 1.8em;
}
.reasons-inner .reason-box.box03 .number-tlt,
.reasons-inner .reason-box.box04 .number-tlt {
    padding-left: 0;
}
.reasons-inner .reason-box.box03 .img-block {
    margin-top: 35px;
    margin-bottom: 20px;
}
.reasons-inner .reason-box.box03 .img-block img {
    width: 88%;
    margin: 0 auto;
}
/*end reason*/
/*start zerobnr*/

#middle-bnr {
    background: linear-gradient(90deg, #efeded 50%, #eeeeed 50%);
}
#middle-bnr .main-width {
    position: relative;
    padding: 0;
}
.line-ani {
    position: relative;
}
.line-ani:after {
    position: absolute;
    bottom: -10px;
    left: -10px;
    width: 0;
    content: "";
    transition: all 2s ease;
    border-bottom: 6px solid #00aafa;
}
.line-ani-after:after {
    left: 0;
    width: 100%;
}
.zero-txt {
    position: absolute;
    top: 50%;
    left: 12.3%;
    transform: translateY(-50%);
}
.zero-txt .line-ani {
    margin: 17px 0 27px 0;
}
.zero-txt .line-ani:after {
    bottom: -15px;
}
/*end zerobnr*/
/*start price*/
#price-menus {
    background: #00aafa;
}
#price-menus .price-menus-inner {
    padding-bottom: 7.2%;
}
#price-menus .price-menus-inner .btn a:before {
    right: 5%;
}
.price-menu-tlt {
    padding-top: 5.6%;
    padding-bottom: 6.4%;
    text-align: center;
}
.price-menu-tlt img {
    width: 34%;
}
.menu-lists {
    padding-left: 4.5%;
    margin-bottom: -31px;

    flex-wrap: wrap;
    justify-content: flex-start;
}
.menu-lists li {
    position: relative;
    width: 20%;
    padding-left: 45px;
    margin-bottom: 40px;
}
.menu-lists li:before {
    position: absolute;
    top: -20px;
    left: 0;
    width: 50px;
    height: 60px;
    content: "";
    background: url(../img/top/list-style.png) no-repeat;
    background-size: contain;
}
.menu-lists li a {
    color: #000;
}
#more-promotion-sec {
    background: #eef0f5;
}
.more-promo-tlt img {
    width: 53%;
    margin-bottom: 7.5%;
}
.more-promotion-sec-inner {
    padding-top: 4%;
    padding-bottom: 7%;
}
.promotion-txt-block h3 {
    position: relative;
    border-bottom: 5px solid #00aafa;
}
.promotion-txt-block.txt-block01 h3 {
    margin-bottom: 5%;
}
.promotion-txt-block.txt-block02 h3 {
    margin-bottom: 7.5%;
}
.promotion-txt-block h3 span {
    position: absolute;
    top: -21px;
    left: 50%;
    padding: 14px 40px;
    transform: translateX(-50%);
    text-align: center;
    color: #ff0;
    border-radius: 50px;
    background: #00aafa;
}
.promotion-txt-block .yellow-box {
    line-height: 1.7;
}
.promotion-txt-block .yellow-box p {
    display: inline-block;
    width: 211px;
    margin: 0 10px;
    line-height: 1.3;
    border-radius: 3px;
    background: #ff0;
}
.promotion-txt-block .yellow-box p span {
    align-items: center;
}
.more-promotion-sec-inner .txt-block01 {
    margin-bottom: 7%;
}
.more-promotion-sec-inner .flex {
    padding: 0 4.5%;
}
.more-promotion-sec-inner .promo-box {
    position: relative;
    width: 32%;
    padding-bottom: 4%;
    text-align: center;
    border-radius: 10px;
    background: #fff;
}
.more-promotion-sec-inner .promo-box span.number {
    position: absolute;
    top: -16px;
    left: 50%;
    width: 32px;
    height: 32px;
    line-height: 1.7;
    transform: translateX(-50%);
    color: #ff0;
    border-radius: 50%;
    background: #00aafa;
}
.more-promotion-sec-inner .promo-box img {
    width: 24%;
    margin: 12% 0 7%;
}
.more-promotion-sec-inner .promo-percent p {
    display: inline-block;
    transform: none;
}
.more-promotion-sec-inner .promo-percent p.line-ani:after {
    bottom: 0;
    border-bottom: 5px solid #ff0;
}
@media screen and (min-width: 768px) {
  .more-promotion-sec-inner .promo-percent p {
      padding-bottom: 8px;
  }
}
/*start fav-section*/
#fav-section {
    overflow: hidden;
    background: #eef0f5;
}
.fav-section-inner {
    padding: 7.5% 10%;
    box-sizing: border-box;
}
.fav-section-inner .block-tlt {
    margin-bottom: 80px;
}
.fav-section-inner .block-tlt .font-m-60 .line-ani {
    padding: 0 10px;
}
.fav-section-inner .block-tlt .font-m-60 .line-ani:after {
    bottom: -2px;
    border-bottom: 4px solid #00aafa;
}
.block-tlt span.site-name {
    position: relative;
    display: inline-block;
    margin-bottom: 30px;
}
.block-tlt span.site-name:before {
    position: absolute;
    top: -13px;
    left: -33px;
    width: 25px;
    height: 50px;
    content: "";
    background: url(../img/top/open.png) no-repeat;
    background-size: contain;
}
.block-tlt span.site-name:after {
    position: absolute;
    top: -13px;
    right: -33px;
    width: 25px;
    height: 50px;
    content: "";
    background: url(../img/top/close.png) no-repeat;
    background-size: contain;
}
.fav-box .upper-block {
    position: relative;
    display: flex;
    height: 227px;
    padding-left: 7.2%;
    border-radius: 15px 15px 0 0;
    background: #fff;

    align-items: center;
    justify-content: space-between;
}
@keyframes rotation1 {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}
/*the animation definition*/
@-webkit-keyframes bounceIn {
  0%, 100%, 20%, 40%, 60%, 80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
    transition-timing-function: cubic-bezier(0.215, .61, .355, 1)
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.5, .5, .5);
    transform: scale3d(.5, .5, .5)
  }
  60% {
    -webkit-transform: scale3d(1.2, 1.2, 1.2);
    transform: scale3d(1.2, 1.2, 1.2)
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1)
  }
}
@keyframes bounceIn {
  0%, 100%, 20%, 40%, 60%, 80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
    transition-timing-function: cubic-bezier(0.215, .61, .355, 1)
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.5, .5, .5);
    -ms-transform: scale3d(.5, .5, .5);
    transform: scale3d(.5, .5, .5)
  }
  60% {
    -webkit-transform: scale3d(1.2, 1.2, 1.2);
    -ms-transform: scale3d(1.2, 1.2, 1.2);
    transform: scale3d(1.2, 1.2, 1.2)
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1)
  }
}
.bounceIn {
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
    animation: .3s linear bounceIn;
    text-align: center;
}
.fav-box .upper-block .fav-number, .fav-box .upper-block .fav-number01, .fav-box .upper-block .fav-number02, .fav-box .upper-block .fav-number03 {
    position: absolute;
    top: -9%;
    right: -7%;
    width: 125px;
    height: 125px;
}
.fav-box .upper-block .fav-number01 {
    background: url(../img/top/fav-number01.png)no-repeat;
    background-size: contain;
}
.fav-box .upper-block .fav-number02 {
    background: url(../img/top/fav-number02.png)no-repeat;
    background-size: contain;
}
.fav-box .upper-block .fav-number03 {
    background: url(../img/top/fav-number03.png)no-repeat;
    background-size: contain;
}
.fav-box .upper-block .fav-txt {
    position: absolute;
    top: 3%;
    right: -4%;
    width: 8%;
}
.fav-box .upper-block p {
    line-height: 2;
}
.fav-box .upper-block .menu-lists li {
    width: auto;
    padding-left: 35px;
    margin-bottom: 21px;
}
.fav-box .upper-block .menu-lists li:last-child {
    margin-bottom: 0;
}
.fav-box .upper-block .menu-lists li:before {
    width: 39px;
    height: 40px;
    background: url(../img/top/list-style-blue.png) no-repeat;
    background-size: contain;
}
.fav-box .upper-block .flex {
    width: 430px;

    justify-content: flex-start;
}
.fav-box .upper-block .flex img {
    width: 150px;
    height: 150px;
    margin-right: 50px;
}
.fav-box .upper-block .menu-lists {
    /*padding-top: 26px;*/
    padding-left: 0;
    margin-bottom: 0;
}
.fav-box .lower-block {
    padding: 0 2.7%;
    border-radius: 0 0 15px 15px;
    background: #00aafa;
}
.fav-box .drop-down-content {
    padding: 0 2.5%;
    margin-top: 2.5%;
    border-radius: 6px;
    background: #fff;
}
.fav-box .drop-down-content h3 {
    padding: 4.7% 0 5.5%;
    text-align: center;
}
.fav-box .lower-block a {
    display: block;
    padding: 3% 0;
    line-height: 1.7;
    color: #000;
}
.fav-box .lower-block a span {
    position: relative;
    padding-right: 40px;
}
.fav-box .lower-block a span:after {
    position: absolute;
    top: -35%;
    right: 0;
    width: 30px;
    height: 30px;
    content: " ";
    background: url(../img/top/plus-ico.jpg) no-repeat;
    background-size: contain;
}
.fav-box .lower-block a.active span:after {
    background: url(../img/top/minus-ico.jpg) no-repeat;
    background-size: contain;
}
.fav-box .lower-block a span:hover:after {
    -webkit-animation-name: rotateIn;
            animation-name: rotateIn;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;

    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}
.fav-box .drop-down-content ul {
    padding: 0 0 3.5% 10%;
    border-bottom: 1px solid;

    align-items: center;
}
.fav-box .drop-down-content ul li {
    width: 60%;
}
.fav-box .drop-down-content ul li:last-child {
    position: relative;
	width: 100%;
	margin: 0 auto;
}
/*.fav-box .drop-down-content ul li:last-child:before {
    position: absolute;
    left: -9%;
    width: 1px;
    height: 100%;
    content: "";
    background: #000;
}*/
.fav-box .drop-down-content p.font-18,
.fav-box .drop-down-content p.note-txt {
	font-weight: bold;
    padding: 4.5% 0;
}
.fav-box .course-times {
    line-height: 1.5;
    border-radius: 50px;
    background: #00aafa;
	width: 80%;
	margin: 0 auto;
}
.fav-box .course-times span:last-child {
    margin-left: -5px;
}
.fav-box.fav-box01,
.fav-box.fav-box02 {
    margin-bottom: 5%;
}
/*.fav-box.fav-box01 .upper-block p.font-midashi {
		width: 71%;
	}*/
.fav-box.fav-box02 .upper-block div,
.fav-box.fav-box03 .upper-block div {
    width: 228px;
    padding-right: 72px;
}
.fav-box .price {
    line-height: 1.2;
	margin: 3% 0 0 3%;
}
.fav-box .pay-txt {
    margin-bottom: 2%;
    line-height: 2;
    letter-spacing: 1px;
}
.fav-box .cost {
    padding: 0 !important;
    line-height: 1.5;
    border: 1px solid;
    border-radius: 3px;
	width: 60%;
	margin: 4% auto 0;
}
.fav-box .lower-block .btn {
    padding-bottom: 5%;
    margin-top: 3%;
}
.fav-box .lower-block .btn a {
    padding: 9% 0;
    color: #fff;
    border: 0;
    background: #000;
}
.fav-box .lower-block .btn a:before {
    background: url(../img/top/arr-blue.png) no-repeat;
    background-size: contain;
}
.fav-box .lower-block .btn a:hover {
    color: #000;
    background: #fff;
}
.lower-block-inner {
    display: none;
}
/*clinic page*/
.about-main-visual {
    margin-top: 90px;
    background: url(../img/clinic/about-mv-bg.jpg) repeat;
    background-size: 84%;
}
.about-main-visual-inner {
    position: relative;
    height: 480px;
    padding-top: 6.4%;
    padding-left: 9.3%;
    box-sizing: border-box;
}
.about-main-visual-inner .doctor-img {
    position: absolute;
    right: 3.5%;
    bottom: 0;
    width: 740px;
}
.about-main-visual-inner h2 img {
    width: 411px;
}
.about-main-visual-inner .line-ani {
    display: inline-block;
    margin-top: 37px;
    margin-bottom: 70px;
}
.sub-page .white-bg {
    top: 0;
    height: 90px;
}
.about-main-visual-inner .font-oswald {
    position: relative;
    width: 97%;
}
.about-main-visual-inner .font-oswald span.odometer {
    vertical-align: baseline;
    color: #00a9fa;
}
.about-main-visual-inner .font-oswald:before {
    position: absolute;
    top: -40px;
    left: 0;
    width: 115px;
    height: 45px;
    content: "";
    background: url(../img/clinic/number-tlt.png)no-repeat;
    background-size: contain;
}
.about-main-visual-inner .font-oswald span.year {
    /*margin-left: -13px;*/
    color: #000;
}
#about .reasons-inner {
    padding-top: 9.8%;
}
#about #reasons .flex {
    width: 100%;
    box-sizing: border-box;
}
.about-flex {
    padding: 0 90px 0 50px;
    margin-bottom: 130px !important;
    box-sizing: border-box;
}
.about-flex .right img {
    width: 330px;
}
#about .reasons-inner .block-tlt .white-txt span {
    padding: 9px;
    letter-spacing: 3px;
}
#about .reasons-inner .block-tlt {
    margin-bottom: 60px;
}
.about-flex .left p.font-18 {
    line-height: 1.7;
}
#about .swiper-inner {
    overflow: hidden;
    border-radius: 5px;
}
#about .reasons-inner .reason-box {
    padding: 0;
    background: none;
}
#about .reasons-inner .reason-box:before {
    position: initial;
    background: none !important;
}
#about .reasons-inner .reason-ani {
    position: absolute;
    z-index: 3;
    width: 100%;
}
#about .reasons-inner .reason-ani:before {
    position: absolute;
    top: -60px;
    left: 196px;
    width: 120px;
    height: 120px;
    content: "";
}
#about .reasons-inner .reason-ani.reason-ani01:before {
    background: url(../img/top/circle-01.png) no-repeat;
    background-size: contain;
}
#about .reasons-inner .reason-ani.reason-ani02:before {
    background: url(../img/top/circle-02.png) no-repeat;
    background-size: contain;
}
#about .reasons-inner .reason-ani.reason-ani03:before {
    background: url(../img/top/circle-03.png) no-repeat;
    background-size: contain;
}
#about .reasons-inner .reason-ani.reason-ani04:before {
    background: url(../img/top/circle-04.png) no-repeat;
    background-size: contain;
}
#about .reasons-inner .reason-box .swiper-button-disabled {
    display: none;
}
.circle-arrow {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #000;
}
.circle-arrow img {
    position: absolute;
    top: 39%;
    left: 33%;
    width: 42%;
}
.swiper-button-prev.circle-arrow {
    top: 55%;
    left: -20px;
}
.swiper-button-next.circle-arrow {
    top: 55%;
    right: -20px;
}
.swiper-button-next.circle-arrow:before {
    display: block;
    width: 84px;
    margin-top: -30px;
    margin-left: -18px;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 12px;
    font-weight: bold;
    content: "詳しくはこちら";
}
.swiper-button-prev.circle-arrow img {
    transform: rotate(180deg);
}
.r-slide01 {
    z-index: 3;
    height: 490px;
    padding: 90px 50px 0 25px;
    box-sizing: border-box;
    background: #fff;
}
.r-slide02 {
    height: 490px;
    padding: 83px 50px 0 50px;
    box-sizing: border-box;
    background: #eef0f5;
}
.r-slide02 p {
    line-height: 1.9;
	font-weight: bold;
}
#original-system {
    background: #eef0f5;
}
#original-system .container {
    padding-top: 6%;
    padding-bottom: 75px;
}
#original-system .block-tlt .white-txt span {
    display: inline-block;
    padding: 7px 15px;
    border-radius: 5px;
    background: #fff;
}
#original-system .block-tlt .white-txt span.txt-blue {
    padding: 0;
}
#original-system .block-tlt .font-m-60 {
    margin-top: 15px;
}
.white-box-gp {
    margin-top: 11%;

    flex-wrap: wrap;
}
.white-box {
    position: relative;
    width: 47%;
    padding: 50px 35px;
    box-sizing: border-box;
    border-radius: 5px;
    background: #fff;
}
.white-box:before {
    position: absolute;
    top: -55px;
    left: 50%;
    width: 113px;
    height: 56.5px;
    padding-top: 25px;
    box-sizing: border-box;
    font-family: "Oswald", sans-serif;
    font-size: 51px;
    content: "";
    transform: translateX(-50%);
    text-align: center;
    background: url(../img/clinic/original-tlt-bg.png);
    background-size: contain;
}
.white-box.w-box01:before {
    content: "1";
}
.white-box.w-box02:before {
    content: "2";
}
.white-box.w-box03:before {
    content: "3";
}
.white-box.w-box04:before {
    content: "4";
}
.white-box .txt-block {
    font-weight: bold;
    line-height: 1.7;
}
.white-box .flex {
    margin-bottom: 40px;

    align-items: center;
}
.white-box .flex .img {
    width: 180px;
    text-align: center;
}
.white-box .flex .title {
    width: 256px;
}
.white-box .flex .title h3 {
    position: relative;
    display: inline-block;
}
.white-box .flex .line-ani {
    display: inline-block;
}
.white-box.w-box02 .flex .title h3 {
    padding-top: 44px;
}
.white-box.w-box02 .flex .title h3 span {
    display: inline-block;
}
.white-box.w-box04 .flex .title h3 span.font-94-eng {
    display: inline-block;
    padding-top: 10px;
    transform: none;
}
.white-box.w-box01 .flex .title h3:before {
    position: absolute;
    top: 18px;
    left: 10px;
    width: 98px;
    height: 37.5px;
    content: "";
    background: url(../img/clinic/original-tlt01.jpg) no-repeat;
    background-size: contain;
}
.white-box.w-box02 .flex .title h3:before {
    position: absolute;
    top: -6px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 28px;
    content: "コース";
}
.white-box.w-box02 .flex .title h3:after {
    position: absolute;
    top: -15px;
    right: 19px;
    width: 109px;
    height: 45px;
    content: "";
    background: url(../img/clinic/original-tlt02.jpg) no-repeat;
    background-size: contain;
}
.white-box.w-box03 .flex .title h3 {
    padding-top: 50px;
}
.white-box.w-box03 .flex .title h3:before {
    position: absolute;
    top: 0;
    right: 83px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 21px;
    content: "の";
}
.white-box.w-box03 .flex .title h3:after {
    position: absolute;
    top: -16px;
    left: 46px;
    width: 78px;
    height: 45px;
    content: "";
    background: url(../img/clinic/original-tlt03.jpg) no-repeat;
    background-size: contain;
}
.white-box.w-box04 .flex .title h3:before {
    position: absolute;
    top: 20px;
    left: 79px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 21px;
    content: "の";
}
.white-box.w-box04 .flex .title h3:after {
    position: absolute;
    top: 3px;
    left: 0;
    width: 78px;
    height: 45px;
    content: "";
    background: url(../img/clinic/original-tlt04.jpg) no-repeat;
    background-size: contain;
}
.white-box .flex .img img {
    width: 95px;
}
.reason-swiper03 .inner-box {
    padding: 15px 15px 0;
    box-sizing: border-box;
    background: #fff;
}
.reason-swiper03 .inner-box h4 {
    margin-bottom: 15px;
}
.reason-swiper03 .inner-box {
    margin: 25px 0 35px;
}
.square-lists li {
    position: relative;
    width: 50%;
    padding-left: 20px;
    margin-bottom: 15px;
    box-sizing: border-box;
    font-weight: bold;
}
.square-lists li:before {
    position: absolute;
    left: 0;
    width: 15px;
    height: 15px;
    content: "";
    background: #00aafa;
}
#about .reason-box .swiper-wrapper:before {
    position: absolute;
    top: 0;
    content: "";
    background: url(../img/top/circle-01.png) no-repeat;
    background-size: contain;
}

@media all and (min-width: 768px) {
    #about .line-ani:after {
        bottom: -16px;
        border-bottom: 4px solid #00aafa;
    }
}
/*price*/
.price-main-visual {
    height: 390px;
    margin-top: 90px;
    background: url(../img/price/plan-list-mv-bg.jpg);
    background-size: 75%;
}
.price-main-visual img {
    position: absolute;
    width: 590px;
    padding-top: 117px;
    transform: translateX(-50%);
}
#planlists {
    padding: 73px 0 0 0;
    background: #00a9ff;
}
#planlists-hige {
    padding: 73px 0 0 0;
}
#planlists .list-tlt {
    margin-bottom: 108px;
}
#planlists .list-tlt .line-ani:after {
    border-color: #fff;
}
#planlists .fav-box .drop-down-content {
    padding: 25px 36px 40px;
    margin: 0;
}
#planlists .fav-box:nth-child(8) .drop-down-content h3 {
    padding-bottom: 5px;
}
#planlists .fav-box .drop-down-content ul {
    padding: 0 0 23px;
    margin-bottom: 22px;

    flex-wrap: wrap;
}
#planlists .fav-box {
    width: 47.4%;
    margin-bottom: 78px;
}
#planlists .fav-box .drop-down-content ul li:first-child {
    width: 100%;
    margin-bottom: 45px;
}
#planlists .fav-box .drop-down-content ul li {
    width: 80%;
	margin: 0 auto;
}
#planlists .lists-box {
    flex-wrap: wrap;
}
#planlists .fav-box .pay-txt {
    margin-bottom: 3px;
}
#planlists .fav-box .cost {
    letter-spacing: 1px;
}
/*#planlists .fav-box .drop-down-content ul li:last-child:before {
    left: -20px;
}*/
#planlists .fav-box .drop-down-content h3 {
    padding: 20px 0 35px;
    -webkit-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-deg, 0deg);
       -moz-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-deg, 0deg);
        -ms-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
         -o-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
            transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-6deg, 0deg);
}
#planlists .drop-down-content p.font-14 {
    line-height: 1.5em;
    letter-spacing: 1px;
}
#planlists .fav-box:nth-child(3) .drop-down-content p.font-14 {
    min-height: 41.6px;
}
#planlists .fav-box .btn {
    width: 288px;
    padding: 0;
    margin-top: 20px;
}
.btn.yellow a {
    padding-right: 14px;
    border-color: #fff;
    background: #ff0;
}
.btn.yellow a:before {
    width: 17px;
    height: 14px;
    content: "";
    background: url(../img/price/target_blank.png) no-repeat;
    background-size: contain;
}
.btn.yellow a:hover {
    color: #000;
    border-color: #ff0;
    background: #fff;
}
.btn.yellow  a:hover:before {
    content: "";
    background: url(../img/price/target_blank.png) no-repeat;
    background-size: contain;
}
#grid-bg {
    background-color: #00aafa;
    background-image: linear-gradient(to right, #0093f8 1px, transparent 1px), linear-gradient(to bottom, #0093f8 1px, transparent 1px);
    background-size: 40px 40px;
}
.no-more-charge {
    padding: 97px 0 107px;
}
.no-more-charge .img {
    width: 46.5%;
    text-align: center;
}
.no-more-charge .img img {
    width: 395px;
}
.no-more-charge .txt {
    width: 49%;
}
.yellow-txt {
    color: #fdff00;
}
.no-more-charge .menu-lists {
    padding-left: 0;
    margin-top: 52px;
    margin-bottom: 0;
}
.no-more-charge .menu-lists li {
    width: 42%;
    padding-left: 42px;
    margin-bottom: 26px;
}
.no-more-charge .menu-lists li:before {
    top: -25px;
}
.no-more-charge .block-tlt {
    position: relative;
    padding-top: 10px;
    padding-left: 140px;
    margin-bottom: 13px;
}
.no-more-charge .block-tlt:before {
    position: absolute;
    top: 58px;
    left: 35px;
    width: 90px;
    height: 51px;
    content: "";
    background: url(../img/price/txt01.png) no-repeat;
    background-size: contain;
}
.no-more-charge .block-tlt .font-m-36 {
    margin-left: -16px;
}
.no-more-charge .block-tlt span.site-name {
    margin-bottom: 12px;
}
.no-more-charge .font-m-47 {
    padding-left: 28px;
}
#price .more-promotion-sec-inner {
    padding-top: 7.3%;
    padding-bottom: 7.5%;
}
#price .more-promotion-sec-inner .site-name {
    margin-bottom: 0;
    letter-spacing: 1px;
}
.more-promo-tlt img {
    display: block;
    margin: 0 auto;
    margin-bottom: 72px;
}
#step-3 {
    padding-top: 55px;
}
.step-3-title {
    max-width: 472px;
    margin: 0 auto;
}
.step-col {
    width: 480px;
}
.drop-icon {
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-top: 30px;
    margin-left: 10px;
    font-weight: bold;
    border-radius: 50%;
    background: url(../img/common/plus_icon.png)#00a9f8  no-repeat;
    background-size: contain;
}
.drop-text {
    vertical-align: 7px;
    color: #000;
}
.drop-button-cover.active .drop-icon {
    background: url(../img/common/minus_icon.png)#00a9f8 no-repeat;
    background-size: contain;
}
.drop-icon:hover {
    -webkit-animation-name: rotateIn;
            animation-name: rotateIn;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;

    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}
.drop-button {
    display: inline-block;
}
.drop-button-cover {
    padding-bottom: 30px;
}
.step-bg {
    display: none;
    margin-bottom: 80px;
    background: #eceef3;
}
.step-bg.active {
    display: block;
}
.step-bg-inner {
    padding: 32px 30px 50px;
}
.step-select {
    position: relative;
    display: block;
    width: 100%;
    padding: 22px 28px;
    box-sizing: border-box;
    background: #fff;
}
.step-select.active:after {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
}
.step-select:after {
    position: absolute;
    top: calc(50% - 6px);
    right: 20px;
    width: 20px;
    height: 12.5px;
    content: "";
    background: url(../img/common/down_arrow.png)no-repeat;
    background-size: contain;
}
.step-block {
    display: flex;

    justify-content: space-between;
}
.select-title {
    margin-bottom: 15px;
    transform: none;
}
.step-blue-button {
    position: relative;
    display: block;
    width: 220px;
    padding: 18px 0;
    margin: 0 auto;
    font-weight: bold;
    text-align: center;
    color: #000;
    border-radius: 25px;
    background: #00a9f8;
}
.step-blue-button:before {
    position: absolute;
    top: 28%;
    left: 20px;
    font-size: 16px;
    font-weight: bold;
    content: "+";
}
.step-button-cover {
    margin-top: 40px;
    margin-bottom: 30px;
}
.radio-item-inner {
    position: relative;
    display: inline-block;
    margin-right: 20px;
}
.choose-button {
    cursor: pointer;
}
.choose-item-block {
    display: none;
}
.choose-item-block.active {
    display: block;
}
.choose-item-block {
    padding: 22px 28px;
    background: #fff;
}
.radio-item-inner .checkmark {
    left: 0;
}
.radio-item-inner .radio-container {
    padding-left: 35px;
}
.step-radio-title {
    margin-bottom: 20px;
}
.step-radio-block {
    display: flex;

    justify-content: space-between;
}
.step-radio-block li {
    position: relative;
    width: 33.33%;
    padding-top: 20px;
    text-align: center;
}
.light-blue-color {
    color: #48a7f1;
}
.sale-text {
    display: inline-block;
    padding: 0 10px 3px 10px;
    transform: none;
    border-bottom: 4px solid #fffc54;
}
.light-blue-percentage {
    color: #2f79e6;
}
.radio-item-block {
    margin-top: 25px;
}
.radio-item-block p:last-child {
    transform: none;
}
.radio-item-block.mid-custom-mrg {
    margin-top: 30px;
}
.radio-sub-title {
    margin-bottom: 30px;
}
.custom-radio-block {
    margin-bottom: 33px;
}
.custom-radio-block .choose-item-block {
    padding-top: 11px;
    padding-bottom: 33px;
}
.step-select.radio-block:after {
    top: 26px;
}
.radio-container {
    display: block;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}
.step-radio-block li .radio-container {
    opacity: .5;
}
.step-radio-block li .radio-container.check {
    opacity: 1;
}
.radio-container input {
    position: absolute;
    cursor: pointer;
    opacity: 0;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 40%;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: #eceef3;
}
.radio-container input:checked ~ .checkmark {
    background-color: #eceef3;
}

.checkmark:after {
    position: absolute;
    display: none;
    content: "";
}

.radio-container input:checked ~ .checkmark:after {
    display: block;
}

.radio-container .checkmark:after {
    top: 0;
    left: 0;
    width: 25px;
    height: 25px;
    box-sizing: border-box;
    border: 4.5px solid #eceef3;
    border-radius: 50%;
    background: #00a9f1;
}
.dark-blue-color {
    color: #082a7c;
}
.light-orange-color {
    color: #ee8633;
}
.input-box {
    display: flex;
    border-bottom: 2px solid #000;

    align-items: baseline;
    justify-content: space-between;
}
.input-box label {
    width: 40%;
}
.input-box p {
    width: 60%;
}
.input-text {
    display: inline-block;
    width: 87%;
    transform: none;
    text-align: right;
    color: #00a9f8;
    border: none;
    background: none;
}
.mark {
    position: absolute;
    top: 18px;
    left: 0;
    display: inline-block;
    width: 120px;
    padding: 7px 0;
    text-align: center;
    letter-spacing: 1px;
    color: #fff;
    border-radius: 8px;
    background: #000;
}
.mark:after {
    position: absolute;
    top: calc(50% - 3px);
    right: -5px;
    width: 0;
    height: 0;
    content: "";
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 6px solid #000;
}
.mark b {
    margin-left: 5px;
    color: #00a9f8;
}
::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #00a9f8;
}
::-moz-placeholder {
    /* Firefox 19+ */
    color: #00a9f8;
}
:-ms-input-placeholder {
    /* IE 10+ */
    color: #00a9f8;
}
:-moz-placeholder {
    /* Firefox 18- */
    color: #00a9f8;
}
.note-text {
    padding-top: 10px;
    font-weight: bold;
}
.positon-relative-block {
    position: relative;
    margin-top: 48px;
}
.step-select.radio-block {
    margin-bottom: 35px;
}
.submit-bottom {
    width: 290px;
    padding: 24px 0;
    margin: 0 auto;
    font-weight: bold;
    text-align: center;
    color: #fff;
    border: none;
    border-radius: 50px;
    background: #000;
}
.submit-btn-cover {
    margin-top: 73px;
}
.col-custom-pd {
    padding-top: 42px;
}
.light-blue-bg {
    padding: 73px 0 80px;
    background: #00a9f8;
}
.bg-white-text {
    display: inline-block;
    padding: 7px 0 7px 5px;
    border-radius: 5px;
    background: #fff;
}
.bg-white-block {
    position: relative;
    padding: 148px 75px 57px 100px;
    margin-top: 73px;
    border-radius: 5px;
    background: #fff;
}
.bg-white-block-inner {
    display: flex;

    justify-content: space-between;
}
.w-col02 {
    margin-right: 58px;
    margin-left: 20px;
}
.w-col03 {
    width: 478px;
    padding-top: 32px;
    line-height: 1.7;
}
.bg-white-block-inner {
    margin-bottom: 53px;
}
.bg-arrow-block {
    position: absolute;
    top: -34px;
    right: 0;
    left: 0;
    width: 538px;
    padding-bottom: 86px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    background: url(../img/price/arrow_bg.png)no-repeat;
    background-size: cover;
}
.bg-arrow-text {
    width: 274px;
    padding-bottom: 10px;
    margin: 0 auto;
}
.bg-white-block .btn {
    margin-top: 0;
}
.w-col01 {
    width: 300px;
}
.white-block-text-img {
    display: inline-block;
}
.w-col02 {
    width: 129px;
}
.medical-laser-block {
    padding: 45px 0 60px;
    background: #fff;
}
.medical-laser-block .btn.blue a {
    padding-right: 4%;
}
.medical-laser-block .btn.blue a:before {
    right: 5%;
}
.medical-laser-title {
    line-height: 1.5;
}
.medical-laser-block p {
    width: 754px;
    margin: 0 auto;
    margin-top: 47px;
    margin-bottom: 48px;
    line-height: 2.5;
}
.medical-laser-block .btn {
    margin-top: 0;
}
.medical-laser-title .line-ani:after {
    bottom: -2px;
    border-bottom: 4px solid #00aafa;
}
.medical-laser-title .line-ani {
    display: inline-block;
    padding: 0 5px;
}
.anesthesia-fee-block {
    padding: 64px 0 62px;
    background: #00a9f8;
}
.anesthesia-fee-block-title .line-ani:after {
    border-bottom: 4px solid #fff;
}
.anesthesia-fee-block-title span {
    display: inline-block;
    padding: 0 5px;
}
.anesthesia-fee-block-inner {
    margin-top: 68px;
}
.anesthesia-fee-block-inner .float-left {
    float: left;
}
.anesthesia-fee-block-inner .float-right {
    float: right;
}
.fee-col {
    width: 510px;
    padding: 5px;
    box-sizing: border-box;
    border-radius: 10px;
    background: #fff;
}
.hide-fee-detail {
    padding: 15px;
    line-height: 1.5;
}
.fee-col-block {
    display: flex;

    justify-content: space-between;
}
.fee-col-inner {
    width: 50%;
}
.fee-col-inner.text-block {
    position: relative;
    padding: 13px 21px;
    box-sizing: border-box;
}
.fee-col-inner .text-block-title {
    padding-bottom: 15px;
    margin-bottom: 23px;
    line-height: 1.8;
    border-bottom: 1px solid #000;
}
.hide-fee-detail {
    display: none;
}
.add-plus-icon {
    position: absolute;
    right: 12px;
    bottom: 12px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    border-radius: 50%;
    background: url(../img/common/plus_icon.png)#00aafa no-repeat;
    background-size: contain;
}
.add-plus-icon:hover {
    -webkit-animation-name: rotateIn;
            animation-name: rotateIn;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;

    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}
.fee-col-block.active .add-plus-icon {
    background: url(../img/common/minus_icon.png)no-repeat;
    background-size: contain;
}
.payment-method-block {
    padding: 74px 0 100px;
}
.payment-method-block-inner {
    width: 882px;
    margin: 0 auto;
}
.payment-method-block-title .line-ani:after {
    border-bottom: 4px solid #00aafa;
}
.payment-list-num {
    display: inline-block;
    width: 30px;
    height: 30px;
    padding-top: 5px;
    margin-right: 27px;
    box-sizing: border-box;
    transform: none;
    text-align: center;
    color: #00a9f8;
    border-radius: 50%;
    background: #000;
}
.payment-list {
    border-bottom: 1px solid #646464;
}
.payment-list-cover {
    margin-top: -23px;
}
.payment-list a {
    position: relative;
    display: block;
    display: flex;
    padding: 37px 0 31px;
    color: #000;

    align-items: center;
}
.payment-list a:after {
    position: absolute;
    top: calc(50% - 15px);
    right: 0;
    width: 30px;
    height: 30px;
    content: "";
    border-radius: 50%;
    background: url(../img/common/plus_icon.png)#00aafa no-repeat;
    background-size: contain;
}
.payment-list-cover .payment-list:first-child a:after {
    background: none;
}
.payment-list a:hover:after {
    -webkit-animation-name: rotateIn;
            animation-name: rotateIn;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;

    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}
.payment-list a.active:after {
    background: url(../img/common/minus_icon.png)#00aafa no-repeat;
    background-size: contain;
}
.payment-method-block-title {
    margin-bottom: 57px;
}
.payment-detail {
    padding: 30px;
    margin-bottom: 26px;
    line-height: 1.5;
    border-radius: 5px;
    background: #eef0f5;
}
.payment-detail {
    display: none;
}
.payment-detail p {
    word-break: break-all;
}
/*price*/
/*price bust*/
.price-bust-main-visual {
    display: flex;
    height: 390px;
    margin-top: 90px;
    background: #00a9ff;

    align-items: center;
}
.price-bust-main-visual .white-text {
    margin-bottom: 25px;
}
.price-bust-block01 {
    position: relative;
    overflow: hidden;
}
.price-bust-block01:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    content: "";
    /*transform: translate(-50%, 0);*/
    background: #eeeeed;
}
.price-bust-block01:after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    content: "";
    /*transform: translate(50%, 0);
    background-image: linear-gradient(to right bottom, #eee, #eee, #eee, #ededed, #ededed, #ececec, #ecebeb, #e2e2e2, #e9e8e7, #e7e6e5, #e5e4e2, #e2e2e0);*/
    background: #eeeeed;
}
.price-bust-bg {
    background: url(../img/price-bust/block01_bg.jpg)no-repeat;
    background-position: top center;
    background-size: 1280px;
}

.price-bust-bg01 {
    background: url(../img/price-bust/block01_bg01.png)no-repeat;
    background-position: top right;
    background-size: contain;
}
.price-bust-bg02 {
    background: url(../img/price-bust/block01_bg01.png)no-repeat;
    background-position: top right;
    background-size: contain;
}
.price-bust-block01-inner {
    width: 880px;
    padding-top: 65px;
    padding-bottom: 73px;
    margin: 0 auto;
}
.price-bust-block01-inner .text01 {
    color: #00aafa;
}
.price-bust-block01-inner .text02 {
    margin-bottom: 40px;
    line-height: 1.7;
}
.price-bust-block01-inner .line-ani {
    display: inline-block;
}
.price-bust-block01-inner .line-ani:after {
    bottom: 0;
}
.price-bust-block01-inner .text03 {
    font-weight: bold;
    line-height: 1.8;
}
.price-bust-block01-inner .text03 span {
    color: #00aafa;
}
.price-bust-block01-text-block {
    max-width: 530px;
}
.price-bust-block02 {
    padding-top: 71px;
    padding-bottom: 54px;
    background: #eef0f5;
}
.price-bust-block02-title span {
    display: inline-block;
    padding: 0 9px;
}
.price-bust-block02-title .line-ani:after {
    bottom: -19px;
    border-bottom: 4px solid #00aafa;
}
.chest-hair-removal-block {
    display: flex;
    width: 700px;
    margin: 0 auto;
    margin-top: 67px;

    justify-content: space-between;
}
.chest-hair-removal-block .title {
    padding: 8px 0;
    margin-bottom: 10px;
    border-radius: 3px;
    background: #00aafa;
}
.chest-hair-removal-block .img-block {
    width: 23.92857142857143%;
    margin-right: 25px;
}
.chest-hair-removal-block .text-block {
    width: 73.07142857142857%;
}
.chest-hair-removal-block .text-block .text01 {
    padding-left: 5px;
    line-height: 2;
}
.price-bust-block02 .price-bust-col3-block {
    display: flex;
}
.price-bust-block02 .price-bust-col3-block .col-inner {
    width: 31.48148148148148%;
}
.price-bust-block02 .price-bust-col3-block .col-inner:nth-child(2) {
    margin: 0 2.777777777777778%;
}
.price-bust-block02 .price-bust-col3-block .col-inner .col-title {
    position: relative;
    margin-bottom: 33px;
    text-align: center;
}
.price-bust-block02 .price-bust-col3-block .col-inner:last-child .col-title {
    margin-bottom: 15px;
}
.price-bust-block02 .price-bust-col3-block .col-inner .col-title span {
    position: relative;
    z-index: 1;
    display: inline-block;
    width: 208px;
    padding: 14px 0;
    text-align: center;
    letter-spacing: 1px;
    border-radius: 25px;
    background: #00aafa;
}
.price-bust-block02 .price-bust-col3-block .col-inner .col-title span i {
    margin-left: -7px;
    font-style: initial;
    font-weight: normal;
}
.price-bust-block02 .price-bust-col3-block .col-inner .col-title span b {
    padding-left: 13px;
}
.price-bust-block02 .price-bust-col3-block .col-inner .col-title:before {
    position: absolute;
    top: calc(50% - 2px);
    display: block;
    width: 100%;
    height: 4px;
    content: "";
    background: #00aafa;
}
.price-bust-col3-cov {
    margin-top: 50px;
}
.price-bust-block02 .price-bust-col3-block .col-inner .icon-block {
    display: flex;
    width: 240px;
    margin: 0 auto;

    align-items: center;
}
.price-bust-block02 .price-bust-col3-block .col-inner .icon-block span.custom-mrg {
    margin-right: 7px;
}
.price-bust-block02 .price-bust-col3-block .col-inner .img-clock {
    width: 88px;
    margin-right: 25px;
}
.price-bust-block02 .price-bust-col3-block .col-inner .pain-block {
    display: flex;
    width: 164px;
    padding-top: 3px;
    margin: 0 auto;

    justify-content: space-between;
}
.price-bust-block02 .price-bust-col3-block .col-inner .pain-block span {
    display: inline-block;
    width: 25px;
    margin-right: 2px;
}
.price-bust-block02 .price-bust-col3-block .col-inner .pain-block span:last-child {
    margin-right: 0;
}
.price-bust-block02 .price-bust-col3-block .col-inner .text01 {
    padding-left: 23px;
    margin-top: 23px;
    color: #00a9f9;
}
.price-bust-block02 .price-bust-col3-block .col-inner .link-block {
    text-align: right;
}
.price-bust-block02 .price-bust-col3-block .col-inner .link-block.link-margin01 {
    margin-top: 80px;
    margin-right: 5px;
}
.price-bust-block02 .price-bust-col3-block .col-inner .link-block.link-margin02 {
    margin-top: 13px;
    margin-right: 8px;
}
.price-bust-block02 .price-bust-col3-block .col-inner .link-text {
    position: relative;
    display: inline-block;
    padding-bottom: 3px;
    margin-right: 10px;
    color: #656565;
    border-bottom: 1px solid #656565;
}
.price-bust-block02 .price-bust-col3-block .col-inner .link-text:hover {
    opacity: .7;
}
.price-bust-block02 .price-bust-col3-block .col-inner .link-text:after {
    position: absolute;
    top: 2px;
    right: -10px;
    width: 5px;
    height: 9px;
    font-weight: bold;
    content: "";
    color: #656565;
    background: url(../img/price-bust/gray-arrow.png)no-repeat;
    background-size: contain;
}
.price-bust-block02 .price-bust-col3-block .col-inner .side-effect-block-inner {
    display: flex;
    width: 212px;
    padding-bottom: 2px;
    margin: 0 auto;

    justify-content: space-between;
}

.price-bust-block02 .price-bust-col3-block .col-inner .side-effect-block-inner .text-block {
    width: 51.4%;
    padding-top: 17px;
}
.price-bust-block02 .price-bust-col3-block .col-inner .side-effect-block-inner .icon-block {
    display: flex;
    width: 48.6%;

    justify-content: space-between;
}
.price-bust-block02 .price-bust-col3-block .col-inner .side-effect-block-inner .icon-block span {
    width: 15px;
}
.price-bust-block02 .price-bust-col3-block .col-inner .side-effect-block-inner .icon-block span:last-child {
    margin-right: 0;
}
.price-bust-point-block {
    padding: 76px 0 70px;
    background-color: #00aafa;
    background-image: linear-gradient(to right, #0093f8 1px, transparent 1px), linear-gradient(to bottom, #0093f8 1px, transparent 1px);
    background-size: 40px 40px;
}
.price-bust-point-block .block-tlt span.site-name:after {
    position: absolute;
    top: -23px;
    right: -40px;
    width: 29px;
    height: 56px;
    content: "";
    background: url(../img/top/close.png) no-repeat;
    background-size: contain;
}
.price-bust-point-block .block-tlt span.site-name:before {
    position: absolute;
    top: -23px;
    left: -38px;
    width: 29px;
    height: 56px;
    content: "";
    background: url(../img/top/open.png) no-repeat;
    background-size: contain;
}
.price-bust-point-block .block-tlt span.site-name {
    margin-bottom: 27px;
    transform: none;
}
.price-bust-point-block .block-tlt .line-ani {
    display: inline-block;
}
.price-bust-point-block .block-tlt .line-ani:after {
    border-bottom: 4px solid #fff;
}
.price-bust-point-block .point-icon {
    display: inline-block;
    width: 206px;
    padding: 6px 0;
    text-align: center;
    vertical-align: 6px;
    color: #00a9f9;
    border-radius: 5px;
    background: #ff0;
}
.price-bust-point-block .block-tlt .middle-text {
    margin: 0 5px;
}
.price-bust-point-block .block-tlt02 {
    margin-top: 74px;
}
.price-bust-chr-fee-block .block-tlt02 {
    margin-top: 67px;
    letter-spacing: -.6px;
}
.price-bust-point-block .block-tlt02 span,
.price-bust-chr-fee-block .block-tlt02 span {
    position: relative;
    display: inline-block;
    margin-bottom: 30px;
}
.price-bust-point-block .block-tlt02 span:before,
.price-bust-chr-fee-block .block-tlt02 span:before {
    position: absolute;
    top: -20px;
    left: -30px;
    width: 26px;
    height: 50px;
    content: "";
    background: url(../img/top/open.png) no-repeat;
    background-size: contain;
}
.price-bust-point-block .block-tlt02 span:after,
.price-bust-chr-fee-block .block-tlt02 span:after {
    position: absolute;
    top: -20px;
    right: -30px;
    width: 26px;
    height: 50px;
    content: "";
    background: url(../img/top/close.png) no-repeat;
    background-size: contain;
}
.price-bust-point-block .video-block {
    display: flex;
    margin-top: 13px;

    justify-content: space-between;
}
.price-bust-point-block .video-col {
    width: 48.05555555555556%;
    margin: 0 auto;
}

.point-mrg {
    margin-top: 110px;
}
.price-bust-point-block .col3-block-cov {
    display: flex;
    padding: 40px 42px 40px 27px;
    margin-top: 24px;
    margin-bottom: 98px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;

    justify-content: space-around;
}
.price-bust-point-block .col3-block-inner {
    display: flex;

    align-items: center;
}
.price-bust-point-block .white-text-box {
    display: inline-block;
    padding: 11px 20px;
    margin-right: 16px;
    background: #fff;
}
.price-bust-point-block .white-text-box.custom-pd {
    padding: 11px 8px;
}
.price-bust-point-block .point1-col,
.price-bust-point-block .point2-col {
    position: relative;
    background: #fff;
}
.price-bust-point-block .point1-col {
    width: 31.48148148148148%;
    padding: 35px 25px;
    box-sizing: border-box;
    border-radius: 3px;
}
.price-bust-point-block .point1-col .text {
    padding-top: 30px;
    line-height: 1.8;
}
.price-bust-point-block .point-block-cov .line-ani-after:after {
    bottom: -5px;
    border-bottom: 4px solid #00aafa;
}
.price-bust-point-block .white-circle {
    position: absolute;
    top: -42px;
    right: 0;
    left: 0;
    width: 89px;
    height: 89px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    border-radius: 100%;
    background: #fff;
}
.price-bust-point-block .white-circle span {
    display: block;
    transform: none;
}

.point-rel {
    position: relative;
}
.price-bust-point-block .white-circle .point-text {
    display: inline-block;
    padding-top: 10px;
}
.price-bust-point-block .point2-col {
    width: 65.74074074074074%;
    padding: 35px 25px 27px;
    box-sizing: border-box;
    border-radius: 3px;
}
.price-bust-point-block .point-block-cov {
    display: flex;

    justify-content: space-between;
}
.price-bust-point-block .point2-col .point2-col-inner {
    display: flex;
    padding-top: 32px;

    justify-content: space-between;
}
.price-bust-point-block .point2-col .point2-col-inner .col1 {
    width: 47.26858877086495%;
    /*padding-top: 5px;*/
}
.price-bust-point-block .point2-col .point2-col-inner .col2 {
    width: 48.10318664643399%;
}
.price-bust-point-block .point2-col .point2-col-inner .col1 .gray-box {
    padding: 10px 0 10px 20px;
    margin-top: 15px;
    box-sizing: border-box;
    background: #f5f5f5;
}
.price-bust-point-block .point2-col .point2-col-inner .col1 .gray-box ul li {
    position: relative;
    padding-left: 25px;
    line-height: 2.5;
}
.price-bust-point-block .point2-col .point2-col-inner .col1 .gray-box ul li:before {
    position: absolute;
    left: 0;
    width: 31px;
    height: 33px;
    content: "";
    background: url(../img/price-bust/list_icon.png)no-repeat;
    background-position: center;
    background-size: contain;
}
.price-bust-point-block .point2-col .point2-col-inner .col1 .gray-box ul li span {
    vertical-align: -10px;
}
.price-bust-point-block .point2-col .point2-col-inner .list-icon {
    position: relative;
    padding-left: 30px;
    margin-top: 24px;
    margin-bottom: 10px;
    letter-spacing: -1px;
}
.price-bust-point-block .point2-col .point2-col-inner .list-icon:before {
    position: absolute;
    left: 0;
    width: 31px;
    height: 33px;
    content: "";
    background: url(../img/price-bust/list_icon.png)no-repeat;
    background-position: center;
    background-size: contain;
}
.price-bust-point-block .point2-col .point2-col-inner .list-icon span {
    vertical-align: -11px;
}
.price-bust-point-block .point2-col .point2-col-inner .text01 {
    line-height: 1.8;
}
.price-bust-point-block .point2-col .point2-col-inner .custom-mrg {
    margin-top: 22px;
}

.price-bust-chr-fee-block {
    padding: 74px 0 75px;
    background: #eef0f5;
}
.price-bust-chr-fee-block .block-tlt .line-ani-after:after {
    bottom: -7px;
    border-bottom: 4px solid #00aafa;
}
.price-bust-chr-fee-block .col3-cov {
    display: flex;
    margin-top: 15px;

    justify-content: space-between;
}
.price-bust-chr-fee-block .col3-cov .col3-block {
    width: 31.48148148148148%;
    padding: 28px 16px;
    box-sizing: border-box;
    border-radius: 3px;
    background: #fff;
}
.price-bust-chr-fee-block .col3-cov .col3-block .price-custom-pd {
    letter-spacing: .5px;
}
.price-bust-chr-fee-block .gray-icon-block {
    display: flex;
    padding-bottom: 14px;
    border-bottom: 1px solid #000;

    justify-content: space-between;
}
.price-bust-chr-fee-block .gray-icon-block span {
    display: inline-block;
    width: 98px;
    padding: 8px 0;
    text-align: center;
    background: #edeff4;
}
.price-bust-chr-fee-block .middle-text {
    margin-top: 23px;
    margin-bottom: 15px;
    letter-spacing: -.5px;
}
.price-bust-chr-fee-block .col3-cov .col3-block .title {
    margin-bottom: 2px;
    line-height: 1.5;
}
.price-bust-chr-fee-block .col3-cov .col3-block p.line-ani {
    display: inline-block;
}
.price-bust-chr-fee-block .col3-cov .col3-block p.line-ani:after {
    border-bottom: 3px solid #00aafa;
}
.price-bust-chr-fee-block .col3-cov .col3-block .chr-price-text {
    margin-top: 15px;
    margin-bottom: 5px;
}
.price-bust-chr-fee-block .col3-cov .col3-block .blue-text-box {
    display: inline-block;
    width: 263px;
    padding: 5px 0;
    margin-top: 10px;
    margin-bottom: 27px;
    text-align: center;
    letter-spacing: 1px;
    color: #00a9f9;
    border: 1px solid #00a9f9;
}
.price-bust-chr-fee-block .col3-cov .col3-block .black-link {
    position: relative;
    display: inline-block;
    width: 289px;
    padding: 22px 0;
    padding-right: 21px;
    box-sizing: border-box;
    transition: all .2s;
    text-align: center;
    color: #fff;
    border: 4px solid #000;
    border-radius: 50px;
    background: #000;
}
.price-bust-chr-fee-block .col3-cov .col3-block .black-link:hover {
    color: #000;
    background: #fff;
}
.price-bust-chr-fee-block .col3-cov .col3-block .black-link:after {
    position: absolute;
    top: calc(50% - 8px);
    right: 14px;
    width: 15px;
    height: 15px;
    content: "";
    background: url(../img/common/blue_link_arrow.png)no-repeat;
    background-size: contain;
}
.price-bust-chr-fee-block .col3-cov .col3-block .black-link:hover::after {
    background: url(../img/top/right-arr.png) no-repeat;
    background-size: contain;
}
.price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner {
    display: flex;
    padding-top: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #000;

    justify-content: space-between;
}
.price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner .img-block {
    width: 92px;
    padding: 0 15px;
    box-sizing: border-box;
}
.price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner .text-block p {
    display: inline-block;
}
.price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner .text-block {
    margin-top: -15px;
    line-height: 1.7;
    letter-spacing: 1.5px;
}
.price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner .text-block .font-m-27 {
    letter-spacing: 0;
}
.price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner .text-block p.line-ani:after {
    bottom: 0;
}
.price-bust-chr-fee-block .col3-cov .col3-block .blue-box-button {
    margin-top: 10px;
}
.price-bust-chr-fee-block .col3-cov .col3-block .blue-box-button span {
    display: block;
    width: 264px;
    padding: 8px 0;
    margin-left: 28px;
    box-sizing: border-box;
    text-align: center;
    border-radius: 5px;
    background: #00aafa;
}
.price-bust-chr-fee-block .col3-cov .col3-block:nth-child(2) .chr-price-text {
    margin-top: 6px;
}
.price-bust-chr-fee-block .col3-cov .col3-block:nth-child(2) .blue-text-box {
    margin-left: 13px;
}
.price-bust-chr-fee-block .col3-cov .col3-block:last-child .chr-price-text {
    margin-top: 6px;
}
.price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner2 {
    display: flex;
    margin-top: 10px;
    border-bottom: 1px solid #000;

    align-items: center;
    justify-content: space-between;
}
.price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner2 .img-block {
    width: 97px;
    padding: 0 3px;
    box-sizing: border-box;
}
.price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner2 .text-block .gray-icon-block {
    padding-bottom: 0;
    margin-top: 15px;
    border: none;
}
.price-bust-chr-fee-block .col2-block {
    display: flex;
    margin-top: 40px;

    align-items: flex-start;
    justify-content: space-between;
}
.price-bust-chr-fee-block .col2-block .img-block-cov {
    display: flex;
    width: 344px;
    margin-right: 36px;
    border-radius: 3px;
    background: #fff;

    align-items: center;
}
.price-bust-chr-fee-block .col2-block .img-block-cov .inner-text .blue-text {
    margin-bottom: 7px;
    margin-left: -5px;
}
.price-bust-chr-fee-block .col2-block .img-block-cov .img-block {
    width: 176px;
    padding: 7px 30px 7px 10px;
    box-sizing: border-box;
}
.price-bust-chr-fee-block .col2-block .text-block {
    width: 702px;
    padding-top: 8px;
}
.price-bust-chr-fee-block .col2-block .text-block .text01 {
    padding-bottom: 24px;
    margin-bottom: 19px;
    line-height: 1.7;
    border-bottom: 1px solid #000;
}
/*price bust*/
/*full set*/
.all-main-visual {
    height: 480px;
    background: #00aafa;
    background-image: none;
}
.all-inner {
    position: relative;
    width: 700px;
    /*padding-top: 76px;*/
    padding-top: 70px;
    margin: 0 auto;
}

.all-inner .mv-txt00 {
    position: inherit;
    margin-bottom: 30px;
    color: #fff;
}

.all-inner .mv-txt00 span {
    display: inline;
}

.all-inner img {
    position: inherit;
    width: 100%;
    padding-top: 0;
    transform: none;
}
.all-inner .mv-img01 {
    margin-bottom: 53px;
}
.all-inner .mv-img02 {
    display: block;
    width: 340px;
    margin: 0 auto;
}
.all-inner .mv-img02.sp-only {
    display: none;
}

.all-inner .mv-txt {
    position: absolute;
    line-height: 1.2;
}
.all-inner .mv-txt01 {
    /*bottom: 62px;
    left: 185px;*/
    bottom: 59px;
    left: 192px;
}
.all-inner .mv-txt02 {
    /*right: 193px;*/
    right: 185px;
    /*bottom: 40px;*/
    bottom: 38px;
}

.all-inner .y-txt {
    color: #fdff00;
}
.full-plan {
    padding: 72px 0 85px;
    border-top: 2px solid #eef0f5;
}
.full-plan .drop-down-content.flex {
    width: 82%;
    margin: 0 auto;

    align-items: center;
    justify-content: flex-end;
}
.full-plan .drop-down-content.flex .left {
    width: 370px;
}
.full-plan .drop-down-content.flex .left img {
  	width: 370px;
}

/*.full-plan .drop-down-content.flex .left {
    display: inline-flex;
    width: 260px;
}*/
.full-plan .drop-down-content.flex .right {
    width: 445px;
    margin-left: 100px;
    /*margin-left: 300px;*/
}
.full-plan .drop-down-content.flex ul {
    padding: 0 0 20px 0;
    margin-bottom: 25px;
}
.full-plan-tlt {
    margin-bottom: 80px;
}
.full-plan-tlt span {
    display: inline-block;
}
.all-sec02 {
    padding: 63px 0 83px;
    background: #00aafa;
}
.all-sec02 h2 {
    margin-bottom: 23px;
    color: #fff;
}
.vio .all-sec02 .font-midashi:nth-child(1) {
    margin-bottom: 23px;
    color: #fff;
}
@media screen and (min-width:768px) {
  .vio .all-sec02 .font-midashi:nth-child(1) {
    margin-bottom: calc(6px + (23 - 6) * ((100vw - 320px) / (767 - 320)));
  }
}
.square-tlt {
    display: flex;
    margin-bottom: 85px;

    justify-content: center;
}
.square-tlt span {
    width: auto;
    padding: 0 7px;
    margin-right: 4px;
    line-height: 1.4;
    color: #fff;
    border: 2px solid #fff;
}
.square-tlt span.font-m-33 {
    padding: 0 3px;
    border: none;
}
.square-tlt span.black-bg {
    padding: 0 8px;
    border: none;
    background: #000;
}
.all-sec02 .list-block .menu-lists {
    width: 53%;
    padding: 0;
    margin: 0;
}
.all-sec02 .list-block .img {
    position: absolute;
    top: -37px;
    right: 68px;
    width: 423px;
}
.all-sec02 .list-block .menu-lists li {
    width: 38%;
    padding-left: 37px;
    margin-bottom: 23px;
}
.all-sec02 .menu-lists li:before {
    width: 40px;
    height: 44px;
}
.all-sec02 .list-block {
    position: relative;
    padding-left: 100px;
    box-sizing: border-box;
}
.all-sec03 {
    padding: 70px 0 83px;
}
.col-2-img-txt h2 img {
    width: 330px;
}
.col-2-img-txt h2 {
    margin-bottom: 65px;
}
.vio .all-sec03 .midashi {
  margin-bottom: 65px;
}
.vio .all-sec03 .midashi img {
  width: 330px;
}
@media screen and (max-width:767px) {
  .vio .all-sec03 .midashi {
    margin-bottom: calc(45px + (105 - 45) * ((100vw - 320px) / (767 - 320)));
  }
  .vio .all-sec03 .midashi img {
    width: calc(187px + (450 - 187) * ((100vw - 320px) / (767 - 320)));
  }
}
.all-sec03 .col-2-img-txt .flex {
    padding: 0 180px 0 180px;
}
.all-sec03 .col-2-img-txt .flex .img {
    width: 36%;
    margin-right: 90px;
}
.all-sec03 .col-2-img-txt .flex .txt {
    width: 50%;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0;
}

.all-sec04 {
    /*background: linear-gradient(
90deg
, #f5f5f5 50%, #eeeeed 50%); */
    background-color: #eeeeed;
}
.all-sec04 .line-ani:after {
    bottom: 8px;
}
.all-sec04 .main-width {
    position: relative;
}
.all-sec04 .recommend-txt {
    position: absolute;
    top: 9.5%;
    left: 15.8%;
}
.all-sec04 .recommend-txt h2 {
    margin-bottom: 16px;
}
.all-sec04 .recommend-txt p span.font-m-30 {
    margin: 0 -5px 0 -5px;
}
.all-sec04 .recommend-txt p .font-m-60 {
    margin-left: -25px;
}
.all-sec04 .recommend-txt .menu-lists {
    padding-left: 0;
    margin-top: 50px;
    margin-bottom: 0;
}
.all-sec04 .recommend-txt .menu-lists li {
    width: 100%;
    margin-bottom: 24px;
}
.all-sec04 .recommend-txt .menu-lists li:before {
    top: -25px;
    width: 47px;
    height: 53px;
}
@media screen and (min-width:768px) {
  .vio .all-sec04 {
    padding-top: 46px;
  }
}
.all-sec05 {
    padding: 72px 0 61px;
    background: #eef0f5;
}
.all-sec05 .line-ani {
    display: inline-block;
}
.page-all .line-ani:after {
    border-bottom: 4px solid #00aafa;
}
.all-sec05 .line-ani:after,
.all-sec06 .line-ani:after {
    bottom: -19px;
}
.all-sec05 h2 .font-18 {
    margin-top: 58px;
    line-height: 1.7em;
}
.all-sec05 h2 {
    margin-bottom: 60px;
}
.all-sec05 .detail-block .details-inner {
    padding: 87px 65px 12px;
    margin-bottom: 46px;
    box-sizing: border-box;
    background: #fff;
}
.all-sec05 .detail-block .details-inner .left {
    width: 40%;
    text-align: center;
}
.all-sec05 .detail-block .details-inner .left img {
    width: 328px;
    margin-top: 76px;
}
.all-sec05 .detail-block .details-inner .right {
    width: 52%;
    padding-top: 10px;
    margin: 0 auto;

    flex-wrap: wrap;
    justify-content: flex-start;
}
.all-sec05 .detail-block .details-inner .right .body-part {
    width: 100px;
    margin-right: 31px;
    margin-bottom: 46px;
}
.all-sec05 .detail-block .details-inner .right .body-part .body-part-img {
    position: relative;
    cursor: pointer;
    transition: all .4s;
}
.all-sec05 .detail-block .details-inner .right .body-part .body-part-img:hover:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: rgba(0,169,249,.5);
}
.all-sec05 .detail-block .details-inner .right .body-part .body-part-img:hover:after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    content: "";
    transform: translate(-50%,-50%);
    background: url(../img/price/all/zoom.png) no-repeat;
    background-size: contain;
}
.all-sec05 .detail-block .details-inner .right .body-part .body-part-img:hover {
    transform: scale(1.3);
    -webkit-box-shadow: 0 0 60px -22px rgba(0,0,0,.75);
       -moz-box-shadow: 0 0 60px -22px rgba(0,0,0,.75);
            box-shadow: 0 0 60px -22px rgba(0,0,0,.75);
}
.all-sec05 .detail-block .details-inner .right .body-part:nth-child(4),
.all-sec05 .detail-block .details-inner .right .body-part:nth-child(8) {
    margin-right: 0;
}
.body-part .show {
    display: none;
}
.body-part .label {
    margin-top: 15px;
    font-weight: bold;
}
.all-sec05 .detail-block {
    position: relative;
}
.all-sec05 .overlay {
    display: initial !important;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: rgba(000,000,000,.7);
}
.all-sec05 .popup-content {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    width: 860px;
    height: 300px;
    padding: 30px;
    box-sizing: border-box;
    transform: translate(-50%, -50%);
    border-radius: 10px;
    background: #fff;

    align-items: center;
}
.all-sec05 .close {
    position: absolute;
    top: 45px;
    right: 45px;
    z-index: 3;
    width: 40px;
    height: 40px;
    cursor: pointer;
}
.all-sec05 .popup-img {
    width: 42.5%;
    height: 240px;
    overflow: hidden;
}
.all-sec05 .popup-txt {
    width: 50%;
    padding-left: 20px;
    box-sizing: border-box;
    font-weight: bold;
    line-height: 1.7em;
}
.all-sec05 .popup-txt h4 {
    margin-bottom: 40px;
}
.all-sec05 .popup-img img {
    width: 90%;
}
.vio .all-sec05 .body-parts {
  padding: 8% 0 0 !important;
}
@media screen and (min-width:768px) {
  .vio .all-sec05 {
    padding-bottom: 1px;
  }
}
.all-sec06 {
    padding: 64px 0 145px;
}
.all-sec06 .block-tlt span.site-name {
    margin-bottom: 19px;
}
.all-sec06 .block-tlt .font-m-34 span {
    display: inline-block;
}
.all-sec06 h2 {
    margin-bottom: 95px;
}
.all-sec06 h2 .font-m-26 {
    margin-right: -11px;
    margin-left: -9px;
}
.all-sec06 .flex {
    padding-bottom: 45px;
    margin-bottom: 29px;
    border-bottom: 1px solid;
}
.all-sec06 .left {
    width: 50%;
    padding-top: 26px;
}
.all-sec06 .left .plan-tlt {
    position: relative;
    padding-left: 138px;
    margin-bottom: 24px;
}
.all-sec06 .left .plan-tlt .step .font-35-eng {
    display: inline-block;
    -webkit-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-deg, 0deg);
       -moz-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-deg, 0deg);
        -ms-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
         -o-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
            transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
}
.all-sec06 .left .plan-tlt .step {
    position: absolute;
    top: -20px;
    left: 17px;
    display: block;
    width: 105px;
    height: 105px;
    padding-top: 24px;
    box-sizing: border-box;
    text-align: center;
    background: url(../img/top/fav-number-bg.png) no-repeat;
    background-size: contain;
}
.all-sec06 .left .plan-tlt .font-m-24 {
    margin: 0 -4px 0 -3px;
}
.all-sec06 .left .description {
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
}
.all-sec06 .left .price {
    position: relative;
    padding-left: 50px;
    margin-top: 58px;
}
.all-sec06 .left .price img {
    width: 323px;
}
.all-sec06 .left .price .font-oswald {
    position: absolute;
    top: -47px;
    left: 84px;
    font-size: 111px;
}
.all-sec06 .right {
    width: 47%;
    text-align: center;
}
.all-sec06 .right img {
    width: 350px;
}
.all-sec06 .right p {
    margin-top: 37px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: left;
    letter-spacing: 1px;
}
.all-sec06 .note-txt {
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
}
.all-sec07 {
    padding: 0 0 80px 0 !important;
}
.all-sec07 .line-ani:after {
    border-color: #fff !important;
}
.all-sec07 .tlt-sticker {
    position: relative;
    margin-bottom: -6px;
}
.all-sec07 .tlt-sticker img {
    width: 674px;
    margin-top: -120px;
}
.all-sec07 .tlt-sticker .font-m-18 {
    position: absolute;
    top: -40%;
    left: 38.7%;
    line-height: 1.4em;
}
.all-sec07 .block-tlt span.site-name {
    margin-bottom: 19px;
}
.all-sec07 .block-tlt .font-m-24 {
    margin-top: 31px;
}
.all-sec07 .block-tlt {
    margin-bottom: 52px;
}
.all-sec07 .fav-box .drop-down-content ul li:first-child img {
    width: 70%;
}
.all-sec07 .fav-box .drop-down-content ul li:first-child {
    display: flex;
    width: 100%;
    min-height: 136.25px;
    margin-bottom: 45px;

    align-items: center;
    justify-content: center;
}
.all-sec07 .fav-box .pay-txt {
    margin-bottom: 0 !important;
}
.all-sec07 .fav-box .drop-down-content ul {
    margin-bottom: 5px !important;
}
.all-sec07 .drop-down-content p.font-14 {
    letter-spacing: 0 !important;
}
.all-sec07 .fav-box .drop-down-content {
    min-height: 531.25px;
    padding-bottom: 30px !important;
    box-sizing: border-box;
}
#planlists.all-sec07 .fav-box {
    margin-bottom: 0;
}
.all-sec08 {
    /*background: linear-gradient(90deg, #efefef 50%, #fff 50%);*/
    background-color: #f5f5f5;
}
.ml-minus {
    margin-left: -5px;
}
.features {
    flex-wrap: wrap;
}
.features li {
    position: relative;
    width: 31.5%;
    padding-bottom: 53px;
    margin-bottom: 110px;
    box-sizing: border-box;
    border-radius: 5px;
}
.features li:nth-child(4),
.features li:nth-child(5),
.features li:nth-child(6) {
    margin-bottom: 0;
}

.features .feature-box:before {
    position: absolute;
    top: -55px;
    left: 50%;
    width: 115px;
    height: 57px;
    content: "";
    transform: translateX(-50%);
    background: url(../img/price/all/feature-tlt-bg.png) no-repeat;
    background-size: contain;
}
.features .feature-box {
    background: #fff;
}
.all-sec09 {
    padding: 137px 0 82px;
    box-sizing: border-box;
}
.all-sec09 .line-ani:after {
    bottom: 0 !important;
    border-bottom: 2px solid #00aafa;
}
.features .feature-box .feature-number {
    position: relative;
    margin-top: -30px;
    margin-bottom: 30px;
    font-size: 51px;
    text-align: center;
}
.features .feature-box .feature-tlt {
    min-height: 122.4px;
    margin-bottom: 30px;
    line-height: 1.7em;
    text-align: center;
}
.features li:nth-child(3) .feature-tlt,
.features li:nth-child(4) .feature-tlt {
    padding-top: 21px;
    box-sizing: border-box;
}
.features .feature-box .feature-tlt span {
    display: inline-block;
}
.features .feature-content {
    padding: 0 30px;
    box-sizing: border-box;
    font-weight: bold;
    line-height: 1.7em;
}
.features .title-part {
    padding-top: 60px;
    line-height: 1.8em;
}
.features .title-part .white-txt {
    display: inline-block;
    padding: 9px;
    margin-bottom: 33px;
    border-radius: 2px;
    background: #fff;
}
.features .block-tlt .upper-circle:before {
    top: -29px;
}
.features .block-tlt span.site-name:before {
    left: -52px;
    width: 35px;
    height: 72px;
}
.features .block-tlt span.site-name:after {
    right: -52px;
    width: 35px;
    height: 72px;
}
.all-sec10 {
    padding: 71px 0 81px;
}
.all-sec10 .swiper-button-next,
.all-sec10 .swiper-button-prev {
    display: none;
}
.all-sec10 h2 {
    margin-bottom: 96px;
}
.all-sec10 .line-title {
    color: #000;
}
.all-sec10 .line-title span {
    width: 210px;
}
.all-sec10 .line-title:after,
.all-sec10 .line-title span {
    background: #00aafa;
}
.all-sec10 .line-title {
    margin-bottom: 36px;
}
.all-sec10 .flow-box-gp .flow-tlt {
    padding: 15px 0;
    margin-bottom: 27px;
    font-size: 20px;
    transform: none;
    text-align: center;
}
.all-sec10 .flow-box-gp .flow-box .img,
.all-sec10 .flow-box-gp .flow-box .txt-box {
    box-sizing: border-box;
}
.all-sec10 .flow-box-gp .flow-box {
    width: 33.33%;
}
.all-sec10 .flow-box-gp .flow-box:first-child .flow-tlt {
    background: url(../img/price/all/step01-bg.png) no-repeat;
    background-size: 100%;
}
.all-sec10 .flow-box-gp .flow-box:nth-child(2) .flow-tlt {
    background: url(../img/price/all/step02-bg.png) no-repeat;
    background-size: 100%;
}
.all-sec10 .flow-box-gp .flow-box:last-child .flow-tlt {
    background: url(../img/price/all/step03-bg.png) no-repeat;
    background-size: 100%;
}
.all-sec10 .flow-box-gp .step1.flow-tlt {
    background: url(../img/price/all/step01-bg.png) no-repeat;
    background-size: 100%;
}
.all-sec10 .flow-box-gp .step2.flow-tlt {
    background: url(../img/price/all/step02-bg.png) no-repeat;
    background-size: 100%;
}
.all-sec10 .flow-box-gp .step3.flow-tlt {
    background: url(../img/price/all/step03-bg.png) no-repeat;
    background-size: 100%;
}
@media screen and (max-width:767px) {
    .all-sec10 .flow-box-gp .step3 {
        margin-right: calc(8px + (25 - 8) * ((100vw - 320px) / (767 - 320)));
    }
    .all-sec10 .flow-box-gp .img {
        padding: 0 calc(8px + (25 - 8) * ((100vw - 320px) / (767 - 320))) 0 0;
    }
    .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled {
        opacity: 1;
    }
}
.all-sec10 .flow-box-gp .flow-box:first-child .img,
.all-sec10 .flow-box-gp .flow-box:first-child .txt-box {
    padding-right: 20px;
}
.all-sec10 .flow-box-gp .flow-box:nth-child(2) .img,
.all-sec10 .flow-box-gp .flow-box:nth-child(2) .txt-box {
    padding: 0 10px;
}
.all-sec10 .flow-box-gp .flow-box:last-child .img,
.all-sec10 .flow-box-gp .flow-box:last-child .txt-box {
    padding-left: 20px;
}
.all-sec10 .flow-box-gp .flow-box .txt-box-inner {
    padding: 30px;
    background: #eef0f5;
}
.all-sec10 .flow-box-gp .flow-box .txt-box-inner .font-m-24 {
    margin-bottom: 20px;
    line-height: 1.2em;
}
.all-sec10 .flow-box-gp .flow-box .txt-box-inner .font-16 {
    min-height: 81.6px;
    font-weight: bold;
    line-height: 1.7em;
}
.all-sec10 .flow-box-gp {
    margin-bottom: 58px;
}
.all-sec10 .flow-video h2 {
    margin-bottom: 13px;
}
.vio .all-sec10 {
  padding-top: 0;
}
.vio .all-sec10 .flow-video .font-midashi {
    margin-bottom: 13px;
}
.vio .all-sec10 .all-sec11-tlt {
  margin-bottom: 96px;
}
@media screen and (max-width:767px) {
  .vio .all-sec10 .all-sec11-tlt {
    margin-bottom: calc(45px + (112 - 45) * ((100vw - 320px) / (767 - 320)));
  }
  .vio .all-sec10 .flow-video .font-midashi {
      margin-bottom: calc(0px + (7 - 0) * ((100vw - 320px) / (767 - 320)));
  }
  .vio .all-sec10 .flow-video .font-midashi span {
    line-height: 1.75;
  }
}
.video-part .video-container {
    width: 48.1%;
    margin: 0 auto;
}
.all-sec10 .set-content {
    padding: 38px 0 38px 0;
    margin-top: 58px;
    margin-bottom: 80px;
    box-sizing: border-box;
    border-top: 1px solid;
    border-bottom: 1px solid;
}
.all-sec10 .set-content li {
    display: inline-block;
    font-weight: bold;
}
.all-sec10 .set-content li span.blue-block {
    display: inline-block;
    padding: 13px 21px 12px;
    margin-right: 11px;
    text-align: center;
    border-radius: 4px;
    background: #00aafa;
}
.all-sec10 .set-content li span.font-14 {
    margin-right: 45px;
}
.all-sec10 .set-content li:last-child span.font-14 {
    margin-right: 0;
}
.col-3-line-tlt-box .line-tlt-box {
    width: 31.5%;
}
.col-3-line-tlt-box .line-tlt-box .txt-part {
    padding: 30px;
    background: #eef0f5;
}
.col-3-line-tlt-box .line-tlt-box .txt-part-inner {
    min-height: 117.6px;
}
.col-3-line-tlt-box .line-tlt-box:first-child .txt-part-inner {
    position: relative;
    /*padding-top: 14px;
    padding-left: 115px;*/
    box-sizing: border-box;
}
.col-3-line-tlt-box .line-tlt-box:first-child .txt-part-inner img {
    position: absolute;
    top: 9px;
    left: -6px;
    width: 88px;
}

.col-3-line-tlt-box .line-tlt-box:first-child .txt-part-inner img ~ p {
    padding-top: 14px;
    padding-left: 105px;
}

.col-3-line-tlt-box .line-tlt-box:first-child .txt-part-inner p span {
    display: inline-block;
}
.col-3-line-tlt-box .line-tlt-box:first-child .txt-part-inner .font-oswald {
    margin-left: -12px;
    font-size: 71px;
}
.all-sec10 .col-3-line-tlt-box .line-title {
    margin-bottom: 25px;
}
.col-3-line-tlt-box .line-tlt-box .txt-part .txt-blue {
    margin-bottom: 16px;
}
.col-3-line-tlt-box .line-tlt-box .txt-part .font-16 {
    font-weight: bold;
    line-height: 1.7em;
}
.all-sec11 {
    padding: 65px 0;
    background: #00aafa;
}
.all-sec11 .line-ani:after {
    border-color: #fff;
}
.all-sec11 .line-ani:after {
    border-color: #fff !important;
}
.all-sec11 .alert {
    width: 52px;
    margin-bottom: 28px;
}
.all-sec11 .all-sec11-tlt .font-m-26 {
    margin-bottom: 40px;
}
.all-sec11 .all-sec11-tlt .font-m-24 {
    margin-bottom: 26px;
    color: #fff;
}
.all-sec11 .all-sec11-tlt .description-txt {
    margin-bottom: 96px;
    line-height: 1.7em;
}
.all-sec11 .block-tlt span.site-name {
    margin-bottom: 40px;
}
.all-sec11 .caption {
    padding: 13px 0;
    margin-top: 20px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: #00aafa;
    border-radius: 5px;
    background: #fff;
}

/*20210315*/
.hige-deinner {
    height: 640px;
    /*padding-bottom: 115px!important;*/
}
.hige-lrimg {
    display: flex;
    width: 340px;
    margin: 0 auto;
}
.type_blockgp,
.reason_gp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    flex-wrap: wrap;
}

.type_blockgp .type_block {
    width: 50%;
}

.reason_gp .reason_blpart {
    width: 45%;
}

.reason_gp .reason_blpart:nth-child(2) {
    display: flex;
    width: 10%;

    align-items: center;
    justify-content: center;
}

.reason_gp .reason_blpart:last-child {
    display: flex;

    align-items: center;
}

.hige_gp {
    justify-content: center;
}
.hige_gp .hige_bl {
    /*width: calc(50% - 30px);*/
    width: calc(33.33% - -30px);
}

/*.hige_gp .hige_bl:nth-of-type(2n) {
    margin-left: 60px;
}*/

.hige_gp .hige_bl img {
    width: 100%;
    height: 100%;
}

.hige-banner {
    padding-bottom: 80px;
}

.black_bl {
    width: 110px;
    padding: 10px 10px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    border-radius: 8px;
    background: #000;
}

.type_block .txt {
    padding: 20px 0 30px;
    text-align: center;
}

.link-bl {
    text-align: right;
}

.link-bl .link-text {
    position: relative;
    display: inline-block;
    padding-bottom: 3px;
    margin-right: 10px;
    color: #656565;
    border-bottom: 1px solid #656565;
}

.link-bl .link-text:after {
    position: absolute;
    top: 2px;
    right: -10px;
    width: 5px;
    height: 9px;
    font-weight: bold;
    content: "";
    color: #656565;
    background: url(../img/price-bust/gray-arrow.png)no-repeat;
    background-size: contain;
}

.just-center {
    justify-content: center !important;
}

.just-center .col3-block {
    margin-right: 30px;
}

.just-center .col3-block:last-child {
    margin-right: 0;
}

.font-lineheight {
    line-height: 1.4;
}

.features .title-part {
    padding-top: 60px;
    line-height: 1.8em;
}

/*.features li {
    margin-right: 30px;
    margin-bottom: 110px;
}
*/

.features li:last-child {
    margin-right: 0;
}

.set-flex {
    display: flex;

    flex-wrap: wrap;
}

.set-flex li {
    width: 33%;
    text-align: center;
}

.set-flex li:nth-child(2) {
    width: 34%;
}

.flex-pad {
    padding-bottom: 80px;
}

.before-btn,
.after-btn {
    display: block;
    width: 210px;
    /*width: 100%;*/
    padding: 14px 0;
    margin: 0 auto;
    /* padding: 15px 0;*/
    margin-bottom: 10px;
    font-family: "Oswald", sans-serif;
    font-size: 20px;
    font-weight: normal;
    text-align: center;
    color: #fff;
    border-radius: 50px;
    background: #00aafa;
}

.reasonable {
    padding: 70px 0 83px;
    background: #00aafa;
}

.reasonable .h2_rea .white-line {
    display: inline-block;
}

.reasonable .line-ani:after {
    border-color: #fff !important;
}
.sec-vio .line-ani:after {
    border-color: yellow;
}
.h2_rea {
    line-height: 1.5;
    text-align: center;
}


.men_txtw {
    color: #fff;
}

.yellow_part {
    display: inline-block;
    padding: 5px 8px;
    text-align: center;
    color: #00a9f9;
    border-radius: 3px;
    background: #ff0;
}

.yellow_txt {
    color: #ff0;
}

.body_typegp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    flex-wrap: wrap;
    justify-content: center;
}

.body-mrg {
    margin-top: 50px;
}

.body_typegp li {
    width: 20%;
    padding: 10px;
}

.body_typegp .black_part,
.block_bl .black_part {
    width: 100%;
    padding: 4px 0;
    margin-top: 15px;
    text-align: center;
    color: #fff;
    border-radius: 3px;
    background: #000;
}

.plus_rel {
    position: relative;
}

.plus_rel::after {
    position: absolute;
    right: -22px;
    bottom: 50%;
    width: 40px;
    height: 40px;
    content: "";
    background: url(../img/price/all/plus.png) top center no-repeat;
    background-size: contain;
}

.plus_sign img {
    width: 30px;
}
.sec-vio {
    margin: 80px 0 0 0;
}
.money_count {
    width: 48%;
    padding: 40px 0;
    margin: 0 auto;
    background: #fff;
}

.money_count .money_txt {
    display: inline-block;
    padding-top: 20px;
}

.black_partgp {
    text-align: center;
}
.black_partgp .black_part {
    padding: 3px 10px;
    text-align: center;
    color: #fff;
    border-radius: 3px;
    background: #000;
}

.all-sec-new {
    padding: 70px  0;
}

.all-sec-new .body_typegp li {
    width: 18%;
}

.all-fav-box {
    display: flex;
    margin: 40px 0;

    justify-content: center;
}

.all-fav-box .course-times {
    display: inline-block;
    width: 200px;
    height: 36px;
    margin-right: 25px;
    line-height: 33px;
    text-align: center;
    color: #fff;
    border-radius: 50px;
    background: #00aafa;
}

.all-fav-box .price {
    display: inline-block;
}

.txt-med {
    font-weight: 500;
}

.title-pad {
    padding-bottom: 108px;
    margin-top: -44px;
}

.features-ul-pad {
    margin-bottom: -115px;
}
/*price ashiset foot*/
.ashi-ft-gb {
    background-size: 1355px;
}
.price-foot-pad {
    padding-top: 30px;
    padding-bottom: 12px;
}
.font-wh {
    color: #fff;
}
.foot-btn {
    padding: 2px 0;
}

.ft-video {
    width: 100%!important;
    margin: 0!important;
}
/*price ashiset leg*/

.point-3-col {
    padding-top: 20px;
}
.lg-point {
    padding-top: 70px;
}
.text-pt3 {
    line-height: 1.8;
}
.lg-line {
    padding: 0 0 20px;
    border-bottom: 1px solid #eef0f5;
}
/*price select ear*/
.ear-col2 {
    width: 47.26858877086495%!important;
    padding: 0 10px;
}
/*price hige hanashita*/

.hnshita_pad {
    padding-top: 30px;
}
.hanashita-block .text {
    padding-top: 30px;
    line-height: 1.8;
}
.add-block {
    padding: 76px 0 70px;
}
.hana-bg .point-icon {
    display: inline-block;
    width: 100%;
    max-width: 214px;
    padding: 6px;
    line-height: 1.2;
    text-align: center;
    vertical-align: 6px;
    color: #00a9f9;
    background: #ff0;
}
.hana-txt {
    padding-bottom: 24px;
    border-bottom: 1px solid #000;
}
.hana-col3 .col3-block-inner {
    border-bottom: none!important;
}
.hana-bg {
    text-align: center;
}
.hana-bg-pad {
    padding-bottom: 20px;
}
.hana-txt .middle-text {
    margin-bottom: 0!important;
}
.hana-bluebx {
    padding-top: 14px;
}
.hige-visual {
    height: 570px;
}
.plan-wh {
    background: #fff!important;
}
/*price hige*/
.hige-sec {
    padding-top: 21px;
    box-sizing: border-box;
}
.hige-trd {
    padding-top: 0!important;
}
.sun-img {
    width: 100px;
    /*height: 60px;*/
    padding: 20px 0;
    margin: 0 auto;
    text-align: center;
}

.ear-txtbl {
    max-width: 530px;
}
.ear-pt {
    padding: 100px 0 0;
}
/*fullset start*/
.fullset .all-inner .mv-img01 {
    margin: 17px 0 70px 0;
}
.fullset .all-inner .mv-txt01 {
    bottom: 63px;
    left: 194px;
}
.fullset .all-inner .mv-txt02 {
    right: 186px;
    bottom: 40px;
}
/*fullset end*/
/*hige start*/
.hige .all-inner .mv-txt01 {
    bottom: 59px;
    left: 192px;
}
.hige .all-inner .mv-txt02 {
    right: 190px;
    bottom: 38px;
}
.hige .fav-box .drop-down-content ul li:first-child {
    width: 45.5%!important;
}
.hige-allgp {
    padding: 40px 0;
}
.hige-allimg {
    width: 30%;
}
.hige-rtbox {
    width: 65%;
}
.hige-parabox {
    width: 100%;
    text-align: center;
    color: #fff;
    border-radius: 4px;
    background: #000;
}
.hige-4boxgp {
    display:         flex;
    display: -webkit-box;
    display:    -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    margin: 0 -10px;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        flex-wrap: wrap;
}
.hige-4box {
    width: 46%;
    /*width: calc(79px + (27 - 79) * ((100vw - 320px) / (767 - 320)));*/
    margin-right: 4%;
    margin-bottom: 10px;
}
.hige-3rea {
    padding-top: 20px;
    line-height: 1.7em;
}
.hige .fav-box .drop-down-content ul li:first-child {
    margin-bottom: 0!important;
}
.hige-yellow .hige-3rea .line-ani:after {
    border-bottom: 4px solid #ff0;
}
.hige-lh {
    line-height: 1.8;
}
.rea-pad {
    padding-bottom: 60px;
}
.hige-white-txt {
    display: inline-block;
    padding: 9px;
    border-radius: 2px;
    background: #fff;
}
.hige .hige-sec05 .detail-block .details-inner .right {
    width: 100%;
}
.hige-sec05 .detail-block .details-inner .right .body-part {
    width: 230px;
    margin-right: 20px;
}
.hige-sec05 .detail-block .details-inner {
    padding: 87px 50px 12px;
}
.hige-rt {
    align-items: center;
}
.hige-rt .popup-img img,
.hige-design .popup-img img {
    width: 70%;
}
.hige-pagination .swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
    left: -3.5%;
}
/*hige end*/
/*vio start*/
.vio .all-main-visual {
  height: calc(100vw / var(--viewport) * 460);
  display: flex;
  align-items: center;
}
.vio .all-inner {
  padding: 0;
}
.vio .all-inner .mv-img01 {
  margin-bottom: 0;
}
.vio .all-inner .mv-txt01 {
    bottom: 59px;
    left: 192px;
}
.vio .all-inner .mv-txt02 {
    right: 200px;
    bottom: 46px;
}
.vio .price-bust-chr-fee-block .col3-cov .col3-block:last-child .chr-price-text {
    margin-top: 6px;
}
@media screen and (min-width:768px) {
  .vio .all-main-visual {
    height: 390px;
  }
}

/*.vio .price-bust-chr-fee-block .middle-text {
    margin-top: 30px;
    margin-bottom: 26px;

    letter-spacing: -.5px;
}
.vio .price-bust-chr-fee-block .col3-cov .col3-block .ttl-left {
    margin-bottom: 10px;
}*/
/*vio end*/
/*doset start*/
.doset .all-inner .mv-txt01 {
    bottom: 59px;
    left: 198px;
}
.doset .all-inner .mv-txt02 {
    right: 200px;
    bottom: 28px;
}
/*doset end*/
/*ashiset start*/
.ashiset .all-inner .mv-txt01 {
    bottom: 59px;
    left: 200px;
}
.ashiset .all-inner .mv-txt02 {
    right: 200px;
    bottom: 28px;
}
/*ashiset end*/
/*udeset start*/
.udeset .all-inner .mv-txt01 {
    bottom: 59px;
    left: 200px;
}
.udeset .all-inner .mv-txt02 {
    right: 200px;
    bottom: 30px;
}
/*udeset end*/
/*teashiset start*/
.teashiset .all-inner .mv-txt01 {
    bottom: 59px;
    left: 180px;
}
.teashiset .all-inner .mv-txt02 {
    right: 200px;
    bottom: 48px;
}
.teashiset .all-sec04 .recommend-txt p .font-m-60 {
    margin-left: 0;
}
/*teashiset end*/
/*hige-un start*/
.hige-un .point-block-cov .lh1-4 p {
    line-height: 1.6!important;
}
/*hige-un end*/

/*fullset start*/
.sec-white-arr {
    position: relative;
    width: 48%;
    margin: 80px auto 100px;
    background: #fff;
}

.sec-white-arr .white-arr {
    position: absolute;
    bottom: -70px;
    left: 50%;
    width: 70%;
    height: 75px;
    margin: 0 auto;
    transform: translateX(-50%);
    background: url(../img/price/fullset/white_arr_pc.png) no-repeat;
    background-position: bottom center;
    background-size: cover;
}

.sec-white-arr .white-div {
    padding: 20px 35px;
    line-height: 1.5;
}
.money_part {
    display: flex;

    justify-content: center;
}

.money_part img {
    width: 120px;
    height: 50px;
    padding: 25px 0;
}
.sec-white-arr .txt-arr {
    padding: 15px;
}


.clock-time-ul {
    display: flex;

    flex-wrap: wrap;
}

.clock-time-ul li {
    width: 100%;
}

.fullset .fullset-txt-part {
    padding: 12px 30px !important;
}

.fullset .col-3-line-tlt-box .line-tlt-box:first-child .txt-part-inner {
    padding-top: 0;
}
.fullset .col-3-line-tlt-box .line-tlt-box:first-child .txt-part-inner {
    padding-left: 124px;
}

.fullset .col-3-line-tlt-box .line-tlt-box:first-child .txt-part-inner img {
    top: 25px;
    left: 0;
}
.fullset .col-3-line-tlt-box .line-tlt-box:first-child .txt-part-inner .font-oswald {
    margin-left: -3px;
    font-size: 50px;
}

.all-sec05 .detail-block .details-inner .right .body-part {
    margin-right: 20px;
}
.video-part.video-pad {
    padding-bottom: 40px;
}
/*fullset end*/

/*vio-un start
.vio-un .price-bust-point-block .point1-col .text {
    padding-bottom: 30px;
}
.vio-un .price-bust-point-block .point1-col .text .nopad {
    padding-bottom: 0!important;
}
vio-un end*/
/*higetype start*/
.higetype .price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner .img-block {
    width: 90px;
    padding: 0;
    box-sizing: border-box;
}
.higetype .hana-bg .point-icon {
    letter-spacing: .5px;
}
.higetype .hana-bg-pad {
    padding-bottom: 20px;
}
.higetype .hana-txt {
    padding-bottom: 12px;
}
.higetype .price-bust-chr-fee-block .txt-l {
    margin-top: 0;
}
.higetype .price-bust-chr-fee-block .col3-cov .col3-block .chr-price-text {
    margin-top: 6px;
    margin-bottom: 5px;
}
.higetype .price-bust-chr-fee-block .txt-r {
    margin-top: 22px;
    margin-bottom: 45px;
    letter-spacing: -.5px;
}
.higetype .price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner .text-block {
    margin-top: 0;
    line-height: 2;
    letter-spacing: 1.5px;
}
.higetype .price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner {
    padding-top: 0;
}
/*higetype end*/
/*start vio*/
.vio.full-plan .drop-down-content.flex .left,
.vio.full-plan .drop-down-content.flex .left img {
    width: 100%;
}
.vio.full-plan .drop-down-content.flex .left {
  border-radius: calc(100vw / var(--viewport) * 10);
  margin-bottom: calc(100vw / var(--viewport) * 20);
  overflow: hidden;
}

.priceTabBox .tab_area{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
}
.priceTabBox .tab{
  display: block;
  width: calc(100vw / var(--viewport) * 212);
  font-size: calc(100vw / var(--viewport) * 28);
  font-weight: bold;
  padding: calc(100vw / var(--viewport) * 20) calc(100vw / var(--viewport) * 10) calc(100vw / var(--viewport) * 14);
  box-sizing: border-box;
  border-radius: calc(100vw / var(--viewport) * 10) calc(100vw / var(--viewport) * 10) 0 0;
  color: #fff;
  background: #777777;
  text-align: center;
  margin: 0 !important;
  cursor: pointer;
}
.priceTabBox .tab_area_1clm .tab{
  width: 100%;
}
.priceTabBox .tab_area_2clm .tab{
  width: 49% !important;
}
.priceTabBox .tab.active{
  color: #000;
  background: #EFF0F2;
  position: relative;
}
.priceTabBox .tab.active:after{
  content: "";
  width: 70%;
  height: 2px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.priceTabBox .tab_area_1clm .tab.active:after{
  width: 30%;
}
.priceTabBox .tab span{
  font-size: calc(100vw / var(--viewport) * 40);
}
.priceTabBox .tab_section_switch .tab_bodyBox{
  display: none;
}
.priceTabBox .tab_section_switch .tab_bodyBox.active{
  display: block;
}
.priceTabBox .tab_body{
  padding: calc(100vw / var(--viewport) * 40) calc(100vw / var(--viewport) * 24) calc(100vw / var(--viewport) * 40);
  background: #EFF0F2;
  border-radius: 0 0 calc(100vw / var(--viewport) * 10) calc(100vw / var(--viewport) * 10);
}
.priceTabBox .tab_body .priceArea{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.priceTabBox .tab_body .priceBox{
  display: flex;
  align-items: end;
  padding: calc(100vw / var(--viewport) * 10) 0 calc(100vw / var(--viewport) * 10);
  background: #EFF0F2;
}
.priceTabBox .tab_body .priceBox:nth-child(1){
  width: 60%;
}
.priceTabBox .tab_body .priceBox .plus{
  font-weight: bold;
  font-size: 30px;
  margin-right: 5px;
}
.priceTabBox .tab_body .priceBox .rl{
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: bold;
  writing-mode: vertical-rl;
  letter-spacing: .2em;
  margin-right: calc(100vw / var(--viewport) * 10);
}
.priceTabBox .tab_body .priceBox .price{
  font-size: calc(100vw / var(--viewport) * 70);
  color: #f00;
}
.priceTabBox .tab_body .priceBox .yen{
  width: auto;
  font-size: calc(100vw / var(--viewport) * 44);
  font-weight: bold;
  margin-left: calc(100vw / var(--viewport) * 4);
  margin-right: 0;
}
.priceTabBox .tab_body .priceBox_split{
  width: 40%;
  padding-left: calc(100vw / var(--viewport) * 20);
  border-left: calc(100vw / var(--viewport) * 1) solid #707070;
}
.priceTabBox .tab_body .priceBox_split_number{
  width: 80%;
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: bold;
  padding: calc(100vw / var(--viewport) * 8) calc(100vw / var(--viewport) * 10);
  text-align: center;
  border: calc(100vw / var(--viewport) * 1) solid #707070;
  border-radius: calc(100vw / var(--viewport) * 5);
}
.priceTabBox .tab_body .priceBox_split .priceBox{
  padding: calc(100vw / var(--viewport) * 10) 0 calc(100vw / var(--viewport) * 10);
  border-right: none;
}
.priceTabBox .tab_body .priceBox_split .priceBox .rl{
  transform: translateY(4px);
}
.priceTabBox .tab_body .priceBox_split .priceBox .price{
  font-size: calc(100vw / var(--viewport) * 54);
  color: #000;
}
.priceTabBox .tab_body .priceBox_split .priceBox .yen{
  font-size: calc(100vw / var(--viewport) * 33);
}
.priceTabBox .tab_body + .afterText {
  font-size: calc(100vw / var(--viewport) * 20);
  font-weight: bold;
  text-align: center;
  margin: calc(100vw / var(--viewport) * 22) 0;
}
@media screen and (min-width:768px) {
  .priceTabBox .tab{
    width: 160px;
    font-size: 17px;
    padding: 14px 10px 10px;
    border-radius: 10px 10px 0 0;
    cursor: pointer;
  }
  .priceTabBox_switch .tab:hover{
    opacity: .8;
  }
  .priceTabBox .tab.active:after{
    content: "";
    width: 70%;
    height: 2px;
    background: #000;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .priceTabBox .tab span{
    font-size: 24px;
  }
  .priceTabBox .tab_bodyBox{
    display: none;
  }
  .priceTabBox .tab_bodyBox.active{
    display: block;
  }
  .priceTabBox .tab_body{
    padding: 30px 14px 20px;
    border-radius: 0 0 10px 10px;
  }
  .priceTabBox .tab_body .priceBox:nth-child(1){
    justify-content: center;
  }
  .priceTabBox .tab_body .priceBox{
    padding:10px 0;
  }
  .priceTabBox .tab_body .priceBox .rl{
    font-size: 22px;
    transform: translateY(4px);
    margin-right: 10px;
  }
  .priceTabBox .tab_body .priceBox .price{
    font-size: 60px;
    letter-spacing: -.02em;
  }
  .priceTabBox .tab_body .priceBox .yen{
    width: auto;
    font-size: 37px;
    margin-left:4px;
    margin-right: 0;
  }
  .priceTabBox .tab_body .priceBox_split{
    width: 32%;
    padding-left: 30px;
    border-left: 1px solid #707070;
  }
  .priceTabBox .tab_body .priceBox_split_number{
    width: 70%;
    font-size: 14px;
    padding: 4px 10px;
    border: 1px solid #707070;
    border-radius: 4px;
  }
  .priceTabBox .tab_body .priceBox_split .priceBox{
    padding: 10px 0;
  }
  .priceTabBox .tab_body .priceBox_split .priceBox .rl{
    font-size: 15px;
    transform: translateY(6px);
  }
  .priceTabBox .tab_body .priceBox_split .priceBox .price{
    font-size: 36px;
  }
  .priceTabBox .tab_body .priceBox_split .priceBox .yen{
    font-size: 22px;
  }
}

.grid-bg {
  background-color: #00aafa;
  background-image: linear-gradient(to right, #0093f8 1px, transparent 1px), linear-gradient(to bottom, #0093f8 1px, transparent 1px);
  background-size: 40px 40px;
}
@media screen and (min-width:768px) {
  .grid-bg {
    padding: calc(45px + (100 - 45) * ((100vw - 320px) / (767 - 320))) 0 calc(48px + (120 - 48) * ((100vw - 320px) / (767 - 320)));
    background-color: #00aafa;
    background-image: linear-gradient(to right, #0093f8 .5px, transparent .5px), linear-gradient(to bottom, #0093f8 .5px, transparent .5px);
    background-size: calc(17px + (37 - 17) * ((100vw - 320px) / (767 - 320))) calc(17px + (37 - 17) * ((100vw - 320px) / (767 - 320)));
  }
}

.vio .fav-box .priceArea .price {
  line-height: 1;
  margin: 0;
}
.vio #anc_scope {
  background: #fff;
  padding: 12.8% 0;
}
.vio #anc_scope .scopeSwiper {
  position: relative;
  overflow: hidden;
}
.vio #anc_scope .scopeSwiper .swiper-slide {
  height: auto;
}
.vio #anc_scope .scopeSwiper .swiper-slide .box {
  height: 100%;
  background: #EEEEED;
  padding: 5% 5% 8%;
}
.vio #anc_scope .scopeSwiper .swiper-slide h3 {
  text-align: center;
  margin-top: 8%;
}
.vio #anc_scope .scopeSwiper .swiper-slide img {
  width: 100%;
  display: block;
  margin: 0 auto;
}
.vio #anc_scope .scopeSwiper .swiper-slide .text {
  font-weight: bold;
  line-height: 1.8;
  margin: 5.1% 0 0;
}
.vio #anc_scope .scopeSwiper .swiper-button-prev {
  left: 10px;
  right: initial;
}
.vio #anc_scope .scopeSwiper .swiper-button-next {
  left: initial;
  right: 10px;
}
@media screen and (max-width:767px) {
  .vio #anc_scope .container {
    width: 100%;
  }
}
@media screen and (min-width:768px) {
  .vio #anc_scope {
    padding: 46px 0;
  }
  .vio #anc_scope .container {
    max-width: 888px;
  }
  .vio #anc_scope .scopeSwiper .swiper-wrapper {
    justify-content: space-between;
  }
  .vio #anc_scope .scopeSwiper .swiper-slide {
    width: 280px;
  }
  .vio #anc_scope .scopeSwiper .swiper-button-prev,
  .vio #anc_scope .scopeSwiper .swiper-button-next {
    display: none;
  }
}

.vio #anc_merit {
  background: #eef0f5;
  padding: 12.8% 0;
}
.vio #anc_merit .col-2-img-txt h2 {
  letter-spacing: -0.02em;
  margin-bottom: calc(25px + (60 - 25) * ((100vw - 320px) / (767 - 320)));
}
.vio #anc_merit .block-tlt .upper-circle {
  color: #00aafa !important;
  letter-spacing: -0.2em;
}
.vio #anc_merit .block-tlt .upper-circle {
  position: relative;
  display: inline-block;
}
.vio #anc_merit .block-tlt .upper-circle:before {
  position: absolute;
  top: -10px;
  left: 50%;
  width: 8px;
  height: 8px;
  content: "";
  transform: translateX(-50%);
  border-radius: 50%;
  background: #222;
}
.vio #anc_merit .melit-lists li {
  letter-spacing: -0.06em;
  margin-top: 2%;
}
.vio #anc_merit .melit-lists li .round {
  height: 6.4vw;
  width: 6.4vw;
  border-radius: 50%;
  line-height: 6.4vw;
  text-align: center;
  background: #222;
  color: #fff;
  display: inline-block;
  margin-right: 2.13333%;
}
.font_blue {
  color: #00aafa;
}
@media screen and (max-width:767px) {
  .vio #anc_merit .btn a,
  .vio #anc_features .btn a {
    padding: calc(13px + (30 - 13) * ((100vw - 320px) / (767 - 320))) 0;
  }
}
@media screen and (min-width:768px) {
  .vio #anc_features {
    padding: 102px 0 47px;
  }
}

.vio .setPlan {
  padding: 12.8% 0;
}

.vio .price-bust-chr-fee-block {
  padding: 12.8% 0 6%;
}
.vio .price-bust-chr-fee-block .col3-cov .col3-block {
  padding: 7.2vw calc(100vw / var(--viewport) * 17) 3.86666vw;
}
.vio .price-bust-chr-fee-block .col3-cov .col3-block.second .priceTabBox img + .tab_area {
  margin-top: calc(100vw / var(--viewport) * 24);
}
.vio .price-bust-chr-fee-block .col3-cov .col3-block .font-oswald {
  line-height: 1;
  vertical-align: text-bottom;
}
.vio .price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner {
  text-align: center;
  justify-content: center;
  border-bottom: none;
}
.vio .price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner .text-block {
  line-height: 1.75;
  width: 100%;
}
.vio .price-bust-chr-fee-block .col3-cov .col3-block .example,
.vio .price-bust-chr-fee-block .col3-cov .col3-block .order,
.vio .price-bust-chr-fee-block .col3-cov .col3-block .tax {
  width: 82.8%;
  margin: 0 auto;
}
.vio .price-bust-chr-fee-block .col3-cov .col3-block .priceTabBox {
  margin-top: calc(100vw / var(--viewport) * 24);
}

.vio .example-img {
  margin-top: 2vw;
}
.vio .col3-block .bg-lgray {
  margin-top: 3.73333vw;
  padding: 3.333% 4%;
  line-height: 1.733;
  background: #EDEFF4;
}
.vio .price-bust-chr-fee-block .col3-cov .col3-block .price-custom-pd {
  margin-top: 3%;
}
.vio .period_time {
  margin: calc(19px + (55 - 19) * ((100vw - 320px) / (767 - 320))) auto calc(13px + (32 - 13) * ((100vw - 320px) / (767 - 320)));
}

.vio #anc_flow {
  padding-top: 12.8%;
}

.vio .doctor {
  padding: 12.8% 0;
}
.vio .doctor .imgBox {
  text-align: center;
  height: calc(100vw / var(--viewport) * 510);
  overflow: hidden;
  padding-right: calc(100vw / var(--viewport) * 110);
}
.vio .doctor .textBox {
  font-weight: bold;
  line-height: 1.5;
}
.vio .doctor .textBox .name {
  font-size: calc(100vw / var(--viewport) * 40);
  font-weight: bold;
  text-align: center;
  margin-top: 1.8em;
  margin-bottom: 1.5em;
}
.vio .doctor .textBox .name .small {
  font-size: calc(100vw / var(--viewport) * 32);
}
.vio .doctor .textBox .midashi {
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  .vio .all-sec01 .container {
    width: 90%;
  }

  .vio .price-bust-chr-fee-block .col3-cov .col3-block .col3-block-inner {
    padding-top: 4.8vw;
    padding-bottom: calc(12px + (28 - 12) * ((100vw - 320px) / (767 - 320)));
  }

  .vio .doctor .textBox {
    width: 85%;
    margin: calc(100vw / var(--viewport) * 17) auto 0;
  }
}
@media screen and (min-width:768px) {
  .vio .all-sec01.full-plan .drop-down-content.flex {
    width: 1050px;
    padding: 0;
  }
  .vio .all-sec01.full-plan .drop-down-content.flex .left {
    width: 47%;
    border-radius: 10px;
    margin-bottom: 0;
  }
  .vio .all-sec01.full-plan .drop-down-content.flex .right {
    width: 50%;
  }
  .vio .all-sec01.full-plan .drop-down-content.badge:after {
    top: -30px !important;
  }
  .priceTabBox .tab_body + .afterText {
    font-size: 14px;
    margin: 22px 0 0;
  }

  .vio #anc_merit {
    padding: 46px 0;
  }
  .vio #anc_merit .col-2-img-txt h2 {
    margin-bottom: 47px;
  }
  .vio #anc_merit .block-tlt .upper-circle:before {
    position: absolute;
    top: -10px;
    left: 50%;
    width: 8px;
    height: 8px;
    content: "";
    transform: translateX(-50%);
    border-radius: 50%;
  }
  .vio #anc_merit .melit-lists {
    display: table;
    margin: 0 auto;
  }
  .vio #anc_merit .melit-lists li .round {
    width: 40px;
    height: 40px;
    line-height: 40px;
    margin-right: 13px;
  }

  .vio .setPlan {
    padding: 46px 0;
  }
  .vio .setPlan.full-plan .drop-down-content.flex {
    width: 1050px;
    padding: 0;
  }
  .vio .setPlan.full-plan .drop-down-content.flex .left {
    width: 47%;
    border-radius: 10px;
    margin-bottom: 0;
  }
  .vio .setPlan.full-plan .drop-down-content.flex .right {
    width: 50%;
  }
  .vio .setPlan.full-plan .drop-down-content.badge:after {
    top: -30px !important;
  }

  .vio .price-bust-chr-fee-block {
    padding: 46px 0;
  }
  .vio .price-bust-chr-fee-block .col3-cov .col3-block {
    width: 522px;
    padding: 28px 16px;
  }
  .vio .price-bust-chr-fee-block .col3-cov .col3-block.second .priceTabBox img + .tab_area {
    margin-top: 20px;
  }
  .vio .price-bust-chr-fee-block .col3-cov .col3-block .example,
  .vio .price-bust-chr-fee-block .col3-cov .col3-block .order,
  .vio .price-bust-chr-fee-block .col3-cov .col3-block .tax {
    width: 100%;
  }
  .vio .price-bust-chr-fee-block .col3-cov .col3-block .priceTabBox {
    margin-top: 20px;
  }
  .vio .price-bust-chr-fee-block .col3-cov .col3-block .black-link {
    line-height: 38px;
    padding: 0;
    margin-top: 26px;
  }

  .vio .example-img {
    margin-top: 14px;
  }
  .vio .col3-block .bg-lgray {
    margin-top: 14px;
    padding: 14px;
    border-radius: 5px;
    line-height: 1.625;
  }
  .vio .period_time {
    margin: 30px 15px 15px;
    line-height: 1.7em;
  }
  .vio .period_time-link a {
    margin-left: 15px;
    color: #969696;
    text-decoration: underline;
  }

  .vio #anc_flow {
    padding: 46px 0;
  }

  .vio .doctor {
    padding: 46px 0;
  }
  .vio .doctor .pc_flex {
    width: 1080px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  .vio .doctor .imgBox {
    width: 329px;
    height: 576px;
    padding-right: 0;
  }
  .vio .doctor .textBox {
    width: 603px;
    line-height: 1.5;
  }
  .vio .doctor .textBox .name {
    font-size: 24px;
    text-align: left;
    margin-top: 0;
  }
  .vio .doctor .textBox .name .small {
    font-size: 19px;
  }
}

.vio.flex .video-container {
    width: 30.5%;
}
/*end vio*/
.price-bust-chr-fee-block .col3-cov .col3-block .ttl-l {
    margin-bottom: 8px;
}

/* thigh*/
.thigh.price-bust-point-block .point1-col {
    width: 38.481481%;
}
.price-bust-point-block .point2-col .text01 {
    line-height: 1.8;
}
.price-bust-point-block .point2-col .pad-top {
    padding-top: 30px;
}
.waist-hair-btn {
    display: block;
    max-width: 480px;
    /* width: 100%; */
    padding: 14px 0;
    margin: 0 auto;
    /* padding: 15px 0; */
    margin-bottom: 20px;
    font-family: "Oswald", sans-serif;
    font-size: 20px;
    font-weight: normal;
    text-align: center;
    color: #fff;
    border-radius: 50px;
    background: #00aafa;
}

.thigh .video-part .video-container {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

.hana-non {
    padding-top: 0!important;
}
/*end thigh*/
.hige .all-sec04 .recommend-txt p .font-m-60 {
    margin-left: 0;
}
.vio .all-sec04 .recommend-txt p .font-m-60 {
    margin-left: 0;
}
.mrglink {
    margin-top: 30px;
}
.mrgtop100 {
    margin-top: 100px;
}
.upper-a .price-bust-block02 .price-bust-col3-block .col-inner .mrg-lef-non .text01 {
    padding-left: 0;
    margin-left: 0;
}
.sun-img img {
    display: block;
    height: 36px;
    margin: 0 auto;
    text-align: center;
}
.clo3-yt {
    width: 90%;
}
.clo3-yt iframe {
    width: 290px;
    height: calc((137px + (330 - 137) * ((100vw - 320px) / (767 - 320))) / 3);
}
.price-bust-point-block .clo3-yt-mrg0 .video-col {
    margin: 0;
}
.clo3-yt-bt .font-m-16 {
    font-size: 16px;
}
.yomigana {
    line-height: 1.5;
}
.yomigana2 {
    margin-right: 68px;
    line-height: 1.2;
}
.risktxt {
    margin-top: 30px;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0;
}
.risk-un .type_blockgp .type_block {
    margin: 0 auto;
}
.mt60c .risktxt {
    margin-top: 60px;
}
.mt60c .site-name {
    margin-top: 0;
}
.riskimg img {
    max-width: 290px;
}
.know-un .price-bust-block02-title span {
    padding: 0;
}
.cycle-img {
    width: 40%;
    padding-top: 30px;
    margin: 0 auto;
}
#know-list .fav-box {
    width: 47.4%;
}
#know-list .fav-box .drop-down-content {
    padding: 25px 36px 40px;
    margin: 0;
}
#know-list .oo .fav-box .drop-down-content {
    padding: 20px 20px 20px;
    margin: 0;
}
.know-un-block p,
.know-un-block table {
    max-width: 930px;
    margin: 0 auto;
}
#know-list .price-bust-point-block {
    position: relative;
    display: flex;
}
#know-list .lick-img img {
    display: block;
    max-width: 200px;
    padding-top: 60px;
    margin: 0 auto;
}
#know-list .lick-img2 img {
    display: block;
    max-width: 240px;
    padding-top: 60px;
    margin: 0 auto;
}
.lick-img {
    position: relative;
}
.lick-img2 {
    position: relative;
}
#know-list .video-part .video-container {
    width: 80%;
    margin: 0 auto;
}
.oneoff .price-main-visual {
    display: flex;

    align-items: center;
}
.oneoff .price-main-visual .yomigana,
.oneoff .price-bust-block02-title .yomigana {
    line-height: 2.5;
}
.oneoff .line-title:after,
.oneoff .line-title span {
    background: #00aafa;
}
#know-list .col2-block .img-block-cov {
    position: relative;
    display: flex;
    width: 100%;
    margin-right: 0;
    border-radius: 3px;
    background: #fff;
    /*align-items: center;*/

    justify-content: space-between;
}
#know-list .col2-block .img-block-cov .img-block img {
    max-width: 180px;
}
#know-list .col2-block .inner-text .blue-text {
    padding-bottom: 20px;
    /*margin-bottom: 20px;*/
    line-height: 1;
    border-bottom: 2px solid #000;
}
#know-list .oo3col .inner-text .blue-text {
    padding-bottom: 30px;
    margin-bottom: 30px;
    line-height: 1.5;
    border-bottom: 2px solid #000;
}
#know-list .oo3col .inner-text .noboder {
    padding-bottom: 20px;
    margin-bottom: 20px;
    line-height: 1.2;
    border-bottom: 0;
}
.mrgbtm50 {
    margin-bottom: 50px;
}
#know-list .add-arr-icon {
    position: absolute;
    right: 12px;
    bottom: 0;
    width: 40px;
    height: 40px;
    cursor: pointer;
    border-radius: 50%;
    background: url(../img/common/link_arrow.png)#00aafa no-repeat;
    /* background-size: contain; */
    background-position: center center;
    background-size: 12px;
}
.salondots {
    display: inline-block;
    line-height: 2.2em;
    background: url(../img/knowledge/salondots.png) no-repeat;
    background-position: top center;
    background-size: 410px;
}
.tbl_cu_01 {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.tbl_cu_01 .se-th {
    width: 200px;
    padding: 15px;
    color: #fff;
    border: 1px solid #000;
    background-color: #002882;
}
.tbl_cu_01 .se-td {
    padding: 15px;
    border: 1px solid #000;
}
.pad-r {
    padding-right: 10px;
}
.lick-cmnt {
    position: absolute;
    right: 438px;
    bottom: 175px;
    line-height: 1.5;
}
.lick-cmnt2 {
    position: absolute;
    right: 445px;
    bottom: 187px;
    line-height: 1.5;
}
.medio img {
    max-width: 50%;
}
.medio2 img {
    max-width: 70%;
}
.lick-d {
    position: relative;
}
#know-list .lick-d img {
    display: block;
    max-width: 25%;
    padding-top: 0;
    margin: 0 auto;
}
.salon .drop-down-content {
    position: relative;
}
.lick-cmnt3 {
    position: absolute;
    right: 426px;
    bottom: 175px;
    line-height: 1.5;
}
.oo3col .fav-box {
    display: flex;

    justify-content: space-between;
}


/*start discount*/

#discount .more-promo-tlt img {
    margin-bottom: 0;
}
#discount .ttl-rel {
    position: relative;
}

#discount .yel-txt {
    color: #fdff00;
}

#discount .ttl-abso {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
}

#discount .ttl-abso span:first-child {
    margin-right: 10px;
}
#discount .ttl-abso span:last-child {
    margin-right: 20px;
}

#discount .ttl-abso span {
    vertical-align: middle;
}
#discount .more-promotion-sec-inner {
    padding-top: 7.3%;
    padding-bottom: 7.5%;
}
.tag_bg {
    background: #eef0f5;
}
.tag_wrap {
    margin: 0 4%;
}

.tag {
    display: flex;

    flex-wrap: wrap;
    justify-content: space-between;
}

.tag li {
    width: 33%;
    text-align: center;
}

.tag li a {
    display: block;
    padding: 10px 0;
    color: #fff;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.tag li a {
    background: rgb(207, 207, 207);
}

.tag li:nth-child(1) a.activetab {
    background: #00aafa;
}

.tag li:nth-child(2) a.activetab {
    background: #002882;
}

.tag li:nth-child(3) a.activetab {
    background: #ff8200;
}


.tag_content {
    padding-bottom: 40px;
    border-bottom-right-radius: 13px;
    border-bottom-left-radius: 13px;
    background: #fff;
}

.tag-ttl {
    padding: 40px 0 0;
    text-align: center;
}

.tag-ttl .tag-right {
    display: inline-block;
    text-align: center;
    vertical-align: middle;
}

.txt-navy {
    color: #002882;
}

.txt-orange {
    color: #ff8200;
}

#tagID .tag-ttl .line-ani:after {
    bottom: 0;
    border-bottom: 5px solid #ff0;
}

#tagID .promotion-txt-block h3 span {
    top: -18px;
    width: 300px;
    padding: 10px 40px;
    color: #fff;
}

#tagID .txt-pad-top {
    margin: 50px 0;
}

#tagID .pad-top {
    padding-top: 20px;
}

.txt-right {
    text-align: right;
}

.tag-ttl img {
    width: 153px;
}

.tag-ttl .tag-right p {
    display: inline-block;
    line-height: 1.5;
}

.tag-link {
    position: relative;
    display: inline-block;
    padding-bottom: 3px;
    margin-right: 10px;
    color: #656565;
    border-bottom: 1px solid #656565;
}

.tag-link::after {
    position: absolute;
    top: 2px;
    right: -10px;
    width: 5px;
    height: 9px;
    font-weight: bold;
    content: "";
    color: #656565;
    background: url(../img/price-bust/gray-arrow.png)no-repeat;
    background-size: contain;
}

#tagID span.number {
    display: inline-block;
    width: 32px;
    height: 32px;
    margin-left: 40px;
    line-height: 1.7;
    transform: translateX(-50%);
    text-align: center;
    color: #ff0;
    border-radius: 50%;
    background: #00aafa;
}

.div-block {
    padding-top: 20px;
    padding-bottom: 20px;
    margin: 0 50px;
    border-bottom: 1px solid;
}

.div-block .risktxt {
    margin-top: 15px;
}

#pairSplit .pair-rate {
    max-width: 600px;
    padding-top: 20px;
    margin: 0 auto;
}

.pair-rate li {
    display: table;
    width: 100%;
    padding-bottom: 10px;
}

.pair-rate li span:first-child {
    display: table-cell;
    width: calc(100% - 184px);
    padding-left: 30px;
    background: #eceef3;
}
.pair-rate li span:last-child {
    display: table-cell;
    width: 184px;
}
.pair-rate li span {
    padding: 10px 0;
}

#pairSplit .pair-rate li span.txt-percent {
    text-align: center;
    color: #fff;
    background: #00aafa;
}



.discount-btn {
    padding-bottom: 60px;
}

.discount-btn-gp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    flex-wrap: wrap;
}

.discount-btn-gp li {
    width: 32.3%;
}
/*end discount*/
/*start coolingoff*/
.coolingoff-sec {
    padding-top: 40px;
}
#cooling .know-un-block {
    padding-top: 40px;
}

.cooling-bg {
    max-width: 754px;
    padding: 40px;
    margin: 40px auto;
    border-radius: 13px;
    background: #eef0f5;
}
.write-address {
    display: block;
    max-width: 280px;
    padding: 10px 0;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    border-radius: 8px;
    background: #00aafa;
}
.table-sec {
    padding-top: 40px;
}
.col-table {
    width: 100%;
    margin: 30px 0;
    border-collapse: none;
    text-align: left;
}

.col-table tr {
    padding: 10px 0;
}

.col-table tr th {
    width: 25%;
}

.col-table tr td {
    width: 75%;
    padding-bottom: 20px;
    font-weight: bold;
    line-height: 1.8;
}

#cooling .txt-ul li {
    margin-bottom: 20px;
    line-height: 1.8;
}

.answer-text a {
    word-break: break-all;
    color: #00aafa;
}
/*end coolingoff*/
.nomoenimg {
    width: 75%;
}
.type_blockgp .nomoenimg {
    width: 75%;
    margin: 0 auto;
}
.mrgbtm20 {
    margin-bottom: 20px;
}
.know-counseling .all-sec04 .recommend-txt {
    top: 30%;
}
.know-counseling .more-promotion-sec-inner {
    padding-bottom: 0;
}
#know-counseling .more-promotion-sec-inner {
    padding-bottom: 0;
}
#know-list .salonmt0 .lick-img2 img {
    padding-top: 0;
}
#know-list .salonmt0 .lick-img img {
    padding-top: 0;
}
.lick-cmnt3 {
    position: relative;
    right: 0;
    bottom: -72px;
    line-height: 1.5;
}
#know-list .salonpage2 .lick-img2 img {
    padding-top: 0;
}
#know-list .salonpage2 .lick-img img {
    padding-top: 0;
}
.salonpage {
    margin-top: 60px;
}
#know-list .lick-img .aofuki  img {
    max-width: 220px;
}
.lick-cmnt4 {
    position: relative;
    right: -2px;
    bottom: -58px;
    line-height: 1.5;
}
.lick-cmnt5 {
    position: relative;
    right: 0;
    bottom: 195px;
    line-height: 1.5;
}
.salonbtm .btn {
    margin-top: 0;
}
.shaving-m .price-bust-block02-title span {
    line-height: 2em;
}
.lick-cmnt6 {
    position: relative;
    right: 0;
    bottom: -65px;
    line-height: 1.5;
}
.shaving-m .price-bust-point-block .block-tlt02 {
    margin-top: 0;
}
.shaving-m .price-bust-point-block .block-tlt span.site-name {
    margin-bottom: 50px;
}
.shaving-m .price-bust-point-block .jot .block-tlt span.site-name {
    margin-top: 75px;
    margin-bottom: 50px;
}
.shaving-m .fav-box .drop-down-content h3 {
    margin-bottom: 10px;
}
.shaving-m .btn {
    margin-top: 30px;
}
#price .kcmrgt .more-promotion-sec-inner {
    padding-bottom: 0;
}
.know-counseling .all-sec04 .recommend-txt h2 {
    width: 100%;
}

/*start knowledge different*/
.main-h2-ttl {
    line-height: 1.5;
}
#different .diff-link {
    margin-top: 30px;
}
#different .diff-link a {
    text-decoration: underline;
    color: #222;
}

.line-h {
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0;
}

.different-img-sec img {
    width: 100%;
}

.coolingoff-sec01 {
    padding: 40px 0;
    background: #eef0f5;
}
/*end knowledge different*/
.white-box .flex .img.lick150 img {
    width: 150px;
}
#know-list .oo3col .fav-box {
    width: 33.333%;
    padding: 0 15px;
}

#know-list .oo3col .fav-box .drop-down-content {
    position: relative;

    flex: 1 0 auto;
}

#know-list .oo3col .add-arr-icon {
    right: 20px;
    bottom: 20px;
}
#know-list .oo3col .col2-block .img-block-cov {
    position: initial;
    display: block;
}
.risk .all-sec04 .recommend-txt {
    top: 30%;
}
.risk .medical-laser-block p {
    max-width: 930px;
}
.risk .list-block {
    position: relative;
    padding-left: 100px;
    box-sizing: border-box;
}
.risk .list-block .menu-lists li {
    width: 100%;
    padding-left: 37px;
    margin-bottom: 23px;
}
.col-3-line-tlt-box .line-tlt-box .txt-part .font-16.mt90min {
    margin-top: 10px;
}
.mrgtop20 {
    margin-top: 20px;
}
.mrgtop40 {
    margin-top: 40px;
}
.conte400 {
    max-width: 600px;
    margin: 0 auto;
}
.riskind .r-slide01,
.riskind .r-slide02 {
    padding: 40px 50px 0 25px;
}

.riskind .more-promotion-sec-inner {
    padding-top: 15%;
}

.riskind .mrglink {
    margin-top: 0;
}
.riskind .r-slide01,
.riskind .r-slide02 {
    height: 500px;
}
.mrgtop90 {
    margin-top: 90px;
}
.risk.risk2 .r-slide02 p.font-midashi {
    line-height: 1;
}
.tg {
    width: 100%;
}

.tg th:first-child {
    width: 10px;
}

.tg td,
.tg th {
    padding: 20px 10px;
    line-height: 1.3em;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #000;
    background: #fff;
}

.tg .yellow_bgtb {
    background: #fff000;
}
.tg2 td {
    padding: 0 5px;
}

.tg2 td p {
    padding: 20px 0;
    line-height: 1.4em;
}

.tg2 {
    width: 100%;
}
.vlineonly .promotion-txt-block h3 span {
    left: 20%;
    font-size: 14px;
    transform: translateX(-10%);
}
.knowledge-main-visual {
    height: 390px;
    margin-top: 90px;
    background: url(../img/knowledge/masui_mv_bg.jpg);
    background-size: 75%;
}
.knowledge-main-visual img {
    position: absolute;
    width: 590px;
    padding-top: 117px;
    transform: translateX(-50%);
}
.teashionly img {
    width: 400px;
}
.selectind .all-inner .mv-txt01 {
    bottom: 75px;
    left: 200px;
}

.selectind .all-inner .mv-txt02 {
    /* right: 193px; */
    right: 195px;
    /* bottom: 40px; */
    bottom: 58px;
}
.selectind .full-plan .drop-down-content.flex {
    width: 88%;
}
.selectind .fav-box .drop-down-content h3 {
    padding: 0;
    /* text-align: center; */
}
.selectimg2 img {
    display: block;
    width: 70%;
    margin: 0 auto;
}
.selectimg3 img {
    display: block;
    width: 100%;
    margin: 0 auto;
}
#price .selectind  .more-promotion-sec-inner {
    padding: 0 25px;
}

.selectind .slider-bg-white {
    padding-top: 50px;
    padding-bottom: 0;
}

.selectind .slider-bg-white {
    padding-top: 60px;
    padding-bottom: 40px;
}

.selectind .mrgtop90 {
    margin-top: 43px;
}
.selectind .drop-down-content.mrgbtm50 {
    display: block;
    padding: 0 0 30px 0;
    margin: 0 auto;
}
.selectind .type_blockgp .type_block {
    width: 50%;
}
.selectind .title-pad {
    padding-bottom: 50px;
}
.selectind .all-sec02 h2 {
    color: #000;
}
.selectind .promotion-txt-block h3 {
    border-bottom: 0;
}

.selectind .promotion-txt-block h3 span {
    top: -50px;
    width: 200px;
}
.selectind .title-pad {
    padding-bottom: 0;
    margin-top: 0;
}

#select-line01.price-bust-chr-fee-block .col3-cov .col3-block p.line-ani:after {
    bottom: -7px;
    border-bottom: 3px solid #00aafa;
}

#line-select .line-ani:after {
    bottom: 9px;
    border-bottom: 4px solid #00aafa;
}
/*start knowledge mechanism*/
.knowledge-sec-block01,
.knowledge-sec-block02 {
    padding: 40px 0;
}

#mechanism .txt-block01,
#mechanism .txt-block02 {
    margin-top: 7%;
    margin-bottom: 7%;
}
#mechanism .txt-block01 {
    padding-bottom: 40px;
}


#mechanism .lick-img2 {
    position: relative;
    margin-top: 80px;
}

#mechanism .lick-cmnt {
    position: absolute;
    right: 505px;
    bottom: 45px;
    line-height: 1.5;
    color: #fff;
}

.lick-image {
    max-width: 400px;
    margin: 0 auto;
}

#mechanism .btn {
    width: 288px;
    padding-left: 0;
    margin: 60px -25px 0 -8px;
}

/*end knowledge mechanism*/
/*start knowledge masui*/
.white-part-bg {
    /*max-width: 930px;*/
    padding: 50px 30px;
    margin: 0 auto;
    border-radius: 12px;
    background: #fff;
}

#mechanism .txt-block03 {
    margin: 7% 0;
}

#mechanism .txt-block04 {
    margin: 7% 0 2% 0;
}


.promotion-txt-block h3 .txt-white {
    color: #fff;
}

.masui-img {
    width: 300px;
    margin: 46px auto 20px;
}
.img330 {
    max-width: 330px;
    margin: 46px auto 20px;
}
.gray-part-bg {
    padding: 20px;
    border-radius: 7px;
    background: #EEF0F5;
}

#mechanism .btn.detail-btn {
    width: 299px;
    padding-left: 0;
    margin: 20px auto;
}
/*end knowledge masui*/

/*start select*/
.all-sec10 .flex {
    display: flex;

    justify-content: center;
}
.all-sec10 .col-3-line-tlt-box .line-tlt-box {
    margin: 0 15px;
}
/*.col-3-line-tlt-box.flex-pad .line-tlt-box:first-child .txt-part-inner {
    padding-top: 0;
    padding-left: 0;
}
*/
.page-all .line-ani:after {
    bottom: 0;
    border-bottom: 4px solid #00aafa;
}
.full-plan-tlt span {
    display: inline-block;
    line-height: 1.8;
}
/*end select*/
/*start masui*/
.masui_main_visual {
    height: 390px;
    margin-top: 90px;
    background: url(../img/knowledge/masui_mv_bg.jpg);
    background-size: 75%;
}
.masui_pad {
    margin-bottom: 25px;
}

.font-midago {
    font-family: 'Noto Sans JP', sans-serif;
}
.masui_main {
    width: 100%!important;
}
.masui_h2pad {
    padding: 20px 0 30px;
}
.masui_txt_part {
    width: 930px;
    margin: 0 auto;
}
/*end masui*/
/*
--------
共通で使うもの
--------
*/
.padtop20pc {
    padding-top: 20px;
}
.padtop40 {
    padding-top: 40px;
}
.mrgtop40imp {
    margin-top: 40px !important;
}
/*
--------
青ひげ
--------
*/
.aohige .all-sec10 h2 {
    margin-bottom: 0;
}
.lick-cmnt7 {
    position: relative;
    right: 36px;
    bottom: -90px;
    line-height: 1.5;
}
#know-list .cyclelick .lick-img img {
    padding-top: 0 !important;
}
.riskind .r-slide02 {
    padding: 40px 25px 0 50px;
}
/*
--------
脱毛の基礎知識ここから
--------
*/
.knowindex .font-oswald {
    transform: none;
}
/*
--------
脱毛の基礎知識アンカーリンクここから
--------
*/
.anchor-link-menu li {
    position: relative;
    display: inline-block;
    float: left;
    width: 25%;
    padding: 5px;
    box-sizing: border-box;
    text-align: center;
}
.anchor-link-menu li:after {
    position: absolute;
    top: calc(50% - 7px);
    right: 20px;
    width: 10px;
    height: 14px;
    content: "";
    transform: rotate(90deg);
    background: url(../img/common/link_arrow.png)no-repeat;
    background-size: contain;
}
.anchor-link-menu li a {
    display: block;
    padding: 22px 0;
    font-weight: bold;
    color: #000;
    border-radius: 5px;
    background: #00aafa;
}
.anchor-link-menu {
    margin: -5px;
}
.anchor {
    position: relative;
    top: -90px;
    display: block;
    visibility: hidden;
}
/*
--------
脱毛の基礎知識アンカーリンクここまで
--------
*/
.lickdoc2 {
    padding-right: 50px;
    text-align: right;
}
.lickdoc2 img {
    max-width: 80px;
}
.listimgmrg .img-block {
    padding-right: 20px;
}
#know-list.listimgmrg .fav-box {
    width: 50%;
    padding: 15px;
    box-sizing: border-box;
}
#know-list.listimgmrg .flex {
    margin: 0 -15px;
}
.mrgbtmpc40sp20 {
    margin-bottom: 40px;
}
.mrgtoppc100sp50 {
    margin-top: 100px;
}
/*
--------
脱毛の基礎知識ここまで
--------
*/
/*
--------
メカニズム追加修正ここから
--------

#mechanism .price-bust-point-block .block-tlt span.site-name:before,
#mechanism .price-bust-point-block .block-tlt span.site-name:after {
    top: -10px;
    height: 70px;
}
*/
#mechanism.p3mrgtop .price-bust-point-block {
    padding: 5px 0 76px;
}
/*
--------
青髭追加修正ここから
--------
*/
#mechanism .aohigebtn.btn {
    margin: 60px auto 0 auto;
}
.lick-cmnt8 {
    position: relative;
    right: 55px;
    bottom: -110px;
    line-height: 1.5;
}
.aohige .all-sec10 .set-content {
    margin-bottom: 0;
}
.aohige .fav-section-inner {
    padding: 3% 10% 5%;
}
/*.fav-box .lower-block .aohigebtn.btn a {
    color: #000;
    background: #ff0;
    border: 4px solid #fff;
}
.fav-box .lower-block .aohigebtn.btn a:hover {
    background: #fff;
    border-color: #ff0;
}*/

/*start vio_hygi*/
#viohygi .ttl-blue-button {
    display: block;
    max-width: 240px;
    padding: 10px 0;
    margin: 50px auto;
    font-weight: bold;
    text-align: center;
    color: #fff;
    border-radius: 50px;
    background: #00a9f8;
}

#viohygi .know-un-block {
    padding-bottom: 40px;
}
#viohygi .white-part-bg {
    margin: 0 auto 40px;
}
.unwant_img {
    width: 300px;
    margin: 46px auto 20px;
}

.hygi_top {
    padding-top: 40px;
}
.hygi_pad {
    margin-top: 40px;
}
.reduces_effort {
    padding: 60px 0;
}

.risktxt_pad {
    padding-top: 30px;
}

.bl_btnpad {
    margin-top: 30px;
}
#viohygi  .reduces_effort .price-bust-block02 .price-bust-col3-block {
    display: flex;
}
.hygi_bl_col03gp {
    display: -webkit-box;
    display:    -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display:         flex;
    margin: 0 -10px;

    flex-wrap: wrap;
}
.ygi_bl_col03 {
    width: 31.33%;
    padding: 25px 10px;
}
.hygi_bl_img {
    text-align: center;
}
.hygi_bl {
    padding-top: 40px;
}
.hygi_bl_img img {
    width: 300px;
}
.hairre_img {
    padding-bottom: 25px;
    text-align: center;
}
.medical_hairre {
    padding-top: 20px;
}
.unwant_pad_30 {
    padding-top: 30px;
}
.hygi_left {
    justify-content: left!important;
}
.hygi_pad_zero {
    padding-bottom: 0!important;
}
#viohygi .line-ani:after {
    bottom: -3px;
}
/*end vio_hygi*/


/*start knowledge painful*/
.painfulonly .ttl-blue-button {
    display: block;
    max-width: 220px;
    padding: 10px 0;
    margin: 0 auto;
    margin-bottom: 20px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    border-radius: 25px;
    background: #00a9f8;
}
.painfulonly .arrow-down {
    display: inline-block;
    width: 0;
    height: 0;
    margin: 30px 0;
    border-top: 20px solid #222;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
}

.painfulonly .knowledge-sec-block03 {
    margin-top: 60px;
    margin-bottom: 40px;
}

.painfulonly .knowledge-sec-block05 h3 {
    line-height: 1.5;
}

.painfulonly .knowledge-sec-block05 .img-block {
    padding: 40px 0;
}
#about .painfulonly .all-sec04 .recommend-txt {
    position: absolute;
    top: 30%;
}
#about .painfulonly .block-tlt span.site-name {
    position: relative;
    display: inline-block;
    margin-bottom: 0;
}

.painfulonly .payment-list {
    border-bottom: none;
}
.payment-list a {
    border-bottom: 1px solid #646464;
}
.painfulonly .payment-detail {
    background: transparent;
}
.painfulonly #planlists .pad-top {
    padding-top: 50px;
}

.painfulonly .slide-flex-bg {
    background: #eef0f5;
}

.painfulonly #planlists .fav-box {
    width: 100%;
}


.painfulonly .popup-txt .border-line {
    padding-bottom: 20px;
    border-bottom: 1px solid #222;
}

.painfulonly .star-p {
    margin-bottom: 20px;
    font-weight: bold;
}
.painfulonly .star-p span {
    margin: 0 15px;
}

.painfulonly .lick-img2 {
    position: relative;
}
.painfulonly .lick-img2 img {
    display: block;
    max-width: 330px;
    margin: 0 auto;
}

.painfulonly .lick2-txt {
    position: absolute;
    top: 36%;
    left: 37%;
    line-height: 1.8;
}
.painfulonly .swiper-pagination {
    bottom: 140px;
    left: 0;
}
.painfulonly .btn {
    margin: 0 auto 40px;
}
.line-hei {
    line-height: 1.8;
}

#about.painfulonly .line-ani:after {
    bottom: -8px;
    border-bottom: 4px solid #00aafa;
}

.painfulonly #planlists .main-h2-ttl .line-ani:after {
    border-bottom: 5px solid #fff;
}
/*end knowledge painful*/

/*start knowledge cycle*/
.wd-img {
    max-width: 330px;
    margin: 0 auto;
}

.wd-img-pt {
    padding-top: 25px;
}
/*
.cycleonly .lick-img2 {
    position: relative;
}

.cycleonly .lick2-txt {
    position: absolute;
    top: 35%;
    left: 23%;
    line-height: 1.8;
}

.cycleonly #know-list .lick-img2 img {
    display: block;
    max-width: 330px;
    padding-top: 0;
    margin: 0 auto;
}
*/
.cycleonly .lick-cmnt7 {
    right: 40px;
    bottom: -100px;
}

.cycleonly #know-list .lick-img2 img {
    padding-top: 0px;
}
.cycle-bust-block {
    padding-top: 71px;
    padding-bottom: 54px;
    background: #eef0f5;
}

.cycleonly .price-bust-block02-title .line-ani:after {
    bottom: 0;
}

.cycle-bust-block .line-ani:after {
    bottom: 0;
}
#know-list .cycle_point_block .fav-box {
    width: 525px;
}
#know-list .cycle_point_block .fav-box .drop-down-content {
    border-radius: 3px;
}
#know-list .cycle_point_block  .fav-box .drop-down-content {
    padding: 35px 25px;
}
/*end knowledge cycle*/

/*start knowledge lightsheerduet*/
.lightonly .price-bust-point-block .point1-col {
    width: 525px;
}

.lightonly .price-bust-block02-title .line-ani:after,
.shavingonly .price-bust-block02-title .line-ani:after {
    bottom: 0;
}

.lightonly .all-sec-new,
.mediostaronly .all-sec-new {
    padding: 70px 0;
}
.lightonly #know-list .lick-img2 .wd-img img {
    width: 100%;
}
.lightonly #know-list .lick-img2 img {
    max-width: 330px;
}
.lightonly .lick-cmnt2 {
    bottom: 260px;
}
.lightonly .medio img {
    max-width: 100%;
}
.lightonly .price-bust-point-block .white-text-box {
    margin-right: 30px;
}
.lightonly .price-bust-point-block .white-text-box.mrgrgt0 {
    margin-right: 0;
}
/*end knowledge lightsheerduet*/

/*start knowledge mediostar*/
.mediostaronly .price-bust-block02-title .line-ani:after {
    bottom: 0;
    border-bottom: 4px solid #00aafa;
}
.mediostaronly .medio img {
    max-width: 100%;
}
.mediostaronly #know-list  .lick-img2 .wd-img img {
    max-width: 330px;
}
.mediostaronly .lick-cmnt {
    bottom: 250px;
}
.medio_img230 {
    max-width: 230px;
}
.medio_img200 {
    max-width: 200px;
}
.medio_point_block .point1-col {
    width: 340px;
}
.medio_point_block  .white-text-box {
    margin-right: 30px;
}
.medio_point_block  .white-text-box:nth-of-type(3) {
    margin-right: 0;
}
/*end knowledge mediostar*/

/*start knowledge gentleyagprou*/
.gentleonly .price-bust-block02-title .line-ani:after {
    bottom: 0;
}
.gentleonly .medio2 img {
    max-width: 100%;
}
.gentleonly #know-list  .lick-img2 .wd-img img {
    max-width: 330px;
}
.gentleonly .lick-cmnt {
    bottom: 250px;
}


/*end knowledge gentleyagprou*/
/*end knowledge dorobouhige*/
.dorobouonly .riskimg img {
    max-width: 100%;
}
/*end knowledge dorobouhige*/
/*start knowledge shaving*/
.shavingonly  #know-list .lick-img .wd-img img {
    width: 100%;
    max-width: 100%;
}
.shavingonly  .lick-cmnt6 {
    bottom: -87px;
}

/*end knowledge shaving*/

/*start knowledge salon*/
#know-list .salonpage2 .lick-img2 .wd-img img {
    width: 100%;
    max-width: 100%;
}

#know-list.salononly .lick-cmnt3 {
    bottom: -86px;
}
.salononly .price-bust-point-block .point1-col:nth-of-type(1) {
    width: 710px;
}
.salononly .price-bust-point-block .point1-col:nth-of-type(2) {
    width: 340px;
    margin-right: 0;
}
.salononly .price-bust-point-block .point1-col .point2-col-inner {
    display: flex;
    padding-top: 32px;

    flex-wrap: wrap;
    justify-content: space-between;
}
.salononly .price-bust-point-block .point1-col .point2-col-inner .col1 {
    width: 48%;
    /* padding-top: 5px; */
}
.salononly .price-bust-point-block .point1-col .point2-col-inner .col2 {
    width: 48%;
}

.salononly .point2-col-inner .col1 .wd-img {
    width: 100%;
    margin-top: 30px;
}
.salononly .price-bust-point-block .white-text-box {
    margin-right: 30px;
}
/*end knowledge salon*/

.gentleonly .price-bust-point-block,
.lightonly .price-bust-point-block,
.mediostaronly .price-bust-point-block {
    padding: 50px 0 70px;
}

.gentleonly .title-pad,
.lightonly .title-pad,
.mediostaronly .title-pad {
    padding-bottom: 65px;
}
/*start knowledge counseling*/
.counselingonly .all-sec04 .line-ani:after {
    bottom: 0;
}
#knowledge #know-list .line-ani:after,
#knowledge .price-bust-block02 .line-ani:after,
#knowledge .all-sec-new .line-ani:after,
#mechanism .knowledge-sec-block01 .line-ani:after,
#mechanism .knowledge-sec-block02 .line-ani:after,
#mechanism .price-bust-point-block .line-ani:after,
#different .coolingoff-sec .line-ani:after,
#different .coolingoff-sec01 .line-ani:after {
    /*bottom: 0;*/
    border-bottom: 4px solid #00aafa;
}

/*end knowledge counseling*/
/*start cycle*/
#knowledge #know-list .line-ani.labtm:after {
    bottom: -4px;
}
/*end cycle*/
/*start counseling*/
#knowledge .all-sec-new .line-ani.lacounsel:after {
    bottom: -2px;
}
.counselingonly .white-part-bg {
    border-radius: 3px;
}
/*end counseling*/
/*start line-ani bottom*/
#knowledge .price-bust-block02 .line-ani.ladorobo:after,
#knowledge .all-sec-new .line-ani.lameca:after,
#knowledge.mediostaronly #know-list .line-ani.lamedio:after {
    bottom: 0;
}
/*end line-ani bottom*/
/*start shaving movie video*/
.shavingonly .video-part .video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 40%;
    overflow: hidden;
    margin-bottom: 50px;
}
.shavingonly .video-part .video-container iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
/*end shaving movie video*/

:root {
    --viewport: 750;
}
.needle .sp-i {
    display: inline;
}
.needle .all-inner .mv-txt00 {
    font-size: calc(100vw / var(--viewport) * 40);
}
.needle .all-main-visual .title {
    color: #fffe00;
    font-size: calc(100vw / var(--viewport) * 92);
    font-weight: bold;
    line-height: 1.3;
    display: table;
    margin: calc(100vw / var(--viewport) * 30) auto 0;
}
.needle .all-main-visual .title .small {
    color: #fff;
    font-size: calc(100vw / var(--viewport) * 32);
    display: block;
	text-align: center;
}
.needle .recommendBox h2 {
    margin-bottom: 0;
}
.needle .recommendBox .block-tlt span.site-name {
    line-height: 1.8;
}
.needle .recommendBox .block-tlt span.site-name:before,
.needle .recommendBox .block-tlt span.site-name:after {
    top: calc(100vw / var(--viewport) * 26);
    width: calc(100vw / var(--viewport) * 36);
    height: calc(100vw / var(--viewport) * 88);
}
.needle .recommendBox > .flex {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.5em;
    margin-bottom: 1em;
}
.needle .recommendBox > .flex li {
    width: 46.25%;
    margin-top: calc(100vw / var(--viewport) * 40);
}
.needle .recommendBox > .flex li img {
    margin: 0;
}
.needle .recommendBox .caption {
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: calc(100vw / var(--viewport)* 70);
}
.needle .recommendBox .subMidashi {
    margin-bottom: 1em;
}
.needle .recommendBox .midashi {
    color: #00a9fa;
    margin-bottom: 1em;
}
.needle .recommendBox .lead {
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 1.8em;
}
.needle .recommendBox .tab_area {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.needle .recommendBox .tab_area li {
    font-size: calc(100vw / var(--viewport)* 28);
    font-weight: bold;
    width: 49%;
    background: #80D5FD;
    padding: calc(100vw / var(--viewport) * 20) calc(100vw / var(--viewport) * 10) calc(100vw / var(--viewport) * 14);
    box-sizing: border-box;
    border-radius: calc(100vw / var(--viewport)* 10) calc(100vw / var(--viewport)* 10) 0 0;
}
.needle .recommendBox .tab_area li.active {
    background: #E5F6FE;
}
.needle .recommendBox .tab_section_switch {
    background: #E5F6FE;
}
.needle .recommendBox .tab_section_switch .tab_bodyBox {
    font-weight: bold;
    padding: calc(100vw / var(--viewport) * 40) calc(100vw / var(--viewport) * 24);
    display: none;
}
.needle .recommendBox .tab_section_switch .tab_bodyBox .pc_flex > div{
    padding: calc(100vw / var(--viewport) * 30) calc(100vw / var(--viewport) * 40);
	background: #fff;
	border-radius:  calc(100vw / var(--viewport)* 10);
}
.needle .recommendBox .tab_section_switch .tab_bodyBox .pc_flex > p{
    margin: calc(100vw / var(--viewport) * 30) auto;
}
.needle .recommendBox .tab_section_switch .tab_bodyBox img {
    width: calc(100vw / var(--viewport) * 80);
    display: block;
    margin: 0 auto calc(100vw / var(--viewport) * 20);
}
.needle .recommendBox .tab_section_switch .tab_bodyBox img.icon-plus {
    width: calc(100vw / var(--viewport) * 60);
    margin: calc(100vw / var(--viewport) * 30) auto;
}
.needle .recommendBox .tab_section_switch .tab_bodyBox .flex {
    align-items: baseline;
}
.needle .recommendBox .tab_section_switch .tab_bodyBox .priceBox {
    justify-content: center;
}
.needle .recommendBox .tab_section_switch .tab_bodyBox .priceBox .price {
    color: #00a9fa;
    margin: 0;
}
.needle .recommendBox .tab_section_switch .tab_bodyBox .priceBox .yen {
    color: #00a9fa;
    width: auto;
    margin-right: 0;
    margin-left: 0;
}
.needle .recommendBox .tab_section_switch .tab_bodyBox.active {
    display: block;
}
.needle .recommendBox .tab_section_switch .tab_bodyBox .obi {
    line-height: 1.4;
    background: #fff;
    padding: 0.4em;
	border-radius:  calc(100vw / var(--viewport)* 14);
    margin-bottom: 1em;
}
.needle .recommendBox .tab_section_switch .tab_bodyBox .caption {
    font-weight: normal;
    line-height: 1.8;
    margin-top: 1.8em;
}

.needle .all-sec02 {
    background: #e5f6fe;
    padding: calc(45px + (100 - 45) * ((100vw - 320px) / (767 - 320))) 0 calc(48px + (120 - 48) * ((100vw - 320px) / (767 - 320)));
}
.needle .all-sec02 p {
    font-weight: bold;
    line-height: 1.8;
}
.needle .all-sec02 p.lead {
    font-weight: normal;
}
.needle .all-sec02 .sec02-swiper .swiper-wrapper {
    padding-bottom: calc(100vw / var(--viewport) * 120);
}
.needle .all-sec02 .title {
    color: #fff;
    font-weight: bold;
    line-height: 2;
    background: #20396F;
    border-radius: 50vw;
    margin-top: calc(100vw / var(--viewport) * 50);
    margin-bottom: calc(100vw / var(--viewport) * 30);
}
.needle .all-sec02 ul li {
    width: 49%;
    line-height: 1.8;
}
.needle .all-sec02 ul li figure {
    width: 100%;
    position: relative;
    cursor: pointer;
}
.needle .all-sec02 ul li figure:after {
    content: "";
    background: url(/img/price/needle/sec02/icon_zoom.png) center center no-repeat;
    background-size: 100% auto;
    display: block;
    width: calc(100vw / var(--viewport) * 40);
    height: calc(100vw / var(--viewport) * 40);
    position: absolute;
    right: calc(100vw / var(--viewport) * 10);
    bottom: calc(100vw / var(--viewport) * 75);
    pointer-events: none;
}
.needle .all-sec02 ul li figure figcaption {
    color: #20396F;
    font-size: calc(11px + (25 - 11) * ((100vw - 320px) / (767 - 320)));
    text-align: center;
    font-weight: bold;
    background: #fff;
    padding: 0.4em 0;
    margin-bottom: calc(100vw / var(--viewport) * 30);
}
.needle .all-sec02 ul.detail li {
    width: 100%;
}
.needle .all-sec02 ul.detail li:nth-child(2) {
    margin-top: 1em;
}
.needle .all-sec02 ul.detail li dl {
    font-weight: bold;
}
.needle .all-sec02 ul.detail li dl dt,
.needle .all-sec02 ul.detail li dl dd {
    display: flex;
    border-left: 1px solid #000;
}
.needle .all-sec02 ul.detail li dl dt {
    font-size: calc(100vw / var(--viewport)* 22);
    text-align: center;
    width: 28%;
    justify-content: center;
    align-items: center;
}
.needle .all-sec02 ul.detail li dl dd {
    width: 72%;
    padding-left: 0.6em;
    justify-content: flex-start;
    align-items: center;
}
.needle .all-sec02 ul.detail li dl dd span {
    line-height: 1;
}
.needle .all-sec02 ul.detail li:nth-child(2) dl dd {
    align-items: baseline;
}
.needle .all-sec02 .swiper-pagination {
    left: 0;
}
.needle .all-sec02 .swiper-pagination-bullet {
    background: #d6d6d6;
    border: none;
    opacity: 1;
}
.needle .all-sec02 .swiper-pagination-bullet-active {
    background: #000;
}
.needle .all-sec02 .under {
    background: #fff;
    width: 90%;
    padding: calc(100vw / var(--viewport)* 52);
    margin: calc(100vw / var(--viewport) * 20) auto 0;
    box-sizing: border-box;
    border-radius: calc(100vw / var(--viewport) * 10);
}
.needle .all-sec02 .under li {
    width: 100%;
}
.needle .all-sec02 .under li:nth-child(2) {
    margin-top: 1em;
}
.needle .all-sec02 .under li dl dt,
.needle .all-sec02 .under li dl dd {
    font-size: calc(100vw / var(--viewport)* 22);
    display: flex;
    align-items: center;
    border-left: 1px solid #000;
}
.needle .all-sec02 .under li dl dt {
    font-weight: bold;
    text-align: center;
    width: 28%;
    justify-content: center;
}
.needle .all-sec02 .under li dl dd {
    width: 72%;
    padding-left: 0.6em;
    justify-content: flex-start;
}

.needle .all-sec03 .midashi {
    color: #00AAFA;
    font-weight: bold;
    border: 4px solid #00AAFA;
    border-radius: calc(100vw / var(--viewport) * 10);
    padding: 0.8em 0;
    margin-bottom: calc(100vw / var(--viewport) * 80);
}
.needle .all-sec03 ul li {
    line-height: 1.8;
}
.needle .all-sec03 ul li .title {
    line-height: 1.5;
    margin-bottom: 1em;
}
.needle .all-sec03 .box {
    line-height: 1.8;
    background: #EEF0F5;
    border-radius: calc(100vw / var(--viewport) * 10);
    padding: calc(100vw / var(--viewport) * 40);
    box-shadow: 0 calc(100vw / var(--viewport) * 4) calc(100vw / var(--viewport) * 4) rgba(0,0,0,0.25);
}
.needle .all-sec03 .box .title {
    line-height: 1.5;
    margin-bottom: 1em;
}
.needle .all-sec03 .movieBox {
    line-height: 1.8;
    background: #E5F6FE;
	border-radius: calc(100vw / var(--viewport) * 10);
    margin: calc(100vw / var(--viewport) * 50) 0;
	padding: calc(100vw / var(--viewport) * 40);
}
.needle .all-sec03 .movieBox .title {
    color: #fff;
    font-weight: bold;
    line-height: 2;
    background: #20396F;
    border-radius: 50vw;
    margin-bottom: calc(100vw / var(--viewport) * 30);
}

.needle .all-sec04 {
    color: #fff;
    background: #00aafa;
    padding: calc(45px + (100 - 45) * ((100vw - 320px) / (767 - 320))) 0 calc(48px + (120 - 48) * ((100vw - 320px) / (767 - 320)));
}
.needle .all-sec04 p {
    line-height: 1.8;
}
.needle .all-sec04 .line-ani:after {
    border-color: #fffe00 !important;
}
.needle .all-sec04 p.lead {
    margin-top: calc(100vw / var(--viewport) * 13);
}
.needle .all-sec04 ul {
    flex-wrap: wrap;
}
.needle .all-sec04 ul li {
    background: #fff;
    border-radius: calc(100vw / var(--viewport) * 10);
    padding: calc(100vw / var(--viewport) * 96) calc(100vw / var(--viewport) * 32) calc(100vw / var(--viewport) * 32);
    margin-top: calc(100vw / var(--viewport) * 110);
    position: relative;
}
.needle .all-sec04 ul li:before {
    content: "MERIT";
    color: #222;
    font-size: calc(100vw / var(--viewport) * 33);
    font-family: "Oswald", sans-serif;
    text-align: center;
    display: block;
    width: calc(100vw / var(--viewport) * 160);
    height: calc(100vw / var(--viewport) * 160);
    background: #fffe00;
    border-radius: 50vw;
    position: absolute;
    top: calc(100vw / var(--viewport) * -80);
    left: 0;
    right: 0;
    padding-top: calc(100vw / var(--viewport) * 28);
    margin: 0 auto;
    box-sizing: border-box;
}
.needle .all-sec04 ul li:after {
    content: "01";
    color: #222;
    font-size: calc(100vw / var(--viewport) * 66);
    font-family: "Oswald", sans-serif;
    text-align: center;
    position: absolute;
    top: calc(100vw / var(--viewport) * -14);
    left: 0;
    right: 0;
    margin: 0 auto;
}
.needle .all-sec04 ul li:nth-child(2):after {
    content: "02";
}
.needle .all-sec04 ul li:nth-child(3):after {
    content: "03";
}
.needle .all-sec04 ul li:nth-child(4):after {
    content: "04";
}
.needle .all-sec04 ul li:nth-child(5):after {
    content: "05";
}
.needle .all-sec04 ul li img {
    width: auto;
    height: calc(100vw / var(--viewport) * 250);
    display: block;
    margin: 0 auto calc(100vw / var(--viewport) * 20);
}
.needle .all-sec04 ul li .h3 {
    color: #00AAFA;
    line-height: 1.5;
    text-align: center;
    margin-bottom: calc(100vw / var(--viewport) * 20);
}
.needle .all-sec04 ul li .text {
    color: #222;
}

.needle .all-sec05 {
    color: #fff;
    background: #20396F;
    padding: calc(45px + (100 - 45) * ((100vw - 320px) / (767 - 320))) 0 calc(48px + (120 - 48) * ((100vw - 320px) / (767 - 320)));
}
.needle .all-sec05 p {
    line-height: 1.8;
}
.needle .all-sec05 ul li {
    color: #222;
    background: #fff;
    border-radius: calc(100vw / var(--viewport) * 10);
    padding: calc(100vw / var(--viewport) * 96) calc(100vw / var(--viewport) * 32) calc(100vw / var(--viewport) * 32);
    margin-top: calc(100vw / var(--viewport) * 40);
}
.needle .all-sec05 ul li img {
    width: calc(100vw / var(--viewport) * 150);
    display: block;
    margin: 0 auto calc(100vw / var(--viewport) * 20);
}
.needle .all-sec05 ul li .title {
    color: #20396F;
    line-height: 1.5;
    margin-bottom: 1em;
}
.needle .all-sec05 ul li a {
    color: #000;
    text-decoration: underline;
}
.needle .all-sec05 .ttl_aco {
    color: #fff;
    background: #888;
    padding: 1em 1.5em;
    margin-top: calc(100vw / var(--viewport) * 50);
    position: relative;
}
.needle .all-sec05 .ttl_aco:after {
    content: "";
    border-left: 4px solid #fff;
    border-bottom: 4px solid #fff;
    width: calc(100vw / var(--viewport) * 20);
    height: calc(100vw / var(--viewport) * 20);
    position: absolute;
    top: 50%;
    right: calc(100vw / var(--viewport) * 40);
    transform: translateY(-80%) rotate(-45deg);
}
.needle .all-sec05 .ttl_aco.active:after {
    border: none;
    border-right: 4px solid #fff;
    border-top: 4px solid #fff;
    transform: translateY(-20%) rotate(-45deg);
}
.needle .all-sec05 .body_aco {
    cursor: pointer;
    display: none;
}
.needle .all-sec05 .body_aco .box {
    color: #222;
    background: #fff;
    padding: calc(100vw / var(--viewport) * 40);
    margin-top: calc(100vw / var(--viewport) * 15);
}

.needle .all-sec06 {
    background: #E5F6FE;
    padding: calc(45px + (100 - 45) * ((100vw - 320px) / (767 - 320))) 0 calc(48px + (120 - 48) * ((100vw - 320px) / (767 - 320)));
}
.needle .all-sec06 .midashi {
    color: #00AAFA;
    font-weight: bold;
    border: 4px solid #00AAFA;
    border-radius: calc(100vw / var(--viewport) * 10);
    padding: 0.8em 0;
    margin-bottom: calc(100vw / var(--viewport) * 80);
}
.needle .all-sec06 img {
    margin-bottom: calc(100vw / var(--viewport) * 50);
}
.needle .all-sec06 ul li {
    line-height: 1.8;
}
.needle .all-sec06 ul li .title {
    line-height: 1.5;
    margin-bottom: 1em;
}

.needle .all-sec06 + .container,
.needle #payment-method + .container {
    padding: calc(45px + (100 - 45) * ((100vw - 320px) / (767 - 320))) 0 calc(48px + (120 - 48) * ((100vw - 320px) / (767 - 320)));
}

.needle .all-sec07 {
    color: #fff;
    padding: calc(45px + (100 - 45) * ((100vw - 320px) / (767 - 320))) 0 calc(48px + (120 - 48) * ((100vw - 320px) / (767 - 320))) !important;
}
.needle .all-sec07 p {
    line-height: 1.8;
}
.needle .all-sec07 .line-ani:after {
    border-color: #fffe00 !important;
}
.needle .all-sec07 p.lead {
    margin-top: calc(100vw / var(--viewport) * 13);
    margin-bottom: calc(100vw / var(--viewport) * 100);
}
.needle .all-sec07 .scrollable {
    padding-left: 7.5%;
    padding-right: 7.5%;
    overflow: hidden;
    overflow-x: scroll;
}
.needle .all-sec07 .scrollable .tbl-sec07 {
    color: #222;
    width: calc(100vw / var(--viewport) * 1508);
    padding-top: calc(100vw / var(--viewport) * 237);
    padding-bottom: calc(100vw / var(--viewport) * 52);
    margin: 0 auto;
    position: relative;
}
.needle .all-sec07 .scrollable .tbl-sec07 dl {
    border-radius: calc(100vw / var(--viewport) * 10);
    box-shadow: 0 calc(100vw / var(--viewport) * 5) calc(100vw / var(--viewport) * 5) rgba(0,0,0,.25);
    position: relative;
    overflow: hidden;
}
.needle .all-sec07 .scrollable .tbl-sec07 dl:nth-child(n+5) {
    margin-top: calc(100vw / var(--viewport) * 13);
}
.needle .all-sec07 .scrollable .tbl-sec07 .icon {
    width: calc(100vw / var(--viewport) * 221);
    background: #eee;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.needle .all-sec07 .scrollable .tbl-sec07 .icon img {
    width: auto;
    height: calc(100vw / var(--viewport) * 65);
    margin-bottom: calc(100vw / var(--viewport) * 13);
}
.needle .all-sec07 .scrollable .tbl-sec07 .icon p {
    line-height: 1.5;
}
.needle .all-sec07 .scrollable .tbl-sec07 dt .small {
    line-height: 1.5;
    display: inline-block;
}
.needle .all-sec07 .scrollable .tbl-sec07 dd .sub {
    text-align: center;
    line-height: 1.5;
}
.needle .all-sec07 .scrollable .tbl-sec07 .dt1,
.needle .all-sec07 .scrollable .tbl-sec07 .dt2,
.needle .all-sec07 .scrollable .tbl-sec07 .dt3 {
    width: calc(100vw / var(--viewport) * 429);
    padding: calc(100vw / var(--viewport) * 26) calc(100vw / var(--viewport) * 16);
}
.needle .all-sec07 .scrollable .tbl-sec07 .dt1 img,
.needle .all-sec07 .scrollable .tbl-sec07 .dt2 img,
.needle .all-sec07 .scrollable .tbl-sec07 .dt3 img {
    width: calc(100vw / var(--viewport) * 62);
    height: auto;
    display: block;
    margin: 0 auto calc(100vw / var(--viewport) * 13);
}
.needle .all-sec07 .scrollable .tbl-sec07 .dt1 {
    background: #fff;
}
.needle .all-sec07 .scrollable .tbl-sec07 .dt2 {
    background: #FFFEC0;
}
.needle .all-sec07 .scrollable .tbl-sec07 .dt3 {
    background: #eee;
}
.needle .all-sec07 .scrollable .tbl-sec07 .th1,
.needle .all-sec07 .scrollable .tbl-sec07 .th2,
.needle .all-sec07 .scrollable .tbl-sec07 .th3 {
    width: calc(100vw / var(--viewport) * 390);
    height: calc(100vw / var(--viewport) * 3145);
    position: absolute;
    top: 0;
}
.needle .all-sec07 .scrollable .tbl-sec07 .th1 dt,
.needle .all-sec07 .scrollable .tbl-sec07 .th2 dt,
.needle .all-sec07 .scrollable .tbl-sec07 .th3 dt {
    color: #fff;
    text-align: center;
    background: #20396F;
    height: calc(100vw / var(--viewport) * 62);
    display: flex;
    justify-content: center;
    align-items: center;
}
.needle .all-sec07 .scrollable .tbl-sec07 .th3 dt {
    background: #8A8C91;
}
.needle .all-sec07 .scrollable .tbl-sec07 .th1 {
    background: #fff;
    left: calc(100vw / var(--viewport) * 227);
}
.needle .all-sec07 .scrollable .tbl-sec07 .th2 {
    background: #FFFE00;
    left: calc(100vw / var(--viewport) * 664);
}
.needle .all-sec07 .scrollable .tbl-sec07 .th3 {
    background: #DADCE1;
    left: calc(100vw / var(--viewport) * 1095);
}
.needle .all-sec07 .scrollable .tbl-sec07 .th1 dd,
.needle .all-sec07 .scrollable .tbl-sec07 .th2 dd,
.needle .all-sec07 .scrollable .tbl-sec07 .th3 dd {
    line-height: 1.5;
    text-align: center;
    padding: calc(100vw / var(--viewport) * 43) 0 0;
}
.needle .all-sec07 .scrollable .tbl-sec07 .th2 dd {
    line-height: 1.3;
    padding: calc(100vw / var(--viewport) * 26) 0 0;
}
.needle .all-sec07 .scrollable .tbl-sec07 dd li {
    padding-left: calc(100vw / var(--viewport) * 36);
    position: relative;
}
.needle .all-sec07 .scrollable .tbl-sec07 dd li:nth-child(n+2) {
    margin-top: calc(100vw / var(--viewport) * 15);
}
.needle .all-sec07 .scrollable .tbl-sec07 dd li:before {
    content: "";
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    display: block;
    width: calc(100vw / var(--viewport) * 14);
    height: calc(100vw / var(--viewport) * 20);
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 0;
    left: 0;
}
.needle .all-sec07 .scrollable .tbl-sec07 .dt2 li:before {
    border-right: 2px solid #f00;
    border-bottom: 2px solid #f00;
}

.needle .all-sec10 {
    background: #EEF0F5;
    padding-bottom: calc(48px + (120 - 48) * ((100vw - 320px) / (767 - 320)));
}
.needle .all-sec10 p {
    line-height: 1.8;
}
.needle .all-sec10 .swiper-container {
    padding-bottom: calc(100vw / var(--viewport) * 140);
    margin-top: calc(100vw / var(--viewport) * 50);
}
.needle .all-sec10 .swiper-cover {
    padding-left: 0;
}
.needle .all-sec10 .flow-box-gp .flow-tlt {
    color: #fff;
}
.needle .all-sec10 .flow-box-gp .step3 {
    margin-right: 0;
}
.needle .all-sec10 .flow-box-gp .step3.flow-tlt {
    background: url(../img/price/all/step02-bg.png) no-repeat;
}
.needle .all-sec10 .flow-box-gp .step4 {
    margin-right: calc(8px + (25 - 8) * ((100vw - 320px) / (767 - 320)));
}
.needle .all-sec10 .flow-box-gp .flow-box .txt-box,
.needle .all-sec10 .flow-box-gp .flow-box .txt-box-inner {
    background: #fff;
}
.page-all .needle .all-sec10 .swiper-pagination-bullets {
    left: 0;
}
.page-all .needle .all-sec10 .swiper-pagination-bullet {
    border: none;
    background: #d6d6d6;
    opacity: 1;
}
.page-all .needle .all-sec10 .swiper-pagination-bullet-active {
    background: #000;
}
.page-all .needle .swiper-button-prev,
.page-all .needle .swiper-button-next {
    border-bottom: 2px solid #000;
    width: calc(100vw / var(--viewport) * 20);
    height: calc(100vw / var(--viewport) * 20);
    top: initial;
    bottom: calc(100vw / var(--viewport) * 29);
    z-index: 999;
}
.page-all .needle .swiper-button-prev {
    border-left: 2px solid #000;
    left: calc(100vw / var(--viewport) * 222);
    transform: rotate(45deg);
}
.page-all .needle .swiper-button-next {
    border-right: 2px solid #000;
    right: calc(100vw / var(--viewport) * 222);
    transform: rotate(-45deg);
}
.needle .all-sec10 .box {
    background: #fff;
    width: 85%;
    margin: 0 auto;
}
.needle .all-sec10 .box .title {
    color: #fff;
    background: #888;
    padding: 0.8em 0;
}
.needle .all-sec10 .box .con {
    padding: calc(100vw / var(--viewport) * 40);
}

.needle .faq-sec .answer-text {
    align-items: flex-start;
}
.needle #payment-method {
    background: #EEF0F5;
}
.needla #payment-method .payment-list {
    border-bottom: 1px solid #646464;
}
.needle #payment-method .payment-list > div:first-child {
    padding: calc(20px + (55 - 20) * ((100vw - 320px) / (767 - 320))) 0;
    display: flex;
    align-items: center;
    position: relative;
}
.needle #payment-method .ttl_aco:after {
    content: "";
    position: absolute;
    top: calc(50% - calc(10px + (25 - 10) * ((100vw - 320px) / (767 - 320))));
    right: 0;
    width: calc(23px + (50 - 23) * ((100vw - 320px) / (767 - 320)));
    height: calc(23px + (50 - 23) * ((100vw - 320px) / (767 - 320)));
    border-radius: 50%;
    background: url(/img/common/plus_icon.png) #00aafa no-repeat;
    background-size: contain;
}
.needle #payment-method .ttl_aco.active:after {
    background: url(/img/common/minus_icon.png) #00aafa no-repeat;
    background-size: contain;
}

@media screen and (max-width:767px) {
    .needle .all-main-visual {
        height: auto;
    }
    .needle .all-inner {
        width: 100%;
        height: calc(100vw / var(--viewport) * 473);
        padding-top: calc(100vw / var(--viewport) * 100);
        box-sizing: border-box;
    }
    .needle .all-inner .mv-img01 {
        width: calc(100vw / var(--viewport)* 686);
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    .needle .all-inner .mv-txt02 {
        right: calc(100vw / var(--viewport)* 140);
        bottom: calc(100vw / var(--viewport)* 66);
    }
    .needle .recommendBox h3 span {
      margin-bottom: 0.6em;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox .pc_flex > div:nth-child(2) {
        margin-top: calc(100vw / var(--viewport) * 60);
    }
    .needle .all-sec03 img {
        margin-bottom: calc(100vw / var(--viewport) * 50);
    }
    .needle .all-sec04 ul li:first-child {
        margin-top: calc(100vw / var(--viewport) * 120);
    }
    .needle .all-sec05 ul li:nth-child(1) {
        margin-top: calc(100vw / var(--viewport) * 50);
    }
}

@media screen and (min-width:768px) {
    .needle .sp-i {
        display: none;
    }
    .needle .all-inner .mv-txt00 {
        font-size: 40px;
    }
    .needle .all-main-visual .title {
        font-size: 92px;
        margin: 10px auto 0;
    }
    .needle .all-main-visual .title .small {
        font-size: 32px;
    }
    .needle .font-28 {
      font-size: 28px;
    }
    .needle .font-80 {
      font-size: 80px;
    }
    .needle .recommendBox + .btn.black {
      width: 480px;
      padding: 0;
      margin: 80px auto 0;
    }
    .needle .recommendBox + .btn.black a {
      line-height: 91px;
    }

    .needle .all-inner {
        padding-top: 130px;
    }
    .needle .all-inner:before {
        content: "";
        display: block;
        width: 201px;
        height: 290px;
        background: url(/img/price/needle/bg_mv_pc.png) top left no-repeat;
        background-size: 100% auto;
        position: absolute;
        top: 0;
        left: -170px;
    }
    .needle .all-inner .mv-txt00 {
        margin-bottom: 0;
    }
    .needle .all-inner .mv-img01.pc-only {
        width: 560px;
        display: block;
        margin: 0 auto;
    }
    .needle .all-inner .mv-img02 {
        width: 266px;
        position: absolute;
        top: 216px;
        right: -214px;
    }
    .needle .all-inner .mv-txt02 {
        line-height: 1.4;
        top: 247px;
        right: -48px;
    }
    .needle .recommendBox .block-tlt span.site-name:before,
    .needle .recommendBox .block-tlt span.site-name:after {
        top: -6px;
        width: 18px;
        height: 44px;
    }
    .needle .recommendBox > .flex {
        width: 995px;
        flex-wrap: wrap;
        margin: 40px auto;
    }
    .needle .recommendBox .caption {
        display: table;
        margin: 0 auto 40px;
    }
    .needle .recommendBox > .flex li {
        width: 222px;
        margin: 0;
    }
    /*.needle .recommendBox > .flex li:nth-child(n+4) {
        margin-top: 30px;
    }*/
    .needle .recommendBox > .flex li img {
        margin: 0;
    }
    .needle .recommendBox .subMidashi {
        margin-bottom: 1em;
    }
    .needle .recommendBox .midashi {
        color: #00a9fa;
        margin-bottom: 1em;
    }
    .needle .recommendBox .lead {
        text-align: center;
        font-weight: bold;
        line-height: 1.8;
        margin-bottom: 1.8em;
    }
    .needle .recommendBox .tab_area {
        width: 980px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 auto;
    }
    .needle .recommendBox .tab_area li {
        font-size: 24px;
        font-weight: bold;
        width: 480px;
        background: #80D5FD;
        padding: 20px 0;
        box-sizing: border-box;
        border-radius: 10px 10px 0 0;
        cursor: pointer;
    }
    .needle .recommendBox .tab_area li.active {
        background: #E5F6FE;
        cursor: default;
    }
    .needle .recommendBox .tab_section_switch {
        width: 980px;
        background: #E5F6FE;
        margin: 0 auto;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox {
        font-weight: bold;
        padding: 40px 0;
        display: none;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox .pc_flex {
        width: 812px;
        display: flex;
        justify-content: space-between;
		align-items: center;
        margin: 0 auto;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox .pc_flex > div {
        width: 50%;
		border-radius: 10px;
		padding: 30px 20px;
		box-sizing: border-box;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox .pc_flex > p{
        margin: auto 10px;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox img {
        width: 64px;
        display: block;
        margin: 0 auto 10px;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox img.icon-plus {
        width:38px;
        margin: 10px auto;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox .flex {
        align-items: baseline;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox .priceBox {
        justify-content: center;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox .priceBox .price {
        color: #00a9fa;
        margin: 0;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox .priceBox .yen {
        color: #00a9fa;
        width: auto;
        margin-right: 0;
        margin-left: 0;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox.active {
        display: block;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox .obi {
        line-height: 1.4;
        background: #fff;
        width: 717px;
        padding: 0.2em;
        margin: 10px auto 20px;
		border-radius: 12px;
    }
    .needle .recommendBox .tab_section_switch .tab_bodyBox .caption {
        text-align: center;
        font-weight: normal;
        line-height: 1.8;
    }

    .needle .all-sec02 {
        padding: 120px 0;
    }
    .needle .all-sec02 p.lead {
        font-weight: normal;
        margin-top: 0.5em;
    }
    .needle .all-sec02 .sec02-swiper .swiper-wrapper {
        padding-bottom: 66px;
    }
    .needle .all-sec02 .title {
        font-weight: bold;
        line-height: 2;
        background: #20396F;
        border-radius: 50vw;
        margin-top: 50px;
        margin-bottom: 30px;
    }
    .needle .all-sec02 .swiper-slide {
        width: 810px !important;
    }
    .needle .all-sec02 ul li {
        width: 390px;
        line-height: 1.8;
    }
    .needle .all-sec02 ul li figure {
        width: 390px;
    }
    .needle .all-sec02 ul li figure:after {
        width: 26px;
        height: 26px;
        right: 10px;
        bottom: 52px;
    }
    .needle .all-sec02 ul li figure figcaption {
        font-size: 16px;
        padding: 6px 0;
        margin-bottom: 20px;
    }
    .needle .all-sec02 ul.detail {
        display: flex;
        justify-content: space-between;
    }
    .needle .all-sec02 ul.detail li {
        width: 390px;
    }
    .needle .all-sec02 ul.detail li:nth-child(2) {
        margin-top: 0;
    }
    .needle .all-sec02 ul.detail li dl dt {
        font-size: 14px;
    }
    .needle .all-sec02 ul.detail li dl dd span {
        font-size: 20px;
    }
    .needle .all-sec02 ul.detail li:nth-child(2) dl dd {
        font-size: 16px;
    }
    .needle .all-sec02 ul.detail li:nth-child(2) dl dd span {
        font-size: 28px;
    }
    .needle .all-sec02 .swiper-pagination-bullet {
        margin: 0 12px;
    }
    .needle .all-sec02 .swiper-button-prev {
        transform: rotate(45deg) translate(-50px, 50px) !important;
        left: 0 !important;
        right: 0;
        margin: 0 auto;
    }
    .needle .all-sec02 .swiper-button-next {
        transform: rotate(-45deg) translate(50px, 50px) !important;
        left: 0;
        right: 0 !important;
        margin: 0 auto;
    }
    .needle .all-sec02 .under {
        width: 1000px;
        padding: 18px 95px;
        margin: 24px auto 0;
        border-radius: 10px;
    }
    .needle .all-sec02 .under ul {
        display: flex;
        justify-content: space-between;
    }
    .needle .all-sec02 .under li {
        width: 390px;
    }
    .needle .all-sec02 .under li:nth-child(2) {
        margin-top: 0;
    }
    .needle .all-sec02 .under li dl dt,
    .needle .all-sec02 .under li dl dd {
        font-size: 14px;
    }
    .needle .all-sec02 .under li dl dt {
        font-weight: bold;
        text-align: center;
        width: 28%;
        justify-content: center;
    }
    .needle .all-sec02 .under li dl dd {
        width: 72%;
        padding-left: 0.6em;
        justify-content: flex-start;
    }

    .needle .all-sec03 .container {
        width: 980px;
    }
    .needle .all-sec03 .midashi {
        color: #00AAFA;
        font-weight: bold;
        width: 728px;
        border: 4px solid #00AAFA;
        border-radius: 10px;
        padding: 0.8em 0;
        margin: 0 auto 80px;
    }
    .needle .all-sec03 .pc_flex {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }
    .needle .all-sec03 img {
        width: 450px;
    }
    .needle .all-sec03 ul li {
        line-height: 1.8;
    }
    .needle .all-sec03 ul li:nth-child(2) {
        width: 490px
    }
    .needle .all-sec03 ul li .title {
        line-height: 1.5;
        margin-bottom: 40px;
    }
    .needle .all-sec03 .movieBox {
        line-height: 1.8;
        background: #E5F6FE;
        border-radius: 10px;
        padding: 40px 120px;
		box-sizing: border-box;
        margin: 40px auto;
		width: 728px;
    }
	.needle .all-sec03 .movieBox video{
        width: 100%;
		height: 278px;
    }
    .needle .all-sec03 .movieBox .title {
        color: #fff;
        font-weight: bold;
        line-height: 2;
        background: #20396F;
        border-radius: 50vw;
        margin-bottom: 30px;
    }
    .needle .all-sec03 .box .title {
        line-height: 1.5;
        margin-bottom: 20px;
    }

    .needle .all-sec04 {
        color: #fff;
        background: #00aafa;
        padding: 120px 0;
    }
    .needle .all-sec04 p {
        line-height: 1.8;
    }
    .needle .all-sec04 .line-ani:after {
        border-color: #fffe00 !important;
    }
    .needle .all-sec04 p.lead {
        margin-top: 13px;
    }
    .needle .all-sec04 ul {
        justify-content: center;
    }
    .needle .all-sec04 ul li {
        width: 320px;
        border-radius: 10px;
        padding: 48px 16px 16px;
        margin: 55px 5px 0;
        box-sizing: border-box;
    }
    .needle .all-sec04 ul li:nth-child(-n+3) {
        margin-top: 80px;
    }
    .needle .all-sec04 ul li:before {
        font-size: 16px;
        width: 80px;
        height: 80px;
        top: -40px;
        padding-top: 15px;
    }
    .needle .all-sec04 ul li:after {
        font-size: 32px;
        top: -7px;
    }
    .needle .all-sec04 ul li img {
        height: 135px;
        margin: 0 auto 20px;
    }
    .needle .all-sec04 ul li .h3 {
        margin-bottom: 20px;
    }

    .needle .all-sec05 {
        color: #fff;
        background: #20396F;
        padding: 120px 0;
    }
    .needle .all-sec05 p {
        line-height: 1.8;
    }
    .needle .all-sec05 .container {
        width: 810px;
    }
    .needle .all-sec05 .pc_flex {
        display: flex;
        justify-content: space-between;
    }
    .needle .all-sec05 ul li {
        color: #222;
        width: 400px;
        background: #fff;
        border-radius: 10px;
        padding: 48px 26px 16px;
        margin-top: 80px;
        box-sizing: border-box;
    }
    .needle .all-sec05 ul li img {
        width: 122px;
        display: block;
        margin: 0 auto 20px;
    }
    .needle .all-sec05 ul li:nth-child(2) img {
        width: 133px;
    }
    .needle .all-sec05 ul li .title {
        color: #20396F;
        margin-bottom: 1em;
    }
    .needle .all-sec05 ul li a {
        color: #000;
        font-size: 12px;
        text-decoration: underline;
    }
    .needle .all-sec05 .ttl_aco {
        color: #fff;
        font-size: 28px;
        background: #888;
        padding: 20px 40px;
        margin-top: 43px;
        position: relative;
    }
    .needle .all-sec05 .ttl_aco:after {
        content: "";
        border-left: 4px solid #fff;
        border-bottom: 4px solid #fff;
        width: 20px;
        height: 20px;
        position: absolute;
        top: 50%;
        right: 40px;
        transform: translateY(-80%) rotate(-45deg);
    }
    .needle .all-sec05 .ttl_aco.active:after {
        border: none;
        border-right: 4px solid #fff;
        border-top: 4px solid #fff;
        transform: translateY(-20%) rotate(-45deg);
    }
    .needle .all-sec05 .body_aco {
        cursor: pointer;
        display: none;
    }
    .needle .all-sec05 .body_aco .box {
        color: #222;
        background: #fff;
        padding: 40px;
        margin-top: 15px;
    }
    .needle .all-sec05 .body_aco .box .title {
        margin-bottom: 10px;
    }

    .needle .all-sec06 {
        background: #E5F6FE;
        padding: 80px 0
    }
    .needle .all-sec06 .pc_flex {
        width: 830px;
        display: flex;
        justify-content: space-between;
        margin: 0 auto;
    }
    .needle .all-sec06 .pc_flex li:nth-child(2) {
        width: 490px;
    }
    .needle .all-sec06 .midashi {
        color: #00AAFA;
        font-weight: bold;
        border: 4px solid #00AAFA;
        border-radius: 10px;
        padding: 0.8em 0;
        margin-bottom: 80px;
    }
    .needle .all-sec06 img {
        width: 300px;
        margin-bottom: 50px;
    }
    .needle .all-sec06 ul li {
        line-height: 1.8;
    }
    .needle .all-sec06 ul li .title {
        line-height: 1.5;
        margin-bottom: 1em;
    }

    .needle .all-sec06 + .container,
    .needle #payment-method + .container  {
        padding: 152px 0 88px;
    }

    .needle .all-sec07 {
        color: #fff;
        padding: 120px 0 !important;
    }
    .needle .all-sec07 p {
        line-height: 1.8;
    }
    .needle .all-sec07 .line-ani:after {
        border-color: #fffe00 !important;
    }
    .needle .all-sec07 p.lead {
        margin-top: 13px;
        margin-bottom: 100px;
    }
    .needle .all-sec07 .scrollable {
        overflow: hidden;
        padding: 0;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 {
        width: 1160px;
        padding-top: 182px;
        padding-bottom: 40px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 dl {
        border-radius: 10px;
        box-shadow: 0 4px 4px rgba(0,0,0,.25);
    }
    .needle .all-sec07 .scrollable .tbl-sec07 dl:nth-child(n+5) {
        margin-top: 10px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 .icon {
        width: 170px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 .icon img {
        height: 50px;
        margin-bottom: 10px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 .dt1,
    .needle .all-sec07 .scrollable .tbl-sec07 .dt2,
    .needle .all-sec07 .scrollable .tbl-sec07 .dt3 {
        width: 330px;
        padding: 20px 12px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 .dt1 img,
    .needle .all-sec07 .scrollable .tbl-sec07 .dt2 img,
    .needle .all-sec07 .scrollable .tbl-sec07 .dt3 img {
        width: 48px;
        margin: 0 auto 10px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 .th1,
    .needle .all-sec07 .scrollable .tbl-sec07 .th2,
    .needle .all-sec07 .scrollable .tbl-sec07 .th3 {
        width: 300px;
        height: 2285px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 .th1 dt,
    .needle .all-sec07 .scrollable .tbl-sec07 .th2 dt,
    .needle .all-sec07 .scrollable .tbl-sec07 .th3 dt {
        height: 48px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 .th1 {
        left: 185px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 .th2 {
        left: 515px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 .th3 {
        left: 845px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 .th1 dd,
    .needle .all-sec07 .scrollable .tbl-sec07 .th2 dd,
    .needle .all-sec07 .scrollable .tbl-sec07 .th3 dd {
        padding: 33px 0 0;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 .th2 dd {
        padding: 20px 0 0;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 dd li {
        padding-left: 28px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 dd li:nth-child(n+2) {
        margin-top: 10px;
    }
    .needle .all-sec07 .scrollable .tbl-sec07 dd li:before {
        width: 12px;
        height: 18px;
    }

    .needle .all-sec10 {
        background: #EEF0F5;
        padding: 120px 0;
    }
    .needle .all-sec10 p {
        line-height: 1.8;
    }
    .needle .all-sec10 .container {
        max-width: 1140px;
    }
    .needle .all-sec10 .swiper-container {
        padding-bottom: 85px;
        margin-top: 50px;
    }
    .needle .all-sec10 .swiper-cover {
        padding-left: 0;
    }
    .needle .all-sec10 .flow-box-gp .flow-tlt {
        color: #fff;
        background-position: center !important;
        padding: 7px 0;
        margin-bottom: 20px;
    }
    .needle .all-sec10 .flow-box-gp .step3 {
        margin-right: 0;
    }
    .needle .all-sec10 .flow-box-gp .step3.flow-tlt {
        background: url(../img/price/all/step02-bg.png) no-repeat;
        background-size: 100% !important;
    }
    .needle .all-sec10 .flow-box-gp .flow-box:first-child .img,
    .needle .all-sec10 .flow-box-gp .flow-box:first-child .txt-box {
        padding: 0;
    }
    .needle .all-sec10 .flow-box-gp .step4 {
        margin-right: 0;
    }
    .needle .all-sec10 .swiper-slide .img,
    .needle .all-sec10 .swiper-slide .txt-box {
        padding: 0 !important;
        margin-left: 15px;
        margin-right: 15px;
    }
    .needle .all-sec10 .swiper-slide .step1 ~ .img,
    .needle .all-sec10 .swiper-slide .step1 ~ .txt-box {
        margin-left: 0 !important;
    }
    .needle .all-sec10 .swiper-slide .step4 ~ .img,
    .needle .all-sec10 .swiper-slide .step4 ~ .txt-box {
        margin-right: 0 !important;
    }
    .needle .all-sec10 .flow-box-gp .flow-box .txt-box,
    .needle .all-sec10 .flow-box-gp .flow-box .txt-box-inner {
        padding: 20px 16px;
        background: #fff;
    }
    .needle .all-sec10 .flow-box-gp .flow-box .txt-box-inner p:nth-child(n+2) {
        font-weight: normal;
        margin-top: 16px;
    }
    .page-all .needle .all-sec10 .swiper-pagination-bullets {
        left: 0;
    }
    .page-all .needle .all-sec10 .swiper-pagination-bullet {
        border: none;
        background: #d6d6d6;
        opacity: 1;
        margin: 0 12px;
    }
    .page-all .needle .all-sec10 .swiper-pagination-bullet-active {
        background: #000;
    }
    .page-all .needle .swiper-button-prev,
    .page-all .needle .swiper-button-next {
        border-bottom: 2px solid #000;
        width: 16px;
        height: 16px;
        top: initial;
        bottom: 8px;
        z-index: 999;
        display: block;
        background: none;
    }
    .page-all .needle .swiper-button-prev {
        border-left: 2px solid #000;
        left: 500px;
        transform: rotate(45deg);
    }
    .page-all .needle .swiper-button-next {
        border-right: 2px solid #000;
        right: 500px;
        transform: rotate(-45deg);
    }
    .needle .all-sec10 .box {
        background: #fff;
        width: 810px;
        margin: 0 auto;
    }
    .needle .all-sec10 .box .title {
        color: #fff;
        background: #888;
        padding: 0.8em 0;
    }
    .needle .all-sec10 .box .con {
        padding: 40px;
    }

    .needle .faq-sec {
        padding: 120px 0;
    }
    .needle .faq-sec .m-width {
        max-width: 810px;
    }
    .needle .faq-sec .answer-text {
        align-items: flex-start;
    }
    .needle .faq-sec .answer-text p {
        width: calc(100% - 58px);
    }

    .needle #payment-method {
        background: #EEF0F5;
    }
    .needle .payment-method-block {
        padding: 120px 0;
    }
    .needla #payment-method .payment-list {
        border-bottom: 1px solid #646464;
    }
    .needle #payment-method .payment-list > div:first-child {
        padding: 37px 0 31px;
        display: flex;
        align-items: center;
        position: relative;
    }
    .needle #payment-method .ttl_aco {
        cursor: pointer;
    }
    .needle #payment-method .ttl_aco:after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        background: url(/img/common/plus_icon.png) #00aafa no-repeat;
        background-size: contain;
    }
    .needle #payment-method .ttl_aco.active:after {
        background: url(/img/common/minus_icon.png) #00aafa no-repeat;
        background-size: contain;
    }
}

.newPlanBox.needle {
  line-height: 1.5;
  background: #fff;
  padding: 30px 0 0;
  margin-top: 11%;
  margin-bottom: 17%;
  border-radius: calc(100vw / var(--viewport) * 15);
  overflow: hidden;
}
.newPlanBox.needle .box:nth-child(1) {
  padding: 0 calc(100vw / var(--viewport) * 24);
}
.newPlanBox.needle .box p.caption {
  font-size: 90%;
  margin-top: 0.8em;
}
.newPlanBox.needle .box_bg_gray {
  background: #EFF0F2;
  padding: calc(100vw / var(--viewport) * 34) calc(100vw / var(--viewport) * 24);
  margin: 1.5em 0 0;
  border-radius: calc(100vw / var(--viewport) * 10);
}
.newPlanBox.needle .box_bg_gray .flex {
  flex-wrap: wrap;
  justify-content: space-between;
}
.newPlanBox.needle .box_bg_gray .flex li {
  width: 46.25%;
}
.newPlanBox.needle .box.lower-block {
  background: #00aafa;
  margin-top: 2em;
  padding: 0;
}
.newPlanBox.needle .tab {
  list-style: none;
}
.newPlanBox.needle .tab_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.newPlanBox.needle .tab {
  display: block;
  width: calc(100vw / var(--viewport) * 212);
  font-size: calc(100vw / var(--viewport) * 28);
  font-weight: bold;
  padding: calc(100vw / var(--viewport) * 20) calc(100vw / var(--viewport) * 10) calc(100vw / var(--viewport) * 14);
  box-sizing: border-box;
  border-radius: calc(100vw / var(--viewport) * 10) calc(100vw / var(--viewport) * 10) 0 0;
  color: #fff;
  background: #777777;
  text-align: center;
}
.newPlanBox.needle .tab_area_1clm .tab{
  width: 100%;
}
.newPlanBox.needle .tab_area_2clm .tab{
  width: 49%;
}
.newPlanBox.needle .tab.active{
  color: #000;
  background: #EFF0F2;
  position: relative;
}
.newPlanBox.needle .tab.active:after{
  content: "";
  width: 70%;
  height: 2px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.newPlanBox.needle .tab_area_1clm .tab.active:after{
  width: 30%;
}
.newPlanBox.needle .tab span{
  font-size: calc(100vw / var(--viewport) * 40);
}
.newPlanBox{
  border-radius: calc(100vw / var(--viewport) * 10);
  background: #fff;
}
.newPlanBox.needle .box{
  padding: calc(100vw / var(--viewport) * 45) 0 calc(100vw / var(--viewport) * 45);
  border-radius: 0;
  background: inherit;
}
.newPlanBox.needle .pc_flex:nth-child(n+2) .box{
    margin-top: 0;
}
.newPlanBox.needle .tab_section_switch .tab_bodyBox{
  display: none;
}
.newPlanBox.needle .tab_section_switch .tab_bodyBox.active{
  display: block;
}
.newPlanBox.needle .tab_body{
  padding: calc(100vw / var(--viewport) * 40) calc(100vw / var(--viewport) * 24) calc(100vw / var(--viewport) * 40);
  background: #EFF0F2;
  border-radius: 0 0 calc(100vw / var(--viewport) * 10) calc(100vw / var(--viewport) * 10);
}
.newPlanBox.needle .tab_body .priceArea{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.newPlanBox.needle .tab_body .priceBox{
  display: flex;
  align-items: end;
  padding: calc(100vw / var(--viewport) * 10) 0 calc(100vw / var(--viewport) * 10);
  background: #EFF0F2;
}
.newPlanBox.needle .tab_body .priceBox .plus{
  font-weight: bold;
  font-size: 30px;
  margin-right: 5px;
}
.newPlanBox.needle .tab_body .priceBox .rl{
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: bold;
  writing-mode: vertical-rl;
  letter-spacing: .2em;
  margin-right: calc(100vw / var(--viewport) * 10);
}
.newPlanBox.needle .tab_body .priceBox .price{
  font-size: calc(100vw / var(--viewport) * 70);
  color: #f00;
}
.newPlanBox.needle .tab_body .priceBox .yen{
  width: auto;
  font-size: calc(100vw / var(--viewport) * 44);
  font-weight: bold;
  margin-left: calc(100vw / var(--viewport) * 4);
  margin-right: 0;
}
.newPlanBox.needle .tab_body .priceBox_split{
  width: 40%;
  padding-left: calc(100vw / var(--viewport) * 30);
  border-left: calc(100vw / var(--viewport) * 1) solid #707070;
}
.newPlanBox.needle .tab_body .priceBox_split_number{
  width: 70%;
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: bold;
  padding: calc(100vw / var(--viewport) * 8) calc(100vw / var(--viewport) * 10);
  text-align: center;
  border: calc(100vw / var(--viewport) * 1) solid #707070;
  border-radius: calc(100vw / var(--viewport) * 5);
}
.newPlanBox.needle .tab_body .priceBox_split .priceBox{
  padding: calc(100vw / var(--viewport) * 10) 0 calc(100vw / var(--viewport) * 10);
  border-right: none;
}
.newPlanBox.needle .tab_body .priceBox_split .priceBox .rl{
  transform: translateY(4px);
}
.newPlanBox.needle .tab_body .priceBox_split .priceBox .price{
  font-size: calc(100vw / var(--viewport) * 54);
  color: #000;
}
.newPlanBox.needle .tab_body .priceBox_split .priceBox .yen{
  font-size: calc(100vw / var(--viewport) * 33);
}
.newPlanBox.needle .box {
  background: none;
}
.newPlanBox.needle .box.lower-block.active {
  padding: 0 0 calc(100vw / var(--viewport) * 24);
}
.newPlanBox.needle .box .lower-block-inner {
  background: #fff;
  border-radius: 5px;
  padding: 10% calc(100vw / var(--viewport) * 24);
  margin: 0 calc(100vw / var(--viewport) * 24);
}
.newPlanBox.needle .box .midashi {
  padding-bottom: 0.8em;
  border-bottom: 1px solid #000;
  margin-bottom: 1.2em;
}
.newPlanBox.needle .box .text span {
  color: #f00;
  font-size: calc(100vw / var(--viewport) * 50);
}
.newPlanBox.needle .box .sub {
  font-weight: normal;
  margin-top: 0.8em;
}
.newPlanBox.needle.fav-box .lower-block .btn {
  width: calc(216px + (520 - 216) * ((100vw - 320px) / (767 - 320)));
  padding-bottom: 0;
}
.newPlanBox.needle.fav-box .lower-block .btn a {
  color: #000;
  line-height: 1;
  background: #00aafa;
  border: calc(3px + (6 - 3) * ((100vw - 320px) / (767 - 320))) solid #fff;
  padding: calc(17px + (43 - 17) * ((100vw - 320px) / (767 - 320)));
  border-radius: 70px;
}
.newPlanBox.needle.fav-box .lower-block .btn a:before {

    background: url(../img/top/right-arr.png) no-repeat;
    background-size: contain;
}
@media screen and (max-width:767px) {
  .newPlanBox.needle h3 span {
    margin-bottom: 0.6em;
  }
  .newPlanBox.needle .box_bg_gray .flex li:nth-child(n+3) {
    margin-top: 4%;
  }
  #planlists .promotion-txt-block.txt-block01.needle h3 span {
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (min-width:768px) {
  .newPlanBox.needle {
    padding-top: 52px;
    margin-top: 7.5%;
    margin-bottom: 7%;
    border-radius: 15px;
  }
  .newPlanBox.needle .box_bg_gray {
    padding: 34px 34px;
    border-radius: 10px;
  }
  .newPlanBox.needle .box_bg_gray .flex li {
    width: 162px;
  }
  .newPlanBox.needle .box_bg_gray .flex li:nth-child(n+5) {
    margin-top: 16px;
  }
  .newPlanBox.needle > .pc_flex{
      width: 50%;
  }
  .newPlanBox.needle .box.lower-block {
    width: 100%;
  }
  .newPlanBox.needle .box.lower-block.active {
    padding: 0 0 3%;
  }
  .newPlanBox.needle .box .lower-block-inner {
    width: 966px;
    padding: 52px 83px 57px;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .newPlanBox.needle .tab{
    width: 160px;
    font-size: 17px;
    padding: 14px 10px 10px;
    border-radius: 10px 10px 0 0;
    cursor: pointer;
  }
  .newPlanBox_switch .tab:hover{
    opacity: .8;
  }
  .newPlanBox.needle .tab.active:after{
    content: "";
    width: 70%;
    height: 2px;
    background: #000;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .newPlanBox.needle .tab span{
    font-size: 24px;
  }
  .newPlanBox{
    padding: 24px 0 52px;
    border-radius: 10px 10px 0 0;
  }
  .newPlanBox.needle .box{
    padding: 0 20px;
  }
  .newPlanBox.needle .box .innerBox{
    width: auto;
  }
  .newPlanBox.needle .box .innerBox .midashi{
    border-radius: 10px 10px 0 0;
    margin-bottom: 0;
  }
  .newPlanBox.needle .box .innerBox .partsImage{
      margin-bottom: 36px;
  }
  .newPlanBox.needle .tab_bodyBox{
    display: none;
  }
  .newPlanBox.needle .tab_bodyBox.active{
    display: block;
  }
  .newPlanBox.needle .tab_body{
    padding: 30px 14px 20px;
    border-radius: 0 0 10px 10px;
  }
  .newPlanBox.needle .tab_body .priceArea{
  }
  .newPlanBox.needle .tab_body .priceBox{
    padding:10px 0;
  }
  .newPlanBox.needle .tab_body .priceBox .rl{
    font-size: 22px;
    transform: translateY(4px);
    margin-right: 10px;
  }
  .newPlanBox.needle .tab_body .priceBox .price{
    font-size: 60px;
    letter-spacing: -.02em;
  }
  .newPlanBox.needle .tab_body .priceBox .yen{
    width: auto;
    font-size: 37px;
    margin-left:4px;
    margin-right: 0;
  }
  .newPlanBox.needle .tab_body .priceBox_split{
    width: 32%;
    padding-left: 30px;
    border-left: 1px solid #707070;
  }
  .newPlanBox.needle .tab_body .priceBox_split_number{
    width: 70%;
    font-size: 14px;
    padding: 4px 10px;
    border: 1px solid #707070;
    border-radius: 4px;
  }
  .newPlanBox.needle .tab_body .priceBox_split .priceBox{
    padding: 10px 0;
  }
  .newPlanBox.needle .tab_body .priceBox_split .priceBox .rl{
    font-size: 15px;
    transform: translateY(6px);
  }
  .newPlanBox.needle .tab_body .priceBox_split .priceBox .price{
    font-size: 36px;
  }
  .newPlanBox.needle .tab_body .priceBox_split .priceBox .yen{
    font-size: 22px;
  }
  .newPlanBox.needle .box {
    width: 800px;
    margin: 0 auto;
  }
  .newPlanBox.needle .box .text {
    font-size: 24px;
  }
  .newPlanBox.needle .box .text span {
    font-size: 44px;
  }
  .newPlanBox.needle.fav-box .lower-block .btn {
    width: 299px;
  }
  .newPlanBox.needle.fav-box .lower-block .btn a {
    padding: 24px 0;
    border: 4px solid #fff;
  }
}

/* banner */
body.index .area__skinplan__imgArea.needleBox {
    color: #fff;
    font-weight: bold;
    line-height: 1.34;
    background: linear-gradient(to right, #00AAFA, #80D5FD);
    border: calc(100vw / var(--viewport) * 5) solid #fff;
    box-sizing: border-box;
    border-radius: calc(100vw / var(--viewport) * 10);
    padding: calc(100vw / var(--viewport) * 28) calc(100vw / var(--viewport) * 14) calc(100vw / var(--viewport) * 28) calc(100vw / var(--viewport) * 35);
    position: relative;
}
body.index .area__skinplan__imgArea.needleBox a {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
body.index .area__skinplan__imgArea.needleBox .midashi {
    color: #fffe00;
    font-size: calc(100vw / var(--viewport) * 58);
}
body.index .area__skinplan__imgArea.needleBox .sub {
    font-size: calc(100vw / var(--viewport) * 26);
}
body.index .area__skinplan__imgArea.needleBox .text {
    font-size: calc(100vw / var(--viewport) * 22);
    width: 70%;
    margin-top: calc(100vw / var(--viewport) * 15);
}
body.index .area__skinplan__imgArea.needleBox .priceBox {
    font-size: calc(100vw / var(--viewport) * 50);
    line-height: 1.1;
}
body.index .area__skinplan__imgArea.needleBox .priceBox .count {
    font-size: calc(100vw / var(--viewport) * 79);
}
body.index .area__skinplan__imgArea.needleBox .priceBox .price {
    color: #fffe00;
    font-size: calc(100vw / var(--viewport) * 109);
}
body.index .area__skinplan__imgArea.needleBox:before {
    content: "NEW";
    font-size: calc(100vw / var(--viewport) * 33);
    font-family: 'Oswald', sans-serif;
    font-weight: normal;
    width: calc(100vw / var(--viewport) * 80);
    height: calc(100vw / var(--viewport) * 80);
    background: #FF4600;
    display: flex;
    justify-content: center;
    align-items: center;
    border: calc(100vw / var(--viewport) * 5) solid #fff;
    border-radius: 100%;
    position: absolute;
    top: calc(100vw / var(--viewport) * -25);
    left: calc(100vw / var(--viewport) * -45);
}

@media screen and (max-width:767px) {
    body.index .area__skinplan__imgArea.needleBox .flex {
        display: initial;
    }
    body.index .area__skinplan__imgArea.needleBox .button {
        display: none;
    }
    body.index .area__skinplan__imgArea.needleBox .imgBox {
        width: 27%;
        position: absolute;
        top: calc(100vw / var(--viewport) * 28);
        right: calc(100vw / var(--viewport) * 14);
    }
}

@media screen and (min-width:768px) {
    body.index .area__skinplan__imgArea.needleBox {
        width: 100%;
        padding: 25px 28px 31px 56px;
        border: 5px solid #fff;
        border-radius: 10px;
    }
    body.index .area__skinplan__imgArea.needleBox .left {
        width: calc(100% - 222px);
    }
    body.index .area__skinplan__imgArea.needleBox .midashi {
        font-size: 64px;
    }
    body.index .area__skinplan__imgArea.needleBox .sub {
        font-size: 29px;
    }
    body.index .area__skinplan__imgArea.needleBox .text {
        font-size: 25px;
        width: 527px;
        margin-top: 15px;
    }
    body.index .area__skinplan__imgArea.needleBox .priceBox {
        font-size: 55px;
    }
    body.index .area__skinplan__imgArea.needleBox .priceBox .count {
        font-size: 88px;
        letter-spacing: -0.02em;
    }
    body.index .area__skinplan__imgArea.needleBox .priceBox .price {
        font-size: 121px;
        letter-spacing: -0.05em;
    }
    body.index .area__skinplan__imgArea.needleBox .right {
        width: 222px;
    }
    body.index .area__skinplan__imgArea.needleBox:before {
        font-size: 36px;
        width: 80px;
        height: 80px;
        border: 5px solid #fff;
        top: -19px;
        left: -36px;
    }
    body.index .area__skinplan__imgArea.needleBox .button {
        color: #fff;
        font-size: 17px;
        background: #333;
        border-radius: 50vw;
        width: 100%;
        height: 58px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 30px;
        position: relative;
    }
    body.index .area__skinplan__imgArea.needleBox .button:after {
      content: "";
      border-right: 2px solid #00AAFA;
      border-top: 2px solid #00AAFA;
      border-radius: 2px;
      width: 6px;
      height: 6px;
      position: absolute;
      top: 50%;
      right: 16px;
      transform: translateY(-50%) rotate(45deg);
    }
}

/* renewal 202501 */
:root {
    --lightBlue: #00aafa;
    --yellow: #fffe00;
}

body.index .full-bnr {
    background: none;
    height: calc(100vw / var(--viewport) * 1628) !important;
    position: relative;
    overflow: hidden;
}
body.index .full-bnr .bg {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
body.index .full-bnr .aboutus {
    color: #fff;
    text-align: center;
    position: relative;
}
body.index .full-bnr .aboutus h1 {
    font-size: calc(100vw / var(--viewport) * 48);
    line-height: 1.3;
    position: absolute;
    top: calc(100vw / var(--viewport) * 160);
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 10;
}
body.index .full-bnr .aboutus h1 .small {
    font-size: calc(100vw / var(--viewport) * 32);
}
body.index .full-bnr .aboutus h1 .font_blue {
    color: #16AAFA;
    font-size: calc(100vw / var(--viewport) * 88);
}
body.index .full-bnr .aboutus .caption {
    font-size: 5.3333333333vw;
    text-align: center;
    margin-top: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
    body.index .full-bnr {
        height: 580px !important;
    }
    body.index .full-bnr .aboutus h1 {
        font-size: 32px;
        top: 120px;
    }
    body.index .full-bnr .aboutus h1 .small {
        font-size: 24px;
    }
    body.index .full-bnr .aboutus h1 .font_blue {
        font-size: 60px;
    }
}
/*end map block*/
/*start reason*/
body.index #reasons {
    color: #fff;
    text-align: center;
    background: var(--lightBlue) !important;
    padding: calc(100vw / var(--viewport) * 108) 0 !important;
}
body.index #reasons h2 {
    font-size: calc(100vw / var(--viewport) * 64);
    line-height: 1.3;
    margin-bottom: calc(100vw / var(--viewport) * 192);
}
body.index #reasons h2 .sub {
    font-size: calc(100vw / var(--viewport) * 28);
}
body.index #reasons .flex {
    flex-wrap: nowrap;
}
body.index #reasons .box {
    margin-top: calc(100vw / var(--viewport) * 120);
    position: relative;
}
body.index #reasons .box .title {
    font-size: calc(100vw / var(--viewport) * 40);
    font-weight: bold;
    border-top: 2px solid #fff;
    padding: 0.8em 1em;
    border-bottom: 2px solid #fff;
    display: table;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
body.index #reasons .box01:before {
    content: "";
    width: 100%;
    height: calc(100vw / var(--viewport) * 752);
    background: url(../img/top/reasons/bg_sp.png) top center no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: calc(100vw / var(--viewport) * 120);
    left: 0;
    z-index: 1;
}
body.index #reasons .box:after {
    color: #0071F5;
    font-size: calc(100vw / var(--viewport) * 320);
    font-family: 'Oswald', sans-serif;
    font-weight: normal;
    position: absolute;
    top: calc(100vw / var(--viewport) * -80);
    left: 0;
    z-index: 0;
}
body.index #reasons .box01:after {
    content: "01";
}
body.index #reasons .box02:after {
    content: "02";
}
body.index #reasons .box03:after {
    content: "03";
}
body.index #reasons .box04:after {
    content: "04";
}
body.index #reasons .box .midashi {
    margin-top: calc(100vw / var(--viewport) * 168);
    position: relative;
    z-index: 1;
}
body.index #reasons .box01 .midashi ul li {
    color: var(--yellow);
    font-size: calc(100vw / var(--viewport) * 96);
    font-weight: bold;
    line-height: 1.3;
}
body.index #reasons .box01 .midashi ul li:nth-child(1) {
    margin-bottom: calc(100vw / var(--viewport) * 104);
    position: relative;
}
body.index #reasons .box01 .midashi ul li:nth-child(1):before,
body.index #reasons .box01 .midashi ul li:nth-child(1):after {
    content: "";
    background: #fff;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100vw / var(--viewport) * -54);
    margin: 0 auto;
}
body.index #reasons .box01 .midashi ul li:nth-child(1):before {
    width: calc(100vw / var(--viewport) * 90);
    height: calc(100vw / var(--viewport) * 4);
    transform: rotate(45deg);
}
body.index #reasons .box01 .midashi ul li:nth-child(1):after {
    width: calc(100vw / var(--viewport) * 4);
    height: calc(100vw / var(--viewport) * 90);
    transform: translateY(50%) rotate(45deg);
}
body.index #reasons .box01 .midashi ul li .small {
    color: #fff;
    font-size: calc(100vw / var(--viewport) * 40);
    display: block;
}
body.index #reasons .box .reasonsSwiper {
    margin-top: calc(100vw / var(--viewport) * 168);
}
body.index #reasons .box .reasonsSwiper .swiper__title {
    font-size: calc(100vw / var(--viewport) * 40);
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: calc(100vw / var(--viewport) * 24);
}
body.index #reasons .reasons__parts{
  margin-bottom: calc(100vw / var(--viewport) * 24);
  padding: calc(100vw / var(--viewport) * 12) calc(100vw / var(--viewport) * 20);
  box-sizing: border-box;
  background: #fff;
  border: calc(100vw / var(--viewport) * 2) solid #20396F;
}
body.index #reasons .reasons__parts--left{
  width: calc(100vw / var(--viewport) * 278);
  margin-top: calc(100vw / var(--viewport) * 12);
}
body.index #reasons .reasons__parts__title{
  font-size: calc(100vw / var(--viewport) * 18);
  padding: calc(100vw / var(--viewport) * 8);
  color: #fff;
  background: #20396F;
  border-radius: calc(100vw / var(--viewport) * 40);
}
body.index #reasons .reasons__parts__planName{
  font-size: calc(100vw / var(--viewport) * 30);
  color: #20396F;
  margin-top: calc(100vw / var(--viewport) * 10);
}
body.index #reasons .reasons__parts img{
  width: calc(100vw / var(--viewport) * 190);
}
body.index #reasons .box .reasonsSwiper .lead {
    font-size: calc(100vw / var(--viewport) * 32);
    text-align: center;
    line-height: 1.5;
    margin-bottom: calc(100vw / var(--viewport) * 44);
}
body.index #reasons .box .reasonsSwiper .swiper-slide .js-dialog {
    color: #000;
    font-size: calc(100vw / var(--viewport) * 20);
    font-weight: bold;
    line-height: 1.25;
    background: var(--yellow);
    border-radius: 50vw;
    width: calc(100vw / var(--viewport) * 120);
    height: calc(100vw / var(--viewport) * 120);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: calc(100vw / var(--viewport) * 10);
    bottom: calc(100vw / var(--viewport) * 10);
}
body.index #reasons .box .reasonsSwiper .swiper-slide:nth-child(2n) .js-dialog {
    left: calc(100vw / var(--viewport) * 10);
    right: initial;
}
body.index #reasons .box .reasonsSwiper .swiper-slide .js-dialog:before {
    content: "+";
    font-size: calc(100vw / var(--viewport) * 24);
}
body.index #reasons .box .reasonsSwiper + .caption {
    font-weight: 500;
    text-align: left;
    line-height: 1.5;
    width: 91.47%;
    margin: calc(100vw / var(--viewport) * 25) auto 0;
}
body.index #reasons .box01 .button a {
    color: #000;
    font-size: calc(100vw / var(--viewport) * 32);
    font-weight: bold;
    text-decoration: none;
    width: calc(100vw / var(--viewport) * 600);
    height: calc(100vw / var(--viewport) * 112);
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50vw;
    margin: calc(100vw / var(--viewport) * 80) auto 0;
}
body.index #reasons .box02 .imgBox {
    width: 91.47%;
    margin: calc(100vw / var(--viewport) * 80) auto 0;
    position: relative;
    z-index: 1;
}
body.index #reasons .box02 .imgBox h4 {
    font-size: calc(100vw / var(--viewport) * 48);
    font-weight: bold;
    line-height: 1.3;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
body.index #reasons .box02 .imgBox h4 .sub {
    font-size: calc(100vw / var(--viewport) * 28);
}
body.index #reasons .box02 .text {
    font-size: calc(100vw / var(--viewport) * 24);
    font-weight: 500;
    text-align: left;
    line-height: 1.8;
    width: 91.47%;
    margin: calc(100vw / var(--viewport) * 40) auto 0;
}
body.index #reasons .box02 .moreText {
    display: none;
}
body.index #reasons .box02 .more {
    text-align: center;
    text-decoration: underline;
    display: block;
    margin-top: 1.8em;
    cursor: pointer;
}
body.index #reasons .box03 .pc_flex {
    margin-top: calc(100vw / var(--viewport) * 124);
    position: relative;
    z-index: 1;
}
body.index #reasons .box03 .imgBox {
    position: relative;
}
body.index #reasons .box03 .imgBox .caption {
    color: #000;
    font-size: calc(100vw / var(--viewport) * 32);
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    width: calc(100vw / var(--viewport) * 355);
    height: calc(100vw / var(--viewport) * 94);
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100vw / var(--viewport) * -54);
    margin: 0 auto;
}
body.index #reasons .box03 .imgBox .caption .small {
    font-size: calc(100vw / var(--viewport) * 20);
}
body.index #reasons .box03 .text {
    font-size: calc(100vw / var(--viewport) * 24);
    font-weight: 500;
    text-align: left;
    line-height: 1.5;
    width: 91.47%;
    margin: calc(100vw / var(--viewport) * 134) auto 0;
}
body.index #reasons .box03 .button a {
    color: #fff;
    font-size: calc(100vw / var(--viewport) * 32);
    text-decoration: none;
    width: calc(100vw / var(--viewport) * 600);
    height: calc(100vw / var(--viewport) * 112);
    background: none;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #fff;
    border-radius: 50vw;
    margin: calc(100vw / var(--viewport) * 80) auto 0;
}
body.index #reasons .box04 .ttl_aco {
    color: #000;
    font-size: calc(100vw / var(--viewport) * 36);
    font-weight: bold;
    text-align: left;
    line-height: 1.3;
    background: #fff;
    width: 91.47%;
    height: calc(100vw / var(--viewport) * 150);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: calc(100vw / var(--viewport) * 35) calc(100vw / var(--viewport) * 32);
    margin: calc(100vw / var(--viewport) * 16) auto 0;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    cursor: pointer;
}
body.index #reasons .box04 .ttl_aco.first {
    margin-top: calc(100vw / var(--viewport) * 80);
}
body.index #reasons .box04 .ttl_aco:after {
    content: "";
    border-right: 2px solid #000;
    border-top: 2px solid #000;
    border-radius: 2px;
    width: calc(100vw / var(--viewport) * 17);
    height: calc(100vw / var(--viewport) * 17);
    position: absolute;
    top: calc(50% - calc(100vw / var(--viewport) * 6));
    right: calc(100vw / var(--viewport) * 32);
    transform: translateY(-50%) rotate(135deg);
}
body.index #reasons .box04 .ttl_aco.active:after {
    top: calc(50% - calc(100vw / var(--viewport) * -4));
    transform: translateY(-50%) rotate(-45deg);
}
body.index #reasons .box04 .ttl_aco img {
    width: calc(100vw / var(--viewport) * 80);
    margin-right: calc(100vw / var(--viewport) * 32);
}
body.index #reasons .box04 .ttl_aco .sub {
    font-size: calc(100vw / var(--viewport) * 28);
    font-weight: 500;
}
body.index #reasons .box04 .body_aco {
    color: #000;
    font-size: calc(100vw / var(--viewport) * 24);
    font-weight: 500;
    text-align: left;
    line-height: 1.8;
    background: #fff;
    width: 91.47%;
    padding: 5.33vw calc(100vw / var(--viewport) * 32);
    margin: 0 auto;
    box-sizing: border-box;
    display: none;
}
body.index #reasons .box04 .body_aco .caption {
    font-size: calc(100vw / var(--viewport) * 16);
    margin-top: calc(100vw / var(--viewport) * 16);
}
body.index #reasons .box04 .body_aco .example {
    margin-top: calc(100vw / var(--viewport) * 40);
}
body.index #reasons .box04 .body_aco .example .flex {
    justify-content: flex-start;
    align-items: center;
    margin-top: calc(100vw / var(--viewport) * 16);
}
body.index #reasons .box04 .body_aco .example .flex dt {
    text-align: center;
    width: 32vw;
    height: 8vw;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #000;
    border-radius: calc(100vw / var(--viewport) * 16);
}
body.index #reasons .box04 .body_aco .example .flex dd {
    width: calc(100% - 32vw);
    padding-left: 3.2vw;
}
body.index #reasons .box04 .body_aco .r04-2 {
    width: 83.2vw;
    display: block;
    margin: calc(100vw / var(--viewport) * 40) auto 0;
}
body.index #reasons .box04 .body_aco .r04-3,
body.index #reasons .box04 .body_aco .r04-4 {
    margin: calc(100vw / var(--viewport) * 40) 0 0;
}
@media screen and (max-width:767px) {
    body.index #reasons .container {
        width: 100% !important;
    }
    body.index #reasons .box01 .midashi ul {
        flex-direction: column;
    }

    #beforeAfter .body02,
    #beforeAfter .body03 {
        display: none;
    }
    body.index #reasons .reasonsSwiper .swiper-button-prev,
    body.index #reasons .reasonsSwiper .swiper-button-next {
        width: calc(100vw / var(--viewport) * 40);
        height: calc(100vw / var(--viewport) * 64);
        background: none;
        top: 50%;
    }
    body.index #reasons .reasonsSwiper .swiper-button-prev {
        left: 8vw;
    }
    body.index #reasons .reasonsSwiper .swiper-button-next {
        right: 8vw;
    }
    body.index #reasons .reasonsSwiper .swiper-button-prev:before,
    body.index #reasons .reasonsSwiper .swiper-button-next:after {
        content: '';
        width: calc(100vw / var(--viewport) * 40);
        height: calc(100vw / var(--viewport) * 64);
        background: #fff;
        display: block;
        clip-path: polygon(0 0, 0 100%, 100% 50%);
        pointer-events: none;
    }
    body.index #reasons .reasonsSwiper .swiper-button-prev:before {
        clip-path: polygon(100% 0, 100% 100%, 0 50%);
    }
	body.index #reasons .swiper-button-disabled{
		display:none;
	}
}
@media screen and (min-width: 768px) {
    body.index #reasons {
        padding: 60px 0 80px !important;
    }
    body.index #reasons h2 {
        font-size: 40px;
        margin-bottom: 80px;
    }
    body.index #reasons h2 .sub {
        font-size: 20px;
    }
    body.index #reasons .flex {
        width: 100%;
        flex-wrap: nowrap;
    }
    body.index #reasons .box {
        margin-top: 60px;
    }
    body.index #reasons .box .title {
        font-size: 28px;
        border-width: 1px;
    }
    body.index #reasons .box01:before {
        width: 980px;
        height: 382px;
        background: url(../img/top/reasons/bg_pc.png) top center no-repeat;
        background-size: 100% auto;
        top: 108px;
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    body.index #reasons .box:after {
        font-size: 200px;
        top: -10px;
    }
    body.index #reasons .box .midashi {
        width: 580px;
        margin: 40px auto 0;
    }
    body.index #reasons .box01 .midashi ul li {
        font-size: 60px;
        width: 270px;
    }
    body.index #reasons .box01 .midashi ul li:nth-child(1) {
        margin-bottom: 0;
    }
    body.index #reasons .box01 .midashi ul li:nth-child(1):before,
    body.index #reasons .box01 .midashi ul li:nth-child(1):after {
        top: 0;
        left: initial;
        right: 0;
        bottom: initial;
        margin: 0;
    }
    body.index #reasons .box01 .midashi ul li:nth-child(1):before {
        width: 45px;
        height: 2px;
        transform: translate(42px,51px) rotate(45deg);
    }
    body.index #reasons .box01 .midashi ul li:nth-child(1):after {
        width: 2px;
        height: 45px;
        transform: translate(21px, 30px) rotate(45deg);
    }
    body.index #reasons .box01 .midashi ul li .small {
        font-size: 24px;
    }
    body.index #reasons .box .reasonsSwiper {
        width: 580px;
        margin-top: 20px;
    }
    body.index #reasons .box .reasonsSwiper .swiper__title {
        font-size: 26px;
        margin-bottom: 20px;
    }
    body.index #reasons .reasons__parts{
      margin-bottom: 12px;
      padding: 6px 10px;
      border: 1px solid #20396F;
    }
    body.index #reasons .reasons__parts--left{
      width: 140px;
      margin-top:6px;
    }
    body.index #reasons .reasons__parts__title{
      font-size: 9px;
      padding: 4px;
      border-radius: 40px;
    }
    body.index #reasons .reasons__parts__planName{
      font-size: 16px;
      margin-top: 6px;
    }
    body.index #reasons .reasons__parts img{
      width: 95px;
    }
    body.index #reasons .box .reasonsSwiper .lead {
        font-size: 16px;
        margin-bottom: 20px;
    }
    body.index #reasons .box .reasonsSwiper .swiper-slide .js-dialog {
        font-size: 10px;
        width: 60px;
        height: 60px;
        right: 5px;
        bottom: 5px;
        cursor: pointer;
    }
    body.index #reasons .box .reasonsSwiper .swiper-slide:nth-child(2n) .js-dialog {
        left: 5px;
        right: initial;
    }
    body.index #reasons .box .reasonsSwiper .swiper-slide .js-dialog:before {
        font-size: 12px;
        margin-top: -3px;
        margin-bottom: 3px;
    }
    body.index #reasons .box .reasonsSwiper + .caption {
        width: auto;
        display: table;
        margin: 20px auto 0;
    }
    body.index #reasons .box01 .button a {
        font-size: 16px;
        width: 300px;
        height: 56px;
        margin: 33px auto 0;
    }
    body.index #reasons .box02 .pc_flex {
        width: 980px;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin: 0 auto;
    }
    body.index #reasons .box02 .pc_flex > div {
        width: 470px;
        position: relative;
    }
    body.index #reasons .box02 .imgBox {
        width: 470px;
        margin: 40px auto 0;
    }
    body.index #reasons .box02 .imgBox h4 {
        font-size: 32px;
    }
    body.index #reasons .box02 .imgBox h4 .sub {
        font-size: 14px;
    }
    body.index #reasons .box02 .text {
        font-size: 16px;
        width: 100%;
        margin: 20px auto 0;
    }
    body.index #reasons .box02 .more {
        display: inline-block;
        position: absolute;
        right: 0;
        bottom: 0;
        margin: 0;
    }
    body.index #reasons .box03 .pc_flex {
        display: flex;
        justify-content: space-between;
        width: 980px;
        margin: 40px auto 0;
    }
    body.index #reasons .box03 .pc_flex .flex {
        width: 582px;
    }
    body.index #reasons .box03 .imgBox .caption {
        font-size: 16px;
        width: 271px;
        height: 32px;
        flex-direction: row;
        bottom: 10px;
    }
    body.index #reasons .box03 .imgBox .caption .small {
        font-size: 12px;
    }
    body.index #reasons .box03 .text {
        font-size: 16px;
        width: 360px;
        margin: 0;
    }
    body.index #reasons .box03 .button a {
        font-size: 16px;
        width: 300px;
        height: 56px;
        border-width: 1px;
        margin: 40px auto 0;
    }
    body.index #reasons .box04 .pc_flex {
        width: 980px;
        display: flex;
        justify-content: space-between;
        margin: 40px auto 0;
    }
    body.index #reasons .box04 .pc_flex > li {
        width: 190px;
    }
    body.index #reasons .box04 .ttl_aco {
        font-size: 18px;
        text-align: center;
        width: 190px;
        height: 240px;
        flex-direction: column;
        align-items: center;
        align-items: stretch;
        border-radius: 20px;
        padding: 20px 0 0;
        margin: 0;
        transition: all .4s;
    }
    body.index #reasons .box04 .ttl_aco.first {
        margin-top: 0;
    }
    body.index #reasons .box04 .ttl_aco.open:before {
        content: "";
        width: 190px;
        height: 0;
        display: block;
        background: #fff;
        position: absolute;
        left: 0;
        top: 219px;
/*        transition: all .4s;*/
    }
    body.index #reasons .box04 .ttl_aco.open:before {
        height: 30px;
    }
    body.index #reasons .box04 .ttl_aco:after {
        border-width: 2px;
        width: 14px;
        height: 14px;
        top: initial;
        left: 0;
        right: 0;
        bottom: 20px;
        margin: 0 auto;
    }
    body.index #reasons .box04 .ttl_aco.active:after {
        transform: translateY(-50%) rotate(-45deg);
        top: initial;
        bottom: 10px;
    }
    body.index #reasons .box04 .ttl_aco img {
        width: 80px;
        margin: 0 auto 20px;
    }
    body.index #reasons .box04 .ttl_aco .sub {
        font-size: 14px;
        line-height: 1.2;
        letter-spacing: 0.05em;
        display: inline-block;
        margin-bottom: 8px;
    }
    body.index #reasons .box04 .body_aco {
        font-size: 16px;
        width: 980px;
        padding: 30px;
        /*margin: 0 auto;
        position: absolute;
        top: 362px;
        left: 50px;*/
        z-index: 5;
        margin-top: 9px;
        display: none;
    }
    body.index #reasons .box04 .no2 .body_aco {
        margin-left: -197.5px;
    }
    body.index #reasons .box04 .no3 .body_aco {
        margin-left: -395px;
    }
    body.index #reasons .box04 .no4 .body_aco {
        margin-left: -592.5px;
    }
    body.index #reasons .box04 .no5 .body_aco {
        margin-left: -790px;
    }
    body.index #reasons .box04 .body_aco .caption {
        font-size: 11px;
        margin-top: 8px;
    }
    body.index #reasons .box04 .body_aco .example {
        margin-top: 20px;
    }
    body.index #reasons .box04 .body_aco .example .flex {
        margin-top: 8px;
    }
    body.index #reasons .box04 .body_aco .example .flex dt {
        width: 120px;
        height: 30px;
        border-radius: 10px;
    }
    body.index #reasons .box04 .body_aco .example .flex dd {
        width: auto;
        padding-left: 20px;
    }
    body.index #reasons .box04 .body_aco .r04-2 {
        width: 624px;
        display: block;
        margin: 20px auto 0;
    }
    body.index #reasons .box04 .body_aco .r04-3,
    body.index #reasons .box04 .body_aco .r04-4 {
        width: 624px;
        display: block;
        margin: 20px auto 0;
    }
    .reasonsSwiper .swiper-button-prev,
    .reasonsSwiper .swiper-button-next {
        display: none;
    }
    .reasonsSwiper .swiper-wrapper {
        display: flex;
        justify-content: space-between;
        gap: 24px;
    }
    .reasonsSwiper .swiper-slide {
        width: 270px;
        opacity: 1;
    }
}


body.index #beforeAfter {
    padding: calc(100vw / var(--viewport) * 40) 0 calc(100vw / var(--viewport) * 108);
}
body.index #beforeAfter h2 {
    color: var(--lightBlue);
    font-size: calc(100vw / var(--viewport) * 28);
    text-align: center;
    line-height: 1.3;
}
body.index #beforeAfter h2 + div {
    color: var(--lightBlue);
    font-size: calc(100vw / var(--viewport) * 64);
    text-align: center;
    line-height: 1.3;
    margin-bottom: calc(100vw / var(--viewport) * 120);
}
body.index #beforeAfter .tabs {
    width: 91.47%;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}
body.index #beforeAfter .tabs > * {
    font-size: calc(100vw / var(--viewport) * 24);
    font-weight: 600;
    height: calc(100vw / var(--viewport) * 64);
    display: flex;
    justify-content: center;
    align-items: center;
    background: #BFEAFE;
    border-radius: 50vw;
    padding: 0 calc(100vw / var(--viewport) * 40);
    cursor: pointer;
}
body.index #beforeAfter .bodys {
    padding-top: calc(100vw / var(--viewport) * 80);
}
body.index #beforeAfter .bodys dl {
    width: 91.47%;
    display: flex;
    justify-content: flex-start;
    padding: calc(100vw / var(--viewport) * 20) 0;
    border-bottom: 2px solid #000;
    margin: 0 auto;
}
body.index #beforeAfter .bodys dl:first-child {
    border-top: 2px solid #000;
}
body.index #beforeAfter .bodys dt,
body.index #beforeAfter .bodys dd {
    font-weight: 500;
}
body.index #beforeAfter .bodys dt {
    text-align: center;
    width: calc(100vw / var(--viewport) * 140);
    margin-right: calc(100vw / var(--viewport) * 40);
}
body.index #beforeAfter .bodys img {
    margin-top: calc(100vw / var(--viewport) * 80);
}
body.index #beforeAfter .button a {
    color: #fff;
    font-size: calc(100vw / var(--viewport) * 32);
    font-weight: bold;
    text-decoration: none;
    width: calc(100vw / var(--viewport) * 600);
    height: calc(100vw / var(--viewport) * 112);
    background: #20396F;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50vw;
    margin: calc(100vw / var(--viewport) * 80) auto 0;
}
@media screen and (max-width:767px) {
    body.index #beforeAfter .container {
        width: 100%;
    }
    body.index #beforeAfter .tabs > *.active {
        color: #fff;
        background: var(--lightBlue);
    }
}
@media screen and (min-width:768px) {
    body.index #beforeAfter {
        padding: 60px 0 80px;
    }
    body.index #beforeAfter h2 {
        font-size: 20px;
    }
    body.index #beforeAfter h2 + div {
        font-size: 40px;
        margin-bottom: 80px;
    }
    body.index #beforeAfter .container {
        width: 100%;
        max-width: 1165px;
    }
    body.index #beforeAfter .tabs {
        width: 1165px;
        height: 40px;
        position: relative;
    }
    body.index #beforeAfter .tabs > * {
        font-size: 20px;
        background: none;
        height: 40px;
        padding: 0 20px;
        border: 1px solid #000;
        pointer-events: none;
        position: absolute;
        top: 0;
    }
    body.index #beforeAfter .tabs > *:nth-child(1) {
        left: 127px;
    }
    body.index #beforeAfter .tabs > *:nth-child(2) {
        left: 501px;
    }
    body.index #beforeAfter .tabs > *:nth-child(3) {
        left: 887px;
    }
    body.index #beforeAfter .bodys {
        width: 1165px;
        display: flex;
        justify-content: space-between;
        padding-top: 40px;
    }
    body.index #beforeAfter .bodys > div {
        width: 375px;
    }
    body.index #beforeAfter .bodys dl {
        width: 100%;
        padding: 10px 0;
        border-width: 1px;
    }
    body.index #beforeAfter .bodys dl:first-child {
        border-width: 1px;
    }
    body.index #beforeAfter .bodys dt {
        width: 90px;
        margin-right: 20px;
    }
    body.index #beforeAfter .bodys img {
        margin-top: 40px;
    }
    body.index #beforeAfter .button a {
        font-size: 16px;
        width: 300px;
        height: 56px;
        margin: 80px auto 0;
    }
}

body.index .swiper-blue-slider-sec .flex-title {
    flex-wrap: wrap;
    justify-content: center;
}
body.index .swiper-blue-slider-sec .flex-title .middle-text {
    width: 100%;
}
body.index .swiper-blue-slider-sec .flex {
    width: 100%;
    align-items: center;
}
body.index .swiper-blue-slider-sec .flex .border-font {
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
}
body.index .swiper-blue-slider-sec .flex .border-font b {
    text-align: center;
    float: left;
}
@media screen and (max-width:767px) {
    body.index .swiper-blue-slider-sec .flex .border-font {
        display: inline-flex;
        border-top: calc(1px + (2 - 1) * ((100vw - 320px) / (767 - 320))) solid #fff;
        border-bottom: calc(1px + (2 - 1) * ((100vw - 320px) / (767 - 320))) solid #fff;
    }
    body.index .swiper-blue-slider-sec .flex .border-font b {
        border-right: calc(1px + (2 - 1) * ((100vw - 320px) / (767 - 320))) solid #fff;
        width: calc(33px + (72 - 33) * ((100vw - 320px) / (767 - 320)));
        padding: calc(4px + (10 - 4) * ((100vw - 320px) / (767 - 320))) 0 calc(6px + (14 - 6) * ((100vw - 320px) / (767 - 320)));
    }
    body.index .swiper-blue-slider-sec .flex .border-font b:first-child {
        border-left: calc(1px + (2 - 1) * ((100vw - 320px) / (767 - 320))) solid #fff;
    }
}
@media screen and (min-width:768px) {
    body.index .swiper-blue-slider-sec .blue-slider-title {
        width: 434px;
        padding-bottom: 26px;
        margin: 0 auto;
    }
    body.index .swiper-blue-slider-sec .flex-title .middle-text {
        margin-top: 14px;
        margin-bottom: 20px;
        letter-spacing: 1px;
    }
    body.index .swiper-blue-slider-sec .flex .border-font b {
        float: left;
        width: 68px;
        padding: 10.5px 0;
        text-align: center;
        border-right: 2px solid #fff;
    }
    body.index .swiper-blue-slider-sec .flex .border-font b:first-child {
        border-left: 2px solid #fff;
    }
}

body.index #plan {
    background: var(--lightBlue);
    padding: calc(100vw / var(--viewport) * 80) 0 calc(100vw / var(--viewport) * 108);
}
body.index #plan h2 {
    color: #fff;
    font-size: calc(100vw / var(--viewport) * 64);
    text-align: center;
    line-height: 1.3;
    margin-bottom: calc(100vw / var(--viewport) * 80);
}
body.index #plan h2 .sub {
    font-size: calc(100vw / var(--viewport) * 28);
}
body.index #plan .planSwiper .title {
    color: #fff;
    font-size: calc(100vw / var(--viewport) * 120);
    text-align: center;
    margin-bottom: calc(100vw / var(--viewport) * 20);
}
body.index #plan .planSwiper .midashi {
    color: var(--lightBlue);
    font-size: calc(100vw / var(--viewport) * 40);
    font-weight: bold;
    text-align: center;
    background: #fff;
    height: calc(100vw / var(--viewport) * 60);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: calc(100vw / var(--viewport) * 20);
}
body.index #plan .swiper-button-disabled {
    display: none;
}
body.index #plan .planSwiper .courseBoxArea {
    font-weight: 600;
    margin-top: 2.6666666667vw;
}
body.index #plan .planSwiper .courseBoxArea .tabs {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
body.index #plan .planSwiper .courseBoxArea .tabs.two_tabs li {
    width: 49.68%;
}
body.index #plan .planSwiper .courseBoxArea .tabs.three_tabs li {
    width: 32.91%;
}
body.index #plan .planSwiper .courseBoxArea .tabs li {
    color: #fff;
    font-size: calc(100vw / var(--viewport) * 24);
    font-weight: bold;
    text-align: center;
    background: #666;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5.8666666667vw;
    border-radius: 1.0666666667vw 1.0666666667vw 0 0;
    cursor: pointer;
}
body.index #plan .planSwiper .courseBoxArea .tabs li.active {
    color: #16AAFA;
    background: #F0F0F0;
    border-radius: 1.0666666667vw 1.0666666667vw 0 0;
    cursor: default;
}
body.index #plan .planSwiper .courseBoxArea .bodys {
    color: #333;
    line-height: 1.6;
    background: #f0f0f0;
    padding: 5.3333333333vw 3.2vw;
}
body.index #plan .planSwiper .courseBoxArea .bodys .body02,
body.index #plan .planSwiper .courseBoxArea .bodys .body03 {
    display: none;
}
body.index #plan .planSwiper .courseBoxArea .bodys .flex {
    justify-content: space-between;
    align-items: center;
}
body.index #plan .planSwiper .courseBoxArea .bodys .flex .totalPrice .priceBox {
    line-height: 1;
    justify-content: center;
    align-items: baseline;
}
body.index #plan .planSwiper .courseBoxArea .bodys .flex .totalPrice .priceBox .total {
    font-size: 2.6666666667vw;
    line-height: 1.1;
    letter-spacing: 0.1em;
    transform: translateY(-1.2em);
}
body.index #plan .planSwiper .courseBoxArea .bodys .flex .totalPrice .priceBox .price {
    color: var(--lightBlue);
    font-size: 12.8vw;
    margin: 0 1.0666666667vw;
}
body.index #plan .planSwiper .courseBoxArea .bodys .flex .totalPrice .priceBox .yen {
    font-size: 3.7333333333vw;
    position: relative;
    width: initial;
    margin: 0;
}
body.index #plan .planSwiper .courseBoxArea .bodys .flex .totalPrice .priceBox .yen:after {
    content: "(税込)";
    font-size: 1.6vw;
    text-align: center;
    white-space: nowrap;
    position: absolute;
    top: -2.6666666667vw;
    left: 0;
    right: 0;
    margin: 0 auto;
}
body.index #plan .planSwiper .courseBoxArea .bodys .flex .monthPrice .flex {
    flex-direction: column;
    align-items: center;
}
body.index #plan .planSwiper .courseBoxArea .bodys .flex .monthPrice .flex .priceBox {
    border-bottom: 1px solid #333;
}
body.index #plan .planSwiper .courseBoxArea .bodys .flex .monthPrice .flex .priceBox .month {
    font-size: 2.6666666667vw;
}
body.index #plan .planSwiper .courseBoxArea .bodys .flex .monthPrice .flex .priceBox .price {
    font-size: 5.3333333333vw;
}
body.index #plan .planSwiper .courseBoxArea .bodys .flex .monthPrice .flex .priceBox .yen {
    font-size: 2.6666666667vw;
    width: initial;
    margin: 0;
}
body.index #plan .planSwiper .courseBoxArea .bodys .flex .monthPrice .flex .bunkatsu {
  font-size: 2.4vw;
  margin-top: 0.6666666667vw;
}
body.index #plan .planSwiper .courseBoxArea .bodys .weekdayBox .ttl_aco {
    border-top: 2px solid #707070;
    margin-top: 3.4666666667vw;
}
body.index #plan .planSwiper .courseBoxArea .bodys .weekdayBox .ttl_aco .midashi {
    color: #000;
    font-size: 4vw;
    background: none;
    margin: 2.6666666667vw auto 0;
    position: relative;
}
body.index #plan .planSwiper .courseBoxArea .bodys .weekdayBox .ttl_aco .midashi span {
    font-size: 5.0666666667vw;
    padding: 0.2em 0;
}
body.index #plan .planSwiper .swiper-button-prev,
body.index #plan .planSwiper .swiper-button-next {
    width: calc(100vw / var(--viewport) * 40);
    height: calc(100vw / var(--viewport) * 64);
    background: none;
    top: calc(100vw / var(--viewport) * 72);
}
body.index #plan .planSwiper .swiper-button-prev {
    left: 0;
}
body.index #plan .planSwiper .swiper-button-next {
    right: 0;
}
body.index #plan .planSwiper .swiper-button-prev:before,
body.index #plan .planSwiper .swiper-button-next:after {
    content: '';
    width: calc(100vw / var(--viewport) * 40);
    height: calc(100vw / var(--viewport) * 64);
    background: #fff;
    display: block;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    pointer-events: none;
}
body.index #plan .planSwiper .swiper-button-prev:before {
    clip-path: polygon(100% 0, 100% 100%, 0 50%);
}
body.index #plan .button a {
    color: #fff;
    font-size: calc(100vw / var(--viewport) * 32);
    font-weight: bold;
    text-decoration: none;
    width: calc(100vw / var(--viewport) * 600);
    height: calc(100vw / var(--viewport) * 112);
    background: #20396F;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 50vw;
    margin: calc(100vw / var(--viewport) * 80) auto 0;
}
body.index #plan .swiper-slide .button a {
    height: calc(100vw / var(--viewport) * 75);
    margin-top: 2.6666666667vw;
}
@media screen and (max-width:767px) {
    body.index #plan .container {
        width: 82.93%;
    }
}
@media screen and (min-width:768px) {
    body.index #plan {
        padding: 60px 0 80px;
    }
    body.index #plan h2 {
        font-size: 40px;
        margin-bottom: 80px;
    }
    body.index #plan h2 .sub {
        font-size: 20px;
    }
    body.index #plan .container {
        max-width: 980px;
    }
    body.index #plan .planSwiper .swiper-wrapper {
        justify-content: space-between;
    }
    body.index #plan .planSwiper .swiper-slide {
        width: 311px;
        opacity: 1;
    }
    body.index #plan .planSwiper .title {
        font-size: 60px;
        margin-bottom: 10px;
    }
    body.index #plan .planSwiper .midashi {
        font-size: 20px;
        height: 30px;
        margin-bottom: 10px;
    }
    body.index #plan .planSwiper .courseBoxArea {
        margin-top: 10px;
    }
    body.index #plan .planSwiper .courseBoxArea .tabs li {
        font-size: 12px;
        height: 22px;
        border-radius: 10px 10px 0 0;
    }
    body.index #plan .planSwiper .courseBoxArea .tabs li.active {
        border-radius: 10px 10px 0 0;
    }
    body.index #plan .planSwiper .courseBoxArea .bodys {
        padding: 20px 12px;
    }
    body.index #plan .planSwiper .courseBoxArea .bodys .flex .totalPrice .priceBox .total {
        font-size: 10px;
    }
    body.index #plan .planSwiper .courseBoxArea .bodys .flex .totalPrice .priceBox .price {
        font-size: 48px;
        margin: 0 4px;
    }
    body.index #plan .planSwiper .courseBoxArea .bodys .flex .totalPrice .priceBox .yen {
        font-size: 12px;
        margin: 0;
    }
    body.index #plan .planSwiper .courseBoxArea .bodys .flex .totalPrice .priceBox .yen:after {
        font-size: 6px;
        top: -10px;
    }
    body.index #plan .planSwiper .courseBoxArea .bodys .flex .monthPrice .flex .priceBox .month {
        font-size: 10px;
    }
    body.index #plan .planSwiper .courseBoxArea .bodys .flex .monthPrice .flex .priceBox .price {
        font-size: 20px;
    }
    body.index #plan .planSwiper .courseBoxArea .bodys .flex .monthPrice .flex .priceBox .yen {
        font-size: 10px;
        width: initial;
        margin: 0;
    }
    body.index #plan .planSwiper .courseBoxArea .bodys .flex .monthPrice .flex .bunkatsu {
        font-size: 9px;
        margin-top: 5px;
    }
    body.index #plan .planSwiper .courseBoxArea .bodys .weekdayBox .ttl_aco {
        border-top: 2px solid #707070;
        margin-top: 3.4666666667vw;
    }
    body.index #plan .planSwiper .courseBoxArea .bodys .weekdayBox .ttl_aco .midashi {
        color: #000;
        font-size: 4vw;
        background: none;
        margin: 2.6666666667vw auto 0;
        position: relative;
    }
    body.index #plan .planSwiper .courseBoxArea .bodys .weekdayBox .ttl_aco .midashi span {
        font-size: 5.0666666667vw;
        padding: 0.2em 0;
    }
    body.index #plan .planSwiper .swiper-button-prev,
    body.index #plan .planSwiper .swiper-button-next {
        display: none;
    }
    body.index #plan .button a {
        font-size: 16px;
        width: 300px;
        height: 56px;
        margin: 80px auto 0;
    }
    body.index #plan .swiper-slide .button a {
        height: 37px;
        margin-top: 10px;
    }
}

body.index #skinBanner {
    padding: calc(100vw / var(--viewport) * 120) 0;
}
@media screen and (min-width:768px) {
    body.index #skinBanner {
        text-align: center;
        padding: 120px 0;
    }
    body.index #skinBanner img {
        width: 980px;
    }
}

body.index #needle {
    color: #fff;
    text-align: left;
    background: url(../img/top/needle/bg.png) top left no-repeat, var(--lightBlue);
    background-size: calc(100vw / var(--viewport) * 360) auto;
    padding: calc(100vw / var(--viewport) * 374) 0 calc(100vw / var(--viewport) * 108);
}
body.index #needle h2 {
    color: var(--yellow);
    font-size: calc(100vw / var(--viewport) * 64);
    text-align: center;
    margin-bottom: calc(100vw / var(--viewport) * 80);
}
body.index #needle .lead {
    font-size: calc(100vw / var(--viewport) * 36);
    line-height: 1.5;
}
body.index #needle .caption {
    font-size: calc(100vw / var(--viewport) * 20);
    font-weight: normal;
    line-height: 1.5;
    margin-top: calc(100vw / var(--viewport) * 40);
}
body.index #needle .button a {
    color: #fff;
    font-size: calc(100vw / var(--viewport) * 32);
    font-weight: bold;
    text-decoration: none;
    width: calc(100vw / var(--viewport) * 600);
    height: calc(100vw / var(--viewport) * 112);
    background: #20396F;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50vw;
    margin: calc(100vw / var(--viewport) * 80) auto 0;
}
@media screen and (min-width:768px) {
    body.index #needle {
        text-align: center;
        background: var(--lightBlue);
        padding: 0;
    }
    @media screen and (max-width: 1280px) {
        body.index #needle {
            width: 1280px;
        }
    }
    body.index #needle .container {
        max-width: 980px;
        background: url(../img/top/needle/bg.png) top left no-repeat;
        background-size: 180px auto;
        padding: 120px 0 80px;
    }
    body.index #needle h2 {
        font-size: 40px;
        margin-bottom: 40px;
    }
    body.index #needle .lead {
        font-size: 20px;
    }
    body.index #needle .caption {
        font-size: 11px;
        margin-top: 40px;
    }
    body.index #needle .button a {
        font-size: 16px;
        width: 300px;
        height: 56px;
        margin: 40px auto 0;
    }
}

body.index #waribiki {
    background: #EEF0F5;
    padding: calc(100vw / var(--viewport) * 60) 0;
}
body.index #waribiki h2 {
    color: var(--lightBlue);
    font-size: calc(100vw / var(--viewport) * 64);
    text-align: center;
    line-height: 1.3;
    margin-bottom: calc(100vw / var(--viewport) * 180);
}
body.index #waribiki h2 .sub {
    font-size: calc(100vw / var(--viewport) * 28);
}
body.index #waribiki .box {
    color: #fff;
    font-weight: bold;
    background: var(--lightBlue);
    border-radius: calc(100vw / var(--viewport) * 20);
    padding: calc(100vw / var(--viewport) * 30) 0 calc(100vw / var(--viewport) * 30) calc(100vw / var(--viewport) * 30);
    margin-top: calc(100vw / var(--viewport) * 20);
    position: relative;
}
body.index #waribiki .box:after {
    content: "";
    display: block;
    position: absolute;
}
body.index #waribiki .gakuwari:after {
    background: url(../img/top/waribiki/icon_gakuwari.png?v2) center center no-repeat;
    background-size: 100% auto;
    width: calc(100vw / var(--viewport) * 153);
    height: calc(100vw / var(--viewport) * 121);
    right: calc(100vw / var(--viewport) * 39);
}
body.index #waribiki .norikae:after {
    background: url(../img/top/waribiki/icon_norikae.png?v2) center center no-repeat;
    background-size: 100% auto;
    width: calc(100vw / var(--viewport) * 105);
    height: calc(100vw / var(--viewport) * 141);
    right: calc(100vw / var(--viewport) * 38);
}
body.index #waribiki .pair:after {
    background: url(../img/top/waribiki/icon_pair.png?v2) center center no-repeat;
    background-size: 100% auto;
    width: calc(100vw / var(--viewport) * 169);
    height: calc(100vw / var(--viewport) * 142);
    right: calc(100vw / var(--viewport) * 34);
}
body.index #waribiki .weekday:after {
    background: url(../img/top/waribiki/icon_weekday.png?v2) center center no-repeat;
    background-size: 100% auto;
    width: calc(100vw / var(--viewport) * 162);
    height: calc(100vw / var(--viewport) * 152);
    right: calc(100vw / var(--viewport) * 34);
}
body.index #waribiki .box .flex {
    line-height: 1.3;
    justify-content: flex-start;
    align-items: center;
}
body.index #waribiki .box .icon {
    color: #fff;
    font-size: calc(100vw / var(--viewport) * 50);
    line-height: 1;
    height: calc(100vw / var(--viewport) * 66);
    display: flex;
    border: 3px solid #fff;
    margin-right: calc(100vw / var(--viewport) * 10);
}
body.index #waribiki .box .icon span {
    padding: 0 calc(100vw / var(--viewport) * 8);
    height: calc(100vw / var(--viewport) * 66);
    display: flex;
    justify-content: center;
    align-items: center;
}
body.index #waribiki .box .icon span.bg_white {
    color: #00BBFF;
    background: #fff;
    width: auto;
}
body.index #waribiki .box .percent {
    color: var(--yellow);
    font-size: calc(100vw / var(--viewport) * 50);
    line-height: 1;
    display: flex;
    justify-content: flex-start;
    align-items: end;
}
body.index #waribiki .box .percent .number {
    font-size: calc(100vw / var(--viewport) * 140);
}
body.index #waribiki .button a {
    color: #fff;
    font-size: calc(100vw / var(--viewport) * 32);
    font-weight: bold;
    text-decoration: none;
    width: calc(100vw / var(--viewport) * 600);
    height: calc(100vw / var(--viewport) * 112);
    background: #20396F;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50vw;
    margin: calc(100vw / var(--viewport) * 80) auto 0;
}
@media screen and (max-width:767px) {
    body.index #waribiki .container {
        width: 91.47%;
    }
    body.index #waribiki .box:first-child {
        margin-top: 0;
    }
    body.index #waribiki .box:after {
        top: 50%;
        transform: translateY(-50%);
    }
    body.index #waribiki .gakuwari:after {
        right: calc(100vw / var(--viewport) * 39);
    }
    body.index #waribiki .norikae:after {
        right: calc(100vw / var(--viewport) * 38);
    }
    body.index #waribiki .pair:after {
        right: calc(100vw / var(--viewport) * 34);
    }
    body.index #waribiki .weekday:after {
        right: calc(100vw / var(--viewport) * 34);
    }
    body.index #waribiki .box.weekday .icon {
        flex-direction: column;
        height: auto;
    }
}
@media screen and (min-width:768px) {
    body.index #waribiki {
        padding: 60px 0;
    }
    @media screen and (max-width: 1280px) {
        body.index #waribiki {
            width: 1280px;
        }
    }
    body.index #waribiki h2 {
        font-size: 40px;
        margin-bottom: 0;
    }
    body.index #waribiki h2 .sub {
        font-size: 20px;
    }
    body.index #waribiki .container {
        max-width: 1100px;
    }
    body.index #waribiki .pc_flex {
        display: flex;
        justify-content: space-between;
    }
    body.index #waribiki .box {
        width: 260px;
        border-radius: 20px;
        padding: 136px 0 20px;
        margin-top: 60px;
    }
    body.index #waribiki .box:after {
        height: 92px;
        top: 24px;
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    body.index #waribiki .gakuwari:after {
        width: 115px;
    }
    body.index #waribiki .norikae:after {
        width: 68px;
    }
    body.index #waribiki .pair:after {
        width: 110px;
    }
    body.index #waribiki .weekday:after {
        width: 98px;
    }
    body.index #waribiki .box .flex {
        line-height: 1.3;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    body.index #waribiki .box .icon {
        font-size: 32px;
        height: 50px;
        margin-right: 0;
    }
    body.index #waribiki .box .icon span {
        padding: 0 8px;
        height: 50px;
    }
    body.index #waribiki .box .percent {
        font-size: 50px;
    }
    body.index #waribiki .box .percent .number {
        font-size: 140px;
    }
    body.index #waribiki .button a {
        font-size: 16px;
        width: 300px;
        height: 56px;
        margin: 40px auto 0;
    }
}

body.index #eternal {
    padding: calc(100vw / var(--viewport) * 160) 0;
    position: relative;
    overflow: hidden;
}
body.index #eternal .bg {
    width: auto;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    object-fit: cover;
}
body.index #eternal h2 {
    color: #20396F;
    font-size: calc(100vw / var(--viewport) * 56);
    line-height: 1.25;
    margin-bottom: calc(100vw / var(--viewport) * 40);
}
body.index #eternal .text {
    color: #20396F;
    font-size: calc(100vw / var(--viewport) * 24);
    font-weight: normal;
    line-height: 1.5;
}
body.index #eternal .graph {
    margin-top: calc(100vw / var(--viewport) * 80);
}
body.index #eternal .graph table th,
body.index #eternal .graph table td {
    color: #20396F;
    font-size: calc(100vw / var(--viewport) * 24);
    line-height: 1.5;
    text-align: center;
    padding: 0.8em;
    border: 1px solid #000;
    vertical-align: middle;
}
body.index #eternal .graph table th {
    background: #EEF0F4;
}
body.index #eternal .graph table td {
    background: #fff;
}
body.index #eternal .graph table th:nth-child(1) {
    width: 16%;
}
body.index #eternal .graph table th:nth-child(n+2) {
    width: 28%;
}
body.index #eternal .graph table .v_top {
    vertical-align: top;
}
body.index #eternal .graph table .t_left {
    text-align: left;
}
body.index #eternal .graph table td img {
    width: 70%;
    display: block;
    margin: 0 auto 0.5em;
}
body.index #eternal .graph table td .information__text-md {
    font-size: calc(100vw * 16 / 375);
}
body.index #eternal .graph table td .big {
    font-size: calc(100vw * 20 / 375);
}
body.index #eternal .graph table .font_red {
    color: #f00;
}
body.index #eternal .graph table .bg_yellow {
    background: #FFFE00;
}
body.index #eternal .graph table .bg_lightYellow {
    background: #FDFEC0;
}
@media screen and (max-width:767px) {
    body.index #eternal .graph {
      overflow-x: scroll;
      overflow-y: hidden;
      padding: 0 7.5%;
  }
    body.index #eternal .graph table {
        width: 160vw;
    }
}
@media screen and (min-width:768px) {
    body.index #eternal {
        background: url(../img/top/eternal/bg_pc.jpg) top left calc(50% + 100px) no-repeat, url(../img/top/eternal/bg_left.jpg) top left no-repeat, url(../img/top/eternal/bg_right.jpg) top right no-repeat;
        background-size: auto 100%, 50% 100%, 50% 100%;
        padding: 120px 0;
    }
    @media screen and (max-width: 1280px) {
        body.index #eternal {
            width: 1280px;
        }
    }
    body.index #eternal .container {
        max-width: 980px;
    }
    body.index #eternal h2 {
        font-size: 28px;
        margin-bottom: 40px;
    }
    body.index #eternal .text {
        font-size: 14px;
    }
    body.index #eternal .graph {
        width: 980px;
        margin: 40px auto 0;
    }
    body.index #eternal .graph table {
        width: 635px;
    }
    body.index #eternal .graph table th,
    body.index #eternal .graph table td {
        font-size: 14px;
    }
    body.index #eternal .graph table th {
        font-size: 17px;
        line-height: 1.3;
        padding-left: 0;
        padding-right: 0;
    }
    body.index #eternal .graph table th .small {
        font-size: 14px;
    }
    body.index #eternal .graph table td .information__text-md {
        font-size: 24px;
    }
    body.index #eternal .graph table td .big {
        font-size: 20px;
    }
    body.index #eternal .graph table td .small {
        font-size: 12px;
    }
}

body.index #mechanism {
    padding: calc(100vw / var(--viewport) * 160) 0;
}
body.index #mechanism .sub {
    color: #000;
    font-size: calc(100vw / var(--viewport) * 28);
    text-align: center;
    line-height: 1.3;
}
body.index #mechanism h2 {
    color: #000;
    font-size: calc(100vw / var(--viewport) * 64);
    text-align: center;
    line-height: 1.3;
    margin-bottom: calc(100vw / var(--viewport) * 80);
}
body.index #mechanism .box {
    margin-top: calc(100vw / var(--viewport) * 80);
}
body.index #mechanism .box .midashi {
    font-size: calc(100vw / var(--viewport) * 40);
    font-weight: 600;
    text-align: center;
    line-height: 1.1;
    display: table;
    background: #eef0f5;
    padding: 0.5em 1em;
    margin: 0 auto calc(100vw / var(--viewport) * 40);
}
body.index #mechanism .box .scroll .flex {
    width: calc(100vw / var(--viewport) * 1280);
    margin: 0 calc(100vw / var(--viewport) * 32);
}
body.index #mechanism .box .scroll .flex .images {
    width: calc(100vw / var(--viewport) * 400);
}
body.index #mechanism .box .scroll .flex .images figcaption {
    font-size: calc(100vw / var(--viewport) * 24);
    font-weight: 500;
    line-height: 1.5;
    margin-top: calc(100vw / var(--viewport) * 40);
}
body.index #mechanism .box .scroll .flex .images figcaption .font_red {
    color: #f00;
}
@media screen and (max-width:767px) {
    body.index #mechanism .container {
        width: 100%;
    }
    body.index #mechanism .box .scroll {
        overflow: hidden;
        overflow-x: scroll;
    }
}
@media screen and (min-width:768px) {
    body.index #mechanism {
        padding: 120px 0;
    }
    body.index #mechanism .sub {
        font-size: 20px;
    }
    body.index #mechanism h2 {
        font-size: 40px;
        margin-bottom: 71px;
    }
    body.index #mechanism .container {
        max-width: 980px;
    }
    body.index #mechanism .box {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 19px;
    }
    body.index #mechanism .box .midashi {
        font-size: 20px;
        width: 200px;
        padding: 0.5em 0;
        margin: 0;
    }
    body.index #mechanism .box .scroll {
        width: 720px;
    }
    body.index #mechanism .box .scroll .flex {
        width: auto;
        margin: 0;
    }
    body.index #mechanism .box .scroll .flex .images {
        width: 200px;
        position: relative;
    }
    body.index #mechanism .box01 .scroll .flex .images:nth-child(2),
    body.index #mechanism .box01 .scroll .flex .images:nth-child(3) {
        transform: translateY(132px);
    }
    body.index #mechanism .box02 .scroll .flex .images:nth-child(2),
    body.index #mechanism .box02 .scroll .flex .images:nth-child(3) {
        display: none;
    }
    body.index #mechanism .box .scroll .flex .images:nth-child(1):after,
    body.index #mechanism .box .scroll .flex .images:nth-child(2):after {
        content: '';
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: -40px;
        width: 20px;
        height: 30px;
        background: #D9D9D9;
        clip-path: polygon(0 0, 100% 50%, 0 100%);
        pointer-events: none;
    }
    body.index #mechanism .box01 .scroll .flex .images:nth-child(1):after {
        top: 75%;
        transform: translateY(-50%) rotate(45deg);
    }
    body.index #mechanism .box02 .scroll .flex .images:nth-child(1):after {
        top: 17%;
        transform: translateY(-50%) rotate(-45deg);
    }
    body.index #mechanism .box .scroll .flex .images figcaption {
        font-size: 14px;
        margin-top: 10px;
    }
}

body.index #possibleArea {
    color: var(--lightBlue);
    background: #fff;
    padding: calc(100vw / var(--viewport) * 80) 0 calc(100vw / var(--viewport) * 160);
}
body.index #possibleArea h2 {
    color: var(--lightBlue);
    font-size: calc(100vw / var(--viewport) * 64);
    text-align: center;
    line-height: 1.3;
    margin-bottom: calc(100vw / var(--viewport) * 80);
}
body.index #possibleArea h2 .sub {
    font-size: calc(100vw / var(--viewport) * 28);
}
body.index #possibleArea .possibleSwiper {
    padding-top: calc(100vw / var(--viewport) * 152);
    padding-bottom: calc(100vw / var(--viewport) * 20);
}
body.index #possibleArea .possibleSwiper .swiper-pagination {
    display: flex;
    justify-content: space-between;
    top: 0;
    bottom: initial;
}
body.index #possibleArea .possibleSwiper .swiper-pagination-bullet {
    color: var(--lightBlue);
    font-size: calc(100vw / var(--viewport) * 30);
    font-weight: 600;
    text-align: center;
    width: calc(100vw / var(--viewport) * 208);
    height: calc(100vw / var(--viewport) * 72);
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: 2px solid var(--lightBlue);
    border-radius: 50vw;
    opacity: 1;
    box-sizing: border-box;
}
body.index #possibleArea .possibleSwiper .swiper-pagination-bullet-active {
    color: #fff;
    background: #20396F;
    border-color: #20396F;
}
body.index #possibleArea .possibleSwiper .swiper-button-disabled {
    display: none;
}
body.index #possibleArea .possibleSwiper .swiper-slide {
    text-align: center;
    height: auto;
}
body.index #possibleArea .possibleSwiper .swiper-slide .left,
body.index #possibleArea .possibleSwiper .swiper-slide .right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
}
body.index #possibleArea .possibleSwiper .swiper-slide .left {
    left: 1px;
}
body.index #possibleArea .possibleSwiper .swiper-slide .right {
    right: 1px;
}
body.index #possibleArea .possibleSwiper .swiper-slide .right li a {
    margin-left: auto;
}
body.index #possibleArea .possibleSwiper .swiper-slide li {
    font-size: calc(100vw / var(--viewport) * 24);
    font-weight: 600;
    margin-top: calc(100vw / var(--viewport) * 20);
}
body.index #possibleArea .possibleSwiper .swiper-slide li:first-child {
    margin-top: 0;
}
body.index #possibleArea .possibleSwiper .swiper-slide li a {
    color: var(--lightBlue);
    text-align: left;
    line-height: 1.3;
    width: calc(100vw / var(--viewport) * 198);
    height: calc(100vw / var(--viewport) * 56);
    display: flex !important;
    align-items: center;
    border: 1px solid var(--lightBlue);
    padding-left: calc(100vw / var(--viewport) * 20);
    box-sizing: border-box;
    transition: all .4s;
}
body.index #possibleArea .possibleSwiper .swiper-slide li.line2 a {
    height: calc(100vw / var(--viewport) * 78);
}
body.index #possibleArea .possibleSwiper .swiper-slide li.active a {
    color: #fff;
    width: calc(100vw / var(--viewport) * 230);
    background: #20396f;
    border-color: #20396f;
    position: relative;
}
body.index #possibleArea .possibleSwiper .swiper-slide li.active a:after {
    content: "";
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    border-radius: 2px;
    width: calc(100vw / var(--viewport) * 17);
    height: calc(100vw / var(--viewport) * 17);
    position: absolute;
    top: calc(50% - calc(100vw / var(--viewport) * 12));
    right: calc(100vw / var(--viewport) * 20);
    transform: rotate(45deg);
}
body.index #possibleArea .possibleSwiper .swiper-slide .parts {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 1;
}
body.index #possibleArea .possibleSwiper .swiper-slide .imgBox {
    width: calc(100vw / var(--viewport) * 320);
    margin: 0 auto;
}
body.index #possibleArea .possibleSwiper .swiper-slide .parts img {
    width: calc(100vw / var(--viewport) * 320);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    margin: 0 auto;
}
body.index #possibleArea .possibleSwiper .swiper-slide .parts img.active {
    opacity: 1;
    transition: all .4s;
}
body.index #possibleArea .possibleSwiper .swiper-slide.hige .imgBox svg {
    width: calc(100vw / var(--viewport) * 320);
    height: auto;
}
/*body.index #possibleArea .possibleSwiper .swiper-slide.hige .left li a {
    width: calc(100vw / var(--viewport) * 224);
}*/
/*body.index #possibleArea .possibleSwiper .swiper-slide.hige .left li.active a {
    width: calc(100vw / var(--viewport) * 256);
}*/
body.index #possibleArea .possibleSwiper .swiper-slide.all .imgBox svg {
    width: calc(100vw / var(--viewport) * 320);
    height: auto;
}
body.index #possibleArea .possibleSwiper .swiper-slide.vio .imgBox {
    background: url(../img/top/possibleArea/bg_vio.png) top center no-repeat;
    background-size: calc(100vw / var(--viewport) * 320) auto;
    margin: 0 auto;
}
body.index #possibleArea .possibleSwiper .swiper-slide.vio .imgBox svg {
    width: calc(100vw / var(--viewport) * 320);
    height: auto;
}
@media screen and (max-width:767px) {
    body.index #possibleArea .container {
        width: 91.47%;
    }
    body.index #possibleArea .possibleSwiper ~ .swiper-button-prev,
    body.index #possibleArea .possibleSwiper ~ .swiper-button-next {
        display: none;
    }
}
@media screen and (min-width:768px) {
    body.index #possibleArea {
        padding: 60px 0 80px;
    }
    @media screen and (max-width: 1280px) {
        body.index #possibleArea {
            width: 1280px;
        }
    }
    body.index #possibleArea h2 {
        font-size: 40px;
        margin-bottom: 40px;
    }
    body.index #possibleArea h2 .sub {
        font-size: 20px;
    }
    body.index #possibleArea .container {
        max-width: 700px;
        position: relative;
    }
    body.index #possibleArea .possibleSwiper {
        padding-top: 80px;
        padding-bottom: 0;
    }
    body.index #possibleArea .possibleSwiper .swiper-pagination {
        width: 520px;
        justify-content: space-between;
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    body.index #possibleArea .possibleSwiper .swiper-pagination-bullet {
        font-size: 20px;
        width: 150px;
        height: 40px;
    }
    body.index #possibleArea .possibleSwiper .swiper-pagination-bullet-active {
        background: #20396F;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide .left {
        left: 83px;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide .right {
        right: 83px;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide li {
        font-size: 14px;
        margin-top: 20px;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide li:first-child {
        margin-top: 0;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide li a {
        width: 112px;
        height: 30px;
        padding-left: 10px;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide li.line2 a {
        height: 48px;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide li.active a {
        width: 130px;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide li.active a:after {
        width: 8px;
        height: 8px;
        top: calc(50% - 3px);
        right: 10px;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide .parts {
        width: 270px;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide.hige .imgBox {
        width: 270px;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide.hige .imgBox svg {
        width: 270px;
    }
    /*body.index #possibleArea .possibleSwiper .swiper-slide.hige .left li a {
        width: 127px;
    }*/
    /*body.index #possibleArea .possibleSwiper .swiper-slide.hige .left li.active a {
        width: 135px;
    }*/
    body.index #possibleArea .possibleSwiper .swiper-slide.all .imgBox {
        background-size: 270px auto;
        width: 270px;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide.all .imgBox svg {
        width: 270px;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide.vio .imgBox {
        background-size: 273px auto;
        width: 273px;
    }
    body.index #possibleArea .possibleSwiper .swiper-slide.vio .imgBox svg {
        width: 273px;
    }
    body.index #possibleArea .possibleSwiper ~ .swiper-button-prev,
    body.index #possibleArea .possibleSwiper ~ .swiper-button-next {
        width: 20px;
        height: 30px;
        transform: translateY(-50%);
        margin-top: 0;
        background: none;
    }
    body.index #possibleArea .possibleSwiper ~ .swiper-button-prev {
        left: 0;
    }
    body.index #possibleArea .possibleSwiper ~ .swiper-button-next {
        right: 0;
    }
    body.index #possibleArea .possibleSwiper ~ .swiper-button-prev:before,
    body.index #possibleArea .possibleSwiper ~ .swiper-button-next:after {
        content: '';
        width: 20px;
        height: 30px;
        background: #fff;
        display: block;
        clip-path: polygon(0 0, 0 100%, 100% 50%);
        pointer-events: none;
    }
    body.index #possibleArea .possibleSwiper ~ .swiper-button-prev:before {
        clip-path: polygon(100% 0, 100% 100%, 0 50%);
    }
}

body.index #flow {
    padding: calc(100vw / var(--viewport) * 108) 0;
}
body.index #flow h2 {
    font-size: calc(100vw / var(--viewport) * 64);
    text-align: center;
    line-height: 1.3;
    margin-bottom: calc(100vw / var(--viewport) * 80);
}
body.index #flow h2 .sub {
    font-size: calc(100vw / var(--viewport) * 28);
}
body.index #flow .container {
    width: 100%;
}
body.index #flow .flowSwiper {
    padding-bottom: calc(100vw / var(--viewport) * 128);
}
body.index #flow .swiper-slide {
    height: auto;
}
body.index #flow .swiper-slide .box {
    height: 100%;
    background: #20396F;
}
body.index #flow .swiper-slide .box img {
    width: 100%;
}
body.index #flow .swiper-slide .under {
    color: #fff;
    padding: calc(100vw / var(--viewport) * 30) calc(100vw / var(--viewport) * 28);
}
body.index #flow .swiper-slide .under .midashi {
    font-size: calc(100vw / var(--viewport) * 35);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: calc(100vw / var(--viewport) * 28);
}
body.index #flow .swiper-slide .under .midashi .num {
    font-size: calc(100vw / var(--viewport) * 68);
    padding-right: calc(100vw / var(--viewport) * 24);
    border-right: 1px solid #fff;
    margin-right: calc(100vw / var(--viewport) * 24);
}
body.index #flow .swiper-slide .under .text {
    font-size: calc(100vw / var(--viewport) * 28);
    font-weight: 500;
    line-height: 2;
}
body.index #flow .swiper-button-next,
body.index #flow .swiper-button-prev {
    background: none;
    width: calc(100vw / var(--viewport) * 24);
    height: calc(100vw / var(--viewport) * 48);
    top: initial;
    bottom: calc(100vw / var(--viewport) * 10);
    margin-top: 0;
    z-index: 11;
}
body.index #flow .swiper-button-next {
    right: calc(100vw / var(--viewport) * 52);
}
body.index #flow .swiper-button-prev {
    left: calc(100vw / var(--viewport) * 52);
}
body.index #flow .swiper-button-next:after,
body.index #flow .swiper-button-prev:after {
    content: "";
    border-right: 2px solid #000;
    border-top: 2px solid #000;
    border-radius: 2px;
    width: calc(100vw / var(--viewport) * 34);
    height: calc(100vw / var(--viewport) * 34);
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 0;
}
body.index #flow .swiper-button-prev:after {
    transform: translateY(-50%) rotate(-135deg);
    left: 0;
    right: initial;
}
body.index #flow .swiper-pagination-bullet {
    width: calc(100vw / var(--viewport) * 20);
    height: calc(100vw / var(--viewport) * 20);
    background: none;
    border: 2px solid #20396F;
    margin: 0 calc(100vw / var(--viewport) * 16);
    opacity: 1;
}
body.index #flow .swiper-pagination-bullet-active {
    background: #20396F;
}
@media screen and (min-width:768px) {
    body.index #flow {
        padding: 60px 0 80px;
    }
    body.index #flow h2 {
        font-size: 40px;
        margin-bottom: 40px;
    }
    body.index #flow h2 .sub {
        font-size: 20px;
    }
    body.index #flow .container {
        width: 100%;
    }
    body.index #flow .flowSwiper {
        padding-bottom: 64px;
    }
    body.index #flow .swiper-slide .under {
        padding: 20px 14px;
    }
    body.index #flow .swiper-slide .under .midashi {
        font-size: 20px;
        margin-bottom: 20px;
    }
    body.index #flow .swiper-slide .under .midashi .num {
        font-size: 40px;
        padding-right: 12px;
        margin-right: 12px;
    }
    body.index #flow .swiper-slide .under .text {
        font-size: 16px;
    }
    body.index #flow .buttons {
        width: 490px;
        display: flex;
        justify-content: space-between;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -8px;
        margin: 0 auto;
    }
    body.index #flow .swiper-button-next,
    body.index #flow .swiper-button-prev {
        width: 12px;
        height: 24px;
        position: relative;
    }
    body.index #flow .swiper-button-next {
        right: 0;
    }
    body.index #flow .swiper-button-prev {
        left: 0;
    }
    body.index #flow .swiper-button-next:after,
    body.index #flow .swiper-button-prev:after {
        width: 17px;
        height: 17px;
    }
    body.index #flow .swiper-pagination-bullet {
        width: 10px;
        height: 10px;
        border-width: 1px;
        margin: 0 8px;
    }
}

body.index #clinic {
    padding-bottom: calc(100vw / var(--viewport) * 7);
}
body.index #clinic .note {
    text-align: center;
    transform: translateY(calc(40px + (80 - 40) * ((100vw - 320px) / (767 - 320))));
}
body.index #clinic .note span {
    position: relative;
    margin-left: calc(10px + (20 - 10) * ((100vw - 320px) / (767 - 320)));
}
body.index #clinic .note span:before {
    position: absolute;
    top: -8px;
    left: -25px;
    width: 17px;
    height: 36px;
    content: "";
    background: url(../img/top/open.png) no-repeat;
    background-size: contain;
}
body.index #clinic .note span:after {
    position: absolute;
    top: -8px;
    right: -22px;
    width: 17px;
    height: 36px;
    content: "";
    background: url(../img/top/close.png) no-repeat;
    background-size: contain;
}
@media screen and (min-width:768px) {
    body.index #clinic {
      padding-bottom: 0;
    }
    body.index #clinic .note {
        transform: translateY(80px);
    }
    body.index #clinic .note span {
        margin-left: 20px;
    }
    body.index #clinic .map-title {
        background-position: 59% 51%;
    }
}

body.index .faq-sec .title-01 {
    margin-bottom: 0;
}
body.index .faq-sec h2 {
    text-align: center;
    margin-bottom: calc(35px + (70 - 35) * ((100vw - 320px) / (767 - 320)));
}
@media screen and (min-width:768px) {
    body.index .faq-sec h2 {
        margin-bottom: 76px;
    }
}


body.index #caution {
    color: #fff;
    background: var(--lightBlue);
    padding: calc(100vw / var(--viewport) * 160) 0;
}
body.index #caution h2 {
    font-size: calc(100vw / var(--viewport) * 48);
    text-align: center;
}
body.index #caution .box .imgBox img {
    margin-bottom: calc(100vw / var(--viewport) * 27);
}
body.index #caution .box .imgBox h3 {
    font-size: calc(100vw / var(--viewport) * 40);
    font-weight: bold;
    text-align: center;
}
body.index #caution .box .flex {
    justify-content: center;
    margin-top: calc(100vw / var(--viewport) * 27);
}
body.index #caution .box .flex li {
    font-size: calc(100vw / var(--viewport) * 24);
    font-weight: 600;
    width: calc(100vw / var(--viewport) * 152);
    height: calc(100vw / var(--viewport) * 56);
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff;
    border-radius: 50vw;
    margin: 0 calc(100vw / var(--viewport) * 10);
}
body.index #caution .box .text {
    font-size: calc(100vw / var(--viewport) * 24);
    font-weight: normal;
    line-height: 1.5;
    margin-top: calc(100vw / var(--viewport) * 27);
}
@media screen and (max-width:767px) {
    body.index #caution .box {
        margin: calc(100vw / var(--viewport) * 80) 0 0;
    }
}
@media screen and (min-width:768px) {
    body.index #caution {
        padding: 120px 0;
    }
    body.index #caution h2 {
        font-size: 40px;
        margin-bottom: 80px;
    }
    body.index #caution .pc_flex {
        display: flex;
        justify-content: space-between;
    }
    body.index #caution .box {
        width: 315px;
    }
    body.index #caution .box .imgBox img {
        margin-bottom: 13px;
    }
    body.index #caution .box .imgBox h3 {
        font-size: 28px;
    }
    body.index #caution .box .flex {
        margin-top: 13px;
    }
    body.index #caution .box .flex li {
        font-size: 14px;
        width: 82px;
        height: 30px;
        margin: 0 5px;
    }
    body.index #caution .box .text {
        font-size: 14px;
        margin-top: 13px;
    }
}

body.index #doctor {
    padding: calc(100vw / var(--viewport) * 160) 0;
}
body.index #doctor img {
    width: calc(100vw / var(--viewport) * 348);
}
body.index #doctor .container .text {
    font-size: calc(100vw / var(--viewport) * 28);
    font-weight: 600;
    line-height: 2;
    margin-top: calc(100vw / var(--viewport) * 40);
}
@media screen and (max-width:767px) {
    body.index #doctor .container {
        width: 91.47%;
        position: relative;
    }
    body.index #doctor .container .text01,
    body.index #doctor .container .text02,
    body.index #doctor .container .text03 {
        font-weight: 600;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      position: absolute;
    }
    body.index #doctor .container .text01 {
        font-size: calc(100vw / var(--viewport) * 20);
        letter-spacing: 0.1em;
        top: calc(100vw / var(--viewport) * 688);
        right: calc(100vw / var(--viewport) * 233);
    }
    body.index #doctor .container .text02 {
        font-size: calc(100vw / var(--viewport) * 32);
        letter-spacing: 0.1em;
        top: calc(100vw / var(--viewport) * 688);
        right: calc(100vw / var(--viewport) * 269);
    }
    body.index #doctor .container .text03 {
        font-size: calc(100vw / var(--viewport) * 52);
        line-height: 1.5;
        letter-spacing: 0.1em;
        top: 0;
        right: calc(100vw / var(--viewport) * 48);
    }
}
@media screen and (min-width:768px) {
    body.index #doctor {
        padding: 120px 0;
    }
    body.index #doctor .container {
        max-width: 700px;
    }
    body.index #doctor img {
        width: 157px;
        height: auto;
        margin-right: 36px;
    }
    body.index #doctor .pc_flex {
        display: flex;
        justify-content: space-between;
    }
    body.index #doctor .container .text01 {
        font-size: 10px;
    }
    body.index #doctor .container .text02 {
        font-size: 16px;
        margin-top: 8px;
    }
    body.index #doctor .container .text03 {
        font-size: 32px;
        line-height: 1.5;
        margin-top: 20px;
    }
    body.index #doctor .container .text {
        font-size: 16px;
        margin-top: 20px;
    }
}

body.index .overlay_reasons {
    background-color: rgba(0, 0, 0, 0.6);
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1003;
}
body.index .overlay_reasons .balloon {
    color: #fff;
    width: 90%;
    background: #333;
    padding: calc(100vw / var(--viewport) * 40) calc(100vw / var(--viewport) * 32);
    position: relative;
    top: calc(50% - calc(100vw / var(--viewport) * 65));
    left: 50%;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
}
body.index .overlay_reasons .balloon .midashi {
    font-size: calc(100vw / var(--viewport) * 32);
    text-align: center;
    line-height: 1.6;
    margin-bottom: calc(100vw / var(--viewport) * 40);
}
body.index .overlay_reasons .balloon .flex img {
    width: 49.56%;
}
body.index .overlay_reasons .balloon .detail {
    font-weight: normal;
    padding-left: 4.2666666667vw;
    margin-top: 5.3333333333vw;
}
body.index .overlay_reasons .balloon .detail .flex {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}
body.index .overlay_reasons .balloon .detail .flex dt {
    width: 16vw;
    border-right: 2px solid #fff;
}
body.index .overlay_reasons .balloon .detail .flex dd {
    width: calc(100% - 16vw);
    padding-left: 3.2vw;
}
body.index .overlay_reasons .balloon .detail .flex:nth-child(n+2) {
    margin-top: 2.1333333333vw;
}
body.index .overlay_reasons .balloon .close {
    font-size: calc(100vw / var(--viewport) * 32);
    font-weight: bold;
    text-align: center;
    width: calc(100vw / var(--viewport) * 420);
    height: calc(100vw / var(--viewport)* 112);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100vw / var(--viewport) * -130);
    margin: 0 auto;
    background: var(--lightBlue);
    border-radius: 50vw;
    cursor: pointer;
}
@media screen and (min-width:768px) {
    body.index .overlay_reasons .balloon {
        width: 640px;
        padding: 28px 28px 50px;
        top: calc(50% - 40px);
    }
    body.index .overlay_reasons .balloon .midashi {
        font-size: 27px;
        margin-bottom: 34px;
    }
    body.index .overlay_reasons .balloon .detail {
        padding-left: 27px;
        margin-top: 34px;
    }
    body.index .overlay_reasons .balloon .detail .flex dt {
        width: 102px;
    }
    body.index .overlay_reasons .balloon .detail .flex dd {
        width: calc(100% - 102px);
        padding-left: 20px;
    }
    body.index .overlay_reasons .balloon .detail .flex:nth-child(n+2) {
        margin-top: 14px;
    }
    body.index .overlay_reasons .balloon .close {
        font-size: 16px;
        width: 300px;
        height: 56px;
        bottom: -80px;
    }
}

/* /renewal 202501 */

/* modal */
.needleModal {
    width: 90%;
    max-width: 780px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1001;
    display: none;
}
.needleModal .box {
    width: 100%;
    height: auto;
}
.needleModal figure figcaption {
    color: #20396F;
    font-size: calc(11px + (25 - 11) * ((100vw - 320px) / (767 - 320)));
    text-align: center;
    font-weight: bold;
    background: #fff;
    padding: 0.6em 0;
}
.needleModal .button {
    color: #fff;
    text-align: center;
    background: #00aafa;
    width: calc(100vw / var(--viewport) * 360);
    height: calc(100vw / var(--viewport) * 70);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: calc(100vw / var(--viewport) * 40) auto 0;
    border-radius: 50vw;
    position: relative;
    cursor: pointer;
}
.needleModal .button.next:after,
.needleModal .button.prev:after {
    content: "";
    border-radius: 2px;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}
.needleModal .button.next:after {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    right: 15px;
}
.needleModal .button.prev:after {
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    left: 15px;
}
.needleModal .close {
    width: calc(100vw / var(--viewport) * 60);
    height: calc(100vw / var(--viewport) * 60);
    background: #fff;
    border-radius: 100%;
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%);
    z-index: 1002;
    cursor: pointer;
}
.needleModal .close:before,
.needleModal .close:after {
    content: "";
    background: #000;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}
.needleModal .close:before {
    width: calc(100vw / var(--viewport) * 30);
    height: 2px;
}
.needleModal .close:after {
    width: 2px;
    height: calc(100vw / var(--viewport) * 30);
}
@media screen and (min-width:768px) {
    .needleModal figure figcaption {
        font-size: 16px;
        padding: 15px 0;
    }
    .needleModal .button {
        width: 200px;
        height: 35px;
        margin: 20px auto 0;
    }
    .needleModal .close {
        width: 40px;
        height: 40px;
    }
    .needleModal .close:before {
        width: 20px;
    }
    .needleModal .close:after {
        height: 20px;
    }
}
/* /modal */

.h2-box {
    font-weight: bold;
    background: #EEF0F5;
    padding-top: calc(100vw / var(--viewport) * 57);
    padding-bottom: calc(100vw / var(--viewport) * 48);
}
.h2-box h2 {
    font-size: calc(100vw / var(--viewport) * 52);
    font-weight: bold;
    text-align: center;
    display: table;
    padding-bottom: 0.5em;
    border-bottom: 3px solid #00aafa;
    margin: 0 auto 0.8em;
}
.h2-box .whiteBox {
    text-align: center;
    background: #fff;
    width: 85%;
    padding: calc(100vw / var(--viewport) * 23) calc(100vw / var(--viewport) * 23) calc(100vw / var(--viewport) * 92);
    margin: 0 auto;
    box-sizing: border-box;
    border-radius: calc(100vw / var(--viewport) * 8);
}
.h2-box .whiteBox img {
    width: calc(100vw / var(--viewport) * 310);
    margin-bottom: calc(100vw / var(--viewport) * 65);
}
.h2-box .whiteBox .courseTitle {
    font-size: calc(100vw / var(--viewport) * 34);
    text-align: center;
    background: #00A9F8;
    width: 100%;
    height: calc(100vw / var(--viewport) * 55);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: calc(100vw / var(--viewport) * 16);
    margin-bottom: calc(100vw / var(--viewport) * 8);
}
.h2-box .whiteBox .priceBox {
    white-space: nowrap;
    align-items: center;
}
.h2-box .whiteBox .priceBox .total {
    font-size: calc(100vw / var(--viewport) * 26);
}
.h2-box .whiteBox .priceBox .price {
    font-size: calc(100vw / var(--viewport) * 48);
    font-family: 'Oswald', sans-serif;
    font-weight: normal;
}
.h2-box .whiteBox .priceBox .yen {
    font-size: calc(100vw / var(--viewport) * 28);
    width: auto;
    margin: 0;
}
.h2-box .other {
    font-size: calc(100vw / var(--viewport) * 23);
    line-height: 1.6;
    text-align: center;
    margin-top: calc(100vw / var(--viewport) * 34);
}
.h2-box .other .price {
/*    font-family: 'Oswald', sans-serif;
    font-weight: normal;*/
}
@media screen and (max-width:767px) {
    .h2-box .whiteBox .imgBox + .flex > li {
        width: 46.6%;
    }
}
@media screen and (min-width:768px) {
    .h2-box {
        padding-top: 70px;
        padding-bottom: 73px;
    }
    .h2-box h2 {
        font-size: 44px;
    }
    .h2-box .whiteBox {
        width: 890px;
        padding: 54px 95px 54px;
        border-radius: 8px;
    }
    .h2-box .whiteBox .pc_flex {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .h2-box .whiteBox img {
        width: 335px;
        margin-bottom: 0;
    }
    .h2-box .whiteBox .imgBox + .flex {
        width: 366px;
        flex-direction: column;
    }
    .h2-box .whiteBox .imgBox + .flex > li:nth-child(2) {
        margin-top: 30px;
    }
    .h2-box .whiteBox .courseTitle {
        font-size: 33px;
        height: 55px;
        border-radius: 9px;
        margin-bottom: 24px;
    }
    .h2-box .whiteBox .priceBox .total {
        font-size: 34px;
    }
    .h2-box .whiteBox .priceBox .price {
        font-size: 56px;
    }
    .h2-box .whiteBox .priceBox .yen {
        font-size: 30px;
    }
    .h2-box .other {
        font-size: 17px;
        margin-top: 46px;
    }
}

.setPlanBox {
    font-weight: bold;
}
.setPlanBox .col3-block:nth-child(1) > p.title {
    margin-bottom: calc(100vw / var(--viewport) * 48) !important;
}
.setPlanBox .higeSlider {
    width: 100%;
    overflow: visible;
}
.setPlanBox .col3-block:not(.badge) {
    overflow: hidden;
}
.setPlanBox .box {
    background: #fff;
    text-align: center;
    padding: calc(100vw / var(--viewport) * 20);
    border: 1px solid #000;
}
.setPlanBox .box .title {
    font-size: calc(100vw / var(--viewport) * 40);
    font-weight: bold;
    margin-bottom: calc(100vw / var(--viewport) * 13) !important;
}
.setPlanBox .box .flex {
    justify-content: center;
}
.setPlanBox .box .flex .blue-box-button {
    width: auto !important;
    margin-right: 0.5em;
}
.setPlanBox .box .priceBox {
    display: flex;
    align-items: center;
    margin-top: calc(15px + (33 - 15) * ((100vw - 320px) / (767 - 320)));
}
.setPlanBox .box .priceBox .total {
    font-size: calc(100vw / var(--viewport) * 26);
}
.setPlanBox .box .priceBox .price {
    font-size: calc(100vw / var(--viewport) * 50);
    font-family: 'Oswald', sans-serif;
    font-weight: normal;
}
.setPlanBox .box .priceBox .price.font_red {
    color: #f00;
}
.setPlanBox .box .priceBox .yen {
    font-size: calc(100vw / var(--viewport) * 30);
    width: auto;
    margin: 0;
    margin-top: 0.4em;
}
.setPlanBox .optionArea {
    margin-top: calc(100vw / var(--viewport) * 100);
    position: relative;
}
.setPlanBox .optionArea:before {
    content: "＋";
    font-size: calc(100vw / var(--viewport) * 44);
    text-align: center;
    position: absolute;
    top: calc(100vw / var(--viewport) * -74);
    left: 0;
    right: 0;
    margin: 0 auto;
}
@media screen and (min-width:768px) {
    .setPlanBox .container {
        width: 100%;
        max-width: 1080px;
    }
    .setPlanBox .col3-cov {
        width: 1080px;
        flex-direction: column;
        align-items: center;
    }
    .setPlanBox .col3-block:nth-child(1) {
        width: 1080px;
        padding: 40px;
        margin: 0;
    }
    .setPlanBox .col3-block:nth-child(2) {
        width: 340px;
        margin: 40px 0;
    }
    .setPlanBox .swiper-wrapper {
        justify-content: space-between;
    }
    .setPlanBox .swiper-slide {
        width: 463px !important;
        margin: 0 !important;
    }
    .setPlanBox .col3-block:nth-child(1) > p.title {
        margin-bottom: 30px !important;
    }
    .setPlanBox .box {
        width: 463px;
        padding: 38px 35px;
        box-sizing: border-box;
        margin: 0 auto;
    }
    .setPlanBox .box .title {
        font-size: 30px;
        margin-bottom: 24px !important;
    }
    .setPlanBox .box .flex .blue-box-button {
        margin-top: 30px;
        margin-right: 14px;
    }
    .setPlanBox .box .flex .blue-box-button span {
        font-size: 22px;
        width: 90px;
        height: 90px;
        margin: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 100%;
    }
    .setPlanBox .box .priceBox {
        margin-top: 30px;
    }
    .setPlanBox .box .priceBox .total {
        font-size: 27px;
        margin-right: 10px;
    }
    .setPlanBox .box .priceBox .price {
        font-size: 44px;
        margin-right: 10px;
    }
    .setPlanBox .box .priceBox .yen {
        font-size: 24px;
        margin-top: 0.6em;
    }
    .setPlanBox .optionArea {
        margin-top: 140px;
        margin-bottom: 27px;
    }
    .setPlanBox .optionArea:before {
        font-size: 66px;
        top: -106px;
    }
}


body#price .description.badge,
body#price .course-times.badge,
body#price .drop-down-content.badge,
body#price .price-bust-chr-fee-block .col3-block.badge,
body#price-bust .col3-block.badge,
body#price .money_count.badge,
.h2-box .whiteBox.badge,
.setPlanBox .box.badge{
  position: relative;
}
body#price .description.badge:after,
body#price .course-times.badge:after,
body#price .drop-down-content.badge:after,
body#price .price-bust-chr-fee-block .col3-block.badge:after,
body#price-bust .col3-block.badge:after,
body#price .money_count.badge:after,
.h2-box .whiteBox.badge:after,
.setPlanBox .box.badge:after{
  content: "";
  background: url(/img/common/ico_campaign_stamp.png) no-repeat;
  background-size: contain;
  width: calc(100vw / var(--viewport) * 130);
  height: calc(100vw / var(--viewport) * 130);
  position: absolute;
  right: 1vw;
  top: -12vw;
}
body#price .set-boxes .drop-down-content.badge:after{
  width: calc(100vw / var(--viewport) * 130);
  height: calc(100vw / var(--viewport) * 130);
  right: 2vw;
  top: 12vw;
}
body#price .course-times.badge:after,
body#price .price-bust-chr-fee-block .col3-block.badge:after,
body#price-bust .col3-block.badge:after,
.h2-box .whiteBox.badge:after,
.setPlanBox .box.badge:after{
  width: calc(100vw / var(--viewport) * 100);
  height: calc(100vw / var(--viewport) * 100);
  top: -5vw;
}
body#price .money_count.badge:after{
  width: calc(100vw / var(--viewport) * 100);
  height: calc(100vw / var(--viewport) * 100);
  right: 1vw;
  top: -3vw;
}
@media screen and (min-width:768px) {
  body#price .description.badge:after,
  body#price .drop-down-content.badge:after{
    width: 60px;
    height: 60px;
    right: 50px;
    top: -43px;
  }
  body#price .drop-down-content.badge:after{
    width: 72px;
    height: 72px;
    right: 10px;
    top: 100px;
  }
  body#price .course-times.badge:after,
  body#price .price-bust-chr-fee-block .col3-block.badge:after,
  body#price-bust .col3-block.badge:after{
    width: 60px;
    height: 60px;
    right: 10px;
    top: -18px;
  }
  body#price .money_count.badge:after,
  .h2-box .whiteBox.badge:after,
  .setPlanBox .box.badge:after{
    width: 80px;
    height: 80px;
    right: 15px;
    top: -15px;
  }
}
.blue-box-button.badge{
  position: relative;
}
.blue-box-button.badge:after{
  content: "";
  background: url(/img/common/ico_campaign_stamp.png) no-repeat;
  background-size: contain;
  width: calc(100vw / var(--viewport) * 110);
  height: calc(100vw / var(--viewport) * 110);
  position: absolute;
  right: 1vw;
  top: -1vw;
}
@media screen and (min-width:768px) {
  .blue-box-button.badge:after{
    width: 50px;
    height: 50px;
    right: 30px;
    top: 2px;
  }
}

.skipLink {
  background: #00aafa;
  padding: calc(100vw / var(--viewport) * 27) 0;
}
.skipLink ul {
  width: 90%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.skipLink ul li {
  width: 48%;
}
.skipLink ul a {
  color: #222;
  font-size: calc(100vw / var(--viewport) * 28);
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  height: calc(100vw / var(--viewport) * 76);
  background: #fff;
  border-radius: calc(2.5px + (5 - 2.5) * ((100vw - 320px) / (767 - 320)));
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.skipLink ul li a:after {
  content: "";
  position: absolute;
  background: url(../img/common/link_arrow.png) no-repeat;
  background-size: contain;
  width: calc(7px + (12 - 7) * ((100vw - 320px) / (767 - 320)));
  height: calc(9px + (16 - 9) * ((100vw - 320px) / (767 - 320)));
  right: calc(6px + (18 - 6) * ((100vw - 320px) / (767 - 320)));
  top: 38%;
  transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
  .skipLink ul li:nth-child(n+3) {
    margin-top: calc(100vw / var(--viewport) * 13);
  }
}
@media screen and (min-width:768px) {
  .skipLink {
    padding: 16px 0;
  }
  .skipLink ul {
    width: 1050px;
    margin: 0 auto;
  }
  .skipLink ul li {
    width: 247px;
  }
  .skipLink ul li:nth-child(n+5) {
    margin-top: 16px;
  }
  .skipLink ul a {
    font-size: 21px;
    height: 67px;
    border-radius: 10px;
  }
  .skipLink ul li a:after {
    width: 10px;
    height: 14px;
    right: 15px;
    top: 41%;
  }
}

#anc_shorei {
  padding: 12.8% 0;
  background: #EEF0F5;
}
#anc_shorei h2 {
  margin-bottom: 9%;
}
#anc_shorei .ttl_aco {
  position: relative;
  cursor: pointer;
}
#anc_shorei .ttl_aco .title {
  font-weight: bold;
  line-height: 1;
  border-bottom: 1px solid #000;
  margin-top: 1.8em;
  padding: calc(100vw / var(--viewport) * 34) 0;
  margin-bottom: 0.8em;
}
#anc_shorei .ttl_aco i {
  position: absolute;
  background: url(/img/common/plus_icon.png) #00aafa no-repeat;
  background-size: contain;
  width: calc(20px + (45 - 20) * ((100vw - 320px) / (767 - 320)));
  height: calc(20px + (45 - 20) * ((100vw - 320px) / (767 - 320)));
  border-radius: 50%;
  transition: .3s;
  -webkit-transition: .3s;
  top: 22%;
  right: 5px;
}
#anc_shorei .ttl_aco.active i {
  background: url(/img/common/minus_icon.png) #00aafa no-repeat;
  background-size: contain;
}
#anc_shorei .body_aco {
  display: none;
}
#anc_shorei .flex div {
  width: 48%;
}
#anc_shorei .flex div figure {
  position: relative;
  margin-bottom: 20px;
}
#anc_shorei .flex div figure figcaption {
  color: #fff;
  text-align: center;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  padding: 0.2em 0;
  position: absolute;
  left: 0;
  bottom: 0;
}
#anc_shorei dl {
  display: flex;
  justify-content: flex-start;
  padding: calc(100vw / var(--viewport) * 20) 0;
  border-bottom: 2px solid #000;
}
#anc_shorei dl.first {
  border-top: 2px solid #000;
}
#anc_shorei dl dt {
  text-align: center;
  width: calc(100vw / var(--viewport) * 140);
  margin-right: calc(100vw / var(--viewport) * 40);
}
#anc_shorei .body_aco .btn {
  width: 100%;
  margin-top: calc(100vw / var(--viewport) * 20);
}
@media screen and (min-width:768px) {
  #anc_shorei {
    padding: 46px 0;
  }
  #anc_shorei .container {
    max-width: 1050px;
  }
  #anc_shorei h2 {
    margin-bottom: 47px;
  }
  #anc_shorei .pc_flex {
    display: flex;
    justify-content: space-between;
  }
  #anc_shorei .pc_flex > div:nth-child(1) {
    width: 562px;
  }
  #anc_shorei .pc_flex > div:nth-child(2) {
    width: 360px;
  }
  #anc_shorei .ttl_aco .title {
    margin-top: 0;
    padding: 21px 0;
    margin-bottom: 0.8em;
  }
  #anc_shorei .ttl_aco i {
    width: 30px;
    height: 30px;
    top: 14px;
    right: 20px;
  }
  #anc_shorei .flex div {
    width: 48%;
  }
  #anc_shorei dl {
    padding: 10px 0;
    border-width: 1px;
  }
  #anc_shorei dl.first {
    border-top: 1px solid #000;
  }
  #anc_shorei dl dt {
    width: 90px;
    margin-right: 20px;
  }
  #anc_shorei .body_aco .btn {
    width: 300px;
    margin-top: 20px;
  }
}

@media screen and (min-width:768px) {
  .nose #anc_shorei .pc_flex {
    align-items: center;
  }
  .nose #anc_shorei .flex div figure {
    margin-bottom: 0;
  }
}

.nose #anc_merit {
  padding: 12.8% 0;
}
.nose #anc_merit .grayBox {
  font-weight: bold;
  line-height: 1.4;
  background: #EEF0F5;
  width: 85%;
  padding: calc(30px + (70 - 30) * ((100vw - 320px) / (767 - 320))) calc(25px + (55 - 25) * ((100vw - 320px) / (767 - 320))) calc(30px + (70 - 30) * ((100vw - 320px) / (767 - 320))) calc(20px + (45 - 20) * ((100vw - 320px) / (767 - 320)));
  margin: 0 auto;
  box-sizing: border-box;
  border-radius: calc(100vw / var(--viewport) * 8);
}
.nose #anc_merit .grayBox .midashi {
  font-size: calc(100vw / var(--viewport) * 28);
  justify-content: center;
  align-items: center;
  margin-bottom: calc(23px + (50 - 23) * ((100vw - 320px) / (767 - 320)));
}
.nose #anc_merit .grayBox .midashi .number {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 36);
  line-height: 1;
  width: calc(100vw / var(--viewport) * 50);
  height: calc(100vw / var(--viewport) * 50);
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
  border-radius: 50%;
  margin-right: calc(100vw / var(--viewport) * 50);
}
.nose #anc_merit .grayBox .text {
  line-height: 1.8;
}

.nose #anc_demerit {
  background: #EEF0F5;
  padding: 12.8% 0;
}
.nose #anc_demerit .whiteBox {
  font-weight: bold;
  line-height: 1.4;
  background: #fff;
  width: 85%;
  padding: calc(30px + (70 - 30) * ((100vw - 320px) / (767 - 320))) calc(25px + (55 - 25) * ((100vw - 320px) / (767 - 320))) calc(30px + (70 - 30) * ((100vw - 320px) / (767 - 320))) calc(20px + (45 - 20) * ((100vw - 320px) / (767 - 320)));
  margin: 0 auto;
  box-sizing: border-box;
  border-radius: calc(100vw / var(--viewport) * 8);
}
.nose #anc_demerit .whiteBox .midashi {
  font-size: calc(100vw / var(--viewport) * 28);
  justify-content: center;
  align-items: center;
  margin-bottom: calc(23px + (50 - 23) * ((100vw - 320px) / (767 - 320)));
}
.nose #anc_demerit .whiteBox .midashi .number {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 36);
  line-height: 1;
  width: calc(100vw / var(--viewport) * 50);
  height: calc(100vw / var(--viewport) * 50);
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
  border-radius: 50%;
  margin-right: calc(100vw / var(--viewport) * 50);
}
.nose #anc_demerit .whiteBox .text {
  line-height: 1.8;
}

.nose #feature-intro .feature-intro__container-block {
  display: flex;
  position: relative;
  overflow: hidden;
}
.nose #feature-intro .feature-intro__block {
  width: calc(100% - 100vw * 30 / 375);
  min-height: unset;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.nose #feature-intro .feature-intro__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.nose #feature-intro .feature-intro__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(50%);
}
.nose #feature-intro .feature-intro__title {
  font-size: calc(100vw * 24 / 375);
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
}
.nose #feature-intro .feature-intro__block--desc {
  gap: calc(100vw * 10 / 375);
  padding: calc(100vw * 20 / 375) 0;
  border-radius: calc(100vw * 10 / 375);
  background: rgba(255, 255, 255, 0.8);
}
.nose #feature-intro .feature-intro__label-answer {
  font-size: calc(100vw * 20 / 375);
  font-weight: 700;
  line-height: 1;
  color: #f45d2e;
  text-align: center;
  letter-spacing: 0.1em;
}
.nose #feature-intro .feature-intro__desc {
  font-size: calc(100vw * 12 / 375);
  font-weight: 700;
  line-height: 1.5;
  color: #001f3e;
  text-align: center;
  letter-spacing: 0.1em;
}

.nose .point-block-cov .lh1-4 h3 {
  line-height: 1.6!important;
}
.nose #anc_price {
  background: #00aafa;
}
.nose #anc_price .line-ani:after {
  border-color: #fff;
}

.nose .all-sec10 .line-tlt-box.area .flex {
  line-height: 1.7;
  align-items: center;
  padding: 0 0 calc(22px + (45 - 22) * ((100vw - 320px) / (767 - 320)));
}
.nose .all-sec10 .line-tlt-box.area .flex img {
  width: calc(100vw / var(--viewport) * 240);
  margin: 0 5.5%;
}
.nose .all-sec10 .swiper-slide {
  height: auto;
}
.nose .all-sec10 .swiper-slide .box {
  height: 100%;
}
.nose .all-sec10 .swiper-slide .box .txt-box-inner {
  background: #fff;
  box-sizing: border-box;
}
.nose .all-sec10 .swiper-slide .box .txt-box-inner p {
  min-height: initial;
}
.nose .all-sec10 .swiper-button-next,
.nose .all-sec10 .swiper-button-prev {
  top: 56%;
  right: calc(-14px + (-30 + 14) * ((100vw - 320px) / (767 - 320)));
  width: calc(40px + (80 - 40) * ((100vw - 320px) / (767 - 320)));
  height: calc(40px + (80 - 40) * ((100vw - 320px) / (767 - 320)));
  background: none;
}
.nose .all-sec10 .line-tlt-box.time .txt-part .txt-part-inner {
  display: flex;
  justify-content: center;
  align-items: center;
}
.nose .all-sec10 .line-tlt-box.time .txt-part .txt-part-inner img {
  position: relative;
}
.nose .all-sec10 .line-tlt-box.time .txt-part .txt-part-inner img ~ p {
  padding-left: calc(100vw / var(--viewport) * 50) !important;
}
.nose .all-sec10 .line-tlt-box.pain .icon-block {
  display: flex;
  justify-content: center;
}
.nose .all-sec10 .line-tlt-box.pain .icon-block span {
  width: calc(100vw / var(--viewport) * 40);
  margin: 0 calc(100vw / var(--viewport) * 12) calc(100vw / var(--viewport) * 23);
}
.nose .all-sec10 .line-tlt-box.risk .side-effect-block-inner {
  display: flex;
  justify-content: space-between;
  width: calc(165px + (360 - 165) * ((100vw - 320px) / (767 - 320)));
  margin: 0 auto;
  padding-bottom: 2px;
}
.nose .all-sec10 .line-tlt-box.risk .side-effect-block-inner .text-block {
  width: 51.4%;
  padding-top: 17px;
}
.nose .all-sec10 .line-tlt-box.risk .icon-block {
  width: 48.6%;
  display: flex;
  justify-content: space-between;
}
.nose .all-sec10 .line-tlt-box.risk .icon-block span {
  width: calc(12px + (25 - 12) * ((100vw - 320px) / (767 - 320)));
}
.nose .all-sec10 .line-tlt-box.pain .link-block,
.nose .all-sec10 .line-tlt-box.risk .link-block {
  text-align: right;
  margin-top: calc(100vw / var(--viewport) * 50);
}
.nose .all-sec10 .line-tlt-box.pain .link-block a,
.nose .all-sec10 .line-tlt-box.risk .link-block a {
  color: #656565;
  border-bottom: 1px solid #656565;
  position: relative;
  display: inline-block;
}
.nose .all-sec10 .line-tlt-box.pain .link-block a:after,
.nose .all-sec10 .line-tlt-box.risk .link-block a:after {
  position: absolute;
  top: 2px;
  right: -10px;
  width: calc(5px + (12 - 5) * ((100vw - 320px) / (767 - 320)));
  height: calc(9px + (18 - 9) * ((100vw - 320px) / (767 - 320)));
  font-weight: bold;
  content: "";
  color: #656565;
  background: url(../img/price-bust/gray-arrow.png) no-repeat;
  background-size: contain;
}
.nose .setPlanBox {
  background: #00a9f9;
}
.nose .selectBox .col3-block-inner {
  margin-bottom: calc(100vw / var(--viewport) * 20);
}
.nose .selectBox .tab_body .priceArea {
  justify-content: space-evenly;
}
.nose .selectBox .tab_body .priceBox_split {
  width: auto;
  padding-left: calc(100vw / var(--viewport) * 35);
}
@media screen and (max-width:767px) {
  .nose #anc_merit .grayBox:nth-child(n+2),
  .nose #anc_demerit .whiteBox:nth-child(n+2) {
    margin-top: calc(100vw / var(--viewport) * 46);
  }

  .nose #feature-intro .feature-intro__container-block {
    flex-direction: column;
    gap: calc(100vw * 40 / 375);
    padding: calc(100vw * 60 / 375) 0;
  }

  .nose .all-sec10 .line-tlt-box.time .line-title {
    margin-top: calc(100vw / var(--viewport) * 76.7);
  }
}
@media screen and (min-width:768px) {
  .nose #anc_merit {
    padding: 60px 0 70px;
  }
  .nose #anc_merit .pc_flex {
    width: 1050px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
  }
  .nose #anc_merit .grayBox {
    width: 44%;
    padding: 35px 25px;
    border-radius: 3px;
    margin: 0;
  }
  .nose #anc_merit .grayBox .midashi {
    font-size: 22px;
    margin-bottom: 37px;
  }
  .nose #anc_merit .grayBox .midashi .number {
    font-size: 26px;
    width: 36px;
    height: 36px;
    margin-right: 36px;
  }

  .nose #anc_demerit {
    padding: 60px 0 70px;
  }
  .nose #anc_demerit .pc_flex {
    width: 1050px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
  }
  .nose #anc_demerit .whiteBox {
    width: 44%;
    padding: 35px 25px;
    border-radius: 3px;
    margin: 0;
  }
  .nose #anc_demerit .whiteBox .midashi {
    font-size: 22px;
    margin-bottom: 37px;
  }
  .nose #anc_demerit .whiteBox .midashi .number {
    font-size: 26px;
    width: 36px;
    height: 36px;
    margin-right: 36px;
  }

  .nose #feature-intro .feature-intro__block {
    width: 50%;
    min-height: 400px;
    position: relative;
  }
  .nose #feature-intro .feature-intro__title {
    font-size: 32px;
    font-weight: 700;
  }
  .nose #feature-intro .feature-intro__block--desc {
    gap: 10px;
    padding: 20px 0;
    border-radius: 0;
  }
  .nose #feature-intro .feature-intro__label-answer {
    font-size: 30px;
  }
  .nose #feature-intro .feature-intro__desc {
    font-size: 20px;
  }

  .nose .price-bust-point-block .container {
    width: 1050px;
  }
  .nose .price-bust-point-block .container .col3-block-cov {
    border: none;
    margin-top: 0;
    margin-bottom: 30px;
  }
  .nose .price-bust-point-block .point1-col {
    width: 44%;
  }
  .nose .price-bust-point-block .point1-col img {
    width: 50% !important;
  }

  .nose .all-sec10 h2 {
    margin-bottom: 47px;
  }
  .nose .all-sec10 .col-3-line-tlt-box {
    width: 1080px;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
  }
  .nose .all-sec10 .line-tlt-box {
    width: 44%;
    margin: 0;
  }
  .nose .all-sec10 .line-tlt-box .txt-part {
    padding: 0;
  }
  .col-3-line-tlt-box .line-tlt-box .txt-part-inner {
    min-height: initial;
  }
  .nose .all-sec10 .line-tlt-box.area .flex {
    padding: 0;
  }
  .nose .all-sec10 .line-tlt-box.area .flex img {
    width: 167px;
    margin: 0;
  }
  .nose .all-sec10 .line-tlt-box.laser .txt-part {
    height: 133px;
    display: flex;
    align-items: center;
  }
  .nose .all-sec10 .line-tlt-box.laser .txt-part .txt-part-inner {
    min-height: initial;
  }
  .nose .all-sec10 .line-tlt-box.flow {
    width: 100%;
    padding-top: 50px;
  }
  .nose .all-sec10 .col-3-line-tlt-box.under {
    flex-wrap: nowrap;
    margin-top: 50px;
  }
  .nose .all-sec10 .col-3-line-tlt-box.under .line-tlt-box {
    width: 31.48%;
  }
  .nose .all-sec10 .line-tlt-box.time .txt-part .txt-part-inner {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .nose .all-sec10 .line-tlt-box.time .txt-part .txt-part-inner img {
    position: relative;
  }
  .nose .all-sec10 .line-tlt-box.time .txt-part .txt-part-inner img ~ p {
    padding-left: 25px !important;
  }
  .nose .all-sec10 .line-tlt-box.pain .icon-block {
    display: flex;
    justify-content: center;
  }
  .nose .all-sec10 .line-tlt-box.pain .icon-block span {
    width: 25px;
    margin: 0 1px 23px;
  }
  .nose .all-sec10 .line-tlt-box.risk .side-effect-block-inner {
    width: 212px;
  }
  .nose .all-sec10 .line-tlt-box.risk .icon-block span {
    width: 15px;
  }
  .nose .all-sec10 .line-tlt-box.pain,
  .nose .all-sec10 .line-tlt-box.risk {
    padding-bottom: 32px;
    position: relative;
  }
  .nose .all-sec10 .line-tlt-box.pain .link-block,
  .nose .all-sec10 .line-tlt-box.risk .link-block {
    margin-top: 0;
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .nose .all-sec10 .line-tlt-box.pain .link-block a,
  .nose .all-sec10 .line-tlt-box.risk .link-block a {
    padding-bottom: 3px;
  }
  .nose .all-sec10 .line-tlt-box.pain .link-block a:after,
  .nose .all-sec10 .line-tlt-box.risk .link-block a:after {
    top: 2px;
    right: -10px;
    width: 5px;
    height: 9px;
  }
  .nose .setPlanBox {
    background: #00a9f9;
  }
  .nose .selectBox {
    width: 463px !important;
    padding: 20px !important;
  }
  .nose .selectBox .col3-block-inner {
    justify-content: space-around !important;
    align-items: center;
    margin-bottom: 20px;
  }
  .nose .selectBox .img-block {
    width: 120px !important;
  }
  .nose .selectBox .tab_body .priceBox .rl {
    font-size: 20px;
  }
  .nose .selectBox .tab_body .priceBox .price {
    font-size: 54px;
  }
  .nose .selectBox .tab_body .priceBox .yen {
    font-size: 33px;
  }
  .nose .selectBox .tab_body .priceBox_split {
    padding-left: 12px;
  }
  .nose .selectBox .tab_body .priceBox_split_number {
    font-size: 13px;
  }
  .nose .selectBox .tab_body .priceBox_split .priceBox .rl {
    font-size: 14px;
  }
  .nose .selectBox .tab_body .priceBox_split .priceBox .price {
    font-size: 32px;
  }
  .nose .selectBox .tab_body .priceBox_split .priceBox .yen {
    font-size: 20px;
  }
  .nose .selectBox .afterText {
    font-size: 14px;
    margin: 16px 0 30px;
  }
  .nose .selectBox .black-link {
    padding: 12px !important;
  }
}

.setPlanBox .box .partsImage {
  margin-bottom: calc(100vw / var(--viewport) * 20);
  border-radius: calc(100vw / var(--viewport) * 10);
}
.setPlanBox .tab_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.setPlanBox .tab {
  display: block;
  width: calc(100vw / var(--viewport) * 212);
  font-size: calc(100vw / var(--viewport) * 21);
  font-weight: bold;
  padding: calc(100vw / var(--viewport) * 20) 0 calc(100vw / var(--viewport) * 14);
  box-sizing: border-box;
  border-radius: calc(100vw / var(--viewport) * 10) calc(100vw / var(--viewport) * 10) 0 0;
  color: #fff;
  background: #777777;
  text-align: center;
}
.setPlanBox .tab span {
    font-size: calc(100vw / var(--viewport) * 29);
}
.setPlanBox .tab.active {
  color: #000;
  background: #EFF0F2;
  position: relative;
}
.setPlanBox .tab.active:after {
  content: "";
  width: 70%;
  height: 2px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.setPlanBox .tab_area_1clm .tab {
  width: 100%;
}
.setPlanBox .tab_area_1clm .tab.active:after {
  width: 30%;
}
.setPlanBox .tab_area_2clm .tab {
  width: 49%;
}

.setPlanBox .swiper-slide {
  height: auto;
}
.setPlanBox .tab_body {
  padding: calc(100vw / var(--viewport) * 16) calc(100vw / var(--viewport) * 10);
  background: #EFF0F2;
  border-radius: 0 0 calc(100vw / var(--viewport) * 10) calc(100vw / var(--viewport) * 10);
}
.setPlanBox .box {
  height: 100%;
  box-sizing: border-box;
}
.setPlanBox .tab_bodyBox {
  display: none;
}
.setPlanBox .tab_bodyBox.active {
  display: block;
}
.setPlanBox .tab_body .priceArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.setPlanBox .tab_body .priceBox {
  display: flex;
  align-items: end;
  padding: calc(100vw / var(--viewport) * 10) 0 calc(100vw / var(--viewport) * 10);
  background: #EFF0F2;
  margin-top: 0;
}
.setPlanBox .tab_body .priceBox .rl {
  font-size: calc(100vw / var(--viewport) * 19);
  font-weight: bold;
  writing-mode: vertical-rl;
  letter-spacing: .2em;
  margin-right: calc(100vw / var(--viewport) * 8);
}
.setPlanBox .tab_body .priceBox .price {
  color: #f00;
  font-size: calc(100vw / var(--viewport) * 56);
  letter-spacing: -0.04em;
}
.setPlanBox .tab_body .priceBox .yen {
  width: auto;
  font-size: calc(100vw / var(--viewport) * 36);
  font-weight: bold;
  margin-left: calc(100vw / var(--viewport) * 3);
  margin-right: 0;
}
.setPlanBox .tab_body .priceBox_split {
  width: 40%;
  padding-left: calc(100vw / var(--viewport) * 15);
  border-left: calc(100vw / var(--viewport) * 1) solid #707070;
}
.setPlanBox .tab_body .priceBox_split_number {
  font-size: calc(100vw / var(--viewport) * 18);
  font-weight: bold;
  padding: calc(100vw / var(--viewport) * 8) calc(100vw / var(--viewport) * 10);
  text-align: center;
  border: calc(100vw / var(--viewport) * 1) solid #707070;
  border-radius: calc(100vw / var(--viewport) * 5);
}
.setPlanBox .tab_body .priceBox_split .priceBox {
  padding: calc(100vw / var(--viewport) * 10) 0 calc(100vw / var(--viewport) * 10);
  border-right: none;
  justify-content: space-between;
}
.setPlanBox .tab_body .priceBox_split .priceBox .rl {
  transform: translateY(4px);
}
.setPlanBox .tab_body .priceBox_split .priceBox .price {
  font-size: calc(100vw / var(--viewport) * 40);
  color: #000;
}
.setPlanBox .tab_body .priceBox_split .priceBox .yen {
  font-size: calc(100vw / var(--viewport) * 25);
}
.setPlanBox .afterText {
  font-size: calc(100vw / var(--viewport) * 18);
  font-weight: bold;
  text-align: center;
  margin: calc(100vw / var(--viewport) * 22) 0;
}
.setPlanBox .afterText ~ span {
  text-align: left;
  line-height: 1.5;
  display: block;
}
@media screen and (min-width:768px) {
  .setPlanBox .box .partsImage {
    margin-bottom: 30px;
    border-radius:  10px;
  }
  .setPlanBox .tab {
    width: 135px;
    font-size: 17px;
    padding: 14px 10px 10px;
    border-radius: 10px 10px 0 0;
    cursor: pointer;
  }
  .setPlanBox .tab span {
    font-size: 24px;
  }
  .setPlanBox .tab.active:after {
    content: "";
    width: 70%;
    height: 2px;
    background: #000;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }

  .setPlanBox .tab_body {
    padding: 20px 14px 20px;
    border-radius: 0 0 10px 10px;
    margin-bottom: 1em;
  }
  .setPlanBox .tab_body .priceBox {
    padding: 10px 0;
  }
  .setPlanBox .tab_body .priceBox .rl {
    font-size: 22px;
    transform: translateY(4px);
    margin-right: 10px;
  }
  .setPlanBox .tab_body .priceBox .price {
    font-size: 60px;
    letter-spacing: -.02em;
    margin-right: 0;
  }
  .setPlanBox .tab_body .priceBox .yen {
    width: auto;
    font-size: 37px;
    margin-left: 4px;
    margin-right: 0;
  }
  .setPlanBox .tab_body .priceBox_split {
    width: 32%;
    padding-left: 10px;
    border-left: 1px solid #707070;
  }
  .setPlanBox .tab_body .priceBox_split_number {
    font-size: 14px;
    padding: 4px 10px;
    border: 1px solid #707070;
    border-radius: 4px;
  }
  .setPlanBox .tab_body .priceBox_split .priceBox {
    padding: 10px 0;
  }
  .setPlanBox .tab_body .priceBox_split .priceBox .rl {
    font-size: 15px;
    transform: translateY(6px);
  }
  .setPlanBox .tab_body .priceBox_split .priceBox .price {
    font-size: 36px;
  }
  .setPlanBox .tab_body .priceBox_split .priceBox .yen {
    font-size: 22px;
  }
}

.nose .tab_body + span {
  text-align: left;
  line-height: 1.8;
  display: block;
}
@media screen and (max-width:767px) {
  .h2-box .whiteBox {
    padding-bottom: calc(100vw / var(--viewport) * 45);
  }
}
@media screen and (min-width:768px) {
  .nose .setPlanBox .box {
    padding: 20px;
  }
}


body.index {
  overflow: auto !important;
  padding: 0 !important;
}
body.index .after-image-pool img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: auto;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 2;
}
body.index .after-image-pool img.active {
  opacity: 1;
  pointer-events: auto;
}
body.index .after-text-pool .after-text {
  display: none;
}
body.index .after-text-pool .after-text.active {
  display: block;
}

body.index .case-image {
  padding: calc(100vw / var(--viewport) * 40) 0 calc(100vw / var(--viewport) * 108);
}
body.index .case-image .container {
    width: 100%;
}
@media screen and (min-width:768px) {
  body.index .case-image .container {
    width: 100%;
    max-width: 1165px;
  }
}
body.index .case-image h2 {
  color: var(--lightBlue);
  font-size: calc(100vw / var(--viewport) * 64);
  text-align: center;
  line-height: 1.3;
  margin-bottom: calc(100vw / var(--viewport) * 80);
}
body.index .case-image h2 .sub {
  font-size: calc(100vw / var(--viewport) * 28);
}
@media screen and (min-width:768px) {
  body.index .case-image {
    padding: 60px 0 80px;
  }
  body.index .case-image h2 {
    font-size: 40px;
    margin-bottom: 40px;
  }
  body.index .case-image h2 .sub {
    font-size: 20px;
  }
}
body.index .case-image .case-image__tab {
  position: relative;
  z-index: 0;
}
body.index .case-image .case-image__tab-content {
  position: relative;
  z-index: 0;
}
body.index .case-image .case-image__tab-content .image-compare-wrapper:not(.is-active) {
  position: absolute;
  top: 0;
  display: none;
  width: 100%;
}
body.index .case-image .case-image__block-header {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(100vw * (10 / 375));
  margin-bottom: calc(100vw * (-30 / 375));
}
@media screen and (min-width:768px) {
  body.index .case-image .case-image__block-header {
    width: 328px;
    justify-content: space-between;
    gap: 10px;
    margin: 0 auto;
  }
}
body.index .case-image .case-image__block-header button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  color: #222;
  font-size: calc(100vw / var(--viewport) * 26);
  font-weight: bold;
  background: #BFEAFE;
  border-radius: 50vw;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100vw / var(--viewport) * 130);
  height: calc(100vw / var(--viewport) * 61);
}
@media screen and (min-width:768px) {
  body.index .case-image .case-image__block-header button {
    font-size: 13px;
    width: 70px;
    height: 35px;
  }
}
body.index .case-image .case-image__block-header button.is-active {
  color: #fff;
  background: #00AAFA;
}
body.index .case-image .case-image__block-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: 1px solid #fff;
  gap: calc(100vw * (20 / 375));
  padding: calc(100vw * (55 / 375)) calc(100vw * (16 / 375)) 0;
}
@media screen and (min-width:768px) {
  body.index .case-image .case-image__block-body {
    width: 664px;
    gap: 20px;
    padding: 0;
    margin: 19px auto 0;
  }
}
body.index .case-image .case-image__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767.98px) {
  body.index .case-image .case-image__info {
    gap: calc(100vw * (10 / 375));
  }
}
body.index .case-image .case-image__avatar {
  width: 85px;
  -webkit-filter: drop-shadow(0px 5px 10px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0px 5px 10px rgba(0, 0, 0, 0.2));
}
@media (max-width: 767.98px) {
  body.index .case-image .case-image__avatar {
    width: calc(100vw * (85 / 375));
    -webkit-filter: drop-shadow(0px calc(100vw * (5 / 375)) calc(100vw * (10 / 375)) rgba(0, 0, 0, 0.2));
            filter: drop-shadow(0px calc(100vw * (5 / 375)) calc(100vw * (10 / 375)) rgba(0, 0, 0, 0.2));
  }
}
body.index .case-image .case-image__profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 767.98px) {
  body.index .case-image .case-image__profile {
    gap: calc(100vw * (10 / 375));
  }
}
body.index .case-image .case-image__col--shrink {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
body.index .case-image .case-image__name {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  body.index .case-image .case-image__name {
    font-size: calc(100vw * (14 / 375));
  }
}
body.index .case-image .case-image__overview {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  max-width: 240px;
}
@media (max-width: 767.98px) {
  body.index .case-image .case-image__overview {
    gap: calc(100vw * (10 / 375));
    max-width: calc(100vw * (230 / 375));
  }
}
body.index .case-image .case-image__desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.071em;
}
@media (max-width: 767.98px) {
  body.index .case-image .case-image__desc {
    font-size: calc(100vw * (14 / 375));
  }
}
body.index .case-image .case-image__desc-title {
  display: inline;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.071em;
}
@media (max-width: 767.98px) {
  body.index .case-image .case-image__desc-title {
    font-size: calc(100vw * (9 / 375));
  }
}
body.index .case-image .case-image__desc-lead {
  display: inline;
  font-size: 14px;
}
@media (max-width: 767.98px) {
  body.index .case-image .case-image__desc-lead {
    font-size: calc(100vw * (9 / 375));
  }
}
body.index .case-image .case-image__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 80px;
}
@media (max-width: 767.98px) {
  body.index .case-image .case-image__button {
    margin-top: calc(100vw * (80 / 375));
  }
}
body.index .case-image .table-info {
  width: 100%;
}
body.index .case-image .icv__control .icv__control-line {
  background: #222 !important;
}
body.index .case-image .icv__circle {
  background: rgba(255,255,255,0.6);
  border-color: #222 !important;
}
body.index .case-image .icv__control .icv__arrow-wrapper svg path {
  stroke: #222 !important;
}
body.index .case-image .icv__control .icv__arrow-wrapper:nth-child(1) {
  transform: translateX(5px) !important;
}
body.index .case-image .icv__control .icv__arrow-wrapper:nth-child(1) svg {
  transform: scale(0.7, 1) rotateZ(180deg) !important;
}
body.index .case-image .icv__control .icv__arrow-wrapper:nth-child(2) {
  transform: translateX(-5px) !important;
}
body.index .case-image .icv__control .icv__arrow-wrapper:nth-child(2) svg {
  transform: scale(0.7, 1) rotateZ(0deg) !important;
}
body.index .case-image .image-compare-under .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
body.index .case-image .image-compare-under .flex > div {
  text-align: center;
  width: 50%;
}
body.index .case-image .image-compare-under .flex > div.left, body.index .case-image .image-compare-under .flex > div.right {
  color: #222;
  background: #F0F0F0;
  padding: calc(100vw * (2.5 / 375)) calc(100vw * (4 / 375)) calc(100vw * (20 / 375));
  position: relative;
}
@media (min-width: 768px), print {
  body.index .case-image .image-compare-under .flex > div.left, body.index .case-image .image-compare-under .flex > div.right {
    padding: 5px 5px 40px;
  }
}
body.index .case-image .image-compare-under .flex > div.left .midashi, body.index .case-image .image-compare-under .flex > div.right .midashi {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  body.index .case-image .image-compare-under .flex > div.left .midashi, body.index .case-image .image-compare-under .flex > div.right .midashi {
    font-size: calc(100vw * (15 / 375));
  }
}
body.index .case-image .image-compare-under .flex > div.left .text, body.index .case-image .image-compare-under .flex > div.right .text {
  font-size: calc(100vw / var(--viewport) * 20);
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: calc(100vw * (2.5 / 375));
}
@media (min-width: 768px), print {
  body.index .case-image .image-compare-under .flex > div.left .text, body.index .case-image .image-compare-under .flex > div.right .text {
    font-size: 12px;
    margin-bottom: 0.5em;
  }
}
@media (min-width: 768px), print {
  body.index .case-image .image-compare-under .flex > div.left .flex, body.index .case-image .image-compare-under .flex > div.right .flex {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 15px;
  }
}
body.index .case-image .case-image__tab-content .image-compare-wrapper:nth-child(n+2) .image-compare-under .after-text-pool ~ .flex {
  display: none; /* ヒゲ以外の回数ボタンを非表示 */
}
body.index .case-image .image-compare-under .flex > div.left .flex button, body.index .case-image .image-compare-under .flex > div.right .flex button {
  color: #fff;
  text-align: center;
  width: calc(100vw * (68 / 375));
  height: calc(100vw * (22 / 375));
  background: #00AAFA;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-filter: drop-shadow(3px 3px 2px #425D69);
          filter: drop-shadow(3px 3px 2px #425D69);
}
@media (min-width: 768px), print {
  body.index .case-image .image-compare-under .flex > div.left .flex button, body.index .case-image .image-compare-under .flex > div.right .flex button {
    width: 140px;
    height: 30px;
  }
}
body.index .case-image .image-compare-under .flex > div.left .flex button[disabled], body.index .case-image .image-compare-under .flex > div.right .flex button[disabled] {
  opacity: 0;
  visibility: hidden;
}
body.index .case-image .image-compare-under .flex > div.left .flex button.arrow-left svg, body.index .case-image .image-compare-under .flex > div.left .flex button.arrow-right svg, body.index .case-image .image-compare-under .flex > div.right .flex button.arrow-left svg, body.index .case-image .image-compare-under .flex > div.right .flex button.arrow-right svg {
  width: calc(100vw * (15 / 375));
  height: auto;
}
@media (min-width: 768px), print {
  body.index .case-image .image-compare-under .flex > div.left .flex button.arrow-left svg, body.index .case-image .image-compare-under .flex > div.left .flex button.arrow-right svg, body.index .case-image .image-compare-under .flex > div.right .flex button.arrow-left svg, body.index .case-image .image-compare-under .flex > div.right .flex button.arrow-right svg {
    width: 22px;
  }
}
body.index .case-image .image-compare-under .flex > div.left .flex button.arrow-left, body.index .case-image .image-compare-under .flex > div.right .flex button.arrow-left {
  border-radius: 50vw 0 0 50vw;
}
body.index .case-image .image-compare-under .flex > div.left .flex button.arrow-left svg, body.index .case-image .image-compare-under .flex > div.right .flex button.arrow-left svg {
  -webkit-transform: scale(0.7, 1) rotateZ(180deg);
          transform: scale(0.7, 1) rotateZ(180deg);
}
body.index .case-image .image-compare-under .flex > div.left .flex button.arrow-right, body.index .case-image .image-compare-under .flex > div.right .flex button.arrow-right {
  border-radius: 0 50vw 50vw 0;
}
body.index .case-image .image-compare-under .flex > div.left .flex button.arrow-right svg, body.index .case-image .image-compare-under .flex > div.right .flex button.arrow-right svg {
  -webkit-transform: scale(0.7, 1) rotateZ(0deg);
          transform: scale(0.7, 1) rotateZ(0deg);
}
body.index .case-image .image-compare-under .flex > div.left:before, body.index .case-image .image-compare-under .flex > div.left:after, body.index .case-image .image-compare-under .flex > div.right:before, body.index .case-image .image-compare-under .flex > div.right:after {
  width: 100%;
  height: calc(100vw * (16 / 375));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (min-width: 768px), print {
  body.index .case-image .image-compare-under .flex > div.left:before, body.index .case-image .image-compare-under .flex > div.left:after, body.index .case-image .image-compare-under .flex > div.right:before, body.index .case-image .image-compare-under .flex > div.right:after {
    height: 30px;
  }
}
body.index .case-image .image-compare-under .flex > div.left:before, body.index .case-image .image-compare-under .flex > div.right:before {
  content: "";
  background: #BFEAFE;
}
body.index .case-image .image-compare-under .flex > div.left:after, body.index .case-image .image-compare-under .flex > div.right:after {
  color: #222;
  font-size: 20px;
  font-family: "Oswald";
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  body.index .case-image .image-compare-under .flex > div.left:after, body.index .case-image .image-compare-under .flex > div.right:after {
    font-size: calc(100vw * (13 / 375));
  }
}
body.index .case-image .image-compare-under .flex > div.left {
  border-right: 1px solid #222;
}
body.index .case-image .image-compare-under .flex > div.left:after {
  content: "BEFORE";
}
body.index .case-image .image-compare-under .flex > div.right {
  border-left: 1px solid #222;
}
body.index .case-image .image-compare-under .flex > div.right:after {
  content: "AFTER";
}
body.index .case-image .case-image__block-footer {
  background: #F0F0F0;
  padding: calc(100vw / var(--viewport) * 32) 0;
}
body.index .case-image .case-image__block-footer .footer-content {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
body.index .case-image .case-image__block-footer .footer-content.active {
  display: block;
  opacity: 1;
}
body.index .case-image .case-image__block-footer dl {
  font-size: calc(100vw / var(--viewport) * 26);
  width: 91.47%;
  display: flex;
  justify-content: flex-start;
  padding: calc(100vw / var(--viewport) * 20) 0;
  border-bottom: 2px solid #000;
  margin: 0 auto;
}
body.index .case-image .case-image__block-footer .pc_flex div:nth-child(1) dl:first-child {
  border-top: 2px solid #000;
}
body.index .case-image .case-image__block-footer dt,
body.index .case-image .case-image__block-footer dd {
  font-weight: 500;
}
body.index .case-image .case-image__block-footer dt {
  text-align: center;
  width: calc(100vw / var(--viewport) * 140);
  margin-right: calc(100vw / var(--viewport) * 40);
}
@media screen and (min-width:768px) {
  body.index .case-image .case-image__block-footer {
    padding: 18px 20px;
  }
  body.index .case-image .case-image__block-footer .pc_flex {
    display: flex;
    justify-content: space-between;
  }
  body.index .case-image .case-image__block-footer .pc_flex div:nth-child(2) dl:first-child {
    border-top: 2px solid #000;
  }
  body.index .case-image .case-image__block-footer .pc_flex div {
    width: 48%;
  }
  body.index .case-image .case-image__block-footer dl {
    font-size: 13px;
    width: 100%;
    padding: 10px 0;
  }
  body.index .case-image .case-image__block-footer dt {
    width: 100px;
    margin-right: 0;
  }
}
body.index .case-image .button a {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 32);
  font-weight: bold;
  text-decoration: none;
  width: calc(100vw / var(--viewport) * 600);
  height: calc(100vw / var(--viewport) * 112);
  background: #20396F;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50vw;
  margin: calc(100vw / var(--viewport) * 80) auto 0;
}
@media screen and (min-width:768px) {
  body.index .case-image .button a {
    font-size: 16px;
    width: 300px;
    height: 56px;
    margin: 80px auto 0;
  }
}