@charset "UTF-8";

@property --issue-fade {
    syntax: "<length>";
    inherits: false;
    initial-value: 0px;
}

.sp-br {
    display: none;
}

.doctor__inner {
    width: 100%;
    max-width: 1130px;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    padding: 92px 0 111px;
}

/* header */
:root {
    --header-height: 80px;
}

html {
    scroll-padding-top: var(--header-height);
}

body {
    padding-top: var(--header-height);
}

.doctor__header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    background-color: #FFFFFF;
    transition: transform 0.3s ease, visibility 0s linear 0s;
}

.doctor__header.is-hidden {
    transform: translateY(-100%);
    visibility: hidden;
    transition: transform 0.3s ease, visibility 0s linear 0.3s;
}

.doctor__header-inner {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    height: var(--header-height);
    padding: 0 120px 0 105px;
}

.doctor__header-logo {
    flex-shrink: 0;
    display: block;
    width: 122px;
    transition: opacity 0.3s ease;
}

.doctor__header-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.doctor__header-nav {
    margin: 0 0 0 auto;
}

.doctor__header-list {
    display: flex;
    align-items: center;
    gap: 32px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.doctor__header-link {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0;
    white-space: nowrap;
    color: #000000;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.doctor__header-cta {
    position: relative;
    flex-shrink: 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 214px;
    height: 42px;
    margin: 0 0 0 40px;
    padding: 0 20px 0 0;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 12.5px;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    color: #FFFFFF;
    text-decoration: none;
    background: linear-gradient(90deg, #F0D800 0%, #FF9900 100%);
    border-radius: 21px;
    box-shadow: 3px 3px 4px 0 #00000040;
    transition: opacity 0.3s ease;
}

.doctor__header-cta::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    width: 9px;
    height: 9px;
    border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
    transform: translateY(-50%) rotate(45deg);
}

.doctor__header-switch,
.doctor__header-toggle,
.doctor__header-menu {
    display: none;
}

.doctor__header a:focus-visible,
.doctor__header button:focus-visible {
    outline: 2px solid #FF8C00;
    outline-offset: 3px;
}

@media (max-width: 1440px) {
    :root {
        --header-height: 5.556vw;
    }

    .doctor__header-inner {
        padding: 0 8.333vw 0 7.292vw;
    }

    .doctor__header-logo {
        width: 8.472vw;
    }

    .doctor__header-list {
        gap: 2.222vw;
    }

    .doctor__header-link {
        font-size: 0.972vw;
    }

    .doctor__header-cta {
        width: 14.861vw;
        height: 2.917vw;
        margin: 0 0 0 2.778vw;
        padding: 0 1.389vw 0 0;
        font-size: 0.868vw;
        border-radius: 1.458vw;
        box-shadow: 0.208vw 0.208vw 0.278vw 0 #00000040;
    }

    .doctor__header-cta::before {
        right: 1.25vw;
        width: 0.625vw;
        height: 0.625vw;
        border-top-width: 0.139vw;
        border-right-width: 0.139vw;
    }
}

@media (max-width: 768px) {
    :root {
        --header-height: 14.925vw;
    }

    .doctor__header-inner {
        padding: 0 1.99vw 0 3.483vw;
    }

    .doctor__header-logo {
        width: 29.851vw;
    }

    .doctor__header-nav,
    .doctor__header-cta {
        display: none;
    }

    .doctor__header-switch {
        position: relative;
        flex-shrink: 0;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 37.313vw;
        height: 8.458vw;
        margin: 0 0 0 auto;
        padding: 0 3.483vw 0 0;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 800;
        font-size: 2.985vw;
        line-height: 1;
        letter-spacing: 0;
        white-space: nowrap;
        color: #FFFFFF;
        text-decoration: none;
        background: linear-gradient(90deg, #41A3FF 0%, #183EC9 100%);
        border-radius: 4.229vw;
    }

    .doctor__header-switch::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 3.234vw;
        width: 1.493vw;
        height: 1.493vw;
        border-top: 0.373vw solid #FFFFFF;
        border-right: 0.373vw solid #FFFFFF;
        transform: translateY(-50%) rotate(45deg);
    }

    .doctor__header-toggle {
        position: relative;
        flex-shrink: 0;
        display: block;
        width: 11.94vw;
        height: 10.945vw;
        margin: 0 0 0 1.99vw;
        padding: 0;
        background: none;
        border: none;
        cursor: pointer;
        appearance: none;
    }

    .doctor__header-toggle-line {
        position: absolute;
        left: 50%;
        width: 8.458vw;
        height: 0.498vw;
        background-color: #8A8A8A;
        border-radius: 0.249vw;
        transform: translateX(-50%);
        transition: transform 0.3s ease, opacity 0.3s ease, top 0.3s ease;
    }

    .doctor__header-toggle-line:nth-child(1) {
        top: 3.234vw;
    }

    .doctor__header-toggle-line:nth-child(2) {
        top: 5.224vw;
    }

    .doctor__header-toggle-line:nth-child(3) {
        top: 7.214vw;
    }

    .doctor__header.is-menu-open .doctor__header-toggle-line:nth-child(1) {
        top: 5.224vw;
        transform: translateX(-50%) rotate(45deg);
    }

    .doctor__header.is-menu-open .doctor__header-toggle-line:nth-child(2) {
        opacity: 0;
    }

    .doctor__header.is-menu-open .doctor__header-toggle-line:nth-child(3) {
        top: 5.224vw;
        transform: translateX(-50%) rotate(-45deg);
    }

    .doctor__header-toggle-label {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .doctor__header-menu {
        position: fixed;
        top: 14.925vw;
        left: 0;
        z-index: 99;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        gap: 7.96vw;
        width: 100%;
        height: calc(100dvh - 14.925vw);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 1.99vw 4.975vw 9.95vw;
        background-color: #FFFFFF;
        border-top: 1px solid #E6E6E6;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-1.99vw);
        transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
    }

    .doctor__header.is-menu-open .doctor__header-menu {
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .doctor__header-menu-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .doctor__header-menu-link {
        position: relative;
        display: block;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 800;
        font-size: 3.731vw;
        line-height: 1.6;
        letter-spacing: 0;
        color: #000000;
        text-decoration: none;
        border-bottom: 1px solid #E6E6E6;
        padding: 4.478vw 7.96vw 4.478vw 0.995vw;
    }

    .doctor__header-menu-link::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 1.99vw;
        width: 1.99vw;
        height: 1.99vw;
        border-top: 0.498vw solid #FF8C00;
        border-right: 0.498vw solid #FF8C00;
        transform: translateY(-50%) rotate(45deg);
    }

    .doctor__header-menu-actions {
        display: flex;
        flex-direction: column;
        gap: 3.483vw;
    }

    .doctor__header-menu-cta,
    .doctor__header-menu-switch {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 900;
        line-height: 1.5;
        letter-spacing: 0;
        color: #FFFFFF;
        text-decoration: none;
        box-shadow: 0.746vw 0.746vw 0.995vw 0 #0000007A;
    }

    .doctor__header-menu-cta {
        height: 14.428vw;
        font-size: 3.98vw;
        background: linear-gradient(90deg, #F0D800 0%, #FF9900 100%);
        border-radius: 7.214vw;
    }

    .doctor__header-menu-switch {
        height: 12.438vw;
        font-size: 3.483vw;
        background: linear-gradient(90deg, #41A3FF 0%, #183EC9 100%);
        border-radius: 6.219vw;
    }

    .doctor__header-menu-cta::before,
    .doctor__header-menu-switch::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 5.473vw;
        width: 2.239vw;
        height: 2.239vw;
        border-top: 0.498vw solid #FFFFFF;
        border-right: 0.498vw solid #FFFFFF;
        transform: translateY(-50%) rotate(45deg);
    }
}

@media (prefers-reduced-motion: reduce) {

    .doctor__header-logo,
    .doctor__header-link,
    .doctor__header-cta,
    .doctor__header-toggle-line,
    .doctor__header-menu {
        transition: none;
    }
}

.doctor__section--kv {
    position: relative;
    width: 100%;
    height: 1254px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    background-image: url("../img/dr/for-doctor-kv.webp");
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
}

.doctor__section--kv>.doctor__inner {
    width: calc(100% - 120px);
    height: auto;
    padding-top: 0;
    padding-bottom: 129px;
}

.doctor__kv-title {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 66px;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: center;
    color: #FFFFFF;
    text-shadow: 0 0 16.21px #00000040;
    margin: 0 0 50px;
}

.doctor__kv-text {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: calc(34 / 18);
    letter-spacing: 0;
    text-align: center;
    color: #000000;
    margin: 0 0 56px;
}

.doctor__kv-text span {
    font-weight: 800;
}

.doctor__kv-labels {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 28.22px;
    margin: 0 0 60px;
}

.doctor__kv-label {
    position: relative;
    width: 274.28px;
    height: 114px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.doctor__kv-label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 274.28px;
    height: 114px;
    background-image: url("../img/dr/for-doctor-label.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.doctor__kv-label .label-text,
.doctor__kv-label .label-text-large,
.doctor__kv-label .label-text-num,
.doctor__kv-label .label-text-yen {
    position: relative;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    background: linear-gradient(90deg, #2F7BFF 0%, #0039D9 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.doctor__kv-label .label-text {
    font-size: 24.83px;
}

.doctor__kv-label .label-text-large {
    font-size: 33.85px;
}

.doctor__kv-label .label-text-num {
    font-size: 46px;
}

.doctor__kv-label .label-text-yen {
    font-size: 28px;
}

.doctor__cta-wrap {
    width: 100%;
    max-width: 445px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
}

.doctor__cta {
    position: relative;
    order: 2;
    width: 100%;
    height: 74.88px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 37.44px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 19.81px;
    line-height: calc(37.44 / 19.82);
    letter-spacing: 0;
    text-align: center;
    color: #FFFFFF;
    text-decoration: none;
    background: linear-gradient(90deg, #F09A00 0%, #FF6600 100%);
    box-shadow: 5.52px 5.52px 4.41px 0 #0000007A;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .doctor__header-logo,
    .doctor__header-link,
    .doctor__header-cta,
    .doctor__header-switch,
    .doctor__header-toggle,
    .doctor__header-menu-link,
    .doctor__header-menu-cta,
    .doctor__header-menu-switch,
    .doctor__cta,
    .doctor__switch,
    .doctor__issue-more,
    .doctor__faq-question,
    .doctor__form-consent a {
        transition: opacity 0.3s ease;
    }

    .doctor__header-logo:hover,
    .doctor__header-link:hover,
    .doctor__header-cta:hover,
    .doctor__header-switch:hover,
    .doctor__header-toggle:hover,
    .doctor__header-menu-link:hover,
    .doctor__header-menu-cta:hover,
    .doctor__header-menu-switch:hover,
    .doctor__cta:hover:not(:disabled),
    .doctor__switch:hover,
    .doctor__issue-more:hover,
    .doctor__faq-question:hover,
    .doctor__form-consent a:hover {
        opacity: 0.85;
    }
}

.doctor__cta-span {
    position: relative;
    order: 1;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0;
    color: #F08C00;
    z-index: 1;
}

.doctor__cta-span::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 287px;
    height: 48.11px;
    background-image: url("../img/dr/cta-deco.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    filter: drop-shadow(4px 4px 2px #00000021);
}

.doctor__switch-wrap {
    position: fixed;
    right: 0;
    bottom: 100px;
    z-index: 90;
    width: 352px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.doctor__switch {
    position: relative;
    order: 2;
    width: 100%;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px 0 0 10px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: center;
    color: #FFFFFF;
    text-decoration: none;
    background: linear-gradient(90deg, #41A3FF 0%, #183EC9 100%);
    box-shadow: 5.52px 5.52px 4.41px 0 #0000007A;
}

.doctor__switch-span {
    position: relative;
    order: 1;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0;
    color: #0044FF;
    z-index: 1;
}

.doctor__switch-span::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 287px;
    height: 48.11px;
    background-image: url("../img/clinic/cta-deco.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    filter: drop-shadow(4px 4px 2px #00000021);
}

.doctor__cta:focus-visible,
.doctor__switch:focus-visible {
    outline: 2px solid #FFFFFF;
    outline-offset: 3px;
}

@media (max-width: 1440px) {
    .doctor__inner {
        max-width: 78.472vw;
        padding: 6.389vw 0 7.708vw;
    }

    .doctor__section--kv {
        height: 87.083vw;
    }

    .doctor__section--kv>.doctor__inner {
        width: calc(100% - 8.333vw);
        padding-bottom: 8.958vw;
    }

    .doctor__kv-title {
        font-size: 4.583vw;
        text-shadow: 0 0 1.126vw #00000040;
        margin: 0 0 3.472vw;
    }

    .doctor__kv-text {
        font-size: 1.25vw;
        margin: 0 0 3.889vw;
    }

    .doctor__kv-labels {
        gap: 1.96vw;
        margin: 0 0 4.167vw;
    }

    .doctor__kv-label {
        width: 19.047vw;
        height: 7.917vw;
        gap: 0.556vw;
    }

    .doctor__kv-label::before {
        width: 19.047vw;
        height: 7.917vw;
    }

    .doctor__kv-label .label-text {
        font-size: 1.724vw;
    }

    .doctor__kv-label .label-text-large {
        font-size: 2.351vw;
    }

    .doctor__kv-label .label-text-num {
        font-size: 3.194vw;
    }

    .doctor__kv-label .label-text-yen {
        font-size: 1.944vw;
    }

    .doctor__cta-wrap {
        max-width: 30.903vw;
    }

    .doctor__cta {
        height: 5.2vw;
        border-radius: 2.6vw;
        font-size: 1.376vw;
        box-shadow: 0.383vw 0.383vw 0.306vw 0 #0000007A;
    }

    .doctor__cta-span {
        font-size: 1.042vw;
    }

    .doctor__cta-span::before {
        top: -0.556vw;
        width: 19.931vw;
        height: 3.341vw;
        filter: drop-shadow(0.278vw 0.278vw 0.139vw #00000021);
    }

    .doctor__switch-wrap {
        width: 24.444vw;
    }

    .doctor__switch {
        height: 5.556vw;
        border-radius: 0.694vw 0 0 0.694vw;
        font-size: 1.667vw;
        box-shadow: 0.383vw 0.383vw 0.306vw 0 #0000007A;
    }

    .doctor__switch-span {
        font-size: 1.111vw;
    }

    .doctor__switch-span::before {
        top: -0.556vw;
        width: 19.931vw;
        height: 3.341vw;
        filter: drop-shadow(0.278vw 0.278vw 0.139vw #00000021);
    }
}

@media (max-width: 768px) {
    .sp-br {
        display: inline;
    }

    .pc-br {
        display: none;
    }

    .doctor__inner {
        max-width: none;
    }

    .doctor__section--kv {
        height: auto;
        justify-content: flex-start;
        background-color: #FFE6C2;
        background-image: url("../img/dr/for-doctor-kv-sp.webp");
        background-size: 100% auto;
        background-position: top center;
    }

    .doctor__section--kv>.doctor__inner {
        width: 100%;
        box-sizing: border-box;
        padding: 14vw 4.478vw 5vw;
    }

    .doctor__kv-title {
        align-self: stretch;
        font-size: 5.971vw;
        line-height: 1.45;
        text-align: right;
        text-shadow: 0 0 1.99vw #00000040;
        margin: 0 -2.488vw 12.935vw 0;
    }

    .doctor__kv-text {
        font-size: 3.358vw;
        line-height: 2;
        margin: 0 0 5vw;
    }

    .doctor__kv-labels {
        flex-wrap: nowrap;
        gap: 1.493vw;
        margin: 0 0 6vw;
    }

    .doctor__kv-label {
        flex-shrink: 0;
        width: 29.353vw;
        height: 12.189vw;
        gap: 0.995vw;
    }

    .doctor__kv-label::before {
        width: 29.353vw;
        height: 12.189vw;
    }

    .doctor__kv-label .label-text {
        font-size: 2.612vw;
    }

    .doctor__kv-label .label-text-large {
        font-size: 3.606vw;
    }

    .doctor__kv-label .label-text-num {
        font-size: 4.9vw;
    }

    .doctor__kv-label .label-text-yen {
        font-size: 2.985vw;
    }

    .doctor__cta-wrap {
        max-width: none;
    }

    .doctor__cta {
        height: 15.423vw;
        font-size: 3.98vw;
        line-height: 1.5;
        border-radius: 7.711vw;
        box-shadow: 0.995vw 0.995vw 0.995vw 0 #0000007A;
    }

    .doctor__cta-span {
        font-size: 3.358vw;
    }

    .doctor__cta-span::before {
        top: -1.741vw;
        width: 59.701vw;
        height: 10vw;
    }

    .doctor__switch-wrap {
        display: none;
    }
}

/* issues */

.doctor__section--issues {
    background-image: url("../img/dr/doctor-issue-bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.doctor__title {
    order: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 0 0 66px;
}

.doctor__title-line {
    position: relative;
    display: inline-block;
}

.doctor__title-line::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 102%;
    height: 16px;
    background: linear-gradient(90deg, #9AE1FF 0%, #95CCFF 55.77%, #6D8CFF 100%);
    z-index: 0;
}

.doctor__title-line-text {
    position: relative;
    z-index: 1;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 37.74px;
    line-height: 1;
    letter-spacing: 0;
    background: linear-gradient(90deg, #41A3FF 0%, #183EC9 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.doctor__text-line {
    display: inline;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 20px;
    line-height: 58px;
    letter-spacing: 0;
    color: #000000;
    background: linear-gradient(90deg, #B5F6FF 0%, #FFF7E1 100%);
    border-radius: 8.02px;
    padding: 10px 10px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.doctor__section--issues .doctor__title {
    order: 3;
}

.doctor__text {
    order: 2;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: center;
    color: #000000;
    margin: 0 0 46px;
}

.doctor__section--issues .doctor__text {
    order: 4;
}

.doctor__issue-wrap {
    order: 5;
    position: relative;
}

.doctor__issue-list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 27px;
}

.doctor__issue {
    width: 100%;
    max-width: 358px;
    height: 362px;
    background-color: #fff;
    box-shadow: 0 0 8.7px 0 #CECECE;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 11.72px;
}

.doctor__issue-title {
    order: 2;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #7B7B7B;
    text-align: center;
    margin: 0 0 15px;
}

.doctor__issue-text {
    order: 3;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 12.56px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #000000;
}

.doctor__issue-image {
    order: 1;
    width: 100%;
    max-width: 244px;
    height: auto;
    margin: 0 0 25px;
}

.doctor__issue-more {
    display: none;
}

.doctor__highlight {
    order: 6;
    display: flex;
    flex-direction: column;
    margin: 0 0 14px;
}

.doctor__highlight-line {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 20.64px;
    line-height: calc(47 / 20.63);
    letter-spacing: 0;
    text-align: center;
    color: #323232;
}

.doctor__catch {
    order: 7;
    width: fit-content;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 30px;
    line-height: calc(47 / 30);
    letter-spacing: 0;
    text-align: center;
    color: #323232;
    background: linear-gradient(90deg, rgba(66, 230, 255, 0.8) 0%, rgba(255, 243, 205, 0.8) 100%);
    border-radius: 8.02px;
    margin: 0 auto;
    padding: 0 20px 0 30px;
}

@media (max-width: 1440px) {
    .doctor__title {
        gap: 0.278vw;
        margin: 0 0 4.583vw;
    }

    .doctor__title-line::before {
        height: 1.111vw;
    }

    .doctor__title-line-text {
        font-size: 2.621vw;
    }

    .doctor__text-line {
        font-size: 1.389vw;
        line-height: 4.028vw;
        border-radius: 0.557vw;
        padding: 0.694vw 0.694vw;
    }

    .doctor__text {
        font-size: 1.042vw;
        margin: 0 0 3.194vw;
    }

    .doctor__issue-list {
        gap: 1.875vw;
    }

    .doctor__issue {
        max-width: 24.861vw;
        height: 25.139vw;
        box-shadow: 0 0 0.604vw 0 #CECECE;
        padding: 1.389vw;
        border-radius: 0.814vw;
    }

    .doctor__issue-title {
        font-size: 1.389vw;
        margin: 0 0 1.042vw;
    }

    .doctor__issue-text {
        font-size: 0.872vw;
    }

    .doctor__issue-image {
        max-width: 16.944vw;
        margin: 0 0 1.736vw;
    }

    .doctor__highlight {
        margin: 0 0 0.972vw;
    }

    .doctor__highlight-line {
        font-size: 1.433vw;
    }

    .doctor__catch {
        font-size: 2.083vw;
        border-radius: 0.557vw;
        padding: 0 1.389vw 0 2.083vw;
    }
}

@media (max-width: 768px) {
    .doctor__section--issues .doctor__inner {
        box-sizing: border-box;
        padding: 9.95vw 2.488vw 13.93vw;
    }

    .doctor__text-line {
        font-size: 3.483vw;
        line-height: 8.955vw;
        padding: 1.243vw 1.99vw;
        border-radius: 1.493vw;
    }

    .doctor__lead {
        font-size: 2.985vw;
        margin: 0 0 7.462vw;
    }

    .doctor__lead::before {
        top: -2.736vw;
        width: 62.189vw;
        height: 11.991vw;
    }

    .doctor__section--issues .doctor__title {
        display: block;
        text-align: center;
        line-height: 1.6;
        margin: 0 0 8.955vw;
    }

    .doctor__section--issues .doctor__title-line {
        display: inline;
        background-image: linear-gradient(90deg, #9AE1FF 0%, #95CCFF 55.77%, #6D8CFF 100%);
        background-size: 100% 40%;
        background-position: 0 100%;
        background-repeat: no-repeat;
        padding: 0 0.498vw;
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
    }

    .doctor__section--issues .doctor__title-line::before {
        content: none;
    }

    .doctor__section--issues .doctor__title-line-text {
        display: inline;
        font-size: 5.971vw;
        line-height: 1.6;
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
    }

    .doctor__section--issues .doctor__text {
        font-size: 3.483vw;
        line-height: 1.85;
        margin: 0 0 8.955vw;
    }

    .doctor__issue-list {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        justify-content: flex-start;
        gap: 4.478vw;
    }

    .doctor__issue {
        flex-shrink: 0;
        max-width: none;
        height: auto;
        display: grid;
        grid-template-columns: 34.826vw 1fr;
        grid-template-areas: "title title"
            "image text";
        column-gap: 2.985vw;
        padding: 4.478vw 3.98vw 4.975vw;
        border-radius: 2.488vw;
    }

    .doctor__issue-title {
        grid-area: title;
        font-size: 3.731vw;
        margin: 0 0 2.985vw;
    }

    .doctor__issue-image {
        grid-area: image;
        max-width: 34.826vw;
        margin: 0;
    }

    .doctor__issue-text {
        grid-area: text;
        font-size: 3.358vw;
        line-height: 1.7;
    }

    .doctor__issue-wrap.is-ready .doctor__issue-list {
        position: relative;
        box-sizing: border-box;
        overflow: hidden;
        padding: 2.488vw 2.488vw 0;
        margin: -2.488vw -2.488vw 0;
        -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - var(--issue-fade)), transparent 100%);
        mask-image: linear-gradient(to bottom, #000 calc(100% - var(--issue-fade)), transparent 100%);
        --issue-fade: 34.826vw;
        transition: --issue-fade 0.5s ease;
    }

    .doctor__issue-wrap.is-ready.is-open .doctor__issue-list {
        --issue-fade: 0px;
    }

    .doctor__issue-more {
        position: absolute;
        left: 50%;
        bottom: 1.493vw;
        transform: translateX(-50%);
        align-items: center;
        justify-content: center;
        width: 53.233vw;
        height: 10.945vw;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 800;
        font-size: 3.483vw;
        line-height: 1;
        letter-spacing: 0;
        color: #0044FF;
        background-color: #C9D8FF;
        border: none;
        border-radius: 1.493vw;
        box-shadow: 0 0.995vw 1.99vw 0 #00000026;
        cursor: pointer;
        appearance: none;
    }

    .doctor__issue-wrap.is-ready .doctor__issue-more {
        display: flex;
    }

    .doctor__issue-more::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 4.478vw;
        width: 2.488vw;
        height: 2.488vw;
        border-right: 0.498vw solid #FFFFFF;
        border-bottom: 0.498vw solid #FFFFFF;
        transform: translateY(-75%) rotate(45deg);
        transition: transform 0.4s ease;
    }

    .doctor__issue-more:focus-visible {
        outline: 0.498vw solid #0044FF;
        outline-offset: 0.746vw;
    }

    .doctor__issue-wrap.is-open .doctor__issue-more {
        position: static;
        transform: none;
        margin: 5.971vw auto 0;
    }

    .doctor__issue-wrap.is-open .doctor__issue-more::after {
        transform: translateY(-25%) rotate(225deg);
    }

    .doctor__issue-wrap {
        margin: 0 0 9.95vw;
    }

    .doctor__highlight {
        margin: 0 0 4.975vw;
    }

    .doctor__highlight-line {
        font-size: 3.358vw;
        line-height: 1.9;
    }

    .doctor__catch {
        width: auto;
        font-size: 4.975vw;
        line-height: 2.4;
        background: none;
        border-radius: 0;
        padding: 0;
    }

    .doctor__catch-text {
        background: linear-gradient(90deg, rgba(66, 230, 255, 0.8) 0%, rgba(255, 243, 205, 0.8) 100%);
        border-radius: 1.493vw;
        padding: 1.493vw 3.483vw;
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
    }
}

@media (max-width: 768px) and (prefers-reduced-motion: reduce) {

    .doctor__issue-more::after,
    .doctor__issue-wrap.is-ready .doctor__issue-list {
        transition: none;
    }
}

/* merits */

.doctor__section--merits {
    position: relative;
    width: 100%;
}

.doctor__section--merits::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 1439 / 873;
    background-image: url("../img/dr/merit-bg.webp");
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.doctor__section--merits::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(66, 230, 255, 0.31) 0%, rgba(255, 243, 205, 0.31) 100%);
    pointer-events: none;
    z-index: 0;
}

.doctor__section--merits>.doctor__inner {
    position: relative;
    z-index: 1;
    max-width: 700px;
}

.doctor__merits {
    order: 3;
    display: flex;
    flex-direction: column;
    gap: 34px;
    margin: 0 0 63px;
}

.doctor__merit {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-around;
    gap: 20px;
    background-color: #fff;
    border: 1px solid #0044FF;
    border-radius: 9.33px;
    padding: 15px 25px;
}

.doctor__merit-content {
    position: relative;
    width: 100%;
    max-width: 670px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
}

.doctor__merit-title {
    position: relative;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #000000;
}

.doctor__merit-text {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #000000;
}

.doctor__merit-image {
    flex-shrink: 0;
    width: 100%;
    max-width: 100px;
    height: auto;
}

.doctor__section--merits .doctor__cta-wrap {
    order: 4;
}

@media (max-width: 1440px) {
    .doctor__section--merits>.doctor__inner {
        max-width: 48.611vw;
    }

    .doctor__merits {
        gap: 2.361vw;
        margin: 0 0 4.375vw;
    }

    .doctor__merit {
        gap: 1.389vw;
        border-radius: 0.648vw;
        padding: 1.042vw 1.736vw;
    }

    .doctor__merit-content {
        max-width: 46.528vw;
        gap: 0.903vw;
    }

    .doctor__merit-title {
        font-size: 1.528vw;
    }

    .doctor__merit-text {
        font-size: 1.042vw;
    }

    .doctor__merit-image {
        max-width: 6.944vw;
    }
}

@media (max-width: 768px) {
    .doctor__section--merits>.doctor__inner {
        width: calc(100% - 7.96vw);
        max-width: 100%;
        box-sizing: border-box;
    }

    .doctor__section--merits .doctor__title {
        margin: 0 0 8.955vw;
    }

    .doctor__section--merits .doctor__title-line::before {
        height: 2.985vw;
    }

    .doctor__section--merits .doctor__title-line-text {
        font-size: 5.473vw;
        line-height: 1.5;
    }

    .doctor__section--merits .doctor__text {
        font-size: 3.483vw;
        line-height: 1.75;
        text-align: center;
        margin: 0 0 7.96vw;
    }

    .doctor__merits {
        gap: 5.473vw;
        margin: 0 0 9.95vw;
    }

    .doctor__merit {
        display: grid;
        grid-template-columns: 17.911vw 1fr;
        align-items: center;
        column-gap: 4.975vw;
        border-radius: 1.99vw;
        padding: 5.473vw 4.975vw;
    }

    .doctor__merit-image {
        grid-column: 1;
        grid-row: 1;
        max-width: 17.911vw;
    }

    .doctor__merit-content {
        grid-column: 2;
        grid-row: 1;
        max-width: none;
        gap: 2.488vw;
    }

    .doctor__merit-title {
        font-size: 3.98vw;
    }

    .doctor__merit-text {
        font-size: 3.483vw;
        line-height: 1.75;
    }
}

/* flow */

.doctor__section--flow {
    width: 100%;
}

.doctor__section--flow>.doctor__inner {
    width: calc(100% - 120px);
    max-width: 804px;
    padding: 53px 0 83px;
}

.doctor__flow-list {
    order: 3;
    display: flex;
    flex-direction: column;
    gap: 57px;
    counter-reset: dr-flow;
    list-style: none;
    margin: 0;
    padding: 0;
}

.doctor__flow-item {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    gap: 23px;
    background-color: #fff;
    border: 1px solid #0044FF;
    border-radius: 11.72px;
    padding: 16px 34px 16px 55px;
    counter-increment: dr-flow;
}

.doctor__flow-item-content::before {
    content: "STEP";
    position: absolute;
    top: 8px;
    left: -26px;
    transform: translateY(calc(-50% - 40px));
    width: 70px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 19.3px;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: center;
    color: #0044FF;
}

.doctor__flow-item-content::after {
    content: counter(dr-flow, decimal-leading-zero);
    position: absolute;
    top: 0;
    left: -26px;
    transform: translateY(-50%);
    width: 70px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 50px;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: center;
    color: #0044FF;
}

.doctor__flow-item:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(100% + (57px - 43px) / 2);
    transform: translateX(-50%);
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background-color: #0044FF;
    z-index: 1;
}

.doctor__flow-item:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(100% + 57px / 2);
    width: 16px;
    height: 16px;
    border-bottom: 2.2px solid #FFFFFF;
    border-right: 2.2px solid #FFFFFF;
    transform: translate(-50%, -65%) rotate(45deg);
    z-index: 2;
}

.doctor__flow-item-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
}

.doctor__flow-item-title {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 20.71px;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: left;
    color: #000000;
}

.doctor__flow-item-text {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 12.56px;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: left;
    color: #000000;
}

.doctor__flow-item-image {
    width: 100%;
    max-width: 82px;
    height: auto;
}

.doctor__section--flow .doctor__cta-wrap {
    order: 4;
    margin: 30px auto 0;
}

@media (max-width: 1440px) {
    .doctor__section--flow>.doctor__inner {
        width: calc(100% - 8.333vw);
        max-width: 55.833vw;
        padding: 3.681vw 0 5.764vw;
    }

    .doctor__flow-list {
        gap: 3.958vw;
    }

    .doctor__flow-item {
        gap: 1.597vw;
        border-radius: 0.814vw;
        padding: 1.111vw 2.361vw 1.111vw 3.819vw;
    }

    .doctor__flow-item-content::before {
        top: 0.556vw;
        left: -1.806vw;
        transform: translateY(calc(-50% - 2.778vw));
        width: 4.861vw;
        font-size: 1.34vw;
    }

    .doctor__flow-item-content::after {
        left: -1.806vw;
        width: 4.861vw;
        font-size: 3.472vw;
    }

    .doctor__flow-item:not(:last-child)::after {
        top: calc(100% + (3.958vw - 2.986vw) / 2);
        width: 3.194vw;
        height: 3.194vw;
    }

    .doctor__flow-item:not(:last-child)::before {
        top: calc(100% + 3.958vw / 2);
        width: 1.111vw;
        height: 1.111vw;
        border-bottom: 0.153vw solid #FFFFFF;
        border-right: 0.153vw solid #FFFFFF;
    }

    .doctor__flow-item-content {
        gap: 0.417vw;
    }

    .doctor__flow-item-title {
        font-size: 1.438vw;
    }

    .doctor__flow-item-text {
        font-size: 0.872vw;
    }

    .doctor__flow-item-image {
        max-width: 5.694vw;
    }

    .doctor__section--flow .doctor__cta-wrap {
        margin: 2.083vw auto 0;
    }
}

@media (max-width: 768px) {
    .doctor__section--flow>.doctor__inner {
        width: calc(100% - 7.96vw);
        max-width: 100%;
    }

    .doctor__section--flow .doctor__title {
        margin: 0 0 5.971vw;
    }

    .doctor__section--flow .doctor__title-line::before {
        height: 2.488vw;
    }

    .doctor__section--flow .doctor__title-line-text {
        font-size: 4.975vw;
        line-height: 1.5;
    }

    .doctor__section--flow .doctor__text {
        font-size: 3.358vw;
        line-height: 1.6;
        margin: 0 0 10.945vw;
    }

    .doctor__flow-list {
        gap: 9.95vw;
    }

    .doctor__flow-item {
        gap: 4.478vw;
        border-radius: 2.488vw;
        padding: 6.468vw 4.975vw 6.468vw 6.966vw;
    }

    .doctor__flow-item-content::before {
        top: -5.473vw;
        left: -0.498vw;
        transform: translateY(-50%);
        width: auto;
        font-size: 3.234vw;
        line-height: 1;
        text-align: left;
    }

    .doctor__flow-item-content::after {
        top: 0.995vw;
        left: -0.995vw;
        width: auto;
        font-size: 8.457vw;
        line-height: 1;
        text-align: left;
    }

    .doctor__flow-item:not(:last-child)::after {
        top: calc(100% - 2.488vw);
        width: 10.945vw;
        height: 10.945vw;
    }

    .doctor__flow-item:not(:last-child)::before {
        top: calc(100% + 2.985vw);
        width: 3.234vw;
        height: 3.234vw;
        border-bottom-width: 0.498vw;
        border-right-width: 0.498vw;
    }

    .doctor__flow-item-content {
        gap: 2.488vw;
    }

    .doctor__flow-item-title {
        font-size: 3.98vw;
    }

    .doctor__flow-item-text {
        font-size: 3.483vw;
        line-height: 1.85;
    }

    .doctor__section--flow .doctor__cta-wrap {
        margin: 7.463vw auto 0;
    }

    .doctor__flow-item-image {
        flex-shrink: 0;
        max-width: 14.925vw;
    }
}

/* function */

.doctor__section--function {
    position: relative;
    width: 100%;
    background-image: url("../img/clinic/function-bg.webp");
    background-size: 100% 599px;
    background-position: bottom center;
    background-repeat: no-repeat;
}

.doctor__section--function>.doctor__inner {
    width: calc(100% - 120px);
    max-width: 804px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 41px;
    padding: 0 0 75px;
}

.doctor__function-left {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
}

.doctor__function-left .doctor__title {
    align-items: flex-start;
    margin: 0 0 57px;
}

.doctor__function-left .doctor__text {
    text-align: left;
    margin: 0 0 73px;
}

.doctor__function-list {
    order: 3;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
}

.doctor__function-item {
    position: relative;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: left;
    color: #000000;
    padding: 0 0 0 47px;
}

.doctor__function-item::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    background-image: url("../img/clinic/check-icon.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.doctor__function-right {
    width: 100%;
    max-width: 266px;
}

.doctor__function-image {
    width: 100%;
    height: auto;
}

@media (max-width: 1440px) {
    .doctor__section--function {
        background-size: 100% 41.597vw;
    }

    .doctor__section--function>.doctor__inner {
        width: calc(100% - 8.333vw);
        max-width: 55.833vw;
        gap: 2.847vw;
        padding: 0 0 5.208vw;
    }

    .doctor__function-left .doctor__title {
        margin: 0 0 3.958vw;
    }

    .doctor__function-left .doctor__text {
        margin: 0 0 5.069vw;
    }

    .doctor__function-list {
        gap: 1.389vw;
    }

    .doctor__function-item {
        font-size: 1.389vw;
        padding: 0 0 0 3.264vw;
    }

    .doctor__function-item::before {
        width: 2.5vw;
        height: 2.5vw;
    }

    .doctor__function-right {
        max-width: 18.472vw;
    }
}

@media (max-width: 768px) {
    .doctor__section--function {
        background-size: 100% 129.353vw;
    }

    .doctor__section--function>.doctor__inner {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 0;
        padding: 0 3.98vw 11.194vw;
    }

    .doctor__function-left {
        display: contents;
    }

    .doctor__function-left .doctor__title {
        order: 1;
        align-items: center;
        margin: 0 0 7.96vw;
    }

    .doctor__section--function .doctor__title-line::before {
        height: 2.985vw;
    }

    .doctor__section--function .doctor__title-line-text {
        font-size: 5.473vw;
        line-height: 1.5;
    }

    .doctor__function-left .doctor__text {
        order: 2;
        font-size: 3.483vw;
        line-height: 1.85;
        text-align: center;
        margin: 0 0 7.96vw;
    }

    .doctor__function-right {
        order: 3;
        max-width: 49.752vw;
        margin: 0 auto 8.955vw;
    }

    .doctor__function-list {
        order: 4;
        align-self: center;
        gap: 3.483vw;
        margin: 0 0 9.95vw;
    }

    .doctor__function-item {
        font-size: 3.731vw;
        padding: 0 0 0 8.457vw;
    }

    .doctor__function-item::before {
        width: 5.971vw;
        height: 5.971vw;
    }

    .doctor__section--function .doctor__cta-wrap {
        order: 5;
    }
}

/* faq */

.doctor__section--faq {
    width: 100%;
    background: linear-gradient(90deg, rgba(255, 243, 205, 0.3) 0%, rgba(66, 230, 255, 0.3) 100%);
}

.doctor__section--faq>.doctor__inner {
    width: calc(100% - 120px);
    max-width: 804px;
}

.doctor__faq-list {
    order: 2;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.doctor__faq-item {
    width: 100%;
    background-color: #fff;
    border-radius: 11.72px;
    box-shadow: 4px 4px 8.9px 0 #00000026;
    box-sizing: border-box;
    interpolate-size: allow-keywords;
}

.doctor__faq-question {
    position: relative;
    display: block;
    list-style: none;
    cursor: pointer;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #0044FF;
    padding: 26px 72px 26px 72px;
}

.doctor__faq-question::-webkit-details-marker {
    display: none;
}

.doctor__faq-question::before {
    content: "Q";
    position: absolute;
    top: 20px;
    left: 30px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #0044FF;
}

.doctor__faq-question::after {
    content: "";
    position: absolute;
    top: 28px;
    right: 30px;
    width: 11px;
    height: 11px;
    border-top: 2.2px solid #0044FF;
    border-left: 2.2px solid #0044FF;
    transform: rotate(225deg);
    transition: transform 0.3s ease;
}

.doctor__faq-item[open] .doctor__faq-question::after {
    top: 20px;
    transform: rotate(45deg) translate(10px, 10px);
}

.doctor__faq-question:focus-visible {
    outline: 2px solid #0044FF;
    outline-offset: -2px;
    border-radius: 11.72px;
}

.doctor__faq-answer {
    padding: 0 30px 32px;
}

.doctor__faq-item[open] .doctor__faq-question {
    padding-bottom: 20px;
}

.doctor__faq-text {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 12.56px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #000000;
}

.doctor__faq-item::details-content {
    block-size: 0;
    overflow: hidden;
    transition: block-size 0.3s ease, content-visibility 0.3s ease allow-discrete;
}

.doctor__faq-item[open]::details-content {
    block-size: auto;
}

@media (max-width: 1440px) {
    .doctor__section--faq>.doctor__inner {
        width: calc(100% - 8.333vw);
        max-width: 55.833vw;
    }

    .doctor__faq-list {
        gap: 1.389vw;
    }

    .doctor__faq-item {
        border-radius: 0.814vw;
        box-shadow: 0.278vw 0.278vw 0.618vw 0 #00000026;
    }

    .doctor__faq-question {
        font-size: 1.111vw;
        padding: 1.806vw 5vw 1.806vw 5vw;
    }

    .doctor__faq-question::before {
        top: 1.389vw;
        left: 2.083vw;
        font-size: 1.528vw;
    }

    .doctor__faq-question::after {
        top: 1.944vw;
        right: 2.083vw;
        width: 0.764vw;
        height: 0.764vw;
        border-top: 0.153vw solid #0044FF;
        border-left: 0.153vw solid #0044FF;
    }

    .doctor__faq-item[open] .doctor__faq-question::after {
        top: 1.389vw;
        transform: rotate(45deg) translate(0.694vw, 0.694vw);
    }

    .doctor__faq-question:focus-visible {
        border-radius: 0.814vw;
    }

    .doctor__faq-answer {
        padding: 0 2.083vw 2.222vw;
    }

    .doctor__faq-item[open] .doctor__faq-question {
        padding-bottom: 1.389vw;
    }

    .doctor__faq-text {
        font-size: 0.872vw;
    }
}

@media (max-width: 768px) {
    .doctor__section--faq>.doctor__inner {
        width: calc(100% - 7.96vw);
        max-width: 100%;
        box-sizing: border-box;
        padding: 11.94vw 0 15.92vw;
    }

    .doctor__section--faq .doctor__title {
        margin: 0 0 8.955vw;
    }

    .doctor__section--faq .doctor__title-line::before {
        height: 2.985vw;
    }

    .doctor__section--faq .doctor__title-line-text {
        font-size: 5.473vw;
        line-height: 1.5;
    }

    .doctor__faq-list {
        gap: 5.971vw;
    }

    .doctor__faq-item {
        border-radius: 2.488vw;
        box-shadow: 0.746vw 0.746vw 1.99vw 0 #00000026;
    }

    .doctor__faq-question {
        font-size: 3.731vw;
        padding: 4.478vw 10.945vw 4.478vw 10.697vw;
    }

    .doctor__faq-question::before {
        top: 4.478vw;
        left: 4.478vw;
        font-size: 3.731vw;
    }

    .doctor__faq-question::after {
        top: 5.971vw;
        right: 5.473vw;
        width: 2.488vw;
        height: 2.488vw;
        border-top-width: 0.498vw;
        border-left-width: 0.498vw;
    }

    .doctor__faq-item[open] .doctor__faq-question::after {
        top: 7.462vw;
        transform: rotate(45deg);
    }

    .doctor__faq-question:focus-visible {
        border-radius: 2.488vw;
    }

    .doctor__faq-item[open] .doctor__faq-question {
        padding-bottom: 3.483vw;
    }

    .doctor__faq-answer {
        padding: 0 4.478vw 5.971vw;
    }

    .doctor__faq-text {
        font-size: 3.483vw;
        line-height: 1.85;
    }
}

@media (prefers-reduced-motion: reduce) {

    .doctor__faq-question::after,
    .doctor__faq-item::details-content {
        transition: none;
    }
}

/* stats */

.doctor__section--stats {
    width: 100%;
    background-image: url("../img/clinic/stats-bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.doctor__stat-list {
    order: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 18.07px;
    margin: 0 0 23.79px;
}

.doctor__stat {
    width: 100%;
    max-width: 257.93px;
    height: 179.21px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15.74px;
    padding: 23px;
    background-image: url("../img/clinic/stats-image01.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.doctor__stat:nth-child(2) {
    background-image: url("../img/clinic/stats-image02.webp");
}

.doctor__stat:nth-child(3) {
    background-image: url("../img/clinic/stats-image03.webp");
}

.doctor__stat:nth-child(4) {
    background-image: url("../img/clinic/stats-image04.webp");
}

.doctor__stat-term {
    display: flex;
    align-items: baseline;
    justify-content: center;
}

.doctor__stat-value {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 38.6px;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: center;
    color: #000000;
}

.doctor__stat-unit {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 23.45px;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: center;
    color: #000000;
}

.doctor__stat-desc {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 12.56px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #000000;
}

.doctor__stat-desc span {
    font-weight: 800;
}

.doctor__source {
    order: 4;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 11px;
    line-height: calc(20 / 11);
    letter-spacing: 0;
    text-align: center;
    color: #000000;
    margin: 0 0 51px;
}

.doctor__source-text,
.doctor__source-cite {
    font-size: inherit;
    font-style: normal;
    line-height: inherit;
}

.doctor__closing {
    order: 5;
    width: 100%;
    max-width: 966.37px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 auto 51px;
}

.doctor__closing-line {
    width: 100%;
    box-sizing: border-box;
    min-height: 36.63px;
    padding: 6px 12px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 20.63px;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: center;
    color: #000000;
    background: linear-gradient(90deg, #B5F6FF 0%, #FFF7E1 100%);
    border-radius: 8.02px;
}

.doctor__closing-em {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 20.63px;
    line-height: 1.5;
    letter-spacing: 0;
    color: #0044FF;
}

.doctor__points {
    order: 6;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    list-style: none;
}

.doctor__point {
    position: relative;
    width: 140px;
    height: 140px;
    background-image: url("../img/dr/doctor-blur.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
}

.doctor__point-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    z-index: 2;
}

.doctor__point-value {
    display: flex;
    align-items: baseline;
    justify-content: center;
}

.doctor__point-num {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 51.51px;
    line-height: 1;
    letter-spacing: 0.04em;
    text-align: center;
    color: #0044FF;
}

.doctor__point-unit {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 16.1px;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #0044FF;
    margin: 0 0 0 2px;
}

.doctor__point-yen {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 18.87px;
    line-height: 1;
    letter-spacing: 0.19em;
    text-align: center;
    color: #0044FF;
    margin: 0 4px 0 0;
}

.doctor__point-word {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 36.22px;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
    color: #0044FF;
}

.doctor__point-label {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 12.07px;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #000000;
}

.doctor__section--stats .doctor__cta-wrap {
    order: 7;
}

@media (max-width: 1440px) {
    .doctor__stat-list {
        gap: 1.255vw;
        margin: 0 0 1.652vw;
    }

    .doctor__stat {
        max-width: 17.912vw;
        height: 12.445vw;
        gap: 1.093vw;
        padding: 1.597vw;
    }

    .doctor__stat-value {
        font-size: 2.681vw;
    }

    .doctor__stat-unit {
        font-size: 1.628vw;
    }

    .doctor__stat-desc {
        font-size: 0.872vw;
    }

    .doctor__source {
        font-size: 0.764vw;
        margin: 0 0 3.542vw;
    }

    .doctor__closing {
        max-width: 67.109vw;
        gap: 0.694vw;
        margin: 0 auto 3.542vw;
    }

    .doctor__closing-line {
        min-height: 2.544vw;
        padding: 0.417vw 0.833vw;
        font-size: 1.433vw;
        border-radius: 0.557vw;
    }

    .doctor__closing-em {
        font-size: 1.433vw;
    }

    .doctor__points {
        gap: 1.667vw;
    }

    .doctor__point {
        width: 9.722vw;
        height: 9.722vw;
    }

    .doctor__point-inner {
        height: 6.944vw;
        gap: 0.556vw;
    }

    .doctor__point-num {
        font-size: 3.577vw;
    }

    .doctor__point-unit {
        font-size: 1.118vw;
        margin: 0 0 0 0.139vw;
    }

    .doctor__point-yen {
        font-size: 1.31vw;
        margin: 0 0.278vw 0 0;
    }

    .doctor__point-word {
        font-size: 2.515vw;
    }

    .doctor__point-label {
        font-size: 0.838vw;
    }
}

@media (max-width: 768px) {
    .doctor__section--stats {
        background-image: url("../img/dr/stats-bg-sp.webp");
    }

    .doctor__section--stats>.doctor__inner {
        width: calc(100% - 7.96vw);
        max-width: 100%;
        box-sizing: border-box;
    }

    .doctor__section--stats .doctor__title {
        margin: 0 0 7.96vw;
    }

    .doctor__section--stats .doctor__title-line::before {
        height: 2.985vw;
    }

    .doctor__section--stats .doctor__title-line-text {
        font-size: 5.473vw;
        line-height: 1.5;
    }

    .doctor__section--stats .doctor__text {
        font-size: 3.358vw;
        line-height: 1.85;
        margin: 0 0 7.96vw;
    }

    .doctor__stat-list {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 3.98vw;
        margin: 0 0 5.971vw;
    }

    .doctor__stat {
        max-width: none;
        height: auto;
        min-height: 33.582vw;
        display: grid;
        grid-template-columns: 33.831vw 1fr;
        align-items: center;
        column-gap: 2.985vw;
        padding: 4.478vw 4.478vw 4.478vw 2.488vw;
        border-radius: 2.488vw;
        background-image: url("../img/clinic/stats-image01-sp.webp");
    }

    .doctor__stat:nth-child(2) {
        background-image: url("../img/clinic/stats-image02-sp.webp");
    }

    .doctor__stat:nth-child(3) {
        background-image: url("../img/clinic/stats-image03-sp.webp");
    }

    .doctor__stat:nth-child(4) {
        background-image: url("../img/clinic/stats-image04-sp.webp");
    }

    .doctor__stat-value {
        font-size: 8.955vw;
        line-height: 1;
    }

    .doctor__stat-unit {
        font-size: 4.975vw;
        line-height: 1;
    }

    .doctor__stat-desc {
        font-size: 3.358vw;
        line-height: 1.85;
    }

    .doctor__source {
        font-size: 2.736vw;
        line-height: 4.975vw;
        margin: 0 0 11.692vw;
    }

    .doctor__closing {
        display: block;
        max-width: none;
        text-align: center;
        line-height: 9.95vw;
        margin: 0 auto 10.945vw;
    }

    .doctor__closing-line {
        display: inline;
        width: auto;
        min-height: 0;
        font-size: 3.483vw;
        line-height: 9.95vw;
        padding: 1.243vw 1.99vw;
        border-radius: 1.493vw;
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
    }

    .doctor__closing-em {
        font-size: 3.483vw;
        line-height: 9.95vw;
    }

    .doctor__points {
        gap: 2.985vw;
        margin: 0 0 10.945vw;
    }

    .doctor__point {
        flex-shrink: 0;
        width: 30.846vw;
        height: 30.846vw;
    }

    .doctor__point-inner {
        height: 22.04vw;
        gap: 1.493vw;
    }

    .doctor__point-num {
        font-size: 11.349vw;
    }

    .doctor__point-unit {
        font-size: 3.547vw;
        margin: 0 0 0 0.498vw;
    }

    .doctor__point-yen {
        font-size: 4.158vw;
        margin: 0 0.995vw 0 0;
    }

    .doctor__point-word {
        font-size: 7.981vw;
    }

    .doctor__point-label {
        font-size: 2.736vw;
    }
}

/* contact */
.doctor__section--register {
    width: 100%;
}

.doctor__section--register>.doctor__inner {
    width: calc(100% - 120px);
    max-width: 804px;
}

.doctor__form {
    order: 4;
    width: 100%;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 11.72px;
    box-shadow: 0 0 8.7px 0 #CECECE;
    padding: 48px 52px 40px;
}

.doctor__form-row {
    margin: 0 0 22px;
}

.doctor__form-field {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.doctor__form-label {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #000000;
}

.doctor__form-input {
    width: 100%;
    height: 52px;
    box-sizing: border-box;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #000000;
    background-color: #F7F7F7;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 0 20px;
    appearance: none;
    transition: border-color 0.2s ease;
}

.doctor__form-input::placeholder {
    color: #C4C4C4;
}

.doctor__form-input:focus {
    outline: none;
    border-color: #FF8C00;
}

.doctor__form-input.is-invalid {
    border-color: #E5484D;
}

.doctor__form-consent {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #000000;
    cursor: pointer;
    margin: 12px 0 0;
}

.doctor__form-consent a {
    color: #000000;
    text-decoration: underline;
}

.doctor__form-check {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #FF8C00;
    cursor: pointer;
}

.doctor__form-error {
    min-height: 1.6em;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.6;
    color: #E5484D;
    margin: 8px 0 0;
}

.doctor__form-submit {
    max-width: 100%;
    margin: 16px auto 0;
}

button.doctor__cta {
    border: none;
    cursor: pointer;
    appearance: none;
}

button.doctor__cta:disabled {
    opacity: 0.6;
    cursor: wait;
}

button.doctor__cta:focus-visible {
    outline: 2px solid #FF8C00;
    outline-offset: 4px;
}

.doctor__form-submit .doctor__cta::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    width: 16px;
    height: 16px;
    border-top: 2.2px solid #FFFFFF;
    border-right: 2.2px solid #FFFFFF;
    transform: translateY(-50%) rotate(45deg);
}

.doctor__form-note {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: center;
    color: #000000;
    margin: 26px 0 0;
}

@media (max-width: 1440px) {
    .doctor__section--register>.doctor__inner {
        width: calc(100% - 8.333vw);
        max-width: 55.833vw;
    }

    .doctor__form {
        border-radius: 0.814vw;
        box-shadow: 0 0 0.604vw 0 #CECECE;
        padding: 3.333vw 3.611vw 2.778vw;
    }

    .doctor__form-row {
        margin: 0 0 1.528vw;
    }

    .doctor__form-field {
        gap: 0.833vw;
    }

    .doctor__form-label {
        font-size: 1.042vw;
    }

    .doctor__form-input {
        height: 3.611vw;
        font-size: max(16px, 1.111vw);
        border-radius: 0.417vw;
        padding: 0 1.389vw;
    }

    .doctor__form-consent {
        gap: 0.694vw;
        font-size: 0.903vw;
        margin: 0.833vw 0 0;
    }

    .doctor__form-check {
        width: 1.25vw;
        height: 1.25vw;
    }

    .doctor__form-error {
        font-size: 0.903vw;
        margin: 0.556vw 0 0;
    }

    .doctor__form-submit {
        margin: 1.111vw auto 0;
    }

    .doctor__form-submit .doctor__cta::before {
        right: 1.736vw;
        width: 1.111vw;
        height: 1.111vw;
        border-top: 0.153vw solid #FFFFFF;
        border-right: 0.153vw solid #FFFFFF;
    }

    .doctor__form-note {
        font-size: 0.903vw;
        margin: 1.806vw 0 0;
    }
}

@media (max-width: 768px) {
    .doctor__section--register>.doctor__inner {
        width: calc(100% - 7.96vw);
        max-width: 100%;
        box-sizing: border-box;
        padding: 9.95vw 0 15.92vw;
    }

    .doctor__section--register .doctor__title {
        margin: 0 0 7.96vw;
    }

    .doctor__section--register .doctor__title-line::before {
        height: 2.985vw;
    }

    .doctor__section--register .doctor__title-line-text {
        font-size: 5.473vw;
        line-height: 1.5;
    }

    .doctor__section--register .doctor__text {
        font-size: 3.358vw;
        line-height: 1.85;
        margin: 0 0 9.95vw;
    }

    .doctor__form {
        border-radius: 2.488vw;
        padding: 7.462vw 4.478vw 7.96vw;
    }

    .doctor__form-row {
        margin: 0 0 7.462vw;
    }

    .doctor__form-field {
        gap: 3.483vw;
    }

    .doctor__form-label {
        font-weight: 500;
        font-size: 3.98vw;
    }

    .doctor__form-input {
        height: 12.935vw;
        font-size: max(16px, 3.98vw);
        border-radius: 1.493vw;
        padding: 0 3.98vw;
    }

    .doctor__form-consent {
        align-items: flex-start;
        gap: 3.234vw;
        font-size: 3.358vw;
        margin: 0;
    }

    .doctor__form-check {
        width: 4.478vw;
        height: 4.478vw;
        margin-top: 0.746vw;
    }

    .doctor__form-error {
        font-size: 3.358vw;
        margin: 1.99vw 0 0;
    }

    .doctor__form-submit {
        margin: 4.975vw auto 0;
    }

    .doctor__form-submit .doctor__cta::before {
        right: 5.473vw;
        width: 2.736vw;
        height: 2.736vw;
        border-top-width: 0.498vw;
        border-right-width: 0.498vw;
    }

    .doctor__form-note {
        font-size: 3.358vw;
        margin: 4.478vw 0 0;
    }
}