:root { --width: 1px; }
@media (max-width: 780px) { :root { --width: 1 / 780 * 100vw; } }
.pc{display: block;} .sp{display: none;}
@media (max-width: 780px) {.pc{display: none;} .sp{display: block;}}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    overflow-x: hidden;
}
header,
footer,
main {
    max-width: 780px;
    margin: 0 auto;
}
header {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    width: 100%;
}
main {
    padding-top: calc(85 * var(--width));
}
section {
    width: 100%;
    position: relative;
}
img {
    width: 100%;
    height: auto;
    display: block;
}
.appeal01 {
    margin-top: calc(-40 * var(--width));
}
.appeal01 > img {
    width: calc(742 * var(--width));
    margin-left: calc(24 * var(--width));
}
.price {
    padding-bottom: calc(30 * var(--width));
}
.price img {
    width: calc(755 * var(--width));
    margin-left: calc(17 * var(--width));
}
.appeal02 > img {
    width: calc(742 * var(--width));
    margin-left: calc(24 * var(--width));
}
.btn01 {
    position: absolute;
    top: calc(114 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    width: calc(654 * var(--width));
    height: calc(138 * var(--width));
    z-index: 2;
}
.changes {
    padding-bottom: calc(40 * var(--width));
}
.difference {
    padding-top: calc(20 * var(--width));
}
.faq {
    padding-bottom: calc(20 * var(--width));
}
.clinic {
    padding-top: calc(20 * var(--width));
}
footer {
    padding-bottom: calc(160 * var(--width));
}
.copyright {
    padding-top: calc(20 * var(--width));
    padding-bottom: calc(20 * var(--width));
}
.copyright img {
    width: calc(440 * var(--width));
    margin: 0 auto;
}
.cta {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(700 * var(--width));
    z-index: 4;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}
.show {
    opacity: 1;
    visibility: visible;
}
.cta .btn01 {
    position: static;
    transform: none;
    width: 100%;
    height: auto;
    margin: 0 auto;
}
.btn01 img ,
.cta .btn01 img {
    animation: btn 1.6s ease-in infinite;
}
@keyframes btn {
    0% {
        transform: scale(1.09);
    }
    10% {
        transform: scale(1.09);
    }
    30% {
        transform: scale(1.01);
    }
    40% {
        transform: scale(1.01);
    }
    50% {
        transform: scale(1, 1.04);
    }
    60% {
        transform: scale(1.09);
    }
    70% {
        transform: scale(1.02);
    }
    100% {
        transform: scale(1.09);
    }
}