:root { --width: 1 / 1920 * 100vw; }
@media (max-width: 750px) { :root { --width: 1 / 750 * 100vw; } }
.pc{display: block;} .sp{display: none;}
@media (max-width: 750px) {.pc{display: none;} .sp{display: block;}}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
}
html {
    scroll-behavior: smooth;
}
header,
main,
footer {
    margin: 0 auto;
}
img {
    width: 100%;
    height: auto;
    display: block;
}
.fv {
    padding-bottom: calc(80 * var(--width));
}
.reason {
    padding-top: calc(140 * var(--width));
}
.section {
    padding-top: calc(110 * var(--width));
    padding-bottom: calc(140 * var(--width));
    width: calc(1205 * var(--width));
    margin: 0 auto;
}
.introduce {
    padding-top: calc(140 * var(--width));
}
.cta03 {
    width: calc(760 * var(--width));
    margin: 0 auto;
    padding-top: calc(80 * var(--width));
    padding-bottom: calc(140 * var(--width));
}
.doctor-bottom {
    margin-top: calc(-10 * var(--width));
}
.caution {
    width: calc(1197 * var(--width));
    margin: 0 auto;
    padding-top: calc(110 * var(--width));
}
.info {
    width: calc(1207 * var(--width));
    margin: 0 auto;
    padding-top: calc(160 * var(--width));
    padding-bottom: calc(160 * var(--width));
}
.cta01-count {
    position: absolute;
    top: calc(18 * var(--width));
    left: calc(955 * var(--width));
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
}
.cta01-count span {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: calc(40 * var(--width));
    font-weight: 700;
    color: #000;
    background-color: #fcf1a8;
    width: calc(43.5 * var(--width));
}
.cta01-count span:nth-of-type(1) {
    margin-left: calc(0 * var(--width));
}
.cta01-count span:nth-of-type(2) {
    margin-left: calc(103 * var(--width));
}
.cta01-count span:nth-of-type(3) {
    margin-left: calc(54 * var(--width));
}
.cta01,
.cta02,
.cta03 {
    position: relative;
}
.cta01 a {
    position: absolute;
    top: calc(175 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    width: calc(710 * var(--width));
    height: calc(175 * var(--width));
}
.cta02 a {
    position: absolute;
    top: calc(103 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    width: calc(710 * var(--width));
    height: calc(175 * var(--width));
}
.cta03 a {
    position: absolute;
    top: calc(150 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    width: calc(760 * var(--width));
    height: calc(190 * var(--width));
}
footer {
    position: relative;
    padding-bottom: calc(350 * var(--width));
}
footer iframe {
    position: absolute;
    top: calc(255 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    width: calc(720 * var(--width));
    height: calc(398 * var(--width));
}
.footer-links {
    position: absolute;
    top: calc(675 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: calc(23 * var(--width));
}
.footer-links a {
    width: calc(230 * var(--width));
    height: calc(35 * var(--width));
}
.banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}
.banner.active {
    opacity: 1;
    visibility: visible;
}
.cta01 a img ,
.cta02 a img ,
.cta03 a img {
    animation: btn 1.6s ease-in infinite;
}

@keyframes btn {
    0% {
        transform: scale(0.99);
    }
    10% {
        transform: scale(0.99);
    }
    30% {
        transform: scale(0.91);
    }
    40% {
        transform: scale(0.91);
    }
    50% {
        transform: scale(0.9, 0.94);
    }
    60% {
        transform: scale(0.99);
    }
    70% {
        transform: scale(0.92);
    }
    100% {
        transform: scale(0.99);
    }
}

@media (max-width: 750px) {
    .section {
        width: calc(695 * var(--width));
    }
    .introduce {
        padding-top: calc(0 * var(--width));
    }
    .cta03 {
        width: calc(712 * var(--width));
        margin: 0 auto;
        padding-top: calc(20 * var(--width));
        padding-bottom: calc(80 * var(--width));
    }
    .doctor-bottom {
        margin-top: calc(-18 * var(--width));
    }
    .caution {
        width: 100%;
        padding-top: calc(50 * var(--width));
    }
    .info {
        width: calc(650 * var(--width));
        margin: 0 auto;
        padding-top: calc(100 * var(--width));
        padding-bottom: calc(100 * var(--width));
    }
    .cta01-count {
        top: calc(18 * var(--width));
        left: calc(372 * var(--width));
    }
    .cta01-count span {
        font-size: calc(42 * var(--width));
        width: calc(54 * var(--width));
    }
    .cta01-count span:nth-of-type(1) {
        margin-left: calc(0 * var(--width));
    }
    .cta01-count span:nth-of-type(2) {
        margin-left: calc(97 * var(--width));
    }
    .cta01-count span:nth-of-type(3) {
        margin-left: calc(45 * var(--width));
    }
    .cta01 a {
        top: calc(175 * var(--width));
        width: calc(715 * var(--width));
        height: calc(175 * var(--width));
    }
    .cta02 a {
        top: calc(103 * var(--width));
        width: calc(715 * var(--width));
        height: calc(180 * var(--width));
    }
    .cta03 a {
        top: calc(90 * var(--width));
        width: calc(715 * var(--width));
        height: calc(182 * var(--width));
    }
    footer iframe {
        top: calc(235 * var(--width));
        width: calc(700 * var(--width));
        height: calc(395 * var(--width));
    }
    .footer-links {
        top: calc(678 * var(--width));
        gap: calc(20 * var(--width));
    }
    .footer-links a {
        width: calc(245 * var(--width));
        height: calc(40 * var(--width));
    }
}