* {
    margin: 0;
    padding: 0
}

*,
::before,
::after {
    box-sizing: border-box
}

*:where(:not(fieldset, progress, meter)) {
    border-width: 0;
    border-style: solid;
    background-origin: border-box;
    background-repeat: no-repeat;
    outline: none
}

html {
    block-size: 100%;
    -webkit-text-size-adjust: none
}

body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeSpeed;
    min-block-size: 100%
}

:where(img, svg, video) {
    block-size: auto;
    max-inline-size: 100%
}

:where(svg) {
    stroke: none;
    fill: currentColor
}

body :where(figure) {
    margin: 0
}

:where(svg):where(:not([fill])) {
    stroke: currentColor;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round
}

:where(svg):where(:not([width])) {
    inline-size: 5rem
}

:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
    color: inherit;
    font: inherit;
    font-size: inherit;
    letter-spacing: inherit
}

:where(input[type=submit]) {
    border: none;
    background: rgba(0, 0, 0, 0);
    cursor: pointer
}

:where(textarea) {
    resize: vertical
}

@supports(resize: block) {
    :where(textarea) {
        resize: block
    }
}

:where(p, h1, h2, h3, h4, h5, h6) {
    font-size: 1em;
    font-weight: 500;
    overflow-wrap: break-word
}

:where(ul, ol)[role=list] {
    list-style: none
}

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto
}

:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
    cursor: pointer;
    touch-action: manipulation
}

:where(input[type=file]) {
    cursor: auto
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
    cursor: pointer
}

@media(prefers-reduced-motion: no-preference) {
    :focus-visible {
        transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1)
    }

    :where(:not(:active)):focus-visible {
        transition-duration: .25s
    }
}

:where(:not(:active)):focus-visible {
    outline-offset: 5px
}

a {
    outline: none;
    text-decoration: none
}

a:hover {
    text-decoration: none
}

button {
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    cursor: pointer
}

ol,
ul,
menu {
    list-style: none
}

em {
    font-style: normal
}

table {
    border-collapse: collapse
}

textarea {
    white-space: revert
}

::-moz-placeholder {
    color: unset
}

::placeholder {
    color: unset
}

:where([hidden]) {
    display: none
}

@media(prefers-reduced-motion: reduce) {

    .sip-slider,
    .swiper-container,
    .swiper-wrapper,
    .swiper-slide,
    .swiper-slide img {
        transition-duration: 100ms !important
    }
}

body {
    margin-inline: auto;
    padding: 0;
    font-family: "貂ｸ繧ｴ繧ｷ繝�け", YuGothic, "Yu Gothic", "貂ｸ繧ｴ繧ｷ繝�け菴�", "Noto Sans JP", "繝偵Λ繧ｮ繝手ｧ偵ざ繧ｷ繝�け", "Hiragino Sans", "繝｡繧､繝ｪ繧ｪ", Meiryo, sans-serif;
    color: #333;
    line-height: 1.3;
    word-wrap: break-word;
    width: 100%;
    height: 100dvh;
    font-weight: 500;
    overscroll-behavior-y: none;
    -webkit-font-smoothing: antialiased;
    position: relative;
    top: 0
}

body.fixed {
    overflow: hidden;
    height: 100vh
}

@media screen and (max-width: 1024px) {
    body {
        line-height: 1.5
    }
}

a {
    color: #333
}

@media(hover: hover)and (pointer: fine) {
    a:hover img {
        opacity: .75;
        transition: opacity .2s ease-in-out
    }
}

input,
select,
textarea {
    font-size: 16px;
    font-weight: 400;
    box-sizing: border-box
}

input::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
    font-weight: initial
}

input::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
    font-weight: initial
}

input::placeholder,
select::placeholder,
textarea::placeholder {
    font-weight: initial
}

:where(input:not(input[type=submit])),
select,
textarea {
    border: 1px solid;
    cursor: text
}

select {
    color: #333;
    cursor: pointer
}

@media(hover: hover)and (pointer: fine) {
    button:hover {
        opacity: .75;
        transition: .3s ease-in-out
    }
}

.mA-10 {
    margin: clamp(5px, 0.6666666667vw, 10px)
}

.mT-10 {
    margin-top: clamp(5px, 0.6666666667vw, 10px)
}

.mB-10 {
    margin-bottom: clamp(5px, 0.6666666667vw, 10px)
}

.mL-10 {
    margin-left: clamp(5px, 0.6666666667vw, 10px)
}

.mR-10 {
    margin-right: clamp(5px, 0.6666666667vw, 10px)
}

.mA-20 {
    margin: clamp(10px, 1.3333333333vw, 20px)
}

.mT-20 {
    margin-top: clamp(10px, 1.3333333333vw, 20px)
}

.mB-20 {
    margin-bottom: clamp(10px, 1.3333333333vw, 20px)
}

.mL-20 {
    margin-left: clamp(10px, 1.3333333333vw, 20px)
}

.mR-20 {
    margin-right: clamp(10px, 1.3333333333vw, 20px)
}

.mA-30 {
    margin: clamp(15px, 2vw, 30px)
}

.mT-30 {
    margin-top: clamp(15px, 2vw, 30px)
}

.mB-30 {
    margin-bottom: clamp(15px, 2vw, 30px)
}

.mL-30 {
    margin-left: clamp(15px, 2vw, 30px)
}

.mR-30 {
    margin-right: clamp(15px, 2vw, 30px)
}

.mA-40 {
    margin: clamp(20px, 2.6666666667vw, 40px)
}

.mT-40 {
    margin-top: clamp(20px, 2.6666666667vw, 40px)
}

.mB-40 {
    margin-bottom: clamp(20px, 2.6666666667vw, 40px)
}

.mL-40 {
    margin-left: clamp(20px, 2.6666666667vw, 40px)
}

.mR-40 {
    margin-right: clamp(20px, 2.6666666667vw, 40px)
}

.mA-50 {
    margin: clamp(25px, 3.3333333333vw, 50px)
}

.mT-50 {
    margin-top: clamp(25px, 3.3333333333vw, 50px)
}

.mB-50 {
    margin-bottom: clamp(25px, 3.3333333333vw, 50px)
}

.mL-50 {
    margin-left: clamp(25px, 3.3333333333vw, 50px)
}

.mR-50 {
    margin-right: clamp(25px, 3.3333333333vw, 50px)
}

.mA-60 {
    margin: clamp(30px, 4vw, 60px)
}

.mT-60 {
    margin-top: clamp(30px, 4vw, 60px)
}

.mB-60 {
    margin-bottom: clamp(30px, 4vw, 60px)
}

.mL-60 {
    margin-left: clamp(30px, 4vw, 60px)
}

.mR-60 {
    margin-right: clamp(30px, 4vw, 60px)
}

.mA-70 {
    margin: clamp(35px, 4.6666666667vw, 70px)
}

.mT-70 {
    margin-top: clamp(35px, 4.6666666667vw, 70px)
}

.mB-70 {
    margin-bottom: clamp(35px, 4.6666666667vw, 70px)
}

.mL-70 {
    margin-left: clamp(35px, 4.6666666667vw, 70px)
}

.mR-70 {
    margin-right: clamp(35px, 4.6666666667vw, 70px)
}

.mA-80 {
    margin: clamp(40px, 5.3333333333vw, 80px)
}

.mT-80 {
    margin-top: clamp(40px, 5.3333333333vw, 80px)
}

.mB-80 {
    margin-bottom: clamp(40px, 5.3333333333vw, 80px)
}

.mL-80 {
    margin-left: clamp(40px, 5.3333333333vw, 80px)
}

.mR-80 {
    margin-right: clamp(40px, 5.3333333333vw, 80px)
}

.mA-90 {
    margin: clamp(45px, 6vw, 90px)
}

.mT-90 {
    margin-top: clamp(45px, 6vw, 90px)
}

.mB-90 {
    margin-bottom: clamp(45px, 6vw, 90px)
}

.mL-90 {
    margin-left: clamp(45px, 6vw, 90px)
}

.mR-90 {
    margin-right: clamp(45px, 6vw, 90px)
}

.mA-100 {
    margin: clamp(50px, 6.6666666667vw, 100px)
}

.mT-100 {
    margin-top: clamp(50px, 6.6666666667vw, 100px)
}

.mB-100 {
    margin-bottom: clamp(50px, 6.6666666667vw, 100px)
}

.mL-100 {
    margin-left: clamp(50px, 6.6666666667vw, 100px)
}

.mR-100 {
    margin-right: clamp(50px, 6.6666666667vw, 100px)
}

.mA-110 {
    margin: clamp(55px, 7.3333333333vw, 110px)
}

.mT-110 {
    margin-top: clamp(55px, 7.3333333333vw, 110px)
}

.mB-110 {
    margin-bottom: clamp(55px, 7.3333333333vw, 110px)
}

.mL-110 {
    margin-left: clamp(55px, 7.3333333333vw, 110px)
}

.mR-110 {
    margin-right: clamp(55px, 7.3333333333vw, 110px)
}

.mA-120 {
    margin: clamp(60px, 8vw, 120px)
}

.mT-120 {
    margin-top: clamp(60px, 8vw, 120px)
}

.mB-120 {
    margin-bottom: clamp(60px, 8vw, 120px)
}

.mL-120 {
    margin-left: clamp(60px, 8vw, 120px)
}

.mR-120 {
    margin-right: clamp(60px, 8vw, 120px)
}

.mA-130 {
    margin: clamp(65px, 8.6666666667vw, 130px)
}

.mT-130 {
    margin-top: clamp(65px, 8.6666666667vw, 130px)
}

.mB-130 {
    margin-bottom: clamp(65px, 8.6666666667vw, 130px)
}

.mL-130 {
    margin-left: clamp(65px, 8.6666666667vw, 130px)
}

.mR-130 {
    margin-right: clamp(65px, 8.6666666667vw, 130px)
}

.mA-140 {
    margin: clamp(70px, 9.3333333333vw, 140px)
}

.mT-140 {
    margin-top: clamp(70px, 9.3333333333vw, 140px)
}

.mB-140 {
    margin-bottom: clamp(70px, 9.3333333333vw, 140px)
}

.mL-140 {
    margin-left: clamp(70px, 9.3333333333vw, 140px)
}

.mR-140 {
    margin-right: clamp(70px, 9.3333333333vw, 140px)
}

.mA-150 {
    margin: clamp(75px, 10vw, 150px)
}

.mT-150 {
    margin-top: clamp(75px, 10vw, 150px)
}

.mB-150 {
    margin-bottom: clamp(75px, 10vw, 150px)
}

.mL-150 {
    margin-left: clamp(75px, 10vw, 150px)
}

.mR-150 {
    margin-right: clamp(75px, 10vw, 150px)
}

.mA-160 {
    margin: clamp(80px, 10.6666666667vw, 160px)
}

.mT-160 {
    margin-top: clamp(80px, 10.6666666667vw, 160px)
}

.mB-160 {
    margin-bottom: clamp(80px, 10.6666666667vw, 160px)
}

.mL-160 {
    margin-left: clamp(80px, 10.6666666667vw, 160px)
}

.mR-160 {
    margin-right: clamp(80px, 10.6666666667vw, 160px)
}

.mA-170 {
    margin: clamp(85px, 11.3333333333vw, 170px)
}

.mT-170 {
    margin-top: clamp(85px, 11.3333333333vw, 170px)
}

.mB-170 {
    margin-bottom: clamp(85px, 11.3333333333vw, 170px)
}

.mL-170 {
    margin-left: clamp(85px, 11.3333333333vw, 170px)
}

.mR-170 {
    margin-right: clamp(85px, 11.3333333333vw, 170px)
}

.mA-180 {
    margin: clamp(90px, 12vw, 180px)
}

.mT-180 {
    margin-top: clamp(90px, 12vw, 180px)
}

.mB-180 {
    margin-bottom: clamp(90px, 12vw, 180px)
}

.mL-180 {
    margin-left: clamp(90px, 12vw, 180px)
}

.mR-180 {
    margin-right: clamp(90px, 12vw, 180px)
}

.mA-190 {
    margin: clamp(95px, 12.6666666667vw, 190px)
}

.mT-190 {
    margin-top: clamp(95px, 12.6666666667vw, 190px)
}

.mB-190 {
    margin-bottom: clamp(95px, 12.6666666667vw, 190px)
}

.mL-190 {
    margin-left: clamp(95px, 12.6666666667vw, 190px)
}

.mR-190 {
    margin-right: clamp(95px, 12.6666666667vw, 190px)
}

.mA-200 {
    margin: clamp(100px, 13.3333333333vw, 200px)
}

.mT-200 {
    margin-top: clamp(100px, 13.3333333333vw, 200px)
}

.mB-200 {
    margin-bottom: clamp(100px, 13.3333333333vw, 200px)
}

.mL-200 {
    margin-left: clamp(100px, 13.3333333333vw, 200px)
}

.mR-200 {
    margin-right: clamp(100px, 13.3333333333vw, 200px)
}

@media screen and (max-width: 768px) {
    .mAsp-10 {
        margin: 10px
    }

    .mTsp-10 {
        margin-top: 10px
    }

    .mBsp-10 {
        margin-bottom: 10px
    }

    .mLsp-10 {
        margin-left: 10px
    }

    .mRsp-10 {
        margin-right: 10px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-20 {
        margin: 20px
    }

    .mTsp-20 {
        margin-top: 20px
    }

    .mBsp-20 {
        margin-bottom: 20px
    }

    .mLsp-20 {
        margin-left: 20px
    }

    .mRsp-20 {
        margin-right: 20px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-30 {
        margin: 30px
    }

    .mTsp-30 {
        margin-top: 30px
    }

    .mBsp-30 {
        margin-bottom: 30px
    }

    .mLsp-30 {
        margin-left: 30px
    }

    .mRsp-30 {
        margin-right: 30px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-40 {
        margin: 40px
    }

    .mTsp-40 {
        margin-top: 40px
    }

    .mBsp-40 {
        margin-bottom: 40px
    }

    .mLsp-40 {
        margin-left: 40px
    }

    .mRsp-40 {
        margin-right: 40px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-50 {
        margin: 50px
    }

    .mTsp-50 {
        margin-top: 50px
    }

    .mBsp-50 {
        margin-bottom: 50px
    }

    .mLsp-50 {
        margin-left: 50px
    }

    .mRsp-50 {
        margin-right: 50px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-60 {
        margin: 60px
    }

    .mTsp-60 {
        margin-top: 60px
    }

    .mBsp-60 {
        margin-bottom: 60px
    }

    .mLsp-60 {
        margin-left: 60px
    }

    .mRsp-60 {
        margin-right: 60px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-70 {
        margin: 70px
    }

    .mTsp-70 {
        margin-top: 70px
    }

    .mBsp-70 {
        margin-bottom: 70px
    }

    .mLsp-70 {
        margin-left: 70px
    }

    .mRsp-70 {
        margin-right: 70px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-80 {
        margin: 80px
    }

    .mTsp-80 {
        margin-top: 80px
    }

    .mBsp-80 {
        margin-bottom: 80px
    }

    .mLsp-80 {
        margin-left: 80px
    }

    .mRsp-80 {
        margin-right: 80px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-90 {
        margin: 90px
    }

    .mTsp-90 {
        margin-top: 90px
    }

    .mBsp-90 {
        margin-bottom: 90px
    }

    .mLsp-90 {
        margin-left: 90px
    }

    .mRsp-90 {
        margin-right: 90px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-100 {
        margin: 100px
    }

    .mTsp-100 {
        margin-top: 100px
    }

    .mBsp-100 {
        margin-bottom: 100px
    }

    .mLsp-100 {
        margin-left: 100px
    }

    .mRsp-100 {
        margin-right: 100px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-110 {
        margin: 110px
    }

    .mTsp-110 {
        margin-top: 110px
    }

    .mBsp-110 {
        margin-bottom: 110px
    }

    .mLsp-110 {
        margin-left: 110px
    }

    .mRsp-110 {
        margin-right: 110px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-120 {
        margin: 120px
    }

    .mTsp-120 {
        margin-top: 120px
    }

    .mBsp-120 {
        margin-bottom: 120px
    }

    .mLsp-120 {
        margin-left: 120px
    }

    .mRsp-120 {
        margin-right: 120px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-130 {
        margin: 130px
    }

    .mTsp-130 {
        margin-top: 130px
    }

    .mBsp-130 {
        margin-bottom: 130px
    }

    .mLsp-130 {
        margin-left: 130px
    }

    .mRsp-130 {
        margin-right: 130px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-140 {
        margin: 140px
    }

    .mTsp-140 {
        margin-top: 140px
    }

    .mBsp-140 {
        margin-bottom: 140px
    }

    .mLsp-140 {
        margin-left: 140px
    }

    .mRsp-140 {
        margin-right: 140px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-150 {
        margin: 150px
    }

    .mTsp-150 {
        margin-top: 150px
    }

    .mBsp-150 {
        margin-bottom: 150px
    }

    .mLsp-150 {
        margin-left: 150px
    }

    .mRsp-150 {
        margin-right: 150px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-160 {
        margin: 160px
    }

    .mTsp-160 {
        margin-top: 160px
    }

    .mBsp-160 {
        margin-bottom: 160px
    }

    .mLsp-160 {
        margin-left: 160px
    }

    .mRsp-160 {
        margin-right: 160px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-170 {
        margin: 170px
    }

    .mTsp-170 {
        margin-top: 170px
    }

    .mBsp-170 {
        margin-bottom: 170px
    }

    .mLsp-170 {
        margin-left: 170px
    }

    .mRsp-170 {
        margin-right: 170px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-180 {
        margin: 180px
    }

    .mTsp-180 {
        margin-top: 180px
    }

    .mBsp-180 {
        margin-bottom: 180px
    }

    .mLsp-180 {
        margin-left: 180px
    }

    .mRsp-180 {
        margin-right: 180px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-190 {
        margin: 190px
    }

    .mTsp-190 {
        margin-top: 190px
    }

    .mBsp-190 {
        margin-bottom: 190px
    }

    .mLsp-190 {
        margin-left: 190px
    }

    .mRsp-190 {
        margin-right: 190px
    }
}

@media screen and (max-width: 768px) {
    .mAsp-200 {
        margin: 200px
    }

    .mTsp-200 {
        margin-top: 200px
    }

    .mBsp-200 {
        margin-bottom: 200px
    }

    .mLsp-200 {
        margin-left: 200px
    }

    .mRsp-200 {
        margin-right: 200px
    }
}

.pA-10 {
    padding: clamp(5px, 0.6666666667vw, 10px)
}

.pT-10 {
    padding-top: clamp(5px, 0.6666666667vw, 10px)
}

.pB-10 {
    padding-bottom: clamp(5px, 0.6666666667vw, 10px)
}

.pL-10 {
    padding-left: clamp(5px, 0.6666666667vw, 10px)
}

.pR-10 {
    padding-right: clamp(5px, 0.6666666667vw, 10px)
}

.pA-20 {
    padding: clamp(10px, 1.3333333333vw, 20px)
}

.pT-20 {
    padding-top: clamp(10px, 1.3333333333vw, 20px)
}

.pB-20 {
    padding-bottom: clamp(10px, 1.3333333333vw, 20px)
}

.pL-20 {
    padding-left: clamp(10px, 1.3333333333vw, 20px)
}

.pR-20 {
    padding-right: clamp(10px, 1.3333333333vw, 20px)
}

.pA-30 {
    padding: clamp(15px, 2vw, 30px)
}

.pT-30 {
    padding-top: clamp(15px, 2vw, 30px)
}

.pB-30 {
    padding-bottom: clamp(15px, 2vw, 30px)
}

.pL-30 {
    padding-left: clamp(15px, 2vw, 30px)
}

.pR-30 {
    padding-right: clamp(15px, 2vw, 30px)
}

.pA-40 {
    padding: clamp(20px, 2.6666666667vw, 40px)
}

.pT-40 {
    padding-top: clamp(20px, 2.6666666667vw, 40px)
}

.pB-40 {
    padding-bottom: clamp(20px, 2.6666666667vw, 40px)
}

.pL-40 {
    padding-left: clamp(20px, 2.6666666667vw, 40px)
}

.pR-40 {
    padding-right: clamp(20px, 2.6666666667vw, 40px)
}

.pA-50 {
    padding: clamp(25px, 3.3333333333vw, 50px)
}

.pT-50 {
    padding-top: clamp(25px, 3.3333333333vw, 50px)
}

.pB-50 {
    padding-bottom: clamp(25px, 3.3333333333vw, 50px)
}

.pL-50 {
    padding-left: clamp(25px, 3.3333333333vw, 50px)
}

.pR-50 {
    padding-right: clamp(25px, 3.3333333333vw, 50px)
}

.pA-60 {
    padding: clamp(30px, 4vw, 60px)
}

.pT-60 {
    padding-top: clamp(30px, 4vw, 60px)
}

.pB-60 {
    padding-bottom: clamp(30px, 4vw, 60px)
}

.pL-60 {
    padding-left: clamp(30px, 4vw, 60px)
}

.pR-60 {
    padding-right: clamp(30px, 4vw, 60px)
}

.pA-70 {
    padding: clamp(35px, 4.6666666667vw, 70px)
}

.pT-70 {
    padding-top: clamp(35px, 4.6666666667vw, 70px)
}

.pB-70 {
    padding-bottom: clamp(35px, 4.6666666667vw, 70px)
}

.pL-70 {
    padding-left: clamp(35px, 4.6666666667vw, 70px)
}

.pR-70 {
    padding-right: clamp(35px, 4.6666666667vw, 70px)
}

.pA-80 {
    padding: clamp(40px, 5.3333333333vw, 80px)
}

.pT-80 {
    padding-top: clamp(40px, 5.3333333333vw, 80px)
}

.pB-80 {
    padding-bottom: clamp(40px, 5.3333333333vw, 80px)
}

.pL-80 {
    padding-left: clamp(40px, 5.3333333333vw, 80px)
}

.pR-80 {
    padding-right: clamp(40px, 5.3333333333vw, 80px)
}

.pA-90 {
    padding: clamp(45px, 6vw, 90px)
}

.pT-90 {
    padding-top: clamp(45px, 6vw, 90px)
}

.pB-90 {
    padding-bottom: clamp(45px, 6vw, 90px)
}

.pL-90 {
    padding-left: clamp(45px, 6vw, 90px)
}

.pR-90 {
    padding-right: clamp(45px, 6vw, 90px)
}

.pA-100 {
    padding: clamp(50px, 6.6666666667vw, 100px)
}

.pT-100 {
    padding-top: clamp(50px, 6.6666666667vw, 100px)
}

.pB-100 {
    padding-bottom: clamp(50px, 6.6666666667vw, 100px)
}

.pL-100 {
    padding-left: clamp(50px, 6.6666666667vw, 100px)
}

.pR-100 {
    padding-right: clamp(50px, 6.6666666667vw, 100px)
}

.pA-110 {
    padding: clamp(55px, 7.3333333333vw, 110px)
}

.pT-110 {
    padding-top: clamp(55px, 7.3333333333vw, 110px)
}

.pB-110 {
    padding-bottom: clamp(55px, 7.3333333333vw, 110px)
}

.pL-110 {
    padding-left: clamp(55px, 7.3333333333vw, 110px)
}

.pR-110 {
    padding-right: clamp(55px, 7.3333333333vw, 110px)
}

.pA-120 {
    padding: clamp(60px, 8vw, 120px)
}

.pT-120 {
    padding-top: clamp(60px, 8vw, 120px)
}

.pB-120 {
    padding-bottom: clamp(60px, 8vw, 120px)
}

.pL-120 {
    padding-left: clamp(60px, 8vw, 120px)
}

.pR-120 {
    padding-right: clamp(60px, 8vw, 120px)
}

.pA-130 {
    padding: clamp(65px, 8.6666666667vw, 130px)
}

.pT-130 {
    padding-top: clamp(65px, 8.6666666667vw, 130px)
}

.pB-130 {
    padding-bottom: clamp(65px, 8.6666666667vw, 130px)
}

.pL-130 {
    padding-left: clamp(65px, 8.6666666667vw, 130px)
}

.pR-130 {
    padding-right: clamp(65px, 8.6666666667vw, 130px)
}

.pA-140 {
    padding: clamp(70px, 9.3333333333vw, 140px)
}

.pT-140 {
    padding-top: clamp(70px, 9.3333333333vw, 140px)
}

.pB-140 {
    padding-bottom: clamp(70px, 9.3333333333vw, 140px)
}

.pL-140 {
    padding-left: clamp(70px, 9.3333333333vw, 140px)
}

.pR-140 {
    padding-right: clamp(70px, 9.3333333333vw, 140px)
}

.pA-150 {
    padding: clamp(75px, 10vw, 150px)
}

.pT-150 {
    padding-top: clamp(75px, 10vw, 150px)
}

.pB-150 {
    padding-bottom: clamp(75px, 10vw, 150px)
}

.pL-150 {
    padding-left: clamp(75px, 10vw, 150px)
}

.pR-150 {
    padding-right: clamp(75px, 10vw, 150px)
}

.pA-160 {
    padding: clamp(80px, 10.6666666667vw, 160px)
}

.pT-160 {
    padding-top: clamp(80px, 10.6666666667vw, 160px)
}

.pB-160 {
    padding-bottom: clamp(80px, 10.6666666667vw, 160px)
}

.pL-160 {
    padding-left: clamp(80px, 10.6666666667vw, 160px)
}

.pR-160 {
    padding-right: clamp(80px, 10.6666666667vw, 160px)
}

.pA-170 {
    padding: clamp(85px, 11.3333333333vw, 170px)
}

.pT-170 {
    padding-top: clamp(85px, 11.3333333333vw, 170px)
}

.pB-170 {
    padding-bottom: clamp(85px, 11.3333333333vw, 170px)
}

.pL-170 {
    padding-left: clamp(85px, 11.3333333333vw, 170px)
}

.pR-170 {
    padding-right: clamp(85px, 11.3333333333vw, 170px)
}

.pA-180 {
    padding: clamp(90px, 12vw, 180px)
}

.pT-180 {
    padding-top: clamp(90px, 12vw, 180px)
}

.pB-180 {
    padding-bottom: clamp(90px, 12vw, 180px)
}

.pL-180 {
    padding-left: clamp(90px, 12vw, 180px)
}

.pR-180 {
    padding-right: clamp(90px, 12vw, 180px)
}

.pA-190 {
    padding: clamp(95px, 12.6666666667vw, 190px)
}

.pT-190 {
    padding-top: clamp(95px, 12.6666666667vw, 190px)
}

.pB-190 {
    padding-bottom: clamp(95px, 12.6666666667vw, 190px)
}

.pL-190 {
    padding-left: clamp(95px, 12.6666666667vw, 190px)
}

.pR-190 {
    padding-right: clamp(95px, 12.6666666667vw, 190px)
}

.pA-200 {
    padding: clamp(100px, 13.3333333333vw, 200px)
}

.pT-200 {
    padding-top: clamp(100px, 13.3333333333vw, 200px)
}

.pB-200 {
    padding-bottom: clamp(100px, 13.3333333333vw, 200px)
}

.pL-200 {
    padding-left: clamp(100px, 13.3333333333vw, 200px)
}

.pR-200 {
    padding-right: clamp(100px, 13.3333333333vw, 200px)
}

@media screen and (max-width: 768px) {
    .pAsp-10 {
        padding: 10px
    }

    .pTsp-10 {
        padding-top: 10px
    }

    .pBsp-10 {
        padding-bottom: 10px
    }

    .pLsp-10 {
        padding-left: 10px
    }

    .pRsp-10 {
        padding-right: 10px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-20 {
        padding: 20px
    }

    .pTsp-20 {
        padding-top: 20px
    }

    .pBsp-20 {
        padding-bottom: 20px
    }

    .pLsp-20 {
        padding-left: 20px
    }

    .pRsp-20 {
        padding-right: 20px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-30 {
        padding: 30px
    }

    .pTsp-30 {
        padding-top: 30px
    }

    .pBsp-30 {
        padding-bottom: 30px
    }

    .pLsp-30 {
        padding-left: 30px
    }

    .pRsp-30 {
        padding-right: 30px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-40 {
        padding: 40px
    }

    .pTsp-40 {
        padding-top: 40px
    }

    .pBsp-40 {
        padding-bottom: 40px
    }

    .pLsp-40 {
        padding-left: 40px
    }

    .pRsp-40 {
        padding-right: 40px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-50 {
        padding: 50px
    }

    .pTsp-50 {
        padding-top: 50px
    }

    .pBsp-50 {
        padding-bottom: 50px
    }

    .pLsp-50 {
        padding-left: 50px
    }

    .pRsp-50 {
        padding-right: 50px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-60 {
        padding: 60px
    }

    .pTsp-60 {
        padding-top: 60px
    }

    .pBsp-60 {
        padding-bottom: 60px
    }

    .pLsp-60 {
        padding-left: 60px
    }

    .pRsp-60 {
        padding-right: 60px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-70 {
        padding: 70px
    }

    .pTsp-70 {
        padding-top: 70px
    }

    .pBsp-70 {
        padding-bottom: 70px
    }

    .pLsp-70 {
        padding-left: 70px
    }

    .pRsp-70 {
        padding-right: 70px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-80 {
        padding: 80px
    }

    .pTsp-80 {
        padding-top: 80px
    }

    .pBsp-80 {
        padding-bottom: 80px
    }

    .pLsp-80 {
        padding-left: 80px
    }

    .pRsp-80 {
        padding-right: 80px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-90 {
        padding: 90px
    }

    .pTsp-90 {
        padding-top: 90px
    }

    .pBsp-90 {
        padding-bottom: 90px
    }

    .pLsp-90 {
        padding-left: 90px
    }

    .pRsp-90 {
        padding-right: 90px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-100 {
        padding: 100px
    }

    .pTsp-100 {
        padding-top: 100px
    }

    .pBsp-100 {
        padding-bottom: 100px
    }

    .pLsp-100 {
        padding-left: 100px
    }

    .pRsp-100 {
        padding-right: 100px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-110 {
        padding: 110px
    }

    .pTsp-110 {
        padding-top: 110px
    }

    .pBsp-110 {
        padding-bottom: 110px
    }

    .pLsp-110 {
        padding-left: 110px
    }

    .pRsp-110 {
        padding-right: 110px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-120 {
        padding: 120px
    }

    .pTsp-120 {
        padding-top: 120px
    }

    .pBsp-120 {
        padding-bottom: 120px
    }

    .pLsp-120 {
        padding-left: 120px
    }

    .pRsp-120 {
        padding-right: 120px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-130 {
        padding: 130px
    }

    .pTsp-130 {
        padding-top: 130px
    }

    .pBsp-130 {
        padding-bottom: 130px
    }

    .pLsp-130 {
        padding-left: 130px
    }

    .pRsp-130 {
        padding-right: 130px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-140 {
        padding: 140px
    }

    .pTsp-140 {
        padding-top: 140px
    }

    .pBsp-140 {
        padding-bottom: 140px
    }

    .pLsp-140 {
        padding-left: 140px
    }

    .pRsp-140 {
        padding-right: 140px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-150 {
        padding: 150px
    }

    .pTsp-150 {
        padding-top: 150px
    }

    .pBsp-150 {
        padding-bottom: 150px
    }

    .pLsp-150 {
        padding-left: 150px
    }

    .pRsp-150 {
        padding-right: 150px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-160 {
        padding: 160px
    }

    .pTsp-160 {
        padding-top: 160px
    }

    .pBsp-160 {
        padding-bottom: 160px
    }

    .pLsp-160 {
        padding-left: 160px
    }

    .pRsp-160 {
        padding-right: 160px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-170 {
        padding: 170px
    }

    .pTsp-170 {
        padding-top: 170px
    }

    .pBsp-170 {
        padding-bottom: 170px
    }

    .pLsp-170 {
        padding-left: 170px
    }

    .pRsp-170 {
        padding-right: 170px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-180 {
        padding: 180px
    }

    .pTsp-180 {
        padding-top: 180px
    }

    .pBsp-180 {
        padding-bottom: 180px
    }

    .pLsp-180 {
        padding-left: 180px
    }

    .pRsp-180 {
        padding-right: 180px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-190 {
        padding: 190px
    }

    .pTsp-190 {
        padding-top: 190px
    }

    .pBsp-190 {
        padding-bottom: 190px
    }

    .pLsp-190 {
        padding-left: 190px
    }

    .pRsp-190 {
        padding-right: 190px
    }
}

@media screen and (max-width: 768px) {
    .pAsp-200 {
        padding: 200px
    }

    .pTsp-200 {
        padding-top: 200px
    }

    .pBsp-200 {
        padding-bottom: 200px
    }

    .pLsp-200 {
        padding-left: 200px
    }

    .pRsp-200 {
        padding-right: 200px
    }
}

.fS-2 {
    font-size: clamp(1.6666666667px, 0.1333333333vw, 2px)
}

.fS-4 {
    font-size: clamp(3.3333333333px, 0.2666666667vw, 4px)
}

.fS-6 {
    font-size: clamp(5px, 0.4vw, 6px)
}

.fS-8 {
    font-size: clamp(6.6666666667px, 0.5333333333vw, 8px)
}

.fS-10 {
    font-size: clamp(8.3333333333px, 0.6666666667vw, 10px)
}

.fS-12 {
    font-size: clamp(10px, 0.8vw, 12px)
}

.fS-14 {
    font-size: clamp(11.6666666667px, 0.9333333333vw, 14px)
}

.fS-16 {
    font-size: clamp(13.3333333333px, 1.0666666667vw, 16px)
}

.fS-18 {
    font-size: clamp(15px, 1.2vw, 18px)
}

.fS-20 {
    font-size: clamp(16.6666666667px, 1.3333333333vw, 20px)
}

.fS-22 {
    font-size: clamp(18.3333333333px, 1.4666666667vw, 22px)
}

.fS-24 {
    font-size: clamp(20px, 1.6vw, 24px)
}

.fS-26 {
    font-size: clamp(21.6666666667px, 1.7333333333vw, 26px)
}

.fS-28 {
    font-size: clamp(23.3333333333px, 1.8666666667vw, 28px)
}

.fS-30 {
    font-size: clamp(25px, 2vw, 30px)
}

.fS-32 {
    font-size: clamp(26.6666666667px, 2.1333333333vw, 32px)
}

.fS-34 {
    font-size: clamp(28.3333333333px, 2.2666666667vw, 34px)
}

.fS-36 {
    font-size: clamp(30px, 2.4vw, 36px)
}

.fS-38 {
    font-size: clamp(31.6666666667px, 2.5333333333vw, 38px)
}

.fS-40 {
    font-size: clamp(33.3333333333px, 2.6666666667vw, 40px)
}

.fS-42 {
    font-size: clamp(35px, 2.8vw, 42px)
}

.fS-44 {
    font-size: clamp(36.6666666667px, 2.9333333333vw, 44px)
}

.fS-46 {
    font-size: clamp(38.3333333333px, 3.0666666667vw, 46px)
}

.fS-48 {
    font-size: clamp(40px, 3.2vw, 48px)
}

.fS-50 {
    font-size: clamp(41.6666666667px, 3.3333333333vw, 50px)
}

.fS-52 {
    font-size: clamp(43.3333333333px, 3.4666666667vw, 52px)
}

.fS-54 {
    font-size: clamp(45px, 3.6vw, 54px)
}

.fS-56 {
    font-size: clamp(46.6666666667px, 3.7333333333vw, 56px)
}

.fS-58 {
    font-size: clamp(48.3333333333px, 3.8666666667vw, 58px)
}

.fS-60 {
    font-size: clamp(50px, 4vw, 60px)
}

@media screen and (max-width: 768px) {
    .fSsp-2 {
        font-size: 2px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-4 {
        font-size: 4px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-6 {
        font-size: 6px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-8 {
        font-size: 8px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-10 {
        font-size: 10px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-12 {
        font-size: 12px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-14 {
        font-size: 14px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-16 {
        font-size: 16px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-18 {
        font-size: 18px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-20 {
        font-size: 20px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-22 {
        font-size: 22px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-24 {
        font-size: 24px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-26 {
        font-size: 26px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-28 {
        font-size: 28px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-30 {
        font-size: 30px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-32 {
        font-size: 32px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-34 {
        font-size: 34px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-36 {
        font-size: 36px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-38 {
        font-size: 38px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-40 {
        font-size: 40px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-42 {
        font-size: 42px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-44 {
        font-size: 44px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-46 {
        font-size: 46px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-48 {
        font-size: 48px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-50 {
        font-size: 50px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-52 {
        font-size: 52px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-54 {
        font-size: 54px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-56 {
        font-size: 56px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-58 {
        font-size: 58px
    }
}

@media screen and (max-width: 768px) {
    .fSsp-60 {
        font-size: 60px
    }
}

.fW-400 {
    font-weight: 400
}

.fW-500 {
    font-weight: 500
}

.fW-600 {
    font-weight: 600
}

.fW-700 {
    font-weight: 700
}

.fW-800 {
    font-weight: 800
}

.fW-900 {
    font-weight: 900
}

.c-txtC {
    text-align: center
}

.c-txtL {
    text-align: left
}

.c-txtR {
    text-align: right
}

.c-txtJ {
    text-align: justify
}

.c-txtI {
    font-style: italic
}

.c-lhS {
    line-height: 1.2
}

.c-lhM {
    line-height: 1.5
}

.c-lhL {
    line-height: 1.8
}

.c-lhLL {
    line-height: 2
}

.c-txti {
    text-indent: -1em;
    padding-left: 1em
}

.c-txtiM {
    text-indent: -2em;
    padding-left: 2em
}

.c-txtiL {
    text-indent: -2.5em;
    padding-left: 2.5em
}

.c-lsS {
    letter-spacing: -0.02em
}

.c-lsM {
    letter-spacing: .1em
}

.c-lsL {
    letter-spacing: .16em
}

.c-yuMin {
    font-family: "貂ｸ譏取悃菴�", "Yu Mincho", YuMincho, "繝偵Λ繧ｮ繝取�譛� Pro", "Hiragino Mincho Pro", "MS P譏取悃", "MS PMincho", serif
}

.c-oswald {
    font-family: "Oswald", sans-serif
}

.c-txt-u-line {
    text-decoration: underline
}

@media(hover: hover)and (pointer: fine) {
    .c-txt-u-line:hover {
        text-decoration: none
    }
}

.c-txt-uL {
    text-decoration: underline
}

.c-txt-white {
    color: #fff
}

.c-txt-blue {
    color: #182a52
}

.c-txt-blue2 {
    color: #2254b2
}

.c-txt-v_blue {
    color: #09f
}

.c-txt-accent {
    color: #f90
}

.c-txt-red {
    color: #d43028
}

.c-txt-orange {
    color: #c60
}

.c-txt-glay {
    color: #666
}

.c-bg-white {
    background-color: #fff
}

.c-bg-blue {
    background-color: #182a52
}

.c-bg-gray {
    background-color: #666
}

.c-bg-main {
    background-color: #f2faff
}

.c-bg-lightGlay {
    background-color: #f2f2f2
}

.c-bg-lightGlay2 {
    background-color: #efebe6
}

.c-bg-lightAccent {
    background: linear-gradient(180deg, transparent 0%, transparent 80%, rgba(255, 153, 0, 0.7) 85%, rgba(255, 153, 0, 0.7) 100%)
}

.c-pR {
    position: relative
}

.c-pA {
    position: absolute
}

.c-wh100 {
    width: 100%;
    height: 100%
}

.c-center {
    margin-inline: auto
}

.c-br {
    display: inline-block
}

.c-bB-dot {
    border-bottom: 1px dotted #333
}

.c-bB-glay {
    border-bottom: 1px solid #ccc
}

.c-ofH {
    overflow: hidden
}

.innerS,
.innerM,
.innerL {
    margin-inline: auto
}

.innerL {
    width: min(100%, 1500px)
}

.innerM {
    width: min(92%, 1250px)
}

.innerS {
    width: min(92%, 980px)
}

.l-wrap {
    width: 100%;
    position: relative
}

.l-wrap img {
    width: 100%;
    height: auto;
    image-rendering: -webkit-optimize-contrast;
    -o-object-fit: cover;
    object-fit: cover;
    overflow: hidden
}

.l-wrap :where(img, svg, video, canvas, audio, iframe, embed, object) {
    display: block
}

.l-hidden-x {
    overflow-x: hidden !important
}

.l-none {
    display: none !important
}

@media screen and (min-width: 769px) {
    .l-pcN {
        display: none !important
    }
}

@media screen and (max-width: 768px) {
    .l-spN {
        display: none !important
    }
}

.h-header {
    width: 100%;
    background-color: #fff;
    z-index: 10;
    position: fixed;
    top: 0;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, .08)
}

@media screen and (max-width: 768px) {
    .h-header {
        height: 4.875em
    }
}

@media screen and (max-width: 425px) {
    .h-header {
        height: 4.125em
    }
}

.h-headerTop-wrap {
    display: grid;
    grid-template-columns: repeat(2, auto);
    align-items: center;
    justify-content: space-between;
    gap: 0 .5em
}

@media screen and (max-width: 768px) {
    .h-headerTop-wrap {
        grid-template-columns: 1fr 4.875em;
        height: 100%
    }
}

@media screen and (max-width: 425px) {
    .h-headerTop-wrap {
        grid-template-columns: 1fr 4.125em
    }
}

.h-headerTop-logoArea {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5%;
    align-items: center;
    padding: 0 0 0 1em
}

@media screen and (max-width: 768px) {
    .h-headerTop-logoArea {
        padding: .3em 1em;
        grid-template-columns: 1fr;
        gap: .3em
    }
}

@media screen and (max-width: 425px) {
    .h-headerTop-logoArea {
        padding: .2em 0 .2em 1em;
        gap: .1em
    }
}

.h-headerTop-logoImage {
    max-width: 280px
}

@media screen and (max-width: 768px) {
    .h-headerTop-logoImage {
        width: 200px
    }
}

@media screen and (max-width: 425px) {
    .h-headerTop-logoImage {
        width: 140px
    }
}

.h-headerTop-text {
    font-size: clamp(10px, 1.07vw, 16px);
    font-weight: 700
}

.h-headerTop-reserveArea {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    height: 100%
}

.h-headerTop-reserveArea li:nth-child(4) {
    margin-left: 1px
}

.h-headerTop-reserveArea.h-sp-fixed {
    display: none;
    grid-template-columns: repeat(3, 1fr)
}

@media screen and (max-width: 768px) {
    .h-headerTop-reserveArea.h-sp-fixed {
        display: grid
    }
}

@media screen and (max-width: 768px) {
    .h-headerTop-reserveArea.h-sp-fixed .h-headerTop-reserveLink {
        padding: .8em .8em .8em min(10vw, 2.5em);
        line-height: 1.2;
        background-position: 20% center
    }
}

.h-headerTop-reserveArea.h-sp-fixed .h-headerTop-reserveLink.web {
    background-size: 2em
}

.h-headerTop-reserveArea.h-sp-fixed .h-headerTop-reserveLink.line {
    background-size: 2em
}

.h-headerTop-reserveArea.h-sp-fixed .h-headerTop-reserveLink.tel {
    background-size: 1.5em
}

@media screen and (max-width: 425px) {
    .h-headerTop-reserveArea.h-sp-fixed .h-headerTop-reserveLink {
        padding: .8em .5em .8em 2em
    }

    .h-headerTop-reserveArea.h-sp-fixed .h-headerTop-reserveLink.web {
        background-size: 1.5em;
        background-position: 9% center
    }

    .h-headerTop-reserveArea.h-sp-fixed .h-headerTop-reserveLink.line {
        background-size: 1.5em;
        background-position: 15% center
    }

    .h-headerTop-reserveArea.h-sp-fixed .h-headerTop-reserveLink.tel {
        background-size: 1.2em;
        background-position: 12% center
    }
}

@media screen and (max-width: 768px) {
    .h-headerTop-reserveArea.h-headerTop-bar {
        grid-template-columns: 1fr;
        height: 100%
    }
}

@media screen and (max-width: 768px) {
    .h-headerTop-reserveArea.h-headerTop-bar li:not(:last-child) {
        display: none
    }
}

.h-headerTop-reserveArea-spFixed {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 5
}

.h-headerTop-reserveArea-spFixed.h-button-hidden {
    visibility: hidden;
    opacity: 0
}

.h-headerTop-reserveLink {
    display: grid;
    align-items: center;
    align-content: center;
    justify-content: center;
    gap: .3em;
    width: 100%;
    height: 100%;
    text-align: center
}

.h-headerTop-reserveLink:not(.menu) {
    padding: 3.2em .8em .3em
}

.h-headerTop-reserveLink.web {
    background: url(../images/icon-web_reserve.png) no-repeat center .7em/2.4em #09f
}

.h-headerTop-reserveLink.line {
    background: url(../images/icon-line_reserve.png) no-repeat center .6em/2.5em #6c6
}

.h-headerTop-reserveLink.tel {
    background: url(../images/icon-tel_reserve.png) no-repeat center .3em/2em #2253b2
}

.h-headerTop-reserveLink.menu {
    background-color: #182a52;
    position: relative;
    z-index: 50
}

@media screen and (max-width: 768px) {
    .h-headerTop-reserveLink.menu {
        padding-top: .3em
    }
}

@media screen and (max-width: 425px) {
    .h-headerTop-reserveLink.menu {
        height: 4.125em
    }
}

.h-headerTop-reserveLink.menu span {
    display: block;
    transition: all .4s
}

.h-headerTop-reserveLink.menu[aria-expanded=true] {
    background-color: #666
}

.h-headerTop-reserveLink.menu[aria-expanded=true] span:nth-of-type(1) {
    transform: translateY(10px) rotate(-45deg)
}

@media screen and (max-width: 768px) {
    .h-headerTop-reserveLink.menu[aria-expanded=true] span:nth-of-type(1) {
        transform: translateY(8px) rotate(-45deg)
    }
}

.h-headerTop-reserveLink.menu[aria-expanded=true] span:nth-of-type(2) {
    opacity: 0
}

.h-headerTop-reserveLink.menu[aria-expanded=true] span:nth-of-type(3) {
    transform: translateY(-9px) rotate(45deg)
}

@media screen and (max-width: 768px) {
    .h-headerTop-reserveLink.menu[aria-expanded=true] span:nth-of-type(3) {
        transform: translateY(-7px) rotate(45deg)
    }
}

.h-headerTop-reserveIcon {
    display: block;
    width: 80%;
    margin-inline: auto
}

.h-headerTop-reserveText {
    font-size: clamp(11px, .42vw, 16px);
    font-weight: 700;
    color: #fff
}

.h-headerTop-menuLine {
    height: .3em;
    background-color: #fff
}

@media screen and (max-width: 768px) {
    .h-headerTop-menuLine {
        height: .15em
    }
}

.h-headerTop-menuText {
    font-size: clamp(14px, 1.07vw, 16px);
    font-weight: 700;
    color: #fff;
    font-family: "Oswald", sans-serif
}

.h-nav-wrap {
    border-top: 1px solid #ccc
}

@media screen and (max-width: 1024px) {
    .h-nav-wrap {
        display: none
    }
}

.h-nav-listArea {
    display: grid;
    grid-template-columns: repeat(7, 1fr)
}

.h-nav-listLine {
    display: grid;
    align-items: stretch
}

.h-nav-list {
    display: block;
    font-weight: 700;
    color: #182a52;
    text-align: center;
    width: 100%
}

@media(hover: hover)and (pointer: fine) {
    .h-nav-list:hover {
        background-color: #f2f2f2
    }
}

.h-nav-listArea li:last-child .h-nav-listText {
    border-right: 1px dotted #ccc
}

.h-nav-listText {
    margin: .3em 0;
    padding: .4em 0 .4em 2em;
    font-size: clamp(14px, 1.2vw, 18px);
    border-left: 1px dotted #ccc;
    display: flex;
    align-items: center;
    justify-content: center
}

.h-nav-listText.beginner {
    background: url(../images/nav_icon-beginner.png) no-repeat 10% center/8%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.beginner {
        background-position: 3% center
    }
}

.h-nav-listText.feature {
    background: url(../images/nav_icon-feature.png) no-repeat 23% center/12%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.feature {
        background-position: 19% center
    }
}

.h-nav-listText.case {
    background: url(../images/nav_icon-case.png) no-repeat 27% 26%/12%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.case {
        background-position: 24% 29%
    }
}

.h-nav-listText.treatment {
    background: url(../images/nav_icon-treatment.png) no-repeat 19% 38%/12%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.treatment {
        background-position: 15% 45%
    }
}

.h-nav-listText.price {
    background: url(../images/nav_icon-price.png) no-repeat 36% center/12%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.price {
        background-position: 35% center
    }
}

.h-nav-listText.flow {
    background: url(../images/nav_icon-flow.png) no-repeat 23% center/12%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.flow {
        background-position: 19% center
    }
}

.h-nav-listText.clinic {
    background: url(../images/nav_icon-clinic.png) no-repeat 18% center/9%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.clinic {
        background-position: 12% center
    }
}

@media screen and (max-width: 1200px) {
    .h-nav-listText {
        padding-left: 1em
    }
}

.h-nav-clinicListWrap {
    position: relative
}

.h-nav-clinicListArea {
    display: none;
    position: absolute;
    right: 10px;
    width: 15%;
    background-color: #fff;
    padding: .5em 1em;
    transition: top .3s linear;
    top: -5px;
    pointer-events: auto;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, .08)
}

.h-nav-clinicList:not(:last-child) .h-nav-clinicListText {
    border-bottom: 1px dotted #ccc
}

.h-nav-clinicListText {
    display: block;
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 700;
    color: #182a52;
    padding: .5em 1em
}

@media(hover: hover)and (pointer: fine) {
    .h-nav-clinicListText:hover {
        background-color: #f2f2f2;
        transition: .2s ease-in-out
    }
}

.h-spMenu-button {
    height: 100%;
    width: 90px
}

@media screen and (max-width: 425px) {
    .h-spMenu-button {
        width: 57px
    }
}

@media screen and (max-width: 768px) {
    .h-spMenu-button .h-headerTop-reserveLink {
        gap: 3px;
        padding-top: 2px
    }

    .h-spMenu-button .h-headerTop-menuLine {
        height: 3px
    }
}

.h-modal-linkArea-line .h-modal-linkList-topText {
    color: #6c6
}

.h-modal-linkArea-line .h-modal-linkListButton {
    background-color: #6c6
}

.h-modal-linkArea-tel .h-modal-linkListButton {
    background-color: #182a52
}

.h-modal-linkList-topText {
    font-size: clamp(18px, 2.6vw, 20px)
}

.h-modal-linkList:not(:last-child) {
    border-bottom: 1px dotted #333
}

.h-modal-linkListImage {
    width: min(70%, 260px);
    display: block
}

.h-modal-linkListButton {
    font-size: clamp(18px, 2.6vw, 20px);
    padding: .8em .5em;
    display: block;
    width: min(90%, 300px)
}

.h-modal-telIcon {
    padding-left: 1.5em;
    background: url(../images/icon-tel_reserve.png) no-repeat left center/contain
}

.remodal-is-initialized:has(.h-modal-linkArea) {
    height: min(600px, 68%);
    border-radius: 2em
}

.remodal-is-initialized:has(.h-modal-linkArea)::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 20px solid rgba(0, 0, 0, 0);
    border-left: 20px solid rgba(0, 0, 0, 0);
    border-top: 40px solid #fff;
    border-bottom: 0;
    position: absolute;
    bottom: -40px
}

.remodal-is-initialized:has(.h-modal-linkArea):has(.h-modal-linkArea-line)::after {
    left: 50%;
    transform: translateX(-50%)
}

.remodal-is-initialized:has(.h-modal-linkArea):has(.h-modal-linkArea-tel)::after {
    right: 10%
}

.remodal-close {
    top: 10px;
    right: 10px
}

.h-modal-linkWrap {
    height: 100%;
    overflow-y: scroll;
    position: relative
}

.remodal-overlay {
    z-index: 3
}

.remodal-wrapper {
    z-index: 4
}

.h-nav-treatmentListWrap {
    position: relative
}

.h-nav-treatmentListArea {
    display: none;
    position: absolute;
    right: 640px;
    width: 15%;
    background-color: #fff;
    padding: .5em 1em;
    transition: top .3s linear;
    top: -5px;
    pointer-events: auto;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, .08)
}

.h-nav-treatmentList:not(:last-child) .h-nav-treatmentListText {
    border-bottom: 1px dotted #ccc
}

.h-nav-treatmentListText {
    display: block;
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 700;
    color: #182a52;
    padding: .5em 1.5em
}

@media(hover: hover)and (pointer: fine) {
    .h-nav-treatmentListText:hover {
        background-color: #f2f2f2;
        transition: .2s ease-in-out
    }
}

.h-nav-treatmentList-ttl {
    display: block;
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 800;
    color: #182a52;
    background-color: #ccebff;
    padding: .5em
}

.h-nav-listArea {
    display: grid;
    grid-template-columns: repeat(8, 1fr)
}

.h-nav-listText {
    padding: .4em 0 .4em 1em;
    font-size: clamp(14px, 1vw, 18px)
}

.h-nav-listText.beginner {
    background: url(../images/nav_icon-beginner.png) no-repeat 2% center/8%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.beginner {
        background-position: 3% center
    }
}

.h-nav-listText.feature {
    background: url(../images/nav_icon-feature.png) no-repeat 17% center/12%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.feature {
        background-position: 19% center
    }
}

.h-nav-listText.case {
    background: url(../images/nav_icon-case.png) no-repeat 20% 26%/12%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.case {
        background-position: 24% 29%
    }
}

.h-nav-listText.treatment {
    background: url(../images/nav_icon-treatment.png) no-repeat 12% 38%/12%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.treatment {
        background-position: 15% 45%
    }
}

.h-nav-listText.price {
    background: url(../images/nav_icon-price.png) no-repeat 33% center/12%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.price {
        background-position: 35% center
    }
}

.h-nav-listText.flow {
    background: url(../images/nav_icon-flow.png) no-repeat 17% center/12%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.flow {
        background-position: 19% center
    }
}

.h-nav-listText.clinic {
    background: url(../images/nav_icon-clinic.png) no-repeat 11% center/9%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.clinic {
        background-position: 12% center
    }
}

.h-nav-listText.authority {
    background: url(../images/nav_icon-authority.png) no-repeat 6% center/14%
}

@media screen and (max-width: 1200px) {
    .h-nav-listText.authority {
        background-position: 3% center
    }
}

.h-nav-clinicListArea {
    right: 10%
}

.h-nav-treatmentListArea {
    right: 40%
}

.h-menu-wrap {
    background-color: #182a52;
    width: 100vw;
    height: 100vh;
    min-height: 100vh;
    padding: 3.125em 0 4.75em 0;
    position: relative;
    display: grid;
    align-items: center;
    gap: 2.5em 0;
    z-index: 20;
    transform: translateX(100%);
    transition: transform .5s;
    overflow-x: hidden;
    position: absolute;
    top: 0
}

.h-menu-wrap.open {
    position: fixed;
    top: 0;
    left: 0;
    transform: translateX(0);
    transition: transform .5s
}

.h-menu-wrap a,
.h-menu-wrap .h-menu-linktext {
    color: #fff;
    font-weight: 700
}

@media screen and (max-width: 768px) {
    .h-menu-wrap {
        height: 100svh;
        padding-top: 1em;
        overflow-y: scroll
    }
}

.h-menu-linktext {
    display: block;
    width: -moz-fit-content;
    width: fit-content
}

.h-menu-inner {
    margin-inline: auto;
    width: 1420px;
    max-width: 92vw;
    display: grid;
    padding-right: 4%;
    grid-template-columns: 23% 71%;
    gap: 2em 0;
    align-items: center;
    justify-content: space-between
}

@media screen and (max-width: 1024px) {
    .h-menu-inner {
        grid-template-columns: 1fr
    }
}

@media screen and (max-width: 768px) {
    .h-menu-inner {
        grid-template-columns: 1fr;
        gap: 1em;
        align-content: flex-start;
        padding-right: 0;
        height: 100%;
        padding-top: 10vh
    }
}

.h-menu-listArea {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto 1fr;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 4em 5%
}

@media screen and (max-width: 768px) {
    .h-menu-listArea {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: .5em
    }
}

.h-menu-buttonListArea {
    display: grid;
    gap: 1em
}

@media screen and (max-width: 1024px) {
    .h-menu-buttonListArea {
        grid-template-columns: repeat(4, 1fr);
        align-items: center
    }
}

.h-menu-buttonListArea .c-buttonList a {
    border: none
}

.h-menu-buttonListArea .c-buttonList:has(.web) a {
    background-color: #09f
}

.h-menu-buttonListArea li:nth-child(2) a {
    background-color: #09f
}

.h-menu-buttonListArea .c-buttonList:has(.line) a {
    background-color: #6c6
}

.h-menu-buttonListArea li:nth-child(3) a {
    background-color: #6c6
}

.h-menu-buttonListArea .c-buttonList:has(.tel) a {
    background-color: #2253b2
}

.h-menu-buttonListArea li:nth-child(4) a {
    background-color: #2253b2
}

@media screen and (max-width: 1024px) {
    .h-menu-buttonListArea .l-spN {
        display: none
    }
}

@media screen and (max-width: 768px) {
    .h-menu-buttonListArea {
        gap: .5em .2em;
        grid-template-columns: repeat(3, 1fr)
    }

    .h-menu-buttonListArea .c-buttonList a {
        padding: .8em .2em;
        height: 100%;
        display: flex;
        align-items: center;
        width: 100%
    }
}

@media screen and (max-width: 425px) {
    .h-menu-buttonListArea .c-buttonList a {
        font-size: 12px
    }
}

@media screen and (max-width: 320px) {
    .h-menu-buttonListArea .c-buttonList a {
        font-size: 10px
    }
}

.h-menu-logo {
    margin-bottom: 1.5em
}

@media screen and (max-width: 1024px) {
    .h-menu-logo {
        margin-bottom: 0
    }
}

@media screen and (max-width: 768px) {
    .h-menu-logo {
        grid-column: 1/4
    }
}

.h-menu-logoLink {
    background: url(../images/menu_logo.png) no-repeat 0 center/contain;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-family: "Oswald", sans-serif;
    font-size: clamp(18px, 1.47vw, 22px);
    text-align: center;
    padding-left: 8.5vw;
    height: 10vw
}

@media screen and (max-width: 768px) {
    .h-menu-logoLink {
        width: -moz-fit-content;
        width: fit-content;
        padding-left: 17vw;
        height: 15vw
    }
}

.h-menu-treatmentListArea,
.h-menu-clinicListArea,
.h-menu-otherListArea {
    display: grid;
    gap: clamp(12px, 1.33vw, 20px)
}

.h-menu-treatmentListArea>.title,
.h-menu-clinicListArea>.title,
.h-menu-otherListArea>.title {
    font-size: clamp(18px, 1.47vw, 22px)
}

.h-menu-treatmentListArea>.title .c-buttonArrow::after,
.h-menu-clinicListArea>.title .c-buttonArrow::after,
.h-menu-otherListArea>.title .c-buttonArrow::after {
    right: -2.5em
}

.h-menu-treatmentListArea>.item,
.h-menu-clinicListArea>.item,
.h-menu-otherListArea>.item {
    font-size: clamp(16px, 1.2vw, 18px)
}

.h-menu-treatmentListArea>.item a,
.h-menu-clinicListArea>.item a,
.h-menu-otherListArea>.item a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .4em;
    width: -moz-fit-content;
    width: fit-content
}

.h-menu-treatmentListArea>.item a::before,
.h-menu-clinicListArea>.item a::before,
.h-menu-otherListArea>.item a::before {
    content: "";
    display: block;
    width: 4px;
    height: .75em;
    background-color: #09f
}

.h-menu-treatmentListArea>.women a::before,
.h-menu-clinicListArea>.women a::before,
.h-menu-otherListArea>.women a::before {
    background-color: #ed8a76
}

@media screen and (max-width: 768px) {
    .h-menu-otherListArea {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 1em
    }
}

@media screen and (max-width: 768px) {

    .h-menu-treatmentListArea,
    .h-menu-listAreaOpen {
        display: none;
        pointer-events: none;
        padding: 1em
    }
}

.h-menu-treatmentListArea.open-link,
.h-menu-listAreaOpen.open-link {
    display: block;
    pointer-events: initial
}

.h-menu-boxListArea {
    margin-inline: auto;
    width: min(92%, 1780px);
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 2%
}

.h-menu-boxListArea li {
    width: 18%
}

.h-menu-listWrap:nth-child(1),
.h-menu-listWrap:nth-child(2) {
    grid-row: 1/3
}

@media screen and (max-width: 768px) {

    .h-menu-listWrap:nth-child(1),
    .h-menu-listWrap:nth-child(2) {
        grid-row: auto
    }
}

.h-menu-listWrap:nth-child(3) {
    margin-bottom: 1.5em
}

@media screen and (max-width: 768px) {
    .h-menu-listWrap:nth-child(3) {
        margin-bottom: 0
    }
}

@media screen and (max-width: 768px) {
    .h-menu-listWrap {
        border: 1px solid #fff
    }
}

.h-menu-listTitle {
    font-size: clamp(16px, 1.47vw, 22px);
    color: #fff;
    font-weight: 700;
    position: relative
}

.h-menu-listTitle button {
    padding: 1em;
    display: block;
    text-align: left;
    width: 100%
}

@media screen and (max-width: 320px) {
    .h-menu-listTitle button {
        padding-right: 2em
    }
}

.h-menu-listTitle::before,
.h-menu-listTitle::after {
    content: "";
    display: block;
    width: 1.5em;
    height: 2px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    right: 1em;
    z-index: -1
}

.h-menu-listTitle::before {
    transform: translate(0, -50%)
}

.h-menu-listTitle::after {
    transform: translate(0, -50%) rotate(90deg);
    transition: transform linear .3s
}

.h-menu-listTitle.close-buttom::after {
    transform: translate(0, -50%) rotate(0);
    transition: transform linear .3s
}

.h-menu-listTitle a {
    display: block
}

.h-menu-boxList {
    display: block;
    height: 100%;
    padding: 1em;
    background-color: #2f53ac
}

@media screen and (max-width: 768px) {
    .h-menu-boxList {
        padding: .5em
    }
}

.h-menu-boxListImageArea {
    display: grid;
    align-items: flex-end;
    justify-content: center;
    gap: 1em;
    height: 100%
}

.h-menu-boxListTitle {
    font-size: clamp(12px, 1.07vw, 16px);
    text-align: center;
    display: grid;
    align-items: center;
    justify-content: center;
    height: 100%
}

.h-menu-closeButtonWrap {
    position: absolute;
    top: 0;
    right: 0
}

.h-menu-closeButton {
    display: block;
    width: clamp(60px, 8.4vw, 100px);
    height: clamp(60px, 8.4vw, 100px);
    background-color: #666
}

.h-menu-closeButtonLine {
    display: inline-block;
    vertical-align: middle;
    background-color: #fff;
    line-height: 1;
    width: 2.8em;
    height: .3em;
    position: relative;
    transform: rotate(45deg)
}

.h-menu-closeButtonLine::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    transform: rotate(90deg)
}

.h-menu-treatmentButton .h-menu-treatmentButtonText {
    display: block;
    padding: 0 3.5em 0 1em;
    font-size: clamp(12px, 1.33vw, 20px);
    background-color: #fff;
    color: #182a52;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(60px, 5.47vw, 82px)
}

@media screen and (max-width: 768px) {
    .h-menu-treatmentButton .h-menu-treatmentButtonText {
        padding: 1.2em .2em
    }
}

@media screen and (max-width: 425px) {
    .h-menu-treatmentButton .h-menu-treatmentButtonText {
        padding-right: 1.8em
    }
}

@media screen and (max-width: 320px) {
    .h-menu-treatmentButton .h-menu-treatmentButtonText {
        font-size: 14px
    }
}

.h-menu-treatmentButton .h-menu-treatmentButtonText.c-buttonArrow::after {
    background-image: url(../images/arrow-blue.png)
}

@media screen and (max-width: 425px) {
    .h-menu-treatmentButton .h-menu-treatmentButtonText.c-buttonArrow::after {
        right: 4%
    }
}

.h-menu-pcTreatmentButtonArea {
    display: grid;
    gap: clamp(12px, 1.33vw, 20px)
}

.h-menu-spTreatmentButtonArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .2em
}

@media screen and (max-width: 320px) {
    .h-menu-spTreatmentButtonArea {
        grid-template-columns: 1fr
    }
}

.h-menu-pcLinkButton {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 2.8em;
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.5
}

.h-menu-pcLinkButton.c-buttonArrow::after {
    right: 0
}

.b-breadcrumbs-listWrap {
    background: #ccc
}

.b-breadcrumbs-listArea {
    display: flex;
    flex-wrap: wrap;
    width: min(100%, 1250px);
    margin-inline: auto;
    padding-left: 4em
}

.b-breadcrumbs-listArea .b-breadcrumbs-listItem {
    font-size: clamp(14px, 1.07vw, 16px);
    display: flex;
    align-items: center
}

.b-breadcrumbs-listArea .b-breadcrumbs-listItem:not(:last-child)::after {
    content: "";
    display: block;
    margin: auto;
    width: 1em;
    height: 1em;
    font-size: clamp(16px, 1.33vw, 20px);
    padding-bottom: 1.1em;
    background: url(../images/breadcrumbs-arrow.png) no-repeat center center/contain
}

@media screen and (max-width: 425px) {
    .b-breadcrumbs-listArea .b-breadcrumbs-listItem:not(:last-child)::after {
        padding-bottom: 1.3em
    }
}

.b-breadcrumbs-listArea .b-breadcrumbs-listItem:first-child a {
    display: flex;
    align-items: center;
    position: relative
}

.b-breadcrumbs-listArea .b-breadcrumbs-listItem:first-child a::before {
    content: "";
    display: block;
    background: url(../images/breadcrumbs-home-icon.png) no-repeat left center/contain;
    width: 4.5em;
    height: 100%;
    position: absolute;
    left: -4.6em
}

@media(hover: hover)and (pointer: fine) {
    .b-breadcrumbs-listArea .b-breadcrumbs-listItem a:hover {
        text-decoration: none;
        color: #666;
        transition: .3s ease-in-out
    }
}

.b-breadcrumbs-listArea .b-breadcrumbs-listItem .b-breadcrumbs-listText {
    display: block;
    padding: 1em 0
}

.f-footer-inner {
    width: 92%;
    max-width: 1020px;
    margin-inline: auto
}

.f-footerTop-wrap {
    width: 100%;
    margin-inline: auto;
    background-color: #09f;
    padding: 4.375em 0 3.125em 0
}

@media screen and (max-width: 768px) {
    .f-footerTop-wrap {
        padding-top: 2.5em
    }
}

.f-footerTop-title,
.f-footerTop-listTitle,
.f-footerTop-wrap a,
.f-footerBottom-listTitle,
.f-footerBottom-contentsTitle,
.f-footerBottom-aboutTitle,
.f-footerBottom-aboutList,
.f-footerBottom-linkTitle,
.f-footerBottom-wrap a {
    color: #fff
}

.f-footerTop-title {
    font-family: "貂ｸ譏取悃菴�", "Yu Mincho", YuMincho, "繝偵Λ繧ｮ繝取�譛� Pro", "Hiragino Mincho Pro", "MS P譏取悃", "MS PMincho", serif;
    font-size: clamp(16px, 1.33vw, 20px);
    text-align: center;
    margin: 0 4%
}

.f-footerTop-title::after {
    content: "";
    display: block;
    width: 2px;
    height: 5em;
    background-color: #fff;
    margin: 1em auto 0
}

@media screen and (max-width: 768px) {
    .f-footerTop-title::after {
        height: 2.5em;
        margin-bottom: 1em
    }
}

.f-footerTop-listWrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5%
}

@media screen and (max-width: 768px) {
    .f-footerTop-listWrap {
        grid-template-columns: 1fr;
        gap: 2em
    }
}

.f-footerTop-listTitle,
.f-footerBottom-listTitle {
    font-weight: 700;
    margin-bottom: 1.4em
}

.f-footerTop-listTitle {
    padding-bottom: .5em;
    border-bottom: 2px solid #fff
}

.f-footer-list {
    display: grid;
    gap: .6em
}

.f-footerTop-listLink {
    display: block;
    padding-left: 1.2em;
    position: relative
}

.f-footerTop-listLink::before,
.f-footerTop-listLink::after {
    content: "";
    width: .5em;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 45%
}

.f-footerTop-listLink::before {
    left: 0
}

.f-footerTop-listLink::after {
    content: "";
    transform: rotate(90deg);
    left: 0
}

.f-footerBottom-wrap {
    background-color: #182a52
}

.f-footerBottom-wrap>div:not(:nth-child(n+3)) {
    border-bottom: 1px solid #fff
}

.f-footerBottom-navWrap {
    padding: 4.375em 0
}

@media screen and (max-width: 768px) {
    .f-footerBottom-navWrap {
        padding: 2.5em 0
    }
}

.f-footerBottom-logo {
    display: block;
    width: clamp(80px, 9.33vw, 140px);
    margin-inline: auto
}

.f-footerBottom-buttonListArea {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5%
}

@media screen and (max-width: 768px) {
    .f-footerBottom-buttonListArea {
        grid-template-columns: 1fr
    }
}

.f-footerBottom-buttonListArea .c-buttonList a {
    font-size: clamp(16px, 1.33vw, 20px);
    color: #fff;
    font-weight: 700;
    border: none
}

.f-footerBottom-buttonListArea .c-buttonList a.web {
    background-color: #09f
}

.f-footerBottom-buttonListArea .c-buttonList a.line {
    background-color: #6c6
}

.f-footerBottom-buttonListArea .c-buttonList a.tel {
    background-color: #2253b2;
    margin-right: .3em
}

.f-footerBottom-buttonListArea .c-buttonList a.tel ::before {
    width: 1.8em
}

.f-footerBottom-listWrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2em 5%;
    justify-content: center;
    font-size: clamp(14px, 1.2vw, 18px)
}

@media screen and (max-width: 768px) {
    .f-footerBottom-listWrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

.f-footerBottom-listWrap a:not(.f-footerBottom-listArea:last-child a) {
    border-bottom: 1px solid currentColor
}

.f-footerBottom-contentsTitle,
.f-footerBottom-linkTitle {
    font-size: clamp(16px, 2vw, 30px);
    font-family: "Oswald", sans-serif;
    text-align: center;
    font-weight: 600
}

.f-footerBottom-contentsTitle {
    grid-column: 1/5
}

@media screen and (max-width: 768px) {
    .f-footerBottom-contentsTitle {
        grid-column: 1/3
    }
}

.f-footerBottom-clinicList {
    display: grid;
    grid-template-columns: repeat(6, auto);
    width: 92%;
    max-width: 1100px;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .f-footerBottom-clinicList {
        grid-template-columns: 1fr;
        gap: 1em
    }
}

.f-footerBottom-clinicList a {
    font-size: clamp(16px, 1.2vw, 18px);
    text-align: center;
    font-weight: 700
}

.f-footerBottom-clinicList a:not(:first-child) {
    border-left: 1px solid currentColor
}

@media screen and (max-width: 768px) {
    .f-footerBottom-clinicList a:not(:first-child) {
        border-left: none
    }
}

.f-footerBottom-snsIconArea {
    display: grid;
    grid-template-columns: repeat(6, auto);
    gap: .8em;
    justify-content: center;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

.f-footerBottom-snsIcon {
    height: 2.3em
}

.f-footerBottom-snsIcon img {
    width: auto;
    height: 100%
}

.f-footerBottom-aboutWrap {
    padding: 3.75em 0
}

@media screen and (max-width: 768px) {
    .f-footerBottom-aboutWrap {
        padding: 2.5em 0
    }
}

.f-footerBottom-aboutTitle {
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    text-align: center;
    margin-bottom: .5em
}

.f-footerBottom-aboutListArea {
    display: grid;
    grid-template-columns: repeat(6, 1fr)
}

@media screen and (max-width: 768px) {
    .f-footerBottom-aboutListArea {
        grid-template-columns: repeat(2, 1fr);
        gap: 1em 0
    }
}

.f-footerBottom-aboutList {
    font-size: clamp(18px, 1.6vw, 24px);
    font-weight: 700;
    text-align: center
}

.f-footerBottom-aboutList span {
    font-size: 12px;
    display: block;
    padding-bottom: .2em
}

.f-footerBottom-linkWrap {
    padding: 3.75em 0 5em 0
}

@media screen and (max-width: 768px) {
    .f-footerBottom-linkWrap {
        padding: 2.5em 0
    }
}

.f-footerBottom-linkListArea {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1em
}

@media screen and (max-width: 768px) {
    .f-footerBottom-linkListArea {
        gap: .5em
    }
}

.f-footerBottom-linkList {
    display: inline-block;
    font-size: max(14px, .83vw);
    font-weight: 700
}

.f-footerBottom-linkList::after {
    content: "��";
    display: inline-block;
    width: 1em;
    height: 100%;
    margin-left: 1em
}

@media screen and (max-width: 768px) {
    .f-footerBottom-linkList {
        width: 100%
    }

    .f-footerBottom-linkList::after {
        content: none
    }
}

.f-pageTop-wrap {
    position: fixed;
    width: 70px;
    bottom: 5%;
    right: calc((100vw - 1500px)/2 + 3%);
    z-index: 1
}

@media screen and (max-width: 1500px) {
    .f-pageTop-wrap {
        right: 3%
    }
}

@media screen and (max-width: 768px) {
    .f-pageTop-wrap {
        bottom: 4.2em
    }
}

.f-footerCopyRight {
    background-color: #333;
    padding: .5em 0
}

.f-footerCopyRight-text {
    text-align: center;
    font-family: "Oswald", sans-serif;
    color: #fff;
    font-weight: 200;
    font-size: clamp(14px, 1.07vw, 16px)
}

.c-buttonMain {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    background-color: #f90;
    border: 2px solid #f90;
    border-radius: 5em;
    text-align: center;
    transition: .2s ease-in-out;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center
}

@media screen and (max-width: 768px) {
    .c-buttonMain {
        width: min(420px, 100%)
    }
}

.c-buttonMain>* {
    padding: 1.3em 3.8em 1.3em 2.8em
}

@media screen and (max-width: 768px) {
    .c-buttonMain>* {
        padding: 1.3em 16% 1.3em 5%
    }
}

.c-buttonMain.c-buttonMain-blue {
    background-color: #09f;
    border: none;
    transition: .2s ease-in-out
}

.c-buttonMain.c-buttonMain-blue>* {
    padding: 1.3em 3.4em;
    width: 100%
}

@media screen and (max-width: 768px) {
    .c-buttonMain.c-buttonMain-blue>* {
        padding-right: 16%
    }
}

@media(hover: hover)and (pointer: fine) {
    .c-buttonMain:hover {
        background-color: #fff;
        transition: .2s ease-in-out
    }

    .c-buttonMain:hover .c-buttonMain-text {
        color: #f90;
        transition: .2s ease-in-out
    }

    .c-buttonMain:hover.c-buttonArrow::after {
        background: url(../images/arrow-orange.png) no-repeat center center/contain;
        transition: .2s ease-in-out
    }

    .c-buttonMain.c-buttonMain-blue:hover {
        background-color: #09f
    }

    .c-buttonMain.c-buttonMain-blue:hover .c-buttonMain-text {
        color: #fff;
        transition: .2s ease-in-out
    }

    .c-buttonMain.c-buttonMain-blue:hover.c-buttonArrow::after {
        background: url(../images/arrow-white.png) no-repeat center center/contain;
        transition: .2s ease-in-out
    }
}

.c-buttonGradation {
    background-color: #09f;
    box-shadow: clamp(5px, .67vw, 10px) clamp(5px, .67vw, 10px) 0px 0px rgba(0, 0, 0, .15);
    text-align: center
}

.c-buttonGradation>* {
    padding: clamp(20px, 4vw, 60px) 5%;
    background: url(../images/button-gra_bg.png) no-repeat left center/contain
}

@media screen and (max-width: 768px) {
    .c-buttonGradation>* {
        background: url(../images/button-gra_bg-sp.png) no-repeat left center/contain;
        padding-right: 16%
    }
}

.c-buttonHoverAnime {
    overflow: hidden;
    position: relative
}

.c-buttonHoverAnime::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    background-color: #999;
    transform: translateX(-100%);
    transition: .2s ease-in-out
}

@media(hover: hover)and (pointer: fine) {
    .c-buttonHoverAnime:hover::before {
        transform: translateX(0);
        transition: all .2s ease-in-out
    }
}

.c-button-sizeS {
    max-width: 720px
}

.c-button-minSize {
    width: min(100%, 560px)
}

.c-buttonMain-text {
    color: #fff;
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    display: block;
    transition: .2s ease-in-out;
    position: inherit;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 100%
}

.c-buttonArrow {
    position: relative
}

.c-buttonArrow::after {
    content: "";
    display: block;
    width: 30px;
    height: 100%;
    background: url(../images/arrow-white.png) no-repeat center center/contain;
    position: absolute;
    top: 48%;
    transform: translate(0, -52%);
    right: 1.2em;
    transition: .2s ease-in-out
}

@media screen and (max-width: 768px) {
    .c-buttonArrow::after {
        width: 20px
    }
}

.c-buttonArrow.c-buttonArrow-move::after {
    animation: move-arrow 1.2s linear infinite
}

@media screen and (max-width: 768px) {
    .c-buttonArrow.c-buttonArrow-move::after {
        animation: move-arrowSP 1.2s linear infinite
    }
}

@keyframes move-arrow {
    0% {
        right: 2em;
        opacity: 0
    }

    30% {
        opacity: 1
    }

    80% {
        opacity: 1
    }

    100% {
        right: .8em;
        opacity: .8
    }
}

@keyframes move-arrowSP {
    0% {
        right: 1.5em;
        opacity: 0
    }

    30% {
        opacity: 1
    }

    80% {
        opacity: 1
    }

    100% {
        right: .5em;
        opacity: .8
    }
}

.c-buttonArrow-leftStyle {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto
}

.c-buttonArrow-leftStyle .c-buttonArrow {
    padding-right: 4.8em
}

.c-buttonListArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .5em clamp(20px, 3.33vw, 50px)
}

@media screen and (max-width: 768px) {
    .c-buttonListArea {
        grid-template-columns: 1fr
    }
}

.c-buttonListArea .c-buttonMain {
    width: 100%
}

@media screen and (max-width: 768px) {
    .c-buttonListArea .c-buttonMain {
        width: min(420px, 100%)
    }
}

.c-clinicLocation-link.mapButton {
    background-color: #182a52;
    color: #fff
}

.c-clinicLocation-link.mapButton .c-buttonArrow {
    padding-right: 4.5em
}

.c-clinicLocation-link.mapButton .c-buttonArrow::after {
    background-image: url(../images/arrow-white.png)
}

.c-clinicLocation-link.darkBlueButton {
    background-color: #182a52;
    color: #fff
}

.c-clinicLocation-link.darkBlueButton .c-buttonArrow {
    padding-right: 4.5em
}

.c-clinicLocation-link.darkBlueButton .c-buttonArrow::after {
    background-image: url(../images/arrow-white.png)
}

.c-clinicLocation-link.blueButton {
    background-color: #09f;
    color: #fff
}

.c-clinicLocation-link.blueButton .c-buttonArrow {
    padding-right: 4.8em
}

.c-clinicLocation-link.blueButton .c-buttonArrow::after {
    background-image: url(../images/arrow-white.png)
}

.c-viewMore {
    font-size: clamp(14px, 1vw, 15px);
    font-weight: 700;
    display: inline-block
}

.c-buttonList {
    text-align: center
}

.c-buttonList a {
    display: block;
    padding: .8em;
    border: 2px solid #fff;
    font-size: clamp(13px, 1.33vw, 20px)
}

.c-buttonListIcon {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    width: 100%
}

.c-buttonListIcon::before {
    content: "";
    width: 2em;
    height: 2em;
    display: block;
    margin-right: .6em
}

.c-buttonListIcon.web::before {
    background: url(../images/icon-web_reserve.png) no-repeat center center/contain
}

.c-buttonListIcon.line::before {
    background: url(../images/icon-line_reserve.png) no-repeat center center/contain
}

.c-buttonListIcon.tel::before {
    background: url(../images/icon-tel_reserve.png) no-repeat center center/contain;
    margin-right: .3em
}

@media screen and (max-width: 768px) {
    .c-buttonListIcon.tel::before {
        margin-right: 0;
        width: 1.3em
    }
}

.c-clinicLocation-link {
    color: #182a52;
    background-color: #fff;
    padding-left: 1em;
    border-radius: 1.2em;
    text-align: left;
    display: flex;
    align-items: center;
    height: 2.3em;
    opacity: 1;
    transition: opacity .2s ease-in-out
}

.c-clinicLocation-link .c-buttonArrow::after {
    background-image: url(../images/arrow-blue.png);
    right: 10%
}

@media(hover: hover)and (pointer: fine) {
    .c-hover-image:hover .c-hover-imageBefore {
        display: none;
        transition: .2s ease-in-out
    }

    .c-hover-image:hover .c-hover-imageAfter {
        display: block;
        opacity: 1;
        transition: .2s ease-in-out
    }

    .c-clinicLocation-link:hover {
        opacity: .8;
        transition: opacity .2s ease-in-out
    }
}

.c-hover-imageAfter {
    display: none;
    transition: .2s ease-in-out
}

.c-title-wrap {
    width: 100%
}

.c-title {
    font-size: clamp(24px, 4vw, 60px);
    font-weight: 700;
    text-align: center;
    letter-spacing: .14em
}

.c-title-besideLine {
    text-align: center;
    display: flex;
    align-items: center
}

@media screen and (max-width: 768px) {
    .c-title-besideLine {
        letter-spacing: .05em
    }
}

.c-title-besideLine::before,
.c-title-besideLine::after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #333
}

.c-title-besideLine::before {
    margin-right: 3%
}

.c-title-besideLine::after {
    margin-left: 3%
}

.c-title-line {
    display: block;
    margin: .8em auto 1.5em;
    width: clamp(30px, 3.33vw, 50px);
    height: 3px;
    background-color: #2254b2
}

.c-title-decoText {
    display: block;
    font-size: clamp(12px, 1vw, 15px);
    font-family: "貂ｸ譏取悃菴�", "Yu Mincho", YuMincho, "繝偵Λ繧ｮ繝取�譛� Pro", "Hiragino Mincho Pro", "MS P譏取悃", "MS PMincho", serif;
    color: #2254b2;
    text-align: center
}

.c-titleS {
    font-size: clamp(18px, 2.4vw, 36px);
    font-weight: 700;
    color: #182a52;
    text-align: center;
    line-height: 1.6
}

.c-titleSS {
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700
}

.c-title-underLine::after {
    content: "";
    display: block;
    width: clamp(30px, 3.33vw, 50px);
    height: 3px;
    background-color: #182a52;
    margin: .4em auto 0
}

.c-page-title {
    font-size: clamp(20px, 2.67vw, 40px);
    font-weight: 700;
    text-align: center;
    letter-spacing: .22em
}

.c-title-subText,
.c-title-subText-sec {
    font-size: clamp(16px, 2vw, 30px);
    font-weight: 700;
    text-align: center
}

.c-title-subText-sec {
    line-height: 1.5;
    letter-spacing: .22em;
    color: #09f;
    padding-left: 4%;
    padding-right: 4%
}

.c-title-radius {
    padding: .1em;
    background-color: #fff;
    border: 1px solid #182a52;
    border-radius: 2em
}

.c-titleBubble {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: -moz-fit-content;
    height: fit-content;
    background-color: #999;
    padding: 4em .5em;
    position: relative
}

.c-titleBubble::after {
    content: "";
    width: 1em;
    height: 1.5em;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    display: block;
    background-color: #999;
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%)
}

.c-subText-glay {
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 700;
    font-family: "Oswald", sans-serif;
    color: #ccc;
    display: block
}

.c-title-sideLine {
    font-weight: 700;
    padding-top: .3em;
    padding-bottom: .3em;
    padding-left: .5em;
    border-left: 3px solid #09f
}

.c-underLine {
    position: relative
}

.c-underLine::after {
    content: "";
    position: absolute;
    bottom: 3px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #f90
}

.c-underLine-white {
    position: relative
}

.c-underLine-white::after {
    content: "";
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff
}

.c-dotsLine {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .5em;
    align-items: center;
    justify-content: space-between
}

.c-dotsLine::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #333333, #333333 1px, transparent 1px, transparent 1.5px);
    background-size: 2px 1px;
    background-repeat: repeat-x
}

.c-solidLine {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .5em;
    align-items: center;
    justify-content: space-between
}

.c-solidLine::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: #182a52;
    background-size: 2px 1px;
    background-repeat: repeat-x
}

.c-emTextM {
    font-size: clamp(22px, 2vw, 30px);
    color: #f90;
    font-weight: 700
}

.c-emTextL {
    font-size: clamp(30px, 4vw, 60px);
    color: #f90;
    font-weight: 700;
    margin: 0 0 0 .2em
}

.c-priceText {
    font-size: clamp(12px, 1vw, 16px)
}

.c-priceText .c-underLine::after {
    height: 2px
}

.c-category-radiusWrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: .5em
}

.c-category-radius {
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    color: #fff;
    padding: .3em 1em;
    border-radius: 1.2em;
    background-color: #f90
}

.c-triangleArrow {
    position: relative
}

.c-triangleArrow::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 6px solid rgba(0, 0, 0, 0);
    border-left: 6px solid rgba(0, 0, 0, 0);
    border-top: 10px solid #182a52;
    border-bottom: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2em;
    z-index: -1
}

.c-thickArrow {
    position: relative
}

.c-thickArrow ::after {
    content: "";
    width: min(4em, 30%);
    height: 100%;
    background: url(../images/arrowBig-nomal.png) no-repeat center center/contain;
    position: absolute;
    top: 50%;
    right: -38%;
    transform: translatey(-50%)
}

@media screen and (max-width: 768px) {
    .c-thickArrow ::after {
        width: 2em;
        bottom: -115%;
        top: auto;
        right: 50%;
        transform: translate(50%, -50%) rotate(90deg)
    }
}

.c-circleBg {
    position: relative
}

.c-circleBg::after {
    content: "";
    height: 100%;
    width: 62%;
    background-color: #f2faff;
    border-radius: 50%;
    position: absolute;
    top: -8%;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1
}

@media screen and (max-width: 768px) {
    .c-circleBg::after {
        width: 90%;
        top: 0
    }
}

.c-roundedBox {
    border-radius: clamp(15px, 2vw, 30px);
    overflow: hidden;
    background-color: #f2faff;
    box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, .19)
}

.c-roundedBox-white {
    border-radius: clamp(15px, 2vw, 30px);
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, .19)
}

.c-clinicLocationBox {
    border-bottom: clamp(5px, .67vw, 10px) solid #182a52;
    border-left: clamp(5px, .67vw, 10px) solid #182a52;
    border-right: clamp(5px, .67vw, 10px) solid #182a52
}

.c-clinicLocationBox-titleArea {
    background-color: #182a52;
    padding: .5em .3em
}

.c-clinicLocationBox-detailArea,
.c-clinicLocationBox-timeArea {
    padding: 0 2.5% 1em
}

.c-clinicLocationBox-detailListArea {
    display: grid;
    gap: .5em;
    align-content: flex-start
}

.c-clinicLocationBox-detailList {
    display: grid;
    grid-template-columns: 2em 4em 1fr;
    align-items: start;
    font-size: clamp(14px, 1.07vw, 16px)
}

.c-clinicLocationBox-detailListIcon {
    width: 2.4em;
    padding-right: 45%
}

.c-clinicLocationBox-detailListTitle {
    color: #666;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.c-clinicLocationBox-detailListTitle::after {
    content: ":";
    display: block;
    width: 1em;
    height: 100%;
    padding-bottom: .2em
}

.c-clinicLocationBox-detailListData {
    font-weight: 700;
    line-height: 1.4
}

.c-clinicLocationBox-detailListLink a {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 420px;
    margin-right: 0;
    margin-left: 6em;
    border-radius: 50px;
    padding: .5em 4.5em .5em 1em;
    color: #fff;
    background-color: #ed8a76
}

@media screen and (max-width: 768px) {
    .c-clinicLocationBox-detailListLink a {
        margin: auto
    }
}

.c-clinicData-tel {
    color: #f90;
    font-size: clamp(20px, 1.6vw, 24px);
    font-family: "Oswald", sans-serif;
    display: inline-block;
    margin-top: -0.25em;
    padding-bottom: .1em
}

.c-clinicLocationBox-timeTable {
    width: 100%
}

.c-clinicLocationBox-timeTitle {
    margin-bottom: .5em;
    display: block
}

.c-clinicLocationBox-timeTitle th {
    color: #2254b2;
    font-weight: 700;
    display: flex;
    align-items: center
}

.c-clinicLocationBox-timeTitle th::before,
.c-clinicLocationBox-timeTitle th::after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-image: linear-gradient(to right, #333333, #333333 1px, transparent 1px, transparent 1.5px);
    background-size: 2px 1px;
    background-repeat: repeat-x
}

.c-clinicLocationBox-timeTitle th:before {
    margin-right: 1%
}

.c-clinicLocationBox-timeTitle th::after {
    margin-left: 1%
}

.c-clinicLocationBox-timeDataWeek,
.c-clinicLocationBox-timeDataTime {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    -moz-column-gap: 1%;
    column-gap: 1%;
    font-size: clamp(12px, 1vw, 15px)
}

.c-clinicLocationBox-timeDataWeek th {
    padding: .1em 0%;
    background-color: #ccc
}

.c-clinicLocationBox-timeDataWeek th sup {
    position: absolute;
    top: .3em;
    left: 62%
}

.c-clinicLocationBox-timeDataTime td {
    font-weight: 700;
    line-height: 1;
    background-color: #eee;
    text-align: center;
    padding: .3em 0;
    display: grid;
    align-items: center
}

@media screen and (max-width: 768px) {
    .c-clinicLocationBox-timeDataTime td {
        padding: .6em 0
    }
}

.c-containerBox-wrap {
    display: grid;
    justify-content: center;
    width: 100%;
    margin-inline: auto;
    gap: 1.5em;
    grid-template-columns: repeat(auto-fit, minmax(310px, 30%))
}

.c-containerBox-wrap:has(>:nth-child(2)) {
    grid-template-columns: repeat(2, minmax(310px, 30%));
    width: 100%
}

@media screen and (max-width: 768px) {
    .c-containerBox-wrap:has(>:nth-child(2)) {
        grid-template-columns: 1fr;
        gap: 2em
    }
}

.c-containerBox-wrap:has(>:nth-child(3)) {
    grid-template-columns: repeat(auto-fit, minmax(310px, 30%));
    justify-items: center;
    width: 100%
}

@media screen and (max-width: 768px) {
    .c-containerBox-wrap:has(>:nth-child(3)) {
        grid-template-columns: 1fr;
        gap: 2em
    }
}

.c-containerBox-wrap:has(>:nth-child(5)) {
    grid-template-columns: repeat(auto-fit, minmax(310px, 30%))
}

@media screen and (max-width: 768px) {
    .c-containerBox-wrap:has(>:nth-child(5)) {
        grid-template-columns: 1fr;
        gap: 2em
    }
}

.c-containerBox {
    display: grid;
    align-items: center;
    align-content: flex-start;
    row-gap: 1em;
    background-color: #182a52;
    padding: 1.2em 3% 1em;
    color: #fff;
    height: 100%
}

.c-containerBox-title {
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    text-align: center;
    letter-spacing: .1em
}

.c-containerBox-image {
    display: grid;
    row-gap: 1em;
    margin: 0
}

.c-containerBox-image img {
    aspect-ratio: 8/5;
    -o-object-fit: cover;
    object-fit: cover
}

.c-containerBox-text {
    padding-left: 1em;
    padding-right: 1em;
    font-size: clamp(14px, 1.07vw, 16px)
}

.c-borderBox-wrap {
    border: clamp(2px, .33vw, 5px) solid #182a52;
    padding: clamp(40px, 4.67vw, 70px) 3% 2.5em;
    position: relative
}

.c-borderBox-title {
    padding: .3em 1em .1em;
    border: clamp(2px, .33vw, 5px) solid #182a52;
    width: min(18em, 80%);
    border-radius: 2em;
    position: absolute;
    top: -1.1em;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff
}

.c-borderBox-title.c-titleS {
    font-size: clamp(18px, 2vw, 30px)
}

.c-balloonBox {
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    letter-spacing: .1em;
    background-color: #fff;
    text-align: center;
    color: #333;
    padding: .4em 0 .2em;
    position: relative;
    display: block
}

.c-balloonBox::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 8px solid rgba(0, 0, 0, 0);
    border-left: 8px solid rgba(0, 0, 0, 0);
    border-top: 8px solid #fff;
    border-bottom: 0;
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%)
}

.c-balloonBox.c-balloonBox-blue {
    color: #fff;
    background-color: #09f
}

.c-balloonBox.c-balloonBox-blue::after {
    border-top: 8px solid #09f
}

.c-checkList {
    display: flex;
    align-items: center;
    justify-content: flex-start
}

.c-checkTextWrap {
    font-size: clamp(14px, 1.33vw, 20px);
    font-weight: 700;
    display: flex;
    align-items: center;
    flex-wrap: wrap
}

.c-checkTextWrap::before {
    content: "";
    width: 2em;
    height: 2em;
    display: block;
    background: url(../images/check-box-black.png) no-repeat center center/contain;
    margin-right: .5em
}

.c-checkText {
    display: block;
    width: calc(100% - 2.5em)
}

.c-page-movieArea {
    max-width: 600px;
    margin-inline: auto
}

.c-page-movieArea iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9
}

.c-newsBox {
    padding: clamp(25px, 2.67vw, 40px) clamp(24px, 3.33vw, 50px);
    display: grid;
    grid-template-columns: 22% 1fr;
    align-items: stretch;
    justify-content: space-between;
    gap: 5%
}

.c-newsBox.c-roundedBox {
    background-color: #fff
}

@media screen and (max-width: 768px) {
    .c-newsBox {
        grid-template-columns: 1fr;
        gap: 1em
    }
}

.c-newsBox-titleArea {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start
}

.c-newsBox-titleArea .c-buttonArrow {
    font-size: clamp(16px, 1.2vw, 18px);
    padding-right: 28%
}

@media screen and (max-width: 1024px) {
    .c-newsBox-titleArea .c-buttonArrow {
        padding-right: 32%
    }
}

@media screen and (max-width: 768px) {
    .c-newsBox-titleArea .c-buttonArrow {
        padding-right: 1.8em
    }
}

.c-newsBox-titleArea .c-buttonArrow::after {
    background-image: url(../images/arrow-black.png);
    top: 58%;
    transform: translate(0, -42%)
}

@media screen and (max-width: 768px) {
    .c-newsBox-titleArea .c-buttonArrow::after {
        right: 0
    }
}

@media screen and (max-width: 768px) {
    .c-newsBox-titleArea {
        flex-flow: row;
        align-items: center
    }
}

.c-newsBox-title {
    display: grid;
    padding-bottom: 1em
}

.c-newsBox-title>.c-title-line {
    margin-top: 1.2em;
    margin-bottom: .8em;
    margin-left: 0;
    height: 4px
}

.c-newsBox-titleTop {
    font-size: clamp(36px, 3.33vw, 50px);
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #2254b2;
    line-height: 1
}

.c-newsBox-titlePlace {
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #2254b2
}

.c-newsBox-titleJapanese {
    font-size: clamp(12px, 1vw, 15px);
    letter-spacing: -0.02em
}

.c-newsBox-newsTop {
    display: grid;
    grid-template-columns: 6.5em 1fr;
    align-items: center;
    padding-bottom: .6em
}

@media screen and (max-width: 768px) {
    .c-newsBox-newsTop {
        grid-template-columns: 1fr;
        padding-bottom: .5em;
        gap: .2em
    }
}

.c-newsBox-newsListArea {
    display: grid;
    gap: .5em;
    align-self: start
}

.c-newsBox-newsList {
    display: block;
    border-bottom: 1px dotted #333;
    padding-top: .5em
}

@media(hover: hover)and (pointer: fine) {
    a.c-newsBox-newsList:hover {
        background-color: #f2f2f2
    }
}

.c-newsCategory {
    font-size: clamp(12px, 1.07vw, 16px);
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: .1em .2em
}

.c-newsCategory>span {
    padding: .3em .5em .1em;
    text-align: center;
    min-width: 6.6em
}

.c-newsCategory>.categoryClinic {
    background-color: #2253b2
}

.c-newsCategory>.categoryContent {
    background-color: #09f
}

.c-newsBox-newsTitle {
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 700
}

.t-readText-bold {
    font-size: clamp(14px, 1.33vw, 20px);
    font-weight: 700;
    line-height: 2;
    text-align: center;
    display: block
}

.t-readText-bold-blue {
    font-size: clamp(14px, 1.33vw, 20px);
    font-weight: 700;
    line-height: 2;
    text-align: center;
    color: #182a52;
    display: block
}

@media screen and (max-width: 768px) {
    .t-readText-bold {
        text-wrap: balance
    }
}

.t-readText {
    font-size: clamp(14px, 1.33vw, 20px);
    line-height: 2;
    display: block
}

.t-mv {
    position: relative
}

@media screen and (max-width: 768px) {
    .t-mv {
        margin-bottom: 4.4em
    }
}

.t-mv-image {
    display: block
}

.t-mv-image img {
    aspect-ratio: 24/7
}

@media screen and (max-width: 1750px) {
    .t-mv-image img {
        aspect-ratio: 20/7
    }
}

@media screen and (max-width: 1500px) {
    .t-mv-image img {
        aspect-ratio: 18/7
    }
}

@media screen and (max-width: 768px) {
    .t-mv-image img {
        aspect-ratio: 3/4
    }
}

.t-mv-linkArea {
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc((100vw - 1500px)/2 + 675px)
}

@media screen and (max-width: 1500px) {
    .t-mv-linkArea {
        width: 45%
    }
}

@media screen and (max-width: 768px) {
    .t-mv-linkArea {
        width: 100%;
        top: 100%;
        position: initial
    }
}

.t-mv-link {
    display: inline-block;
    padding: 1.8em clamp(40px, 5.33vw, 80px) 1.8em calc((100vw - 1500px)/2 + 2%);
    background-color: #182a52;
    color: #fff;
    font-size: clamp(14px, 1.2vw, 18px);
    width: 100%
}

@media screen and (max-width: 1500px) {
    .t-mv-link {
        padding-left: 2%
    }
}

@media screen and (max-width: 768px) {
    .t-mv-link {
        padding-top: 1em;
        padding-bottom: 1em
    }
}

.t-clinicBoxList-area {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: clamp(8px, 2vw, 24px) 2%
}

.t-clinicBoxList-area li {
    width: 32%
}

@media screen and (max-width: 768px) {
    .t-clinicBoxList-area li {
        width: min(420px, 100%)
    }
}

.t-clinicBoxList-area li:last-child {
    grid-column: 2
}

.t-clinicBoxList {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .8em 4.8em .8em .8em;
    transition: .2s ease-in-out;
    background-color: #fff
}

.t-clinicBoxList:not(.womens) {
    border: clamp(5px, .67vw, 10px) solid #182a52
}

.t-clinicBoxList:not(.womens).c-buttonArrow::after {
    background-image: url(../images/arrow-blue.png)
}

.t-clinicBoxList.womens {
    background-color: #ed8a76;
    border: clamp(5px, .67vw, 10px) solid #ed8a76;
    transition: .2s ease-in-out
}

.t-clinicBoxList img {
    aspect-ratio: 19/3
}

@media screen and (max-width: 768px) {
    .t-clinicBoxList {
        padding: .3em 4.8em .3em .3em
    }
}

@media(hover: hover)and (pointer: fine) {
    .t-clinicBoxList:hover:not(.womens) {
        background-color: #182a52;
        transition: .2s ease-in-out
    }

    .t-clinicBoxList:hover:not(.womens).c-buttonArrow::after {
        background-image: url(../images/arrow-white.png);
        transition: .2s ease-in-out
    }

    .t-clinicBoxList:hover.womens {
        background-color: #fff;
        transition: .2s ease-in-out
    }

    .t-clinicBoxList:hover.womens.c-buttonArrow::after {
        background-image: url(../images/arrow-pink.png);
        transition: .2s ease-in-out
    }
}

.t-clinicImageSlide {
    border-radius: clamp(14px, 1.6vw, 24px);
    overflow: hidden
}

.t-clinicImageSlide-link {
    display: grid;
    align-items: end
}

.t-clinicImageSlide-link:hover .t-clinicImageSlide-image {
    transform: scale(1.1)
}

.t-clinicImageSlide-image {
    grid-area: 1/1;
    transition: transform .6s ease
}

.t-clinicImageSlide-image img {
    aspect-ratio: 29/17
}

.t-clinicImageSlide-label {
    color: #182a52;
    grid-area: 1/1;
    padding: 0 2em;
    margin-bottom: 1em;
    margin-left: 1em;
    width: -moz-fit-content;
    width: fit-content;
    background-color: #fff;
    border-radius: 1em;
    z-index: 1
}

.t-GuideBox {
    display: grid;
    grid-template-columns: minmax(240px, 38%) 1fr;
    align-items: center
}

@media screen and (max-width: 768px) {
    .t-GuideBox {
        grid-template-columns: 1fr
    }
}

.t-GuideBox-image {
    height: 100%
}

.t-GuideBox-image img {
    aspect-ratio: 16/13;
    height: 100%
}

@media screen and (max-width: 768px) {
    .t-GuideBox-image img {
        aspect-ratio: 16/5
    }
}

.t-GuideBox-textArea {
    padding: clamp(16px, 2vw, 30px) min(16px, 10%)
}

.t-GuideBox-textArea .c-buttonMain {
    width: 90%;
    margin-inline: auto
}

.t-menu .c-buttonMain>a {
    padding: 1.3em 5.6em
}

@media screen and (max-width: 768px) {
    .t-menu .c-buttonMain>a {
        padding: 1.3em 16% 1.3em 5%
    }
}

.t-menu .c-buttonArrow::after {
    top: 50%;
    transform: translate(0, -50%)
}

.t-menu .c-buttonGradation {
    width: min(100%, 980px);
    margin-inline: auto
}

.t-menuBox {
    padding: clamp(10px, 3vw, 50px) 2%;
    width: 100%
}

@media screen and (max-width: 768px) {
    .t-menuBox {
        padding: 0 1em min(16px, 10%);
        width: min(420px, 100%)
    }
}

.t-menuBox-top {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background-color: #f2faff;
    border-radius: clamp(14px, 1.6vw, 24px)
}

@media screen and (max-width: 768px) {
    .t-menuBox-top {
        grid-template-columns: 1fr
    }
}

.t-menuBox-inner {
    padding: 1.5em;
    height: 100%;
    display: flex;
    flex-direction: column
}

@media screen and (max-width: 768px) {
    .t-menuBox-inner {
        padding: 1.5em 0
    }
}

.t-menuBox-inner:not(:last-child) {
    border-right: 1px dotted #333
}

@media screen and (max-width: 768px) {
    .t-menuBox-inner:not(:last-child) {
        border-right: none;
        border-bottom: 1px dotted #333
    }
}

.t-menuBox-title {
    padding: .2em .2em .1em;
    background-color: #09f;
    font-size: clamp(18px, 2vw, 30px);
    color: #fff;
    font-weight: 700;
    border-radius: 2em
}

.t-menuBox-to {
    color: #182a52;
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700
}

.t-menuBox-text {
    font-size: clamp(14px, 1.07vw, 16px)
}

.t-otherMenuBox-wrap {
    padding-bottom: clamp(40px, 5.33vw, 80px);
    border-bottom: 1px solid #333
}

.t-otherMenuBox-area.c-containerBox-wrap {
    grid-template-columns: repeat(auto-fit, minmax(300px, 30%));
    justify-items: center;
    width: 100%
}

@media screen and (max-width: 768px) {
    .t-otherMenuBox-area.c-containerBox-wrap {
        grid-template-columns: 1fr;
        gap: 2em
    }
}

.t-otherMenuBox {
    width: min(300px, 100%);
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .t-otherMenuBox .c-viewMore {
        padding-right: 3.5em
    }
}

.t-otherMenuBox-more {
    font-size: clamp(14px, 1vw, 15px);
    font-weight: 700;
    text-align: right;
    padding-right: 20%
}

.t-worriesMenuBox-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em
}

@media screen and (max-width: 768px) {
    .t-worriesMenuBox-wrap {
        grid-template-columns: 1fr
    }
}

.t-worriesMenuBox {
    padding: .3em;
    background-color: #44b47c;
    border-radius: .3em;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: 1fr auto auto;
    grid-template-areas: "image image" "title more" "text  more";
    align-items: center
}

@media screen and (max-width: 768px) {
    .t-worriesMenuBox {
        grid-template-columns: 1fr;
        grid-template-areas: "image" "title" "text" "more"
    }
}

.t-worriesMenuBox-image {
    grid-area: image;
    padding-bottom: clamp(14px, 1vw, 15px);
    border-radius: .2em;
    overflow: hidden
}

.t-worriesMenuBox-title {
    grid-area: title;
    font-size: clamp(18px, 1.73vw, 26px);
    font-weight: 700;
    color: #fff;
    padding-left: 1%;
    padding-bottom: .2em
}

.t-worriesMenuBox-text {
    grid-area: text;
    font-size: clamp(14px, 1.2vw, 18px);
    color: #fff;
    padding-left: 1%;
    padding-bottom: .5em
}

@media screen and (max-width: 1024px) {
    .t-worriesMenuBox-text {
        min-height: 50px
    }
}

@media screen and (max-width: 768px) {
    .t-worriesMenuBox-text {
        min-height: auto
    }
}

.t-worriesMenuBox-more {
    grid-area: more;
    display: block;
    background-color: #fff;
    color: #44b47c;
    padding: 0 .4em 0 1em;
    border-radius: 1.2em;
    margin-right: 3%;
    height: 2.3em;
    width: 9.5em;
    display: flex;
    align-items: center
}

.t-worriesMenuBox-more .c-buttonArrow {
    font-size: clamp(14px, 1.07vw, 16px)
}

.t-worriesMenuBox-more.c-buttonArrow::after {
    background-image: url(../images/arrow-green.png)
}

@media screen and (max-width: 768px) {
    .t-worriesMenuBox-more {
        margin-right: 0;
        margin-left: auto;
        width: 8em
    }
}

.t-methodBox-area {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    align-items: stretch;
    gap: 3em 2%
}

@media screen and (max-width: 768px) {
    .t-methodBox-area {
        grid-template-columns: 1fr
    }
}

.t-methodBox {
    border: clamp(5px, .67vw, 10px) solid #182a52;
    padding: 0 1% 1em;
    position: relative;
    display: grid;
    row-gap: 1.2em;
    justify-content: center;
    text-align: center;
    width: min(100%, 400px);
    background-color: #fff
}

@media screen and (max-width: 1024px) {
    .t-methodBox {
        row-gap: .5em
    }
}

@media screen and (max-width: 768px) {
    .t-methodBox {
        row-gap: 1em
    }
}

.t-methodBox::before {
    content: "";
    width: 12.5em;
    height: 1.5em;
    background-color: #fff;
    display: inline-block;
    position: absolute;
    top: -1.3em;
    left: 50%;
    transform: translateX(-50%)
}

.t-methodBox-title {
    margin-top: -2em;
    z-index: 1
}

.t-methodBox-title .t-methodBox-titleMain,
.t-methodBox-title .t-methodBox-titleSub {
    display: block;
    margin-inline: auto;
    font-family: "Oswald", sans-serif;
    letter-spacing: .02em
}

.t-methodBox-title .t-methodBox-titleMain {
    color: #2254b2;
    font-size: clamp(24px, 2vw, 30px);
    font-weight: 700;
    margin-bottom: .2em
}

.t-methodBox-title .t-methodBox-titleSub {
    color: #ccc;
    font-weight: 600;
    font-size: clamp(14px, 1.2vw, 18px)
}

.t-methodBox-title .t-methodBox-titleSub img {
    height: 100%;
    width: auto;
    display: block;
    margin: auto
}

.t-methodBox-text {
    font-size: clamp(18px, 1.73vw, 26px);
    font-weight: 700
}

.t-methodBox-image {
    width: min(11em, 50%);
    margin-inline: auto;
    display: grid;
    align-items: end
}

.t-3methods .t-menuBox {
    padding: 2.5em 5%
}

@media screen and (max-width: 768px) {
    .t-3methods .t-menuBox {
        padding: 1em
    }
}

.t-menuBox-readText {
    font-size: clamp(14px, 1.2vw, 18px);
    line-height: 2;
    display: block
}

.t-casePhoto {
    background-color: #efebe6;
    overflow: hidden
}

@media screen and (max-width: 768px) {
    .t-casePhotoCardSlide-area {
        margin-bottom: 3em !important
    }
}

.t-casePhotoCardSlide-area .c-roundedBox {
    padding: 1.6em 2.3em;
    background-color: #fff
}

@media screen and (max-width: 768px) {
    .t-casePhotoCardSlide-area .c-roundedBox {
        padding: .8em 1em
    }
}

.t-casePhotoCard-title {
    font-size: clamp(20px, 1.6vw, 24px);
    font-weight: 700;
    text-align: center;
    color: #182a52;
    display: flex;
    align-items: center;
    margin-bottom: .6em
}

.t-casePhotoCard-title>.number {
    font-family: "Oswald", sans-serif;
    font-size: clamp(16px, 1.33vw, 20px);
    padding-right: 1em;
    display: inline-block
}

.t-casePhotoCard-title::before,
.t-casePhotoCard-title::after {
    content: "";
    height: clamp(5px, .67vw, 10px);
    flex-grow: 1;
    background-color: #182a52
}

.t-casePhotoCard-title::before {
    margin-right: 3%
}

.t-casePhotoCard-title::after {
    margin-left: 3%
}

.t-casePhotoCard-imageArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "titleB titleA" "imageB imageA";
    gap: .5em
}

.t-casePhotoCard-imageTitle {
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .2em 0
}

.t-casePhotoCard-imageTitle.before {
    grid-area: titleB;
    font-size: clamp(14px, 1.2vw, 18px);
    background-color: #ccebff
}

.t-casePhotoCard-imageTitle.before span {
    display: block;
    width: 55%;
    margin-inline: auto
}

.t-casePhotoCard-imageTitle.after {
    grid-area: titleA;
    font-size: clamp(15px, 1.73vw, 26px);
    font-weight: 700;
    background-color: #09f;
    color: #fff;
    padding-left: .5em
}

@media screen and (max-width: 768px) {
    .t-casePhotoCard-imageTitle.after {
        padding-left: .3em
    }
}

.t-casePhotoCard-imageTitle.after .month {
    font-size: clamp(10px, 1vw, 18px);
    font-family: "貂ｸ繧ｴ繧ｷ繝�け", YuGothic, "Yu Gothic", "貂ｸ繧ｴ繧ｷ繝�け菴�", "Noto Sans JP";
    display: inline-block;
    padding-top: .4em;
    letter-spacing: -0.05em
}

.t-casePhotoCard-imageTitle.after .brackets {
    display: inline-block;
    margin-left: -0.4em
}

.t-casePhotoCard-image img {
    aspect-ratio: 15/11
}

.t-casePhotoCard-image.before {
    grid-area: imageB;
    position: relative
}

.t-casePhotoCard-image.before::before {
    content: "";
    background-color: #09f;
    width: 10%;
    height: 36%;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    position: absolute;
    top: 50%;
    right: -8%;
    transform: translateY(-50%);
    z-index: 1
}

@media screen and (max-width: 768px) {
    .t-casePhotoCard-image.before::before {
        width: 11%;
        height: 40%
    }
}

.t-casePhotoCard-image.after {
    grid-area: imageA
}

@media screen and (max-width: 768px) {
    .t-casePhotoCard-textArea {
        padding: .2em 2.5% 0
    }
}

.t-casePhotoCard-text {
    font-size: clamp(14px, 1.2vw, 18px);
    padding: .5em 0;
    line-height: 1.8
}

@media screen and (max-width: 768px) {
    .t-casePhotoCard-text {
        line-height: 1.5
    }
}

.t-casePhotoCard-text>em {
    color: #2254b2
}

.t-casePhotoCard-text:has(.t-casePhotoCard-textEffects) {
    display: grid;
    grid-template-columns: auto 1fr
}

.t-casePhotoCard-text:not(:last-child) {
    border-bottom: 1px dotted #333
}

.t-price-text {
    text-align: center;
    width: 88%;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .t-price-text {
        width: 100%
    }
}

.t-priceCaseBox {
    display: grid;
    grid-template-columns: 1fr 36%;
    align-items: center
}

@media screen and (max-width: 768px) {
    .t-priceCaseBox {
        grid-template-columns: 1fr
    }
}

.t-priceCaseBox-textArea {
    padding: 5%;
    display: grid;
    gap: clamp(10px, 1.33vw, 20px)
}

@media screen and (max-width: 768px) {
    .t-priceCaseBox-textArea {
        padding: 1em
    }
}

.t-priceCaseBox-title {
    display: grid;
    grid-template-columns: repeat(2, auto);
    align-items: flex-start;
    gap: .3em;
    width: -moz-fit-content;
    width: fit-content
}

.t-priceCaseBox-title .case {
    font-size: clamp(16px, 1.2vw, 18px);
    font-family: "Oswald", sans-serif;
    font-weight: 600;
    background-color: #666;
    color: #fff;
    padding: .2em .5em .1em;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 1.8em
}

.t-priceCaseBox-title .text {
    font-size: clamp(15px, 1.6vw, 24px);
    font-weight: 700;
    color: #fff;
    padding: .2em 0 .1em;
    background-color: #182a52;
    width: -moz-fit-content;
    width: fit-content;
    height: 100%
}

.t-priceCaseBox-title .text:nth-child(n+2) {
    grid-column: 2
}

.t-priceCaseBox-title .text .maker {
    padding: .3em .3em .2em
}

.t-priceCaseBox-title .c-underLine-white {
    margin-right: .2em
}

.t-priceCaseBox-title .c-underLine-white::after {
    background-color: #fff;
    bottom: 1px
}

.t-priceCaseBox-image {
    height: 100%
}

.t-priceCaseBox-image img {
    height: 100%;
    width: auto;
    -o-object-fit: cover;
    object-fit: cover
}

.t-columnSlide-area {
    display: flex;
    padding: clamp(50px, 6.67vw, 100px) 0;
    background-color: #f2f2f2
}

.t-columnSlide-textArea {
    padding: 1.2em;
    background-color: #fff;
    min-height: 7.5em;
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    justify-content: space-between
}

@media screen and (max-width: 768px) {
    .t-columnSlide-textArea {
        padding: .5em;
        min-height: 6.2em
    }
}

.t-columnSlide-title {
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    letter-spacing: -0.02em;
    padding-left: .3em;
    margin-bottom: .6em;
    border-left: 4px solid #182a52
}

.t-columnSlide-button .c-buttonArrow::after {
    background-image: url(../images/arrow-glay.png);
    height: 6px;
    right: 0
}

.t-columnSlide-button .c-viewMore {
    padding-right: max(40px, 8%);
    color: #999
}

.t-clinicLocation-wrap {
    width: min(92%, 1040px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    gap: clamp(12px, 1.6vw, 24px)
}

@media screen and (max-width: 768px) {
    .t-clinicLocation-wrap {
        grid-template-columns: 1fr
    }
}

.t-clinicLocation-wrap .c-clinicLocationBox:only-child {
    grid-column: 1/3;
    width: 50%;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .t-clinicLocation-wrap .c-clinicLocationBox:only-child {
        width: 100%
    }
}

.t-clinicLocation-titleArea {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center
}

.t-clinicLocation-title {
    display: block;
    max-width: 280px;
    width: 90%
}

.t-clinicLocation-imageArea {
    display: grid;
    grid-template-columns: 1fr 28%;
    aspect-ratio: 10/3;
    overflow: hidden
}

.t-clinicLocation .c-clinicLocationBox-detailListArea {
    padding: 1em 0% 0;
    min-height: 9.7em
}

@media screen and (max-width: 768px) {
    .t-clinicLocation .c-clinicLocationBox-detailListArea {
        min-height: 9.2em
    }
}

@media screen and (max-width: 1024px) {
    .t-clinicLocation .c-clinicLocationBox-detailListArea {
        min-height: 9.6em
    }
}

@media screen and (max-width: 768px) {
    .t-clinicLocation .c-clinicLocationBox-detailListArea {
        min-height: auto
    }
}

.t-columns-list li {
    opacity: 1;
    transition: all .2s ease 0s;
    height: auto;
    display: block
}

.t-columns-list li.is-hidden {
    opacity: 0;
    height: 0;
    margin: 0;
    display: none
}

.t-columns-list .p-columns-listText {
    margin-bottom: .8em
}

.t-columns-list .p-columns-listButton {
    margin-top: auto
}

.t-columns-moreButton-text {
    font-size: clamp(14px, 1.07vw, 16px);
    border: 1px solid #666;
    display: block;
    width: min(600px, 100%);
    background-color: #fff;
    margin-inline: auto;
    text-align: center;
    padding: .8em;
    border-radius: 1.5em;
    position: relative
}

.t-columns-moreButton-text::before,
.t-columns-moreButton-text::after {
    content: "";
    display: block;
    width: 1em;
    height: 1px;
    background-color: #666;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 4%;
    transition: all linear .3s
}

.t-columns-moreButton-text::after {
    transform: translate(0, -50%) rotate(90deg)
}

.t-clinicLink {
    width: -moz-fit-content;
    width: fit-content;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1em 2em
}

@media screen and (max-width: 768px) {
    .t-clinicLink {
        grid-template-columns: 1fr;
        width: min(400px, 100%)
    }
}

.t-clinicLink-item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 1
}

.t-clinicLink-text {
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.t-clinicLink-text.c-buttonArrow::after {
    background-image: url(../images/arrow-blue.png);
    left: 115%;
    right: auto
}

.t-clinicLink-label {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: .5em
}

.t-clinicLink-labelText {
    font-size: clamp(14px, 1.07vw, 16px);
    font-weight: 700;
    padding: .2em .5em;
    border-radius: 5px
}

.t-clinicLink-womenButton {
    display: grid;
    place-content: center;
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    color: #fff;
    background-color: #ed8a76;
    border: 2px solid #ed8a76;
    border-radius: .3em;
    padding: .5em;
    width: min(400px, 100%);
    height: 4em
}

.t-menuBox-evaluation {
    display: grid;
    grid-template-columns: 6em 1fr;
    justify-items: flex-start
}

.t-menuBox-effect {
    width: -moz-fit-content;
    width: fit-content
}

.t-menuBox-medicine {
    width: 90%
}

@media screen and (max-width: 768px) {
    .t-menuBox-medicine {
        width: min(300px, 100%)
    }
}

.t-otherMenuBox-area.c-containerBox-wrap {
    grid-template-columns: repeat(4, minmax(200px, 30%));
    justify-items: center;
    width: 100%
}

@media screen and (max-width: 1024px) {
    .t-otherMenuBox-area.c-containerBox-wrap {
        grid-template-columns: 1fr 1fr;
        gap: 2em;
        width: min(600px, 100%)
    }
}

@media screen and (max-width: 768px) {
    .t-otherMenuBox-area.c-containerBox-wrap {
        grid-template-columns: 1fr;
        gap: 2em
    }
}

.t-columnSlide-area .p-column-tagList {
    margin-left: 3%;
    margin-right: 3%;
    margin-bottom: 1em;
    justify-content: flex-start
}

.t-columnSlide-area .p-columns-listTitle-wrap {
    min-height: clamp(65px, 4.8vw, 80px)
}

.t-column-ba-box .c-roundedBox {
    padding: 1.6em 1.3em
}

.t-casePhotoCard-imageTitle-column {
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .2em 0
}

.t-casePhotoCard-imageTitle-column.before {
    grid-area: titleB;
    font-size: clamp(14px, 1.2vw, 18px);
    background-color: #ccebff
}

.t-casePhotoCard-imageTitle-column.before span {
    display: block;
    width: 55%;
    margin-inline: auto
}

.t-casePhotoCard-imageTitle-column.after {
    grid-area: titleA;
    font-size: clamp(15px, 1.73vw, 25px);
    font-weight: 700;
    background-color: #09f;
    color: #fff;
    padding-left: .5em
}

@media screen and (max-width: 768px) {
    .t-casePhotoCard-imageTitle-column.after {
        padding-left: .3em
    }
}

.t-casePhotoCard-imageTitle-column.after .month {
    font-size: clamp(10px, 1vw, 18px);
    font-family: "貂ｸ繧ｴ繧ｷ繝�け", YuGothic, "Yu Gothic", "貂ｸ繧ｴ繧ｷ繝�け菴�", "Noto Sans JP";
    display: inline-block;
    padding-top: .4em;
    letter-spacing: -0.05em
}

.t-casePhotoCard-imageTitle-column.after .brackets {
    display: inline-block;
    margin-left: -0.4em
}

.p-contactForm-wrap .c-buttonMain-text {
    width: 100%;
    padding: 1.3em 4.8em 1.3em 3em
}

@media screen and (max-width: 768px) {
    .p-contactForm-wrap .c-buttonMain-text {
        padding: 1.3em 16% 1.3em 5%
    }
}

.p-contact-flowArea {
    padding: clamp(40px, 6vw, 90px) 0;
    background-color: #ccebff
}

.p-contact-flowArea .p-clinic-flow-listWrap {
    justify-content: center;
    gap: 2em 4.5%
}

@media screen and (max-width: 768px) {
    .p-contact-flowArea .p-clinic-flow-listWrap {
        max-width: 92%
    }
}

.p-contact-flowArea .p-clinic-flow-listWrap .p-clinic-flow-list.p-contact-visit {
    background-color: #182a52
}

.p-contact-flowArea .p-clinic-flow-listWrap .p-clinic-flow-list.p-contact-visit .p-clinic-flow-listTitle,
.p-contact-flowArea .p-clinic-flow-listWrap .p-clinic-flow-list.p-contact-visit>p {
    color: #fff
}

.p-contact-flowArea .p-clinic-flow-listWrap .p-clinic-flow-list.p-contact-visit .c-title-underLine::after {
    background-color: #fff
}

.p-contact-flowArea .p-clinic-flow-list {
    width: 20%
}

@media screen and (max-width: 768px) {
    .p-contact-flowArea .p-clinic-flow-list {
        width: 30%
    }
}

.p-contact-flowArea .p-clinic-flow-list:not(:last-child)::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 17px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #182a52;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -16%
}

@media screen and (max-width: 768px) {
    .p-contact-flowArea .p-clinic-flow-list:not(:last-child)::after {
        border-width: 7px 0 7px 12px;
        right: -11%
    }
}

@media screen and (max-width: 425px) {
    .p-contact-flowArea .p-clinic-flow-list:not(:last-child)::after {
        border-width: 5px 0 5px 9px;
        right: -13%
    }
}

.p-contactForm-list {
    border-top: 1px dotted #182a52
}

.p-contactForm-list:last-child {
    border-bottom: 1px dotted #182a52
}

.p-contactForm-listLine {
    display: grid;
    grid-template-columns: 30% 1fr
}

@media screen and (max-width: 768px) {
    .p-contactForm-listLine {
        grid-template-columns: 1fr
    }
}

.p-contactForm-listTitle {
    padding: clamp(16px, 1.6vw, 24px);
    background-color: #f2f2f2
}

.p-contactForm-listTitleText {
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    color: #182a52;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between
}

.p-contactForm-listTitleText .req {
    font-size: clamp(14px, 1.07vw, 16px);
    color: #fff;
    background-color: #f90;
    padding: .3em .5em;
    display: inline-block;
    margin-left: .5em
}

.p-contactForm-listItem {
    padding: clamp(16px, 1.6vw, 24px);
    font-size: clamp(16px, 1.2vw, 18px);
    color: #182a52;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 1em 0
}

@media screen and (max-width: 425px) {
    .p-contactForm-listItem {
        gap: .5em
    }
}

.p-contactForm-item input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px
}

.p-contactForm-item:has(input[type=radio]),.p-contactForm-item:has(input[type=checkbox]) {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 50%
}

@media screen and (max-width: 425px) {
    .p-contactForm-item:has(input[type=radio]),.p-contactForm-item:has(input[type=checkbox]) {
        width: 100%
    }
}

.p-contactForm-item:has(input[type=text]),
.p-contactForm-item:has(input[type=tel]),
.p-contactForm-item:has(select),
.p-contactForm-item:has(input[type=email]),
.p-contactForm-item:has(textarea) {
    display: block
}

.p-contactForm-item:has(input[type=text]) input,
.p-contactForm-item:has(input[type=text]) select,
.p-contactForm-item:has(input[type=text]) textarea,
.p-contactForm-item:has(input[type=tel]) input,
.p-contactForm-item:has(input[type=tel]) select,
.p-contactForm-item:has(input[type=tel]) textarea,
.p-contactForm-item:has(select) input,
.p-contactForm-item:has(select) select,
.p-contactForm-item:has(select) textarea,
.p-contactForm-item:has(input[type=email]) input,
.p-contactForm-item:has(input[type=email]) select,
.p-contactForm-item:has(input[type=email]) textarea,
.p-contactForm-item:has(textarea) input,
.p-contactForm-item:has(textarea) select,
.p-contactForm-item:has(textarea) textarea {
    display: block;
    width: 100%;
    padding: .5em
}

.p-contactForm-item:has(input[type=text]) select,
.p-contactForm-item:has(input[type=text]) textarea,
.p-contactForm-item:has(input[type=tel]) select,
.p-contactForm-item:has(input[type=tel]) textarea,
.p-contactForm-item:has(select) select,
.p-contactForm-item:has(select) textarea,
.p-contactForm-item:has(input[type=email]) select,
.p-contactForm-item:has(input[type=email]) textarea,
.p-contactForm-item:has(textarea) select,
.p-contactForm-item:has(textarea) textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px
}

.p-contactForm-item:has(select) {
    position: relative
}

.p-contactForm-item:has(select)::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    color: #999;
    line-height: 1;
    width: .5em;
    height: .5em;
    border: .1em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-70%) rotate(135deg);
    position: absolute;
    top: 50%;
    right: .5em
}

.p-contactForm-item:has(input[type=text]),
.p-contactForm-item:has(input[type=tel]),
.p-contactForm-item:has(input[type=email]),
.p-contactForm-item:has(textarea) {
    width: 100%
}

.p-contactForm-item:has(select) {
    width: 60%
}

@media screen and (max-width: 425px) {
    .p-contactForm-item:has(select) {
        width: 100%
    }
}

.p-contactForm-item:has(textarea) textarea {
    height: 10em
}

.p-contactForm-item:has(input[type=date]) {
    width: 100%
}

.p-contactForm-item:has(input[type=date]) input {
    display: block;
    width: 30%;
    padding: .5em;
    text-align: left
}

@media screen and (max-width: 768px) {
    .p-contactForm-item:has(input[type=date]) input {
        width: 100%
    }
}

.p-contact label {
    display: inline-block;
    width: calc(100% - (30px + .5em))
}

.p-contact input[type=radio],.p-contact input[type=checkbox] {
    cursor: pointer;
    position: relative;
    background: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 30px;
    height: 30px;
    border: 1px solid #ccc;
    border-radius: 100px;
    display: flex;
    align-items: center;
    margin-right: .5em;
    box-sizing: content-box
}

.p-contact input[type=radio]::before {
    content: "";
    display: block;
    width: 33.33333%;
    height: 33.33333%;
    border-radius: 100px;
    background-color: #2253b2;
    transform: translate(-50%, -50%);
    position: absolute;
    left: 50%;
    top: 50%;
    opacity: 0
}

.p-contact input[type=checkbox]::before {
    position: absolute;
    top: 5px;
    left: 10px;
    transform: rotate(50deg);
    width: 10px;
    height: 20px;
    border-right: 4px solid #2253b2;
    border-bottom: 4px solid #2253b2;
    content: "";
    opacity: 0
}

.p-contact input[type=radio]:checked::before,.p-contact input[type=checkbox]:checked::before {
    opacity: 1
}

.p-contactForm-exampleText {
    font-size: clamp(14px, 1.07vw, 16px);
    color: #666;
    pointer-events: none;
    text-decoration: none;
    line-height:1.5;
}

.p-contactForm-attentionText {
    font-size: clamp(14px, 1.07vw, 16px)
}

.p-contactForm-attentionText:not(:first-child) {
    color: #666
}

.p-contactForm-attentionText:first-child {
    color: #f30100
}

.p-contact-policyWrap {
    padding: .5em;
    border: 1px solid #666;
    background-color: #fff
}

.p-contact-policyInner {
    height: 290px;
    overflow: auto
}

.p-contact-policyText-listArea {
    display: grid;
    gap: 2em;
    padding-right: 1em;
    padding-left: .5em
}

.error {
    padding-top: .5em;
    color: #f30100;
    font-weight: 700
}

.p-contact-thanksContents .c-buttonMain {
    width: min(420px, 100%)
}
.p-contactForm-listItem-date {
    position: relative;
}
.p-contactForm-listItem-date img {
    width: 25px;
    height: 25px;
    display: inline;
    margin-right: .5em;
    float: left;
}
.p-contactForm-listItem-date input[type='text'] {
    width: 30% !important;
}
@media screen and (max-width: 425px) {
    .p-contactForm-listItem-date input[type='text'] {
            width: 60% !important;
        }    
}
.p-contactForm-listItem-date::after {
    clear: both;
    content: ' ';
}
.p-contactForm-listItem-birthday.p-contactForm-listItem {
    display: grid;
    grid-template-columns: 40% repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: .5em;
    justify-content: space-between
}

.p-contactForm-listItem-birthday .p-contactForm-item:has(select).year {
    width: 100%;
    grid-area: 1 / 1 / 2 / 2;
}

.p-contactForm-listItem-birthday .p-contactForm-item:has(select).month {
    width: 100%;
    grid-area: 1 / 2 / 2 / 3;
}

.p-contactForm-listItem-birthday .p-contactForm-item:has(select).date {
    width: 100%;
    grid-area: 1 / 3 / 2 / 4;
}
.p-contactForm-listItem-birthday .p-contactForm-exampleText {
    width: 100%;
    grid-area: 2 / 1 / 3 / 4;
}

.p-contactForm-listItem-name.p-contactForm-listItem {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2em;
    justify-content: space-between
}

.p-contactForm-listItem-method {
    -moz-column-gap: 2em;
    column-gap: 2em
}

.p-contactForm-listItem-method .p-contactForm-item:has(input[type=radio]) {
    width: -moz-fit-content;
    width: fit-content
}

.p-contactForm-listItem-time {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 1em 0;    
    -moz-column-gap: 2em;
    column-gap: 2em
}
.p-contactForm-listItem-time .p-contactForm-item:has(input[type=radio]) {
    width: -moz-fit-content;
    width: fit-content
}

.p-contact-attentionText {
    padding: clamp(16px, 1.33vw, 20px) clamp(8px, 1.33vw, 20px);
    border: 3px solid #f90;
    font-size: clamp(16px, 2.13vw, 36px);
    font-weight: 700;
    color: #f90;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    display: grid;
    align-items: center;
    grid-template-columns: 2.3em 1fr;
    gap: .2em
}

.p-ex-mark {
    display: inline-block;
    width: 2.3em;
    position: relative;
    text-align: center
}

.p-ex-mark::before {
    content: "";
    display: block;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    border: 3px solid #f90;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%)
}

.p-contact-ed .p-contact-attentionText {
    font-size: clamp(16px, 1.6vw, 24px)
}

.p-contactForm-item:has(input[name=postal_code]) {
    width: 60%
}

@media screen and (max-width: 425px) {
    .p-contactForm-item:has(input[name=postal_code]) {
        width: 100%
    }
}

.p-contact-medical-diet-women .c-title-line {
    background-color: #eb4e79
}

.p-contact-medical-diet-women .p-contact-flowArea {
    background-color: #fddbe9
}

.p-contact-medical-diet-women .p-clinic-flow-listWrap .p-clinic-flow-list.p-contact-visit {
    background-color: #eb4e79
}

.p-contact-medical-diet-women .p-clinic-flow-list:not(:last-child)::after {
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #eb4e79
}

.p-contact-medical-diet-women .p-clinic-flow-listTitle {
    color: #eb4e79
}

.p-contact-medical-diet-women .c-title-underLine::after {
    background-color: #eb4e79
}

.p-contact-medical-diet-women .p-contactForm-listTitleText {
    color: #333
}

.p-contact-medical-diet-women .p-contactForm-listTitleText .req {
    background-color: #f47
}

.p-contact-medical-diet-women input[type=radio]::before {
    content: "";
    display: block;
    width: 33.33333%;
    height: 33.33333%;
    border-radius: 100px;
    background-color: #f47
}

.p-contact-medical-diet-women .c-titleS {
    color: #333
}

.p-contact-medical-diet-women .c-buttonMain {
    background-color: #eb4e79;
    border-color: #eb4e79
}

@media(hover: hover)and (pointer: fine) {
    .p-contact-medical-diet-women .c-buttonMain:hover {
        background-color: #fff
    }

    .p-contact-medical-diet-women .c-buttonMain:hover.c-buttonArrow::after {
        background: url(../images/arrow-vivid-pink.png) no-repeat center center/contain
    }

    .p-contact-medical-diet-women .c-buttonMain:hover .c-buttonMain-text {
        color: #eb4e79
    }
}

.p-contact-medical-diet-women .p-contact-md-woman-accent {
    color: #f47
}

.p-contact-medical-diet-women .p-contact-attentionText {
    border-color: #f47;
    color: #f47
}

.p-contact-medical-diet-women .p-ex-mark::before {
    border-color: #f47
}

.p-contactForm-study-listTitle {
    grid-row: 1/3
}

.p-contactForm-study-listItem {
    padding-top: 0
}

.p-contactForm-wrap .attention-txt {
    font-size: clamp(15px, 1.07vw, 17px);
    color: red
}

.p-contactForm-wrap .attention-txt span {
    text-decoration: underline
}

.g-recaptcha {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2%
}

.p-mv {
    position: relative;
    background-position: left top;
    background-repeat: no-repeat;
    background-size: cover
}

.p-mv-titleArea {
    padding-top: clamp(100px, 13.33vw, 200px);
    padding-bottom: clamp(125px, 16.67vw, 250px);
    width: 82%;
    margin-left: 14%;
    margin-right: 4%
}

@media screen and (max-width: 768px) {
    .p-mv-titleArea {
        padding-top: 200px;
        padding-bottom: 110px
    }
}

@media screen and (max-width: 425px) {
    .p-mv-titleArea {
        padding-top: 240px;
        padding-bottom: 50px
    }
}

.p-mv.p-mv-noImage {
    padding-top: clamp(50px, 8vw, 120px);
    padding-bottom: clamp(40px, 7.33vw, 110px);
    background-color: #f2faff
}

@media screen and (max-width: 768px) {
    .p-mv-imageChange-page .p-mv.p-mv-imageChange {
        background-image: none;
        background-color: #f2faff
    }
}

@media screen and (max-width: 768px) {
    .p-mv-imageChange-page .p-mv.p-mv-imageChange .p-mv-titleArea {
        padding-top: 50px;
        padding-bottom: 50px
    }
}

.p-mv-noImage-title {
    font-size: clamp(30px, 4vw, 60px);
    font-weight: 700;
    letter-spacing: .22em;
    text-wrap: balance;
    line-break: strict
}

@media screen and (max-width: 320px) {
    .p-mv-noImage-title {
        font-size: 26px
    }
}

:where(.p-mv-titleTop, .p-mv-title) {
    display: block;
    font-weight: 700
}

.p-mv-titleTop {
    font-size: clamp(16px, 1.6vw, 24px);
    color: #182a52;
    margin-bottom: .8em;
    line-height: 1.5
}

.p-mv-title {
    font-size: clamp(30px, 4vw, 60px);
    position: relative
}

.p-mv-title::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #333;
    position: absolute;
    top: 50%;
    left: -102%;
    transform: translateY(-50%)
}

.p-mv.p-mv-column {
    padding-top: clamp(30px, 4vw, 60px);
    padding-bottom: clamp(30px, 4vw, 60px)
}

.p-mv-column-inner {
    padding-left: 2%;
    padding-right: 2%
}

.p-mv-column-title {
    text-align: center;
    line-height: 1.5
}

.p-mv-column-title-text {
    font-size: clamp(24px, 4vw, 60px);
    font-weight: 700;
    letter-spacing: .05em
}

.p-mv-column-title-subText {
    font-size: clamp(18px, 2vw, 30px);
    font-weight: 700;
    padding-top: .2em;
    color: #2254b2
}

.p-anchorLink-wrap {
    padding: clamp(16px, 1.87vw, 28px) 0 clamp(20px, 2.8vw, 42px);
    background-color: #f2f2f2
}

.p-anchorLink-listArea {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: .8em;
    width: min(96%, 1250px);
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-anchorLink-listArea {
        grid-template-columns: repeat(3, 1fr);
        gap: .5em
    }
}

@media screen and (max-width: 425px) {
    .p-anchorLink-listArea {
        grid-template-columns: repeat(2, 1fr);
        gap: .2em
    }
}

.p-anchorLink-text {
    font-size: clamp(12px, 1.07vw, 16px);
    font-weight: 700;
    padding: 1.6em 2%;
    background-color: #fff;
    border: 1px solid #182a52;
    display: grid;
    align-items: center;
    justify-items: center;
    height: 100%;
    text-align: center
}

.p-anchorLink-text::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 6px solid rgba(0, 0, 0, 0);
    border-left: 6px solid rgba(0, 0, 0, 0);
    border-top: 10px solid #182a52;
    border-bottom: 0;
    margin-top: .5em
}

@media screen and (max-width: 425px) {
    .p-anchorLink-text {
        padding: .5em 2%;
        gap: .2em
    }
}

.p-clinic-information .c-roundedBox {
    padding: clamp(20px, 2.67vw, 40px) 4% clamp(18px, 2.4vw, 36px)
}

.p-clinic-infoTitle {
    width: min(20em, 100%);
    margin-inline: auto
}

.p-clinic-infoDetail-box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "title title" "table access" "tel   access";
    gap: .5em 4%
}

@media screen and (max-width: 1024px) {
    .p-clinic-infoDetail-box {
        -moz-column-gap: 2%;
        column-gap: 2%
    }
}

@media screen and (max-width: 768px) {
    .p-clinic-infoDetail-box {
        grid-template-columns: 1fr;
        grid-template-areas: "title" "table" "tel" "access"
    }
}

.p-clinic-infoDetail-title {
    grid-area: title;
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 700;
    color: #2254b2
}

.p-clinic-infoDetail-table {
    grid-area: table
}

.p-clinic-infoDetail-tableTitle {
    grid-area: title;
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 700;
    color: #2254b2;
    -moz-text-align-last: left;
    text-align-last: left
}

.p-clinic-infoDetail-tel {
    grid-area: tel;
    background-color: #182a52;
    padding: 1em;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    justify-content: space-between;
    gap: .2em;
    height: -moz-fit-content;
    height: fit-content
}

.p-clinic-infoDetail-tel .c-clinicData-tel {
    font-size: clamp(25px, 2.53vw, 38px)
}

.p-clinic-infoDetail-tel .c-underLine::after {
    height: 2px
}

@media screen and (max-width: 1024px) {
    .p-clinic-infoDetail-tel {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: .8em
    }
}

@media screen and (max-width: 768px) {
    .p-clinic-infoDetail-tel {
        grid-template-columns: repeat(2, 1fr);
        justify-content: center;
        gap: .2em
    }
}

@media screen and (max-width: 425px) {
    .p-clinic-infoDetail-tel {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: .8em
    }
}

.p-clinic-infoDetail-telNumber {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .8em
}

.p-clinic-infoDetail-telNumber::before {
    content: "";
    display: block;
    width: 14%;
    height: 100%;
    background: url(../images/icon-sp_reserve.png) no-repeat center center/contain
}

@media screen and (max-width: 1024px) {
    .p-clinic-infoDetail-telNumber::before {
        width: 8%
    }
}

@media screen and (max-width: 768px) {
    .p-clinic-infoDetail-telNumber::before {
        width: 10%
    }
}

@media screen and (max-width: 1024px) {
    .p-clinic-infoDetail-telNumber {
        width: 100%;
        justify-content: center
    }
}

@media screen and (max-width: 768px) {
    .p-clinic-infoDetail-telNumber {
        width: 100%;
        justify-content: flex-start
    }
}

@media screen and (max-width: 425px) {
    .p-clinic-infoDetail-telNumber {
        width: 100%;
        justify-content: center
    }
}

.p-clinic-infoDetail-access {
    grid-area: access
}

.p-clinic-infoDetail-access .c-clinicLocationBox-detailListArea {
    gap: 1.5em
}

@media screen and (max-width: 768px) {
    .p-clinic-infoDetail-access .c-clinicLocationBox-detailListArea {
        gap: .8em
    }
}

.p-clinic-infoDetail-access .c-clinicLocation-link {
    grid-column: 3;
    width: -moz-fit-content;
    width: fit-content;
    background-color: #182a52;
    color: #fff;
    margin-top: .5em
}

.p-clinic-infoDetail-access .c-clinicLocation-link .c-buttonArrow {
    padding-right: 4.3em
}

.p-clinic-infoDetail-access .c-clinicLocation-link .c-buttonArrow::after {
    background-image: url(../images/arrow-white.png)
}

.p-clinic-information .c-newsBox {
    background-color: #fff;
    padding: 1.4em
}

.p-clinic-information .c-newsBox .c-newsBox-newsTitle {
    padding-right: 4.5em
}

@media screen and (max-width: 425px) {
    .p-clinic-information .c-newsBox .c-newsBox-newsTitle {
        padding-right: 2.5em
    }
}

.p-clinic-information .c-newsBox .c-newsBox-newsTitle.c-buttonArrow::after {
    background-image: url(../images/arrow-glay.png)
}

.p-clinic-information :where(.c-newsBox-newsTop, .c-newsBox-newsTitle) {
    color: #666
}

.p-clinic-information .c-newsBox-titleTop {
    font-size: clamp(16px, 1.2vw, 18px);
    font-family: "貂ｸ繧ｴ繧ｷ繝�け", YuGothic, "Yu Gothic", "貂ｸ繧ｴ繧ｷ繝�け菴�", "Noto Sans JP"
}

.p-clinic-pickUp {
    padding: clamp(20px, 3.07vw, 46px) 0 clamp(24px, 3.73vw, 56px);
    background-color: #f2f2f2
}

.p-clinic-n-boxWrap .p-boxTitle {
    font-size: clamp(18px, 2vw, 30px)
}

.p-clinic-n-boxWrap .c-containerBox {
    width: min(400px, 100%);
    margin-inline: auto
}

.p-clinic-n-boxWrap .c-containerBox-image {
    height: 100%;
    grid-template-rows: auto 1fr
}

.p-clinic-n-containerBox-text {
    height: 100%;
    display: grid;
    align-content: space-between
}

.p-clinic-feature .c-buttonMain {
    width: min(560px, 100%)
}

.p-aga-feature-checkListArea .p-example-aga-checkBox::before,
.p-aga-feature-checkListArea .p-example-aga-checkBox::after {
    opacity: 1
}

.p-clinic-agaGuid .c-containerBox {
    grid-template-rows: subgrid;
    grid-row: span 2;
    align-items: flex-start
}

.p-clinic-agaGuid .c-containerBox-title {
    display: grid;
    align-items: center;
    justify-content: center;
    height: 100%
}

.p-clinic-treatmentTitle {
    font-size: clamp(14px, 1.33vw, 20px);
    font-weight: 700;
    line-height: 2
}

.p-clinic-agaGuid-boxWrap .c-containerBox {
    padding: 1.2em
}

.p-clinic-agaGuid-boxWrap .c-containerBox-title {
    font-size: clamp(16px, 1.6vw, 24px)
}

.p-clinic-agaGuid-boxWrap .c-containerBox-image {
    row-gap: .5em
}

.p-clinic-agaGuid-boxWrap .c-containerBox-text {
    text-align: center;
    padding: .8em .5em
}

@media screen and (max-width: 1024px) {
    .p-clinic-agaGuid-boxWrap .c-containerBox-text {
        min-height: 5.6em
    }
}

@media screen and (max-width: 768px) {
    .p-clinic-agaGuid-boxWrap .c-containerBox-text {
        min-height: auto
    }
}

.p-clinic-agaGuid-boxWrap .c-containerBox-image figcaption:not(:has(>:nth-child(2))) .c-containerBox-text {
    padding-bottom: 3.5em
}

.c-borderBox-wrap:where(.support) {
    border-color: #666
}

.c-borderBox-wrap:where(.support) .c-borderBox-title {
    border-color: #666;
    color: #666
}

.c-borderBox-wrap:where(.support) .c-containerBox {
    background-color: #666
}

.c-borderBox-wrap:where(.support) .c-containerBox .c-balloonBox {
    color: #666
}

.c-borderBox-wrap:where(.support) .c-containerBox .c-balloonBox.c-balloonBox-blue {
    color: #fff
}

.c-borderBox-wrap:where(.examination) {
    border-color: #2254b2;
    background-color: #f2faff
}

.c-borderBox-wrap:where(.examination) .c-borderBox-title {
    border-color: #2254b2;
    color: #2254b2;
    background-color: #f2faff
}

.c-borderBox-wrap:where(.examination) .c-containerBox {
    background-color: #2253b2
}

.c-borderBox-wrap:where(.examination) .c-balloonBox {
    color: #2254b2
}

.p-clinic-tableOpenButton {
    position: relative
}

.p-clinic-tableOpenButton::before,
.p-clinic-tableOpenButton::after {
    content: "";
    display: block;
    width: 1em;
    height: 3px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 4%;
    transition: all linear .3s
}

.p-clinic-tableOpenButton::after {
    transform: translate(0, -50%) rotate(90deg);
    transition: transform linear .3s
}

.p-clinic-tableOpenButton.p-accordion-open::after {
    transform: translate(0, -50%) rotate(0);
    transition: transform linear .3s
}

.p-clinic-popularMenu {
    background-color: #f2f2f2
}

.p-clinic-popularBox-top {
    padding: clamp(20px, 2.67vw, 40px) clamp(16px, 2.67vw, 40px) 0
}

.p-clinic-popularMenu-boxTitle {
    background-color: #182a52;
    color: #fff;
    letter-spacing: .2em
}

@media screen and (max-width: 768px) {
    .p-clinic-popularMenu-boxTitle {
        padding: .2em
    }
}

.p-clinic-box-emText {
    font-size: clamp(20px, 1.6vw, 24px);
    font-weight: 700;
    color: #f90;
    text-align: center;
    display: block
}

.p-recommendBox {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    border: 1px solid #182a52
}

@media screen and (max-width: 768px) {
    .p-recommendBox {
        grid-template-columns: 1fr
    }
}

.p-recommendBox-title {
    font-size: clamp(18px, 2vw, 30px);
    font-weight: 700;
    color: #f90;
    background-color: #f2f2f2;
    height: 100%;
    padding: 1.5em;
    display: grid;
    align-items: center
}

@media screen and (max-width: 425px) {
    .p-recommendBox-title {
        padding: .5em .8em
    }
}

.p-recommendBox-subject {
    background-color: #fff;
    height: 100%;
    padding: 1.2em 1.5em;
    display: grid;
    gap: .5em
}

@media screen and (max-width: 425px) {
    .p-recommendBox-subject {
        padding: .5em .8em
    }
}

.p-recommendBox-subjectItem {
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    color: #2254b2;
    display: grid;
    grid-template-columns: 1em 1fr;
    align-items: center;
    justify-content: flex-start
}

.p-recommendBox-subjectItem::before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background: url(../images/icon-check.png) no-repeat center center/contain
}

.p-clinic-menuSystem-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: stretch;
    gap: 5em 2%;
    position: relative
}

@media screen and (max-width: 768px) {
    .p-clinic-menuSystem-wrap {
        grid-template-columns: 1fr
    }
}

.p-clinic-menuSystem-box {
    position: relative
}

.p-clinic-menuSystem-box:first-child::after {
    content: "";
    width: 8%;
    height: 10.5em;
    background: url(../images/arrowBig-blue.png) no-repeat center center/contain;
    position: absolute;
    top: 36%;
    right: -10%;
    transform: translateX(-50%);
    z-index: 1
}

@media screen and (max-width: 768px) {
    .p-clinic-menuSystem-box:first-child::after {
        width: 3em;
        bottom: -12.3em;
        top: auto;
        right: 50%;
        transform: translate(50%, -50%) rotate(90deg)
    }
}

.p-clinic-menuSystem-title {
    font-size: clamp(18px, 1.87vw, 28px);
    color: #182a52;
    text-align: center;
    line-height: 1.5;
    padding: .3em;
    background-color: #fff;
    box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, .19);
    width: 65%;
    position: absolute;
    top: -1.3em;
    left: 50%;
    transform: translateX(-50%);
    min-height: 4em;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap
}

@media screen and (max-width: 768px) {
    .p-clinic-menuSystem-title {
        width: 80%;
        min-height: 3.5em
    }
}

.p-clinic-menuSystem-detail {
    text-align: center;
    border-radius: clamp(15px, 2vw, 30px);
    background-color: #fff;
    height: 100%
}

.p-clinic-boxAdvanced .p-clinic-menuSystem-detail {
    padding: clamp(60px, 6vw, 90px) clamp(20px, 2.67vw, 40px) clamp(20px, 2.67vw, 40px)
}

.p-clinic-boxLight .p-clinic-menuSystem-detail,
.p-clinic-boxSingle .p-clinic-menuSystem-detail {
    padding: clamp(10px, 2.67vw, 40px)
}

.p-clinic-boxU35.c-roundedBox {
    border: clamp(5px, .67vw, 10px) solid #09f;
    overflow: initial
}

.p-clinic-boxU35 .p-clinic-menuSystem-detail {
    padding: clamp(16px, 1.33vw, 20px) clamp(20px, 2.67vw, 40px) clamp(20px, 2vw, 30px);
    display: grid;
    grid-template-columns: 55% 1fr;
    gap: clamp(16px, 1.33vw, 20px);
    align-items: center;
    justify-content: center;
    justify-items: center
}

.p-clinic-boxU35 .p-clinic-menuSystem-detail figcaption {
    max-width: 550px
}

@media screen and (max-width: 768px) {
    .p-clinic-boxU35 .p-clinic-menuSystem-detail {
        grid-template-columns: 1fr
    }
}

.p-clinic-boxU35 .p-clinic-popularMenu-boxTitle {
    color: #fff;
    font-size: clamp(20px, 2.67vw, 40px);
    background-color: #09f;
    margin-top: -2em;
    border-radius: 5px
}

@media screen and (max-width: 768px) {
    .p-clinic-boxU35 .p-clinic-popularMenu-boxTitle {
        margin-top: -3em
    }
}

@media screen and (max-width: 768px) {
    .p-clinic-boxU35 .p-clinic-popularMenu-boxTitle .p-clinic-popularMenu-boxTitle-small {
        font-size: clamp(14px, 2.6vw, 20px)
    }
}

.p-clinic-boxU35 .p-clinic-popularBox-bottom {
    background-color: #09f;
    border-radius: 0 0 clamp(5px, 1.07vw, 16px) clamp(5px, 1.07vw, 16px)
}

.p-clinic-boxU35 .p-clinic-popularBox-priceArea .c-emTextL {
    text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, 0px 2px 0 #fff, 0 -2px 0 #fff, -2px 0 0 #fff, 2px 0 0 #fff
}

.p-clinic-menuSystem-imageU35 {
    max-width: 420px
}

.p-clinic-menuSystem-imageU35 img {
    aspect-ratio: 167/129
}

@media screen and (max-width: 768px) {
    .p-clinic-menuSystem-imageU35 img {
        aspect-ratio: 167/100;
        -o-object-position: top;
        object-position: top
    }
}

.p-clinic-menuSystem-best {
    display: grid;
    align-content: space-between;
    height: 100%
}

.p-clinic-menuSystem-best .p-clinic-menuSystem-image {
    display: block;
    margin-inline: auto
}

.p-clinic-menuSystem-best img {
    aspect-ratio: 892/561
}

.p-clinic-menuSystem-sagas img {
    aspect-ratio: 446/317
}

.p-clinic-menuSystem-image {
    padding-bottom: 1.5em
}

.p-clinic-menuSystem-detailText {
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    line-height: 1.5
}

.p-clinic-menuSystem-detailText.supple {
    color: #182a52;
    background-color: #ccebff;
    padding: .5em .7em;
    position: relative
}

.p-clinic-menuSystem-detailText.supple::before {
    content: "��";
    display: block;
    width: 1em;
    height: 1em;
    position: absolute;
    top: -2em;
    left: 50%;
    transform: translateX(-50%)
}

.p-clinic-popularBox-bottom {
    text-align: center;
    color: #fff;
    padding: clamp(20px, 3.33vw, 50px) clamp(10px, 2.4vw, 36px);
    background-color: #182a52
}

.p-clinic-popularBox-priceArea.c-bB-dot {
    border-color: #fff
}

.p-clinic-popularBox-priceArea .c-dotsLine::after {
    background-image: linear-gradient(to right, #fff, #fff 1px, transparent 1px, transparent 1.5px)
}

.p-clinic-popularBox-priceArea:has(>dd:nth-child(n+3)) dd:not(:last-child) {
    padding-bottom: 1em;
    border-bottom: 4px solid #fff
}

.p-clinic-popularBox-priceArea:has(>dd:nth-child(n+3)) .c-dotsLine {
    padding: 0 5%
}

.p-clinic-readText.t-readText-bold {
    font-size: clamp(16px, 1.6vw, 24px)
}

.p-clinic-accentText {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    text-align: center;
    display: block
}

.p-clinic-accentText.c-emTextM {
    font-size: clamp(16px, 2vw, 30px)
}

.p-clinic-menuSystem-imageLight {
    width: min(90%, 400px);
    display: block;
    margin-inline: auto
}

.p-clinic-menuSystem-imageLight img {
    aspect-ratio: 791/270
}

.p-clinic-menuSystem-imageMedicine {
    width: min(90%, 850px);
    display: block;
    margin-inline: auto
}

.p-clinic-menuSystem-imageMedicine img {
    aspect-ratio: 101/21
}

.p-clinic-priceWrap.c-roundedBox {
    padding: clamp(20px, 2.67vw, 40px) clamp(10px, 2.4vw, 36px);
    background-color: #fff
}

.p-clinic-contentTitle {
    font-size: clamp(20px, 1.87vw, 28px);
    font-weight: 700;
    text-align: center;
    color: #182a52
}

.p-clinic-priceTable {
    display: grid;
    grid-template-columns: 1fr 20% auto;
    align-items: stretch;
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    color: #666
}

@media screen and (max-width: 768px) {
    .p-clinic-priceTable {
        grid-template-columns: 25% auto
    }
}

@media screen and (max-width: 425px) {
    .p-clinic-priceTable {
        grid-template-columns: 45% auto
    }
}

.p-clinic-priceTable>* {
    padding: clamp(16px, 1.33vw, 20px) clamp(10px, 2.4vw, 36px);
    display: flex;
    flex-wrap: wrap
}

.p-clinic-priceTable>*:where(.p-clinic-priceConditions, .p-clinic-priceTitle) {
    align-items: center;
    margin-right: 5px
}

.p-clinic-priceTable>*:where(.p-clinic-priceData) {
    align-items: flex-end
}

@media screen and (max-width: 768px) {
    .p-clinic-priceTitle {
        grid-column: 1/3;
        margin-right: 0;
        margin-bottom: 5px
    }
}

.p-clinic-priceTable-glay>* {
    background-color: #f2f2f2
}

.p-clinic-priceTable-glay2>* {
    background-color: #e7e9ed
}

.p-clinic-priceTable-glay3>* {
    background-color: #999
}

.p-clinic-priceTable-blue>* {
    background-color: #f2faff
}

.p-clinic-flow {
    background-color: #ccebff;
    padding: clamp(20px, 2.53vw, 38px) clamp(10px, 2.13vw, 36px)
}

.p-clinic-flow-listWrap {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between
}

@media screen and (max-width: 768px) {
    .p-clinic-flow-listWrap {
        gap: 2em;
        max-width: 400px;
        margin-inline: auto
    }
}

.p-clinic-flow-list {
    text-align: center;
    padding: 1.2em 1em 1em;
    background-color: #fff;
    display: grid;
    gap: 1em;
    width: 28%;
    position: relative
}

.p-clinic-flow-list:not(:last-child)::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 17px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #182a52;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -16%
}

@media screen and (max-width: 768px) {
    .p-clinic-flow-list:not(:last-child)::after {
        right: 50%;
        transform: translateX(50%) rotate(90deg);
        top: calc(100% + .3em);
        border-width: 10px 0 10px 15px
    }
}

@media screen and (max-width: 768px) {
    .p-clinic-flow-list {
        padding: .5em;
        gap: .5em;
        width: 100%
    }
}

.p-clinic-flow-listTitle {
    font-size: clamp(20px, 1.87vw, 28px);
    font-weight: 700;
    color: #182a52;
    font-family: "Oswald", sans-serif
}

.p-clinic-otherMenu-boxWrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5em
}

@media screen and (max-width: 768px) {
    .p-clinic-otherMenu-boxWrap {
        grid-template-columns: 1fr
    }
}

.p-cp-box {
    display: block;
    border: 1px solid #333;
    background: #fff;
    color: #333
}

.p-clinic-otherMenu-boxList {
    padding: clamp(12px, 1.6vw, 24px);
    background-color: #f2f2f2;
    display: grid
}

@media screen and (max-width: 768px) {
    .p-clinic-otherMenu-boxList .blueButton .c-viewMore {
        padding-right: 3.5em
    }
}

.p-clinic-otherMenu-boxList .c-buttonArrow::after {
    background-image: url(../images/arrow-white.png)
}

@media screen and (max-width: 768px) {
    .p-clinic-otherMenu-boxList {
        display: grid;
        align-items: stretch
    }
}

.p-clinic-otherMenu-box {
    display: grid;
    grid-template-columns: 1fr 33%;
    grid-template-rows: auto 1fr;
    grid-template-areas: "title image" "text  image";
    align-items: flex-start;
    justify-content: space-between;
    gap: 2em
}

@media screen and (max-width: 425px) {
    .p-clinic-otherMenu-box {
        grid-template-areas: "title image" "text  text";
        gap: 1em
    }
}

.p-clinic-otherMenu-boxTitle {
    grid-area: title;
    font-size: clamp(20px, 2vw, 30px);
    color: #182a52;
    font-weight: 700;
    border-left: 4px solid #182a52;
    padding-left: .4em
}

.p-clinic-otherMenu-boxSubTitle {
    font-size: clamp(16px, 1.47vw, 22px);
    color: #333;
    display: block;
    padding-top: .8em
}

.p-clinic-otherMenu-boxText {
    grid-area: text;
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.6
}

.p-clinic-otherMenu-boxImage {
    grid-area: image
}

.p-clinic-otherMenu-boxButtonArea {
    display: grid;
    align-items: flex-end
}

.p-clinic-otherMenu-boxTable-wrap {
    overflow-x: auto;
    white-space: nowrap
}

.p-clinic-otherMenu-boxTable {
    width: 100%;
    min-width: 500px;
    color: #333
}

.p-clinic-otherMenu-boxTable th {
    background-color: #ccc;
    border-bottom: 3px solid #f2f2f2;
    padding: .2em
}

.p-clinic-otherMenu-boxTable th:not(:last-child) {
    border-right: 3px solid #f2f2f2
}

.p-clinic-otherMenu-boxTable td {
    background-color: #fff;
    border-right: 3px solid #f2f2f2;
    border-bottom: 3px solid #f2f2f2;
    padding: .2em .5em;
    font-size: clamp(11.6666666667px, 0.9333333333vw, 14px)
}

.p-clinic-otherMenu-boxTable-em {
    border-right: none;
    font-weight: 600;
    text-align: center
}

.p-clinic-otherMenu-boxTable-em span {
    font-size: 120%;
    color: #f90
}

.p-clinic-otherMenu-buttonArea {
    padding: clamp(20px, 2.67vw, 40px) 0;
    background-color: #f2f2f2
}

.p-clinic-buttonAreaTitle {
    font-size: clamp(20px, 1.6vw, 24px);
    font-weight: 700;
    text-align: center;
    color: #182a52
}

.p-clinic-otherMenu-buttonList .c-buttonMain {
    width: min(560px, 100%)
}

.p-clinic-otherMenu-buttonList .c-buttonMain-blue>a {
    padding: 1.3em 1em
}

@media screen and (max-width: 1024px) {
    .p-clinic-otherMenu-buttonList .c-buttonMain-blue>a {
        padding-right: 2em
    }
}

@media screen and (max-width: 768px) {
    .p-clinic-otherMenu-buttonList {
        grid-template-columns: 1fr;
        gap: 1.5em
    }
}

.p-clinic-directorArea {
    display: grid;
    grid-template-columns: 32% 1fr;
    gap: clamp(20px, 3vw, 45px)
}

.p-clinic-directorArea img {
    aspect-ratio: 20/26
}

@media screen and (max-width: 768px) {
    .p-clinic-directorArea {
        grid-template-columns: 1fr
    }

    .p-clinic-directorArea img {
        aspect-ratio: 8/9;
        -o-object-position: center 3%;
        object-position: center 3%;
        max-width: 420px;
        margin-inline: auto
    }
}

.p-clinic-directorNameEn {
    color: #999;
    padding-left: .5em
}

.p-clinic-careerListWrap {
    padding: clamp(20px, 2.67vw, 40px) 0 clamp(10px, 2.13vw, 36px);
    border-top: 1px dotted #333;
    border-bottom: 1px dotted #333
}

.p-clinic-careerList {
    display: grid;
    grid-template-columns: 6em 1fr;
    font-size: clamp(14px, 1.2vw, 18px);
    line-height: 2
}

@media screen and (max-width: 425px) {
    .p-clinic-careerList {
        grid-template-columns: 1fr
    }

    .p-clinic-careerList:not(:last-child) {
        margin-bottom: 1em
    }
}

.p-clinic-directorComment {
    padding-left: 52%;
    background: url(../images/directorComment-bg.png) no-repeat left top/60%
}

@media screen and (max-width: 768px) {
    .p-clinic-directorComment {
        padding-left: 30%;
        background-size: 42%
    }
}

@media screen and (max-width: 425px) {
    .p-clinic-directorComment {
        padding-left: 0;
        padding-top: 10.5em;
        background-size: 100%
    }
}

.p-clinic-directorComment.p-clinic-directorComment_noBg {
    padding-left: 0;
    background: none
}

@media screen and (max-width: 768px) {
    .p-clinic-directorComment.p-clinic-directorComment_noBg {
        padding-left: 0;
        background-size: auto
    }
}

@media screen and (max-width: 425px) {
    .p-clinic-directorComment.p-clinic-directorComment_noBg {
        padding-left: 0;
        padding-top: 0;
        background-size: auto
    }
}

.p-clinic-directorComment.p-clinic-directorComment_noBg .p-clinic-directorCommentTitle {
    text-align: center
}

.p-clinic-directorCommentTitle {
    font-size: clamp(18px, 2vw, 30px);
    font-weight: 700;
    color: #182a52;
    line-height: 1.5
}

.p-clinic-moreTextContent {
    position: relative
}

.p-clinic-moreTextButton {
    font-size: clamp(14px, 1.07vw, 16px);
    border: 1px solid #666;
    display: block;
    width: min(600px, 100%);
    text-align: center;
    padding: .8em;
    border-radius: 1.5em;
    position: absolute;
    bottom: -5em;
    left: 50%;
    transform: translateX(-50%)
}

.p-clinic-moreTextButton::before {
    content: "邯壹″繧定ｪｭ繧"
}

.p-clinic-moreText {
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 2;
    position: relative;
    overflow: hidden;
    height: 12em
}

.p-clinic-moreText::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
    content: ""
}

.p-clinic-moreTextButton-trigger {
    display: none
}

.p-clinic-moreTextButton-trigger:checked~.p-clinic-moreTextButton::before {
    content: "髢峨§繧�"
}

.p-clinic-moreTextButton-trigger:checked~.p-clinic-moreText {
    height: auto
}

.p-clinic-moreTextButton-trigger:checked~.p-clinic-moreText::before {
    display: none
}

.p-clinic-moreTextButton-trigger:checked~.p-clinic-moreTextButton {
    bottom: -5em
}

.p-clinic-question-listArea {
    display: grid;
    gap: 1.2em
}

.p-clinic-question-list {
    display: grid;
    grid-template-columns: 38% 1fr
}

@media screen and (max-width: 768px) {
    .p-clinic-question-list {
        grid-template-columns: 1fr
    }
}

:where(.p-clinic-question-list-Q, .p-clinic-question-list-A) {
    padding: clamp(20px, 3.33vw, 50px) 2em clamp(20px, 2vw, 30px) clamp(20px, 3.33vw, 50px);
    line-height: 2
}

.p-clinic-question-list-Q {
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    background: url(../images/question-listQ-bg.png) no-repeat 1em 1.5em/60px #f2f2f2
}

@media screen and (max-width: 768px) {
    .p-clinic-question-list-Q {
        background-position: .5em 1em;
        background-size: 38px
    }
}

.p-clinic-question-list-A {
    font-size: clamp(16px, 1.2vw, 18px);
    background: url(../images/question-listA-bg.png) no-repeat 1.5em 1.5em/60px #f2faff
}

@media screen and (max-width: 768px) {
    .p-clinic-question-list-A {
        background-position: .5em 1em;
        background-size: 38px
    }
}

.p-clinic-access {
    padding: clamp(50px, 8vw, 120px) 0 clamp(50px, 6.67vw, 100px) 0;
    background-color: #f2f2f2
}

.p-clinic-accessListArea {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: center;
    gap: .5em 4%
}

@media screen and (max-width: 768px) {
    .p-clinic-accessListArea {
        grid-template-columns: 1fr;
        width: -moz-fit-content;
        width: fit-content;
        margin-inline: auto
    }
}

.p-clinic-access-detailArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "auto title" "tel  table";
    gap: .5em 1.2em;
    width: 92%;
    margin-inline: auto
}

@media screen and (max-width: 1200px) {
    .p-clinic-access-detailArea {
        width: 100%
    }
}

@media screen and (max-width: 768px) {
    .p-clinic-access-detailArea {
        grid-template-columns: 1fr;
        grid-template-areas: "title" "table" "tel"
    }
}

.p-clinic-access-detailArea :where(.c-clinicLocationBox-timeDataWeek, .c-clinicLocationBox-timeDataTime) {
    font-size: clamp(14px, 1.07vw, 16px)
}

.p-clinic-access-detailArea .c-clinicLocationBox-timeDataTime td {
    background-color: #fff;
    padding: .6em 0
}

.p-clinic-accessTab-wrap {
    display: grid;
    align-items: stretch;
    justify-content: space-between;
    gap: clamp(5px, 1.33vw, 20px);
    background-color: #ccc;
    padding: clamp(5px, 1.33vw, 20px)
}

@media screen and (max-width: 768px) {
    .p-clinic-accessTab-wrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-clinic-accessTab-wrap:has(>:nth-child(4):last-child) {
    grid-template-columns: repeat(4, 1fr)
}

@media screen and (max-width: 768px) {
    .p-clinic-accessTab-wrap:has(>:nth-child(4):last-child) {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))
    }
}

.p-clinic-accessTab-wrap:has(>:nth-child(3):last-child) {
    grid-template-columns: repeat(3, 1fr)
}

@media screen and (max-width: 768px) {
    .p-clinic-accessTab-wrap:has(>:nth-child(3):last-child) {
        grid-template-columns: 1fr
    }
}

.p-clinic-accessTab-wrap:has(>:nth-child(2):last-child) {
    grid-template-columns: repeat(2, 1fr)
}

@media screen and (max-width: 768px) {
    .p-clinic-accessTab-wrap:has(>:nth-child(2):last-child) {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))
    }
}

.p-clinic-accessTab {
    text-align: center;
    font-size: clamp(11px, 1.2vw, 18px);
    display: flex;
    align-items: center;
    justify-content: space-around;
    width: 100%;
    height: 100%;
    background-color: #f2f2f2;
    padding: 1em 0;
    border: clamp(5px, .67vw, 10px) solid #f2f2f2
}

.p-clinic-accessTab.btn-active {
    color: #182a52;
    font-weight: 700;
    background-color: #fff;
    border: clamp(5px, .67vw, 10px) solid #182a52
}

.p-clinic-accessInfo-wrap {
    display: none;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 3.33vw, 50px);
    width: 100%
}

.p-clinic-accessInfo-wrap.mapActive {
    display: grid
}

@media screen and (max-width: 768px) {
    .p-clinic-accessInfo-wrap {
        grid-template-columns: 1fr
    }
}

.p-clinic-accessInfo-wrap.carAccess {
    grid-template-columns: 1fr
}

.p-clinic-accessInfo-wrap .p-clinic-otherMenu-boxTable td {
    padding: 1em;
    font-size: clamp(14px, 1.2vw, 18px)
}

.p-clinic-accessInfo-list {
    display: grid;
    grid-template-columns: 25% 1fr;
    gap: 1em
}

.p-clinic-accessInfo-list img {
    aspect-ratio: 3/2
}

.p-clinic-accessInfo-top {
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    color: #182a52;
    padding-bottom: .8em;
    display: grid;
    grid-template-columns: 2.2em 1fr;
    align-items: center
}

.p-clinic-accessInfo-top::before {
    content: "";
    display: grid;
    place-content: center;
    width: 1.5em;
    height: 1.5em;
    font-size: clamp(16px, 1.6vw, 24px);
    font-family: "Oswald", sans-serif;
    color: #fff;
    border-radius: 50%;
    background-color: #333
}

.p-clinic-accessInfo-listArea {
    display: grid;
    gap: clamp(10px, 1.6vw, 24px)
}

.p-clinic-accessInfo-listArea .p-clinic-accessInfo-listWrap:nth-of-type(1) .p-clinic-accessInfo-top::before {
    content: "1"
}

.p-clinic-accessInfo-listArea .p-clinic-accessInfo-listWrap:nth-of-type(2) .p-clinic-accessInfo-top::before {
    content: "2"
}

.p-clinic-accessInfo-listArea .p-clinic-accessInfo-listWrap:nth-of-type(3) .p-clinic-accessInfo-top::before {
    content: "3"
}

.p-clinic-accessInfo-listArea .p-clinic-accessInfo-listWrap:nth-of-type(4) .p-clinic-accessInfo-top::before {
    content: "4"
}

.p-clinic-accessInfo-listArea .p-clinic-accessInfo-listWrap:nth-of-type(5) .p-clinic-accessInfo-top::before {
    content: "5"
}

.p-clinic-accessInfo-listArea .p-clinic-accessInfo-listWrap:nth-of-type(6) .p-clinic-accessInfo-top::before {
    content: "6"
}

.p-clinic-accessInfo-listArea .p-clinic-accessInfo-listWrap:nth-of-type(7) .p-clinic-accessInfo-top::before {
    content: "7"
}

.p-clinic-accessSuppleText {
    padding: clamp(20px, 3.33vw, 50px) 0;
    border-top: 1px dotted #333;
    border-bottom: 1px dotted #333
}

.p-clinic-treatmentBox-wrap {
    display: grid;
    justify-content: center;
    width: 100%;
    margin-inline: auto;
    gap: 1.5em;
    grid-template-columns: repeat(3, 1fr)
}

@media screen and (max-width: 1024px) {
    .p-clinic-treatmentBox-wrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 768px) {
    .p-clinic-treatmentBox-wrap {
        grid-template-columns: 1fr
    }
}

.p-clinic-list .p-mv-titleArea {
    padding-top: clamp(100px, 16vw, 240px);
    padding-bottom: clamp(125px, 8vw, 120px)
}

@media screen and (max-width: 768px) {
    .p-clinic-list .p-mv-titleArea {
        padding-top: 190px;
        padding-bottom: 50px
    }
}

.p-clinic-list .p-mv {
    background-image: url(../images/mv-clinic.jpg);
    background-position: right 40%
}

@media screen and (max-width: 768px) {
    .p-clinic-list .p-mv {
        background-position: 50% 40%
    }
}

.p-clinicList-Wrap {
    padding: 1em 8% 5em 4%
}

@media screen and (max-width: 768px) {
    .p-clinicList-Wrap {
        padding-bottom: 2em
    }
}

.p-clinicList-mapArea {
    position: relative;
    width: min(800px, 70%);
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-clinicList-mapArea {
        width: 67%
    }
}

@media screen and (max-width: 425px) {
    .p-clinicList-mapArea {
        width: 46%
    }
}

.p-clinicList-mapList li {
    position: absolute;
    width: 52%;
    z-index: 1
}

@media screen and (max-width: 768px) {
    .p-clinicList-mapList li {
        width: auto;
        height: clamp(40px, 7.6vw, 60px)
    }
}

@media screen and (max-width: 425px) {
    .p-clinicList-mapList li {
        width: auto;
        height: clamp(32px, 10.2vw, 42px)
    }
}

.p-clinicList-mapList li.sapporo {
    bottom: 85%;
    left: 7%
}

@media screen and (max-width: 425px) {
    .p-clinicList-mapList li.sapporo {
        bottom: 86%;
        left: -40%
    }
}

.p-clinicList-mapList li.tokyo {
    top: 28%;
    right: -35%
}

@media screen and (max-width: 768px) {
    .p-clinicList-mapList li.tokyo {
        top: 26%;
        right: -40%
    }
}

@media screen and (max-width: 425px) {
    .p-clinicList-mapList li.tokyo {
        top: 7%;
        right: -80%
    }
}

.p-clinicList-mapList li.shinjuku {
    top: 49%;
    right: -35%
}

@media screen and (max-width: 768px) {
    .p-clinicList-mapList li.shinjuku {
        top: 50%;
        right: -40%
    }
}

@media screen and (max-width: 425px) {
    .p-clinicList-mapList li.shinjuku {
        top: 50%;
        right: -80%
    }
}

.p-clinicList-mapList li.nagoya {
    top: 98%;
    left: 34%
}

@media screen and (max-width: 768px) {
    .p-clinicList-mapList li.nagoya {
        left: 40%
    }
}

@media screen and (max-width: 425px) {
    .p-clinicList-mapList li.nagoya {
        left: auto;
        right: -48%
    }
}

.p-clinicList-mapList li.osakaMens {
    bottom: 51%;
    left: -8%
}

@media screen and (max-width: 768px) {
    .p-clinicList-mapList li.osakaMens {
        left: -20%
    }
}

@media screen and (max-width: 425px) {
    .p-clinicList-mapList li.osakaMens {
        bottom: 47%;
        left: -73%
    }
}

@media screen and (max-width: 320px) {
    .p-clinicList-mapList li.osakaMens {
        bottom: 42%
    }
}

.p-clinicList-mapList li.fukuoka {
    top: 98%;
    left: -25%
}

@media screen and (max-width: 425px) {
    .p-clinicList-mapList li.fukuoka {
        left: -70%
    }
}

.p-clinicList-mapList .t-clinicBoxList {
    padding: 4% .5em;
    height: clamp(35px, 6.67vw, 100px);
    justify-content: center
}

.p-clinicList-mapList .t-clinicBoxList img {
    height: 100%;
    width: auto;
    aspect-ratio: auto
}

@media screen and (max-width: 1200px) {
    .p-clinicList-mapList .t-clinicBoxList {
        padding: 3% .5em
    }
}

@media screen and (max-width: 768px) {
    .p-clinicList-mapList .t-clinicBoxList {
        border-width: 3px;
        height: 100%;
        padding: .3em .5em
    }
}

@media screen and (max-width: 425px) {
    .p-clinicList-mapList .t-clinicBoxList {
        border-width: 2px;
        padding: .3em
    }
}

.p-clinicList-map {
    display: block
}

.p-clinicList-map img {
    aspect-ratio: 131/99
}

.p-clinicList-location-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: center;
    gap: clamp(12px, 1.6vw, 24px)
}

@media screen and (max-width: 1024px) {
    .p-clinicList-location-wrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 768px) {
    .p-clinicList-location-wrap {
        grid-template-columns: 1fr
    }
}

.p-clinicList-clinicGuid .t-clinicLocation-imageFloor img {
    aspect-ratio: 38/21
}

@media screen and (max-width: 768px) {
    .p-clinicList-clinicGuid .t-clinicLocation-imageFloor img {
        aspect-ratio: 3/1
    }
}

.p-clinicList-clinicGuid .c-clinicLocationBox-detailArea {
    padding-top: 1em;
    padding-bottom: 2em
}

@media screen and (max-width: 768px) {
    .p-clinicList-clinicGuid .c-clinicLocationBox-detailArea {
        padding-bottom: 1em
    }
}

.p-clinicList-clinicGuid .c-clinicLocation-link {
    grid-column: 3;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: clamp(5px, 1.33vw, 20px)
}

.p-clinicList-clinicGuid .mapButton {
    margin-bottom: clamp(10px, 1.33vw, 20px)
}

.p-newsList .p-mv {
    background-image: url(../images/mv-clinic.jpg);
    background-position: right 40%
}

@media screen and (max-width: 768px) {
    .p-newsList .p-mv {
        background-position: 50% 40%
    }
}

.p-newsList-contentWrap {
    width: 96%;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr 20%;
    gap: clamp(20px, 2.67vw, 40px)
}

@media screen and (max-width: 1024px) {
    .p-newsList-contentWrap {
        grid-template-columns: 1fr;
        gap: 5em
    }
}

.p-newsList-catWrap {
    display: grid;
    grid-template-columns: auto min(475px, 40%);
    align-items: center;
    justify-content: flex-end
}

@media screen and (max-width: 768px) {
    .p-newsList-catWrap {
        grid-template-columns: auto 60%
    }
}

.p-newsList-category .p-newsList-clinic.c-buttonArrow::after {
    background: url(../images/arrow-blue.png) no-repeat center center/contain
}

.p-newsList-clinicArea {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, auto));
    gap: clamp(8px, 2vw, 24px) 2%;
    justify-content: center
}

@media screen and (max-width: 1200px) {
    .p-newsList-clinicArea {
        width: 100%;
        grid-template-columns: repeat(2, auto);
        justify-content: center
    }
}

@media screen and (max-width: 425px) {
    .p-newsList-clinicArea {
        grid-template-columns: 1fr;
        width: -moz-fit-content;
        width: fit-content;
        margin-inline: auto
    }
}

.p-newsList-clinicArea li {
    width: -moz-fit-content;
    width: fit-content
}

.p-newsList-clinic {
    display: block;
    height: clamp(25px, 3vw, 45px);
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 4em
}

@media screen and (max-width: 768px) {
    .p-newsList-clinic {
        padding-right: 3em
    }
}

@media screen and (max-width: 425px) {
    .p-newsList-clinic {
        height: 30px
    }
}

.p-newsList-clinic img {
    height: 100%;
    width: auto
}

.p-newsList-buttonActive {
    position: relative
}

.p-newsList-buttonActive::before {
    content: "";
    width: 105%;
    height: 135%;
    background-color: #182a52;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: -1
}

.p-newsList-buttonActive.p-newsList-clinic.c-buttonArrow::after {
    background-image: url(../images/arrow-white.png)
}

.p-newsList-catSelectTitle {
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    color: #182a52;
    margin-right: 1em;
    display: block
}

@media screen and (max-width: 768px) {
    .p-newsList-catSelectTitle {
        padding-right: 0
    }
}

.p-newsList-catSelectArea {
    position: relative
}

.p-newsList-catSelectButton {
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    color: #182a52;
    text-align: center;
    display: block;
    width: 100%;
    border: clamp(3px, .33vw, 5px) solid #182a52;
    padding: .3em
}

.p-newsList-catSelect {
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    color: #182a52;
    text-align: center;
    border: clamp(1px, .2vw, 3px) solid #182a52;
    padding: .3em;
    width: 100%;
    position: absolute;
    top: 110%;
    background-color: #fff;
    z-index: 1;
    display: grid;
    gap: .5em;
    opacity: 1
}

.p-newsList-catSelect a {
    display: block
}

.p-newsList-catSelect:not(.cat-open) {
    visibility: hidden;
    opacity: 0;
    transition: visibility linear .3s
}

.p-newsBox {
    padding: clamp(25px, 2.67vw, 40px)
}

.p-newsBox.c-roundedBox {
    background-color: #fff
}

.p-newsList-archiveArea {
    width: min(240px, 100%);
    margin-inline: auto
}

.p-newsList-archiveYear {
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    color: #182a52;
    padding-bottom: .5em;
    margin-bottom: .5em;
    border-bottom: 1px dotted #333;
    cursor: pointer
}

.p-newsList-archiveYear .c-triangleArrow::after {
    right: -2em;
    top: 45%;
    transform: translateY(-50%) rotate(0deg)
}

.p-newsList-archiveYear:not(.active)~.p-newsList-archiveMonth {
    visibility: hidden;
    opacity: 0;
    transition: visibility linear .3s
}

.p-newsList-archiveYear:not(.active) .c-triangleArrow::after {
    transform: translateY(-50%) rotate(180deg)
}

.p-newsList-archiveMonth {
    display: block;
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 700;
    color: #182a52;
    visibility: visible;
    opacity: 1;
    transition: visibility linear .3s
}

.p-newsList-archiveMonthList {
    display: grid;
    gap: .5em
}

@media(hover: hover)and (pointer: fine) {
    .p-newsList-archiveMonth a:hover {
        background-color: #f2f2f2
    }
}

.wp-pagenavi {
    align-items: center;
    display: flex;
    justify-content: center;
    gap: 2.5em
}

@media screen and (max-width: 768px) {
    .wp-pagenavi {
        gap: 1.5em
    }
}

.wp-pagenavi a {
    text-decoration: none
}

.wp-pagenavi .page,
.wp-pagenavi .current {
    display: block;
    margin: 0 .5em;
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    font-family: "Oswald", sans-serif;
    line-height: 40px;
    text-align: center;
    border: none
}

.wp-pagenavi .page {
    color: #999
}

.wp-pagenavi .current {
    color: #333
}

.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
    display: block;
    color: rgba(0, 0, 0, 0);
    width: clamp(45px, 4vw, 60px);
    height: clamp(45px, 4vw, 60px);
    border-radius: 50%;
    background: url(../images/arrow-white.png) no-repeat center center/65% #182a52
}

.wp-pagenavi .previouspostslink {
    transform: scale(-1, 1)
}

.p-newsDetail .p-mv {
    background-image: url(../images/mv-clinic.jpg);
    background-position: right 40%
}

@media screen and (max-width: 768px) {
    .p-newsDetail .p-mv {
        background-position: 50% 40%
    }
}

.p-newsDetail-contentArea .c-newsBox-newsTop {
    padding-bottom: 1em
}

.p-newsDetail-newsTitle {
    font-size: clamp(20px, 2.13vw, 36px);
    font-weight: 700
}

.p-newsDetail-contentsArea,
.p-newsDetail-contentsArea a {
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.8
}

.p-newsDetail-contentsArea a {
    color: #f90;
    text-decoration: underline
}

.p-newsDetail-backButton {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

.p-newsDetail-backButtonText {
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 700;
    padding-right: 4.2em
}

.p-newsDetail-backButtonText.c-buttonArrow::after {
    background: url(../images/arrow-black.png) no-repeat center center/contain
}

@media(hover: hover)and (pointer: fine) {

    .p-newsDetail-contentsArea a:hover,
    .p-newsDetail-backButton:hover {
        opacity: .75;
        transition: opacity .2s ease-in-out
    }
}

@media screen and (max-width: 1024px) {
    .p-clinic-top .p-mv {
        background-position: 30% top
    }
}

@media screen and (max-width: 768px) {
    .p-clinic-top .p-mv {
        background-position: right 20% top
    }
}

@media screen and (max-width: 425px) {
    .p-clinic-top .p-mv {
        background-position: right 17% top
    }
}

.p-clinic-tokyo .p-mv {
    background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-clinic-tokyo.jpg)
}

@media screen and (max-width: 425px) {
    .p-clinic-tokyo .p-mv {
        background-image: linear-gradient(to top, #fff, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-clinic-tokyo.jpg)
    }
}

.p-clinic-shinjuku .p-mv {
    background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-clinic-shinjuku.jpg)
}

@media screen and (max-width: 425px) {
    .p-clinic-shinjuku .p-mv {
        background-image: linear-gradient(to top, #fff, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-clinic-shinjuku.jpg)
    }
}

.p-clinic-sapporo .p-mv {
    background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-clinic-sapporo.jpg)
}

@media screen and (max-width: 425px) {
    .p-clinic-sapporo .p-mv {
        background-image: linear-gradient(to top, #fff, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-clinic-sapporo.jpg)
    }
}

.p-sapporo-campTag {
    grid-template-columns: repeat(2, auto);
    gap: .5em 1em
}

@media screen and (max-width: 320px) {
    .p-sapporo-campTag {
        grid-template-columns: auto
    }
}

.p-sapporo-campTagText {
    padding: .1em .3em .1em .5em;
    background-color: #fbe51e;
    color: #182a52;
    position: relative
}

@media screen and (max-width: 320px) {
    .p-sapporo-campTagText {
        display: block;
        width: -moz-fit-content;
        width: fit-content
    }
}

.p-sapporo-campTagText::after {
    content: "";
    background-color: #fbe51e;
    width: 12%;
    height: 100%;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 99.5%;
    transform: translateY(-50%)
}

.p-clinic-nagoya .p-mv {
    background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-clinic-nagoya.jpg)
}

@media screen and (max-width: 425px) {
    .p-clinic-nagoya .p-mv {
        background-image: linear-gradient(to top, #fff, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-clinic-nagoya.jpg)
    }
}

.p-clinic-osaka .p-mv {
    background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-clinic-osaka.jpg)
}

@media screen and (max-width: 425px) {
    .p-clinic-osaka .p-mv {
        background-image: linear-gradient(to top, #fff, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-clinic-osaka.jpg)
    }
}

.p-clinic-fukuoka .p-mv {
    background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-clinic-fukuoka.jpg)
}

@media screen and (max-width: 425px) {
    .p-clinic-fukuoka .p-mv {
        background-image: linear-gradient(to top, #fff, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-clinic-fukuoka.jpg)
    }
}

.p-reserve-buttonArea {
    padding: clamp(40px, 5.33vw, 80px) 0 clamp(40px, 6vw, 90px);
    background-color: #f2f2f2
}

.p-reserve-effectListArea {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: clamp(10px, 1.33vw, 20px)
}

.p-reserve-effectList {
    font-size: clamp(15px, 1.2vw, 18px);
    font-weight: 700;
    color: #182a52;
    text-align: center;
    background-color: #fff;
    height: 8em;
    width: min(8em, 24%);
    display: flex;
    align-items: center;
    justify-content: center
}

@media screen and (max-width: 768px) {
    .p-reserve-effectList {
        width: min(11em, 45%)
    }
}

@media screen and (max-width: 425px) {
    .p-reserve-effectList {
        width: min(8em, 45%)
    }
}

.p-reserve-button.c-buttonMain {
    width: min(570px, 100%)
}

@media screen and (max-width: 768px) {
    .p-reserve-button.c-buttonMain {
        max-width: 420px
    }
}

.p-reserve-button.c-buttonMain.c-buttonMain-blue {
    background-color: #182a52
}

.p-example .p-mv {
    background-image: linear-gradient(to right, #fff, #fff 22%, rgba(255, 255, 255, 0.5) 32%, transparent 75%, transparent), url(../images/mv-example.jpg);
    background-position: right top
}

@media screen and (max-width: 1500px) {
    .p-example .p-mv {
        background-image: linear-gradient(to right, #fff, #fff 10%, rgba(255, 255, 255, 0.5) 40%, transparent 75%, transparent), url(../images/mv-example.jpg);
        background-position: right 30% top
    }
}

@media screen and (max-width: 768px) {
    .p-example .p-mv {
        background-image: linear-gradient(to right, #fff, #fff 25%, rgba(255, 255, 255, 0.5) 55%, transparent 80%, transparent), url(../images/mv-example.jpg);
        background-position: right 36% top
    }
}

.p-example-agaContents {
    display: grid;
    grid-template-columns: 1fr 36%;
    gap: 2em
}

@media screen and (max-width: 768px) {
    .p-example-agaContents {
        grid-template-columns: 1fr
    }
}

.p-example-agaContents .t-readText-bold {
    text-align: left
}

@media screen and (max-width: 768px) {
    .p-example-agaContents .t-readText-bold {
        text-align: center
    }
}

@media screen and (max-width: 768px) {
    .p-example-agaContents-img {
        margin-inline: auto;
        max-width: 500px
    }
}

.p-example-aga-checkArea {
    padding: clamp(30px, 4vw, 60px) 0;
    background-color: #f2f2f2
}

.p-example-aga-checkArea .c-titleS {
    font-size: clamp(20px, 2.67vw, 40px)
}

.p-example-aga-checkArea .c-buttonMain {
    width: min(560px, 100%)
}

.p-example-aga-checkArea .c-buttonMain-text {
    width: 100%
}

.p-example-aga-check {
    display: grid;
    justify-items: flex-start;
    gap: 2em;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 840px;
    margin-inline: auto
}

.p-example-aga-check.p-example-aga-checkAge {
    grid-template-columns: repeat(5, 1fr)
}

@media screen and (max-width: 768px) {
    .p-example-aga-check.p-example-aga-checkAge {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media screen and (max-width: 425px) {
    .p-example-aga-check.p-example-aga-checkAge {
        grid-template-columns: repeat(2, 1fr);
        width: 200px;
        justify-content: space-between
    }
}

.p-example-aga-check.p-example-aga-checkType {
    grid-template-columns: repeat(4, 1fr)
}

@media screen and (max-width: 768px) {
    .p-example-aga-check.p-example-aga-checkType {
        grid-template-columns: repeat(2, 1fr);
        width: 200px;
        justify-content: space-between
    }
}

.p-example-aga-checkLabel {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
    font-size: clamp(14px, 1.33vw, 20px);
    font-weight: 700;
    color: #182a52
}

.p-example-aga-checkBox {
    -moz-appearance: none;
    -webkit-appearance: none;
    position: relative;
    width: 1.8em;
    height: 1.8em;
    background-color: #fff;
    border: none;
    cursor: pointer
}

.p-example-aga-checkBox::before,
.p-example-aga-checkBox::after {
    content: "";
    position: absolute;
    left: 40%;
    top: 40%;
    z-index: 1;
    height: .25em;
    border-radius: 1em;
    background-color: #09f;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    transition: opacity 300ms ease
}

.p-example-aga-checkBox::before {
    width: .7em;
    transform: translate(-70%, 60%) rotate(45deg)
}

.p-example-aga-checkBox::after {
    width: 1.167em;
    transform: translateX(-18%) rotate(-45deg)
}

.p-example-aga-checkBox:checked::before,
.p-example-aga-checkBox:checked::after {
    opacity: 1
}

.p-example-agaResultBoxArea {
    display: grid;
    gap: clamp(30px, 4.67vw, 70px)
}

.p-example-agaResultBox.c-roundedBox {
    padding: clamp(12px, 1.6vw, 24px) 3%;
    background-color: #fff
}

.p-example-agaResultTitle.c-title-besideLine::before,
.p-example-agaResultTitle.c-title-besideLine::after {
    height: clamp(5px, .67vw, 10px);
    background-color: #182a52
}

.p-example-agaResultTitle-text {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .1em 1em;
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    color: #182a52
}

@media screen and (max-width: 1024px) {
    .p-example-agaResultTitle-text {
        width: 50%
    }
}

@media screen and (max-width: 768px) {
    .p-example-agaResultTitle-text {
        width: 70%
    }
}

.p-example-agaResultBox-imageArea {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(30px, 7.81vw, 60px) .5em
}

@media screen and (max-width: 768px) {
    .p-example-agaResultBox-imageArea {
        grid-template-columns: 1fr
    }
}

.p-example-agaResultBox-imageTitle {
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    height: clamp(36px, 2.67vw, 40px);
    margin-bottom: clamp(8px, 1.07vw, 16px)
}

.p-example-agaResultBox-imageTitle:where(.first) {
    background-color: #ccebff;
    font-size: clamp(14px, 1.2vw, 18px)
}

.p-example-agaResultBox-imageTitle:where(.month3, .month9) {
    color: #fff;
    font-size: clamp(16px, 1.6vw, 24px)
}

.p-example-agaResultBox-imageTitle:where(.month3) {
    background-color: #09f
}

.p-example-agaResultBox-imageTitle:where(.month9) {
    background-color: #005994
}

.p-example-agaResultBox-image img {
    aspect-ratio: 15/11
}

.p-example-agaResultBox-image:where(.first, .month3) {
    position: relative
}

.p-example-agaResultBox-image:where(.first, .month3)::before {
    content: "";
    background-color: #09f;
    width: 10%;
    height: 36%;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    position: absolute;
    top: 50%;
    right: -8%;
    transform: translateY(-50%);
    z-index: 1
}

@media screen and (max-width: 768px) {
    .p-example-agaResultBox-image:where(.first, .month3)::before {
        width: 5%;
        height: 15%;
        top: 99%;
        right: 50%;
        transform: translateY(0) translateX(50%) rotate(90deg)
    }
}

.p-example .p-example-agaResultBox-image:where(.first)::before {
    content: none
}

.p-example .p-example-agaResultBox-image:where(.month3, .month9) {
    position: relative
}

.p-example .p-example-agaResultBox-image:where(.month3, .month9)::before {
    content: "";
    background-color: #09f;
    width: 10%;
    height: 36%;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    position: absolute;
    top: 50%;
    left: -5%;
    transform: translateY(-50%);
    z-index: 1
}

@media screen and (max-width: 768px) {
    .p-example .p-example-agaResultBox-image:where(.month3, .month9)::before {
        width: 5%;
        height: 15%;
        top: auto;
        bottom: 69vw;
        left: 50%;
        transform: translateY(0) translateX(-50%) rotate(90deg)
    }
}

@media screen and (max-width: 425px) {
    .p-example .p-example-agaResultBox-image:where(.month3, .month9)::before {
        bottom: 72vw
    }
}

@media screen and (max-width: 320px) {
    .p-example .p-example-agaResultBox-image:where(.month3, .month9)::before {
        bottom: 75vw
    }
}

.p-example-agaResultDetail {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em
}

@media screen and (max-width: 768px) {
    .p-example-agaResultDetail {
        grid-template-columns: 1fr;
        gap: 2em
    }
}

:where(.p-example-agaResultDetail-title, .p-example-agaResultDetail-data) {
    font-size: clamp(14px, 1.2vw, 18px)
}

.p-example-agaResultDetail-title {
    max-width: 14em;
    padding: .2em .5em;
    background-color: #f90;
    color: #fff;
    text-align: center
}

.p-example-agaResultDetail-data {
    display: flex;
    flex-wrap: wrap;
    gap: .1em .8em
}

.p-example-idenImageArea {
    position: relative
}

.p-example-idenImage {
    position: absolute;
    top: 0;
    left: 0;
    display: none
}

.p-example-idenImage.p-example-idenImage-display {
    display: block
}

.p-example-moreButtonArea.c-roundedBox {
    padding: clamp(30px, 4.67vw, 70px) 3%
}

.p-example-moreButton-titleArea .c-title-line {
    background-color: #999
}

.p-flow .p-mv {
    background-image: linear-gradient(to right, #fff, #fff 22%, rgba(255, 255, 255, 0.5) 32%, transparent 75%, transparent), url(../images/mv-example.jpg);
    background-position: right top
}

@media screen and (max-width: 1500px) {
    .p-flow .p-mv {
        background-image: linear-gradient(to right, #fff, #fff 10%, rgba(255, 255, 255, 0.5) 40%, transparent 75%, transparent), url(../images/mv-example.jpg);
        background-position: right 30% top
    }
}

@media screen and (max-width: 768px) {
    .p-flow .p-mv {
        background-image: linear-gradient(to right, #fff, #fff 25%, rgba(255, 255, 255, 0.5) 55%, transparent 80%, transparent), url(../images/mv-example.jpg);
        background-position: right 36% top
    }
}

@media screen and (max-width: 768px) {
    .p-flow-introArea .c-buttonListArea {
        grid-template-columns: repeat(2, 1fr);
        gap: 2%
    }
}

.p-flow-introArea .p-flow-buttonFixed {
    display: none
}

@media screen and (max-width: 768px) {
    .p-flow-introArea .p-flow-buttonFixed.p-flow-buttonSpFixed {
        display: grid;
        position: fixed;
        width: 92%;
        z-index: 5
    }
}

.p-flow-stepArea {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center
}

.p-flow-stepCriterion {
    position: relative
}

.p-flow-stepCriterion::after {
    content: "";
    height: 40%;
    position: absolute;
    top: 100%
}

.p-flow-stepCriterion.free::after {
    width: 48%;
    background: url(../images/step-criterion-free.png) no-repeat center center/contain;
    right: 19%
}

.p-flow-stepCriterion.treatment::after {
    width: 63%;
    background: url(../images/step-criterion-treatment.png) no-repeat center center/contain;
    right: 50%;
    transform: translateX(50%)
}

.p-flow-stepCriterion.aga::after {
    width: 48%;
    background: url(../images/step-criterion-free.png) no-repeat center center/contain;
    right: 50%;
    transform: translateX(50%)
}

.p-flowStep-image {
    height: clamp(120px, 14.47vw, 215px);
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-flowStep-image {
        height: auto;
        max-width: 420px
    }
}

.p-flowStep-image img {
    height: 100%;
    width: auto;
    display: block
}

@media screen and (max-width: 768px) {
    .p-flowStep-image img {
        height: auto;
        width: 100%
    }
}

.p-flowStep-imageTop {
    height: clamp(98px, 10.67vw, 160px)
}

@media screen and (max-width: 768px) {
    .p-flowStep-imageTop {
        height: auto
    }
}

.p-flow-stepTextTop {
    font-size: clamp(20px, 2vw, 30px);
    font-weight: 700;
    color: #09f;
    display: block;
    width: 100%;
    text-align: center
}

.p-flow-stepTextTop .number {
    font-size: clamp(16px, 1.33vw, 20px)
}

.p-flow-stepTextTop.c-title-underLine::after {
    margin: 0 auto;
    background-color: #efebe6
}

.p-flow-stepTextBottom {
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    height: 3em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%
}

.p-flow-activeButton {
    cursor: pointer
}

.p-flow-activeButton-inner {
    display: grid;
    grid-template-columns: 32% 1fr;
    align-items: center;
    justify-content: center
}

@media screen and (max-width: 768px) {
    .p-flow-activeButton-inner {
        grid-template-columns: 1fr;
        margin: 0
    }
}

.p-flow-activeButton-text {
    font-size: clamp(12px, 1.6vw, 24px);
    font-weight: 700;
    padding: 0 2em 0 .5em;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    height: 100%
}

@media screen and (max-width: 768px) {
    .p-flow-activeButton-text {
        padding: 1em 2em 1em .5em;
        height: 4.5em
    }
}

@media screen and (max-width: 320px) {
    .p-flow-activeButton-text {
        padding-right: .5em;
        padding-left: .5em
    }
}

.p-flow-activeButton:where(.free) .p-flow-activeButton-inner {
    border: clamp(5px, .67vw, 10px) solid #09f
}

.p-flow-activeButton:where(.free) .p-flow-activeButton-text {
    background-color: #f2faff;
    color: #182a52;
    transition: .2s ease-in-out
}

.p-flow-activeButton:where(.free) .c-buttonArrow::after {
    background-image: url(../images/arrow-blue.png);
    transition: .2s ease-in-out
}

.p-flow-activeButton:where(.treatment) .p-flow-activeButton-inner {
    border: clamp(5px, .67vw, 10px) solid #182a52
}

.p-flow-activeButton:where(.treatment) .p-flow-activeButton-text {
    background-color: #dde3ef;
    color: #09f;
    transition: .2s ease-in-out
}

.p-flow-activeButton:where(.treatment) .c-buttonArrow::after {
    background-image: url(../images/arrow-vivid_blue.png);
    transition: .2s ease-in-out
}

@media screen and (max-width: 768px) {
    .p-flow-activeButton .c-buttonArrow::after {
        right: .6em
    }
}

@media(hover: hover)and (pointer: fine) {
    .p-flow-activeButton:hover .p-flow-activeButton-text {
        color: #fff;
        transition: .2s ease-in-out
    }

    .p-flow-activeButton:hover .c-buttonArrow::after {
        background-image: url(../images/arrow-white.png);
        transition: .2s ease-in-out
    }

    .p-flow-activeButton:hover:where(.free) .p-flow-activeButton-text {
        background-color: #09f
    }

    .p-flow-activeButton:hover:where(.treatment) .p-flow-activeButton-text {
        background-color: #182a52
    }

    .p-flow-activeButton:hover:where(.p-flow-activeTreatment) .p-flow-activeButton-text {
        background-color: #182a52
    }
}

.p-flow-step1 .activeTreatmentButton .p-flow-activeButton-text {
    color: #fff;
    background-color: #182a52
}

.p-flow-step1 .activeTreatmentButton .c-buttonArrow::after {
    background-image: url(../images/arrow-white.png)
}

.p-flow-wrap .p-flow-moreButton {
    width: min(530px, 100%)
}

.p-flow-moreButton {
    display: block;
    position: relative;
    cursor: pointer
}

.p-flow-moreButton.c-buttonMain.c-buttonMain-blue {
    background-color: #182a52
}

.p-flow-moreButton.c-buttonMain.c-buttonMain-blue>* {
    padding: .8em 3.4em
}

@media screen and (max-width: 768px) {
    .p-flow-moreButton.c-buttonMain.c-buttonMain-blue>* {
        padding: .8em 3.4em .8em .8em
    }
}

@media screen and (max-width: 768px) {
    .p-flow-moreButton.c-buttonMain.c-buttonMain-blue {
        width: min(420px, 100%)
    }
}

.p-flow-moreButton[aria-expanded=true] .c-buttonMain-text {
    padding: .8em
}

.p-flow-moreButtonCheck::before,
.p-flow-moreButtonCheck::after {
    content: "";
    display: block;
    width: .8em;
    height: 2px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    right: 2em
}

.p-flow-moreButtonCheck::before {
    transform: translateY(-50%)
}

.p-flow-moreButtonCheck::after {
    transform: translate(0, -50%) rotate(90deg)
}

.p-flow-treatment .p-flow-step1 {
    width: min(88%, 980px)
}

.p-flow-treatment .p-flow-step1 .c-buttonListArea {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 2%;
    column-gap: 2%
}

.p-flow-treatment .p-flow-contentsBox {
    width: 92%
}

.p-flow-treatment .p-flow-wrap {
    border: clamp(5px, .67vw, 10px) solid #182a52
}

@media screen and (max-width: 768px) {
    .p-flow-treatment .p-flow-wrap {
        border-left: none;
        border-right: none;
        border-bottom: none
    }
}

.p-flow-contentsBox {
    padding: clamp(20px, 2.67vw, 40px) 2%
}

@media screen and (max-width: 768px) {
    .p-flow-contentsBox {
        padding: clamp(20px, 2.67vw, 40px) 5%
    }
}

.p-flow-contentsBox.c-roundedBox {
    background-color: #fff
}

.p-flow-contentsBoxList {
    display: grid;
    grid-template-columns: 43% 1fr;
    gap: 1em 3%
}

@media screen and (max-width: 768px) {
    .p-flow-contentsBoxList {
        grid-template-columns: 1fr
    }
}

.p-flow-contentsBoxList:not(:last-child) {
    padding-bottom: clamp(50px, 6.67vw, 100px)
}

.p-flow-contentsBoxList-imageArea {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10%
}

@media screen and (max-width: 768px) {
    .p-flow-contentsBoxList-imageArea {
        gap: 5%
    }
}

.p-flow-contentsBoxList-number {
    font-size: clamp(18px, 2.27vw, 34px);
    font-weight: 700;
    color: #fff;
    font-family: "Oswald", sans-serif;
    text-align: center;
    background-color: #ccebff;
    width: 3.7em;
    height: 3.7em;
    border-radius: 50%;
    display: grid;
    align-content: center;
    position: relative
}

.p-flow-contentsBoxList-number::after {
    content: "";
    width: clamp(2px, .27vw, 4px);
    height: 500%;
    background-color: #ccebff;
    position: absolute;
    top: 100%;
    right: 50%;
    transform: translateX(50%)
}

@media screen and (max-width: 768px) {
    .p-flow-contentsBoxList-number::after {
        content: none
    }
}

.p-flow-contentsBoxList-number .step {
    display: block;
    font-size: clamp(16px, 1.6vw, 24px)
}

.p-flow-contentsBoxList-textArea .c-titleSS {
    color: #182a52
}

.p-flow-contentsBoxList-textArea .p-flow-moreButton.c-buttonMain.c-buttonMain-blue {
    width: 100%
}

.p-detailListBox-wrap {
    padding: clamp(10px, 1.6vw, 24px);
    border-radius: clamp(10px, 1.6vw, 24px);
    background-color: #f2f2f2
}

.p-detailListBox-wrap .c-titleSS {
    font-size: clamp(16px, 1.33vw, 20px);
    color: #182a52
}

.p-detailListBox {
    display: grid;
    gap: .2em
}

.p-detailListBox-titlePoint {
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 700;
    color: #fff;
    font-family: "Oswald", sans-serif;
    background-color: #f90;
    padding: 0 .3em;
    margin-right: 1em;
    position: relative
}

.p-detailListBox-titlePoint::after {
    content: "";
    background-color: #f90;
    width: 18%;
    height: 100%;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    display: block;
    position: absolute;
    top: 50%;
    right: -17%;
    transform: translateY(-50%)
}

.p-detailListBox-titlePointJp {
    font-family: "貂ｸ繧ｴ繧ｷ繝�け", YuGothic, "Yu Gothic", "貂ｸ繧ｴ繧ｷ繝�け菴�", "Noto Sans JP"
}

.p-detailText,
.p-detailList {
    font-size: clamp(15px, 1.2vw, 18px);
    font-weight: 700;
    color: #666;
    line-height: 1.8
}

.p-detailList {
    list-style: "笳�";
    margin-left: 1em
}

.p-flow-activeTreatment .p-flow-activeButton-text {
    border-top: clamp(5px, .67vw, 10px) solid #182a52;
    border-left: clamp(5px, .67vw, 10px) solid #182a52;
    border-right: clamp(5px, .67vw, 10px) solid #182a52;
    color: #09f;
    padding: 1em 0;
    transition: .2s ease-in-out;
    border-radius: 1em 1em 0 0
}

@media screen and (max-width: 768px) {
    .p-flow-activeTreatment .p-flow-activeButton-text {
        padding: 0 2em 0 0
    }
}

@media screen and (max-width: 425px) {
    .p-flow-activeTreatment .p-flow-activeButton-text {
        padding: 0
    }
}

@media screen and (max-width: 425px) {
    .p-flow-activeTreatment .p-flow-activeButton-text.c-buttonArrow::after {
        content: none
    }
}

.p-flow-activeTreatment .c-buttonArrow::after {
    background-image: url(../images/arrow-vivid_blue.png);
    right: .8em
}

.p-flow-n-listWrap .p-clinic-flow-list {
    width: 16%
}

@media screen and (max-width: 768px) {
    .p-flow-n-listWrap .p-clinic-flow-list {
        width: 100%
    }
}

.p-flow-n-listWrap .p-clinic-flow-list:not(:last-child)::after {
    right: -22%
}

@media screen and (max-width: 768px) {
    .p-flow-n-listWrap .p-clinic-flow-list:not(:last-child)::after {
        right: 50%
    }
}

.p-flow-n-listArea {
    display: grid;
    gap: clamp(80px, 8vw, 120px)
}

.p-flow-n-listArea .p-column-2column {
    -moz-column-gap: 3%;
    column-gap: 3%
}

.p-flow-n-list:not(:last-child) {
    position: relative;
    overflow: initial
}

.p-flow-n-list:not(:last-child)::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 24px 0 24px;
    border-color: #ccebff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    position: absolute;
    top: calc(100% + clamp(20px, 2.67vw, 40px));
    right: 50%;
    transform: translateX(50%)
}

.p-flow-n-listTitle {
    background-color: #182a52;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-content: space-between;
    padding-top: .4em;
    padding-bottom: .4em;
    padding-left: clamp(12px, 1.33vw, 20px);
    padding-right: .5em;
    border-radius: 2em;
    height: -moz-fit-content;
    height: fit-content
}

.p-flow-n-listTitle-step {
    color: #ccebff
}

.p-flow-n-listTitle-price {
    color: #666;
    background-color: #fff;
    padding: .2em 1em;
    border-radius: 1em
}

.p-flow-n-listTitle-price.paid {
    color: #f90
}

.p-flow-n-listData .p-detailListBox-wrap {
    background-color: #fff
}

.p-flow-n-listData-wide {
    grid-column: 1/3
}

@media screen and (max-width: 768px) {
    .p-flow-n-listData-wide {
        grid-column: auto
    }
}

.p-flow-n-listData-wideCont {
    display: grid;
    grid-template-columns: 37.5% 52%;
    gap: .5em 3%;
    justify-content: flex-end;
    align-items: flex-start
}

@media screen and (max-width: 768px) {
    .p-flow-n-listData-wideCont {
        grid-template-columns: 1fr
    }
}

.p-flow-n-listData-wideCont .c-solidLine::after {
    height: 1px
}

.p-flow-n-listData-image {
    display: block;
    padding-right: clamp(30px, 4vw, 60px)
}

@media screen and (max-width: 768px) {
    .p-flow-n-listData-image {
        padding-right: 0;
        max-width: 420px;
        margin-inline: auto
    }
}

.p-price .c-containerBox-wrap {
    min-width: 100%
}

@media screen and (max-width: 768px) {
    .p-price .c-containerBox-wrap {
        min-width: auto;
        max-width: 450px
    }
}

.p-price .p-price-otherBox-lisrArea .p-clinic-priceTable {
    grid-template-columns: 1fr 20% 24%
}

@media screen and (max-width: 768px) {
    .p-price .p-price-otherBox-lisrArea .p-clinic-priceTable {
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-price .p-price-otherBox-lisrArea .p-clinic-priceTable:first-child .p-clinic-priceTitle {
    grid-column: 1/3
}

@media screen and (max-width: 768px) {
    .p-price .p-price-otherBox-lisrArea .p-clinic-priceTable:first-child .p-clinic-priceTitle {
        grid-column: auto
    }
}

.p-price .p-price-otherBox-lisrArea .p-clinic-priceTable:first-child .p-clinic-priceData {
    align-items: center
}

.p-price .c-category-radius {
    font-size: clamp(14px, 1.33vw, 20px)
}

.p-link-simpleBox-wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto;
    gap: .5em 2%
}

@media screen and (max-width: 768px) {
    .p-link-simpleBox-wrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-link-simpleBox-new .p-simpleBox {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: clamp(4px, .67vw, 10px);
    justify-content: center;
    align-items: center
}

.p-link-simpleBox-new .p-simpleBox::after {
    display: block;
    content: "笆ｼ";
    font-size: 1em
}

.p-simpleBox {
    padding-top: clamp(8px, 2vw, 30px);
    padding-bottom: clamp(8px, 2vw, 30px);
    border: 1px solid #182a52;
    box-shadow: clamp(2px, .33vw, 5px) clamp(2px, .33vw, 5px) rgba(0, 0, 0, .15);
    display: grid
}

.p-price-linkTop .p-anchorLink-listArea {
    grid-template-columns: repeat(4, 1fr)
}

@media screen and (max-width: 768px) {
    .p-price-linkTop .p-anchorLink-listArea {
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-price-linkMiddle .p-anchorLink-listArea {
    grid-template-columns: repeat(3, 1fr)
}

@media screen and (max-width: 768px) {
    .p-price-linkMiddle .p-anchorLink-listArea {
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-price-attentionImage-listArea {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: center;
    gap: 2em 10%;
    width: min(800px, 100%);
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-price-attentionImage-listArea {
        gap: 2em 5%
    }
}

.p-price-attentionImage-listText {
    font-size: clamp(16px, 2vw, 30px);
    font-weight: 700;
    text-align: center
}

.p-price-attentionImage-list:nth-child(2) .p-price-attentionImage-listText {
    color: #09f
}

.p-price-attentionImage-listSubText {
    display: block;
    font-size: clamp(16px, 1.2vw, 18px);
    color: #ccc;
    font-family: "Oswald", sans-serif
}

@media screen and (max-width: 425px) {

    .p-price-attentionText,
    .p-price-attentionImage-listSubText {
        height: 3em;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap
    }
}

.p-price-introArea .c-page-title {
    font-size: clamp(20px, 2vw, 40px)
}

.p-price-pointContentBox.c-roundedBox {
    background-color: #fff;
    padding: clamp(20px, 3.33vw, 50px)
}

.p-price-pointContentBox .t-readText {
    color: #182a52
}

.p-price-pointContent-checkListArea {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5em 2%
}

@media screen and (max-width: 768px) {
    .p-price-pointContent-checkListArea {
        grid-template-columns: 1fr;
        width: -moz-fit-content;
        width: fit-content;
        margin-inline: auto
    }
}

.p-price-pointContent-checkList {
    background-color: #182a52;
    height: 5em;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1em
}

@media screen and (max-width: 768px) {
    .p-price-pointContent-checkList {
        height: 3em;
        justify-content: flex-start
    }
}

.p-price-pointContent-checkText {
    font-size: clamp(14px, 1.33vw, 20px);
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: flex-end
}

.p-price-pointContent-checkText::before {
    content: "";
    width: 2em;
    height: 2em;
    display: block;
    background: url(../images/check-box.png) no-repeat center center/contain;
    margin-right: .2em
}

.p-price-pointContent-checkText-em {
    font-size: clamp(16px, 1.87vw, 28px)
}

.p-price-cospaCalc {
    font-size: clamp(18px, 3.33vw, 50px);
    font-weight: 700;
    display: flex;
    align-items: flex-end;
    justify-content: center
}

.p-price-cospaCalc .effectText {
    color: #09f
}

.p-price-cospaCalc .riskText {
    color: #f90
}

.p-price-cospaCalc .smallText {
    font-size: clamp(16px, 2.67vw, 40px)
}

.p-price-treatmentArea {
    background-color: #f2faff;
    padding: clamp(60px, 10vw, 150px) 0 clamp(60px, 8.67vw, 130px)
}

.p-price-treatmentArea .p-price-treatmentList-image {
    width: min(10.6em, 90%);
    min-height: 14em;
    padding: 1em 0
}

.p-price-treatmentArea .p-price-treatmentList-image img {
    aspect-ratio: auto
}

.p-price-treatmentBox .p-price-treatmentList:not(:has(.p-price-treatmentLink)) {
    border-bottom-width: clamp(60px, 4.67vw, 70px)
}

.p-price-treatmentBox .p-price-treatmentTitle {
    height: 3.8em
}

.p-price-treatmentBox-inner {
    padding: clamp(10px, 2vw, 30px) clamp(10px, 1.33vw, 20px) clamp(10px, 1.33vw, 20px);
    background-color: #fff
}

.p-price-treatmentBox-inner .p-treatment-titleArea {
    align-items: center;
    padding-bottom: clamp(12px, 1.6vw, 24px)
}

.p-price-treatmentBox-priceArea {
    display: grid;
    grid-template-columns: 1fr 50%;
    gap: 1em 3%
}

@media screen and (max-width: 768px) {
    .p-price-treatmentBox-priceArea {
        grid-template-columns: 1fr
    }
}

.p-price-treatmentBox-priceArea .p-treatment-titleArea {
    grid-template-columns: auto 1fr
}

@media screen and (max-width: 425px) {
    .p-price-treatmentBox-priceArea .p-treatment-titleArea {
        grid-template-columns: 1fr
    }
}

.p-price-treatmentBox-priceArea .p-treatment-dataArea {
    grid-template-columns: 6em 1fr
}

@media screen and (max-width: 1024px) {
    .p-price-treatmentBox-priceArea .p-treatment-dataArea {
        grid-template-columns: 5em 1fr
    }
}

@media screen and (max-width: 425px) {
    .p-price-treatmentBox-priceArea .p-treatment-dataArea {
        grid-template-columns: 4em 1fr
    }
}

@media screen and (max-width: 320px) {
    .p-price-treatmentBox-priceArea .p-treatment-dataArea {
        grid-template-columns: auto 1fr
    }
}

@media screen and (max-width: 768px) {
    .p-price-treatmentBox-priceArea .p-treatment-dataArea:first-child {
        align-items: flex-start
    }
}

.p-price-treatmentBox-inner-single .p-price-treatmentBox-priceArea {
    align-items: flex-start
}

@media screen and (max-width: 1024px) {
    .p-price-treatmentBox-inner-single .p-price-treatmentBox-priceArea {
        grid-template-columns: 1fr auto
    }
}

@media screen and (max-width: 768px) {
    .p-price-treatmentBox-inner-single .p-price-treatmentBox-priceArea {
        grid-template-columns: 1fr
    }
}

.p-price-treatmentBox-inner-single .p-clinic-priceTable {
    grid-template-columns: 42% 1fr
}

@media screen and (max-width: 768px) {
    .p-price-treatmentBox-inner-single .p-clinic-priceTable {
        grid-template-columns: 1fr 45%;
        gap: .2em
    }
}

.p-price-treatmentBox-inner-single .p-clinic-priceTable>* {
    padding: .5em .8em;
    justify-content: center;
    text-align: center;
    align-items: flex-end;
    align-content: center
}

@media screen and (max-width: 768px) {
    .p-price-treatmentBox-inner-single .p-clinic-priceTitle {
        grid-column: auto;
        margin-bottom: 0
    }
}

.p-price-treatmentBox-inner-single .p-treatment-priceTableTop.p-clinic-priceTable>* {
    justify-content: center
}

@media screen and (max-width: 425px) {
    .p-price-treatmentBox-inner-single .p-treatment-dataArea {
        grid-template-columns: 1fr;
        gap: 0
    }
}

.p-price-treatment-medicineData {
    width: -moz-fit-content;
    width: fit-content
}

.p-price-treatment-medicine {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    justify-items: self-end;
    gap: 1em
}

.p-price-dataAreaMedicineArea .p-treatment-dataArea {
    grid-template-columns: 1fr;
    justify-items: center
}

@media screen and (max-width: 768px) {
    .p-price-dataAreaMedicineArea .p-treatment-dataArea {
        grid-template-columns: 5em 1fr;
        justify-items: flex-start
    }
}

@media screen and (max-width: 425px) {
    .p-price-dataAreaMedicineArea .p-treatment-dataArea {
        grid-template-columns: auto 1fr
    }
}

@media screen and (max-width: 768px) {
    .p-price-treatment-dataTitle {
        margin-top: clamp(5px, 1.8vw, 16px)
    }
}

@media screen and (max-width: 425px) {
    .p-price-treatment-dataTitle {
        margin-top: 5px
    }
}

.p-price-treatmentBox-priceAreaED {
    align-items: flex-start;
    position: relative;
    gap: 0;
    align-items: stretch
}

.p-price-treatmentBox-priceAreaED>.p-treatment-dataArea {
    align-items: flex-start
}

.p-price-treatmentBox-priceAreaED::after {
    content: "";
    width: clamp(5px, .67vw, 10px);
    height: 100%;
    background-color: #666;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%)
}

@media screen and (max-width: 768px) {
    .p-price-treatmentBox-priceAreaED::after {
        content: none
    }
}

.p-price-treatmentBox-priceAreaED .p-treatment-titleArea {
    align-items: flex-start
}

@media screen and (max-width: 768px) {
    .p-price-treatmentBox-priceAreaED .p-treatment-titleArea {
        align-items: center
    }
}

.p-price-costText {
    font-size: clamp(18px, 4vw, 60px)
}

.p-price-treatment-subjectBox {
    display: grid;
    justify-items: center;
    padding: clamp(8px, 1.07vw, 16px);
    background-color: #d1d4dc;
    text-align: center
}

@media screen and (max-width: 768px) {
    .p-price-treatment-subjectBox {
        justify-items: flex-start;
        text-align: left
    }
}

.p-price-treatmentBox-contentListArea {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0 .8em;
    grid-column: 2/3
}

@media screen and (max-width: 768px) {
    .p-price-treatmentBox-contentListArea {
        grid-template-columns: 1fr
    }
}

@media screen and (max-width: 768px) {
    .p-price-treatmentBox-contentList {
        padding-left: 0;
        padding-top: .3em;
        border-left: none;
        border-top: 1px solid #333
    }
}

.p-price-treatmentBox-contentListItem {
    display: grid;
    grid-template-columns: 1fr auto
}

.p-price-treatmentList {
    border-right: clamp(5px, .67vw, 10px) solid #182a52;
    border-left: clamp(5px, .67vw, 10px) solid #182a52;
    border-bottom: clamp(5px, .67vw, 10px) solid #182a52
}

.p-price-treatmentList-ed .p-price-treatmentBox-inner {
    padding: 0
}

.p-price-treatmentBox-priceInnerED {
    padding: clamp(10px, 2vw, 30px) clamp(10px, 1.33vw, 20px) clamp(10px, 1.33vw, 20px);
    display: grid;
    grid-template-rows: repeat(2, 1fr)
}

@media screen and (max-width: 768px) {
    .p-price-treatmentBox-priceInnerED {
        grid-template-rows: auto
    }
}

@media screen and (max-width: 768px) {
    .p-price-treatmentBox-priceInnerED:first-child {
        border-bottom: 5px solid #666
    }
}

.p-price-treatmentTitle {
    font-size: clamp(20px, 1.87vw, 28px);
    font-weight: 700;
    text-align: center;
    background-color: #182a52;
    width: 100%;
    height: 3em;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap
}

.p-price-treatmentTitle-subText {
    display: block;
    width: 100%;
    font-size: clamp(16px, 1.47vw, 22px)
}

.p-price-treatmentList-imageArea {
    background-color: #fff
}

.p-price-boxTablaArea {
    min-height: 365px;
    display: grid
}

@media screen and (max-width: 768px) {
    .p-price-boxTablaArea {
        min-height: auto
    }
}

.p-price-treatmentList-image {
    display: block;
    margin-inline: auto;
    display: flex;
    align-items: flex-end
}

.p-price-treatmentList-image img {
    aspect-ratio: 760/429
}

.p-price-boxTablaLine {
    display: grid;
    grid-template-columns: auto 1fr
}

.p-price-boxTablaLine:nth-child(odd) .p-price-boxTablaTitle {
    background-color: #d1d4dc
}

.p-price-boxTablaLine:nth-child(odd) .p-price-boxTablaData {
    background-color: #e7e9ed
}

.p-price-boxTablaLine:nth-child(even) .p-price-boxTablaTitle {
    background-color: #efebe6
}

.p-price-boxTablaLine:nth-child(even) .p-price-boxTablaData {
    background-color: #f7f5f2
}

.p-price-boxTablaLine:not(:last-child) {
    border-bottom: 2px solid #fff
}

.p-price-boxTablaLine.content {
    min-height: 6.7em
}

@media screen and (max-width: 1024px) {
    .p-price-boxTablaLine.content {
        min-height: 5.6em
    }
}

.p-price-boxTablaLine.capacity {
    min-height: clamp(235px, 20vw, 300px)
}

@media screen and (max-width: 1024px) {
    .p-price-boxTablaLine.capacity {
        min-height: 10.5em
    }
}

@media screen and (max-width: 425px) {
    .p-price-boxTablaLine.capacity {
        min-height: 14.5em
    }
}

.p-price-boxTablaLine.target {
    min-height: clamp(88px, 7.5vw, 105px)
}

@media screen and (max-width: 425px) {
    .p-price-boxTablaLine.target {
        min-height: 6.8em
    }
}

@media screen and (max-width: 768px) {
    .p-price-boxTablaLine.covidTarget {
        min-height: 8.3em
    }
}

@media screen and (max-width: 425px) {
    .p-price-boxTablaLine.covidTarget {
        min-height: 9.6em
    }
}

@media screen and (max-width: 768px) {

    .p-price-treatmentArea .p-price-boxTablaLine.content,
    .p-price-treatmentSupportArea .p-price-boxTablaLine.content,
    .p-price-treatmentExaminationArea .p-price-boxTablaLine.content {
        min-height: auto
    }
}

@media screen and (max-width: 768px) {

    .p-price-treatmentArea .p-price-boxTablaLine.capacity,
    .p-price-treatmentSupportArea .p-price-boxTablaLine.capacity,
    .p-price-treatmentExaminationArea .p-price-boxTablaLine.capacity {
        min-height: auto
    }
}

@media screen and (max-width: 768px) {

    .p-price-treatmentArea .p-price-boxTablaLine.target,
    .p-price-treatmentSupportArea .p-price-boxTablaLine.target,
    .p-price-treatmentExaminationArea .p-price-boxTablaLine.target {
        min-height: auto
    }
}

:where(.p-price-boxTablaTitle, .p-price-boxTablaData) {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    padding: 8px;
    line-height: 1.6
}

.p-price-boxTablaTitle {
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    letter-spacing: .2em
}

.p-price-boxTablaData {
    font-size: clamp(14px, 1.2vw, 18px);
    flex-wrap: wrap;
    padding-top: 10px
}

.p-price-boxTablaData>.c-txti {
    display: block;
    width: 100%
}

.p-price-treatmentLink {
    padding: 1.3em 0 1em;
    background-color: #182a52;
    width: 100%
}

@media screen and (max-width: 768px) {
    .p-price-treatmentLink {
        padding: .8em 0 .5em
    }
}

.p-price-treatmentLink .c-clinicLocation-link {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

.p-price-treatmentLink .c-clinicLocation-link .c-buttonArrow {
    padding-right: 4.8em
}

.p-price-difference .c-titleS {
    font-size: clamp(20px, 2.67vw, 40px);
    line-height: 1.8;
    color: #333
}

.p-price-difference .c-underLine {
    color: #182a52
}

.p-price-difference .c-underLine::after {
    height: 2px;
    background-color: #182a52
}

.p-price-difference-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2em 5%
}

@media screen and (max-width: 768px) {
    .p-price-difference-wrap {
        grid-template-columns: 1fr
    }
}

.p-price-difference-listArea {
    position: relative
}

@media screen and (max-width: 768px) {
    .p-price-difference-listArea {
        height: clamp(360px, 58.59vw, 450px)
    }
}

@media screen and (max-width: 425px) {
    .p-price-difference-listArea {
        height: auto
    }
}

.p-price-difference-listArea::before {
    content: "";
    width: 75%;
    height: 80%;
    background-color: #fff;
    position: absolute;
    top: 47%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%)
}

@media screen and (max-width: 425px) {
    .p-price-difference-listArea::before {
        content: none
    }
}

.p-price-difference-list {
    position: absolute;
    width: 53%
}

@media screen and (max-width: 768px) {
    .p-price-difference-list {
        width: max(200px, 45%)
    }
}

@media screen and (max-width: 425px) {
    .p-price-difference-list {
        position: initial
    }
}

.p-price-difference-list:nth-child(1) {
    top: 0;
    left: 0
}

.p-price-difference-list:nth-child(2) {
    top: 26%;
    right: 5%
}

@media screen and (max-width: 1024px) {
    .p-price-difference-list:nth-child(2) {
        right: 0
    }
}

@media screen and (max-width: 425px) {
    .p-price-difference-list:nth-child(2) {
        margin-left: auto
    }
}

.p-price-difference-list:nth-child(3) {
    bottom: 0;
    left: 5%
}

@media screen and (max-width: 1200px) {
    .p-price-difference-list:nth-child(3) {
        bottom: auto;
        top: 52%
    }
}

@media screen and (max-width: 768px) {
    .p-price-difference-list:nth-child(3) {
        bottom: 0;
        top: auto
    }
}

.p-price-difference-image {
    padding-bottom: .3em
}

.p-price-difference-image img {
    aspect-ratio: 11/7
}

.p-price-difference-textArea {
    padding: clamp(40px, 5.33vw, 80px) 0 clamp(40px, 9.33vw, 140px)
}

@media screen and (max-width: 768px) {
    .p-price-difference-textArea {
        padding: 0
    }
}

.p-price-otherBox.c-roundedBox {
    background-color: #fff;
    padding: clamp(20px, 2.67vw, 40px)
}

.p-price-otherBox .c-titleS {
    font-size: clamp(20px, 1.87vw, 28px)
}

@media screen and (max-width: 768px) {
    .p-price-otherBox-lisrArea .p-clinic-priceTable {
        gap: .2em
    }
}

@media screen and (max-width: 768px) {
    .p-price-otherBox-lisrArea .p-clinic-priceConditions {
        margin-right: 0
    }
}

.p-price-otherBox-lisrArea .p-clinic-priceTable>*:where(.p-clinic-priceData) {
    justify-content: center
}

@media screen and (max-width: 768px) {
    .p-price-otherBox-lisrArea .p-clinic-priceTable-glay {
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-price-otherBox-lisrArea .p-clinic-priceTable-glay :where(.p-clinic-priceData) {
    align-items: flex-end
}

@media screen and (max-width: 768px) {
    .p-price-otherBox-lisrArea .p-clinic-priceTable-blue {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 768px) {
    .p-price-otherBox-lisrArea .p-clinic-priceTitle {
        margin-bottom: 0
    }
}

.p-price-other-arr {
    width: min(230px, 70%);
    margin-inline: auto;
    margin-bottom: .5em
}

.p-price-tabButtonArea {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    align-items: center;
    gap: 1%
}

.p-price-tabButton {
    border-top: 2px solid #09f;
    border-left: 2px solid #09f;
    border-right: 2px solid #09f;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px 12px 0 0;
    padding: .2em;
    font-size: clamp(12px, 1.07vw, 16px);
    cursor: pointer
}

.p-price-tabButton.btn-active {
    background-color: #ccebff
}

.p-price-tabButtonText {
    display: block;
    width: 100%;
    height: 100%
}

.p-price-treatment-tabList {
    display: none
}

.p-price-treatment-tabList.contentActive {
    display: block
}

@media screen and (max-width: 1024px) {
    .p-price-treatmentArea .c-containerBox-wrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 768px) {
    .p-price-treatmentArea .c-containerBox-wrap {
        grid-template-columns: 1fr
    }
}

.p-price-treatmentSpecialtyArea .c-containerBox-wrap {
    grid-template-columns: repeat(3, 1fr)
}

@media screen and (max-width: 1024px) {
    .p-price-treatmentSpecialtyArea .c-containerBox-wrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 768px) {
    .p-price-treatmentSpecialtyArea .c-containerBox-wrap {
        display: block;
        max-width: 100%
    }
}

.p-price-treatmentSpecialtyArea .p-price-treatmentList {
    border-color: #09f;
    background-color: #09f
}

.p-price-treatmentSpecialtyArea .p-price-treatmentTitle,
.p-price-treatmentSpecialtyArea .p-price-treatmentLink {
    background-color: #09f
}

.p-price-treatmentSupportArea .c-containerBox-wrap {
    grid-template-columns: repeat(3, 1fr)
}

@media screen and (max-width: 1024px) {
    .p-price-treatmentSupportArea .c-containerBox-wrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 768px) {
    .p-price-treatmentSupportArea .c-containerBox-wrap {
        grid-template-columns: 1fr
    }
}

.p-price-treatmentSupportArea .p-price-treatmentList {
    border-color: #666;
    background-color: #666
}

.p-price-treatmentSupportArea .c-category-radiusWrap {
    align-items: flex-start
}

.p-price-treatmentSupportArea .p-price-treatmentTitle,
.p-price-treatmentSupportArea .p-price-treatmentLink {
    background-color: #666
}

.p-price-treatmentExaminationArea .c-containerBox-wrap {
    grid-template-columns: repeat(3, 1fr)
}

@media screen and (max-width: 1024px) {
    .p-price-treatmentExaminationArea .c-containerBox-wrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 768px) {
    .p-price-treatmentExaminationArea .c-containerBox-wrap {
        grid-template-columns: 1fr
    }
}

.p-price-treatmentExaminationArea .p-price-treatmentList {
    border-color: #2253b2;
    background-color: #2253b2
}

.p-price-treatmentExaminationArea .p-price-treatmentTitle,
.p-price-treatmentExaminationArea .p-price-treatmentLink {
    background-color: #2253b2
}

.p-price-important-contentWrap {
    display: grid;
    grid-template-columns: 36% 1fr;
    gap: 1em 3%;
    align-items: center
}

@media screen and (max-width: 768px) {
    .p-price-important-contentWrap {
        grid-template-columns: 1fr
    }
}

.p-price-important-contentImage img {
    aspect-ratio: 45/29
}

@media screen and (max-width: 768px) {
    .p-price-important-contentImage img {
        aspect-ratio: 45/15
    }
}

.p-price-paymentArea {
    padding: clamp(40px, 6.67vw, 100px) 0 clamp(40px, 6vw, 90px);
    background-color: #f2f2f2
}

.p-price-payment-contentWrap .c-titleS {
    font-size: clamp(20px, 2vw, 30px)
}

.p-price-paymentImage {
    display: block;
    width: min(450px, 70%)
}

.p-price-paymentCardArea.c-roundedBox {
    background-color: #fff;
    padding: clamp(20px, 4.67vw, 70px) 5% clamp(20px, 3.33vw, 50px)
}

.p-price-paymentCardImage {
    display: block;
    width: min(600px, 100%)
}

.p-price-reserve-buttonArea .c-roundedBox {
    padding: clamp(20px, 2.67vw, 40px)
}

.p-price-n-anchorLink-listArea .p-anchorLink-list:not(:nth-child(5), :nth-child(6)) .p-anchorLink-text {
    background-color: #182a52
}

.p-price-n-anchorLink-listArea .p-anchorLink-list:nth-child(5) .p-anchorLink-text,
.p-price-n-anchorLink-listArea .p-anchorLink-list:nth-child(6) .p-anchorLink-text {
    background-color: #09f
}

.p-price-n-anchorLink-listArea .p-anchorLink-text {
    color: #fff;
    border: none
}

.p-price-n-anchorLink-listArea .p-anchorLink-text::after {
    border-top: 10px solid #fff
}

.p-price-n-linkSub-title {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: max(2%, (100vw - 1270px)/2);
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    letter-spacing: .2em;
    color: #fff;
    padding: .5em 1.2em;
    background-color: #2253b2;
    border-radius: 3em
}

@media screen and (max-width: 768px) {
    .p-price-n-linkSub-title {
        margin-inline: auto
    }
}

.p-price-n-treatmentBox-wrap .p-price-treatmentBox-inner {
    padding: clamp(10px, 2vw, 30px) clamp(10px, 1.33vw, 20px)
}

.p-price-n-treatmentBox-wrap .p-price-treatmentBox-inner:not(:has(.p-price-costText)) .p-treatment-dataArea {
    align-items: baseline
}

.p-price-n-treatmentBox-wrap .p-price-treatmentTitle {
    row-gap: .2em;
    height: auto;
    min-height: 3.8em
}

@media screen and (max-width: 1024px) {
    .p-price-n-treatmentBox-wrap .p-price-treatmentTitle {
        row-gap: 0
    }
}

@media screen and (max-width: 768px) {
    .p-price-n-treatmentBox-wrap .p-price-treatmentTitle {
        min-height: 2.2em;
        padding: .3em
    }
}

@media screen and (max-width: 425px) {
    .p-price-n-treatmentBox-wrap .p-price-treatmentTitle {
        line-height: 1.2
    }
}

.p-price-n-treatmentBox-wrap .p-price-treatmentTitle:has(.c-balloonBox) {
    row-gap: 0;
    height: 5.2em;
    padding: .5em 0
}

@media screen and (max-width: 768px) {
    .p-price-n-treatmentBox-wrap .p-price-treatmentTitle:has(.c-balloonBox) {
        height: auto
    }
}

.p-price-n-treatmentBox-wrap .p-price-treatmentBox-priceArea {
    row-gap: 0
}

.p-price-n-treatmentBox-wrap .p-price-costText {
    font-size: clamp(24px, 4vw, 60px)
}

.p-price-n-treatmentBox-wrap .p-price-treatmentTitle-subText {
    font-size: clamp(16px, 1.2vw, 18px)
}

.p-price-n-treatmentBox-wrap .p-treatment-dataArea {
    grid-template-columns: 6em 1fr
}

@media screen and (max-width: 1024px) {
    .p-price-n-treatmentBox-wrap .p-treatment-dataArea {
        grid-template-columns: 5em 1fr
    }
}

@media screen and (max-width: 425px) {
    .p-price-n-treatmentBox-wrap .p-treatment-dataArea {
        grid-template-columns: 4em 1fr;
        -moz-column-gap: .5em;
        column-gap: .5em
    }
}

@media screen and (max-width: 320px) {
    .p-price-n-treatmentBox-wrap .p-treatment-dataArea {
        grid-template-columns: auto 1fr
    }
}

@media screen and (max-width: 768px) {
    .p-price-n-treatmentBox-wrap .p-treatment-dataArea:first-child {
        align-items: center
    }
}

.p-price-n-treatmentBox-wrap .p-price-dataAreaMedicineArea .p-treatment-dataArea {
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: 0
}

@media screen and (max-width: 768px) {
    .p-price-n-treatmentBox-wrap .p-price-dataAreaMedicineArea .p-treatment-dataArea {
        grid-template-columns: auto 1fr;
        justify-items: flex-start
    }
}

@media screen and (max-width: 425px) {
    .p-price-n-treatmentBox-wrap .p-price-dataAreaMedicineArea .p-treatment-dataArea {
        grid-template-columns: 5em 1fr
    }
}

@media screen and (max-width: 768px) {
    .p-price-n-treatmentBox-wrap .p-price-treatment-dataTitle {
        margin-top: 0
    }
}

.p-price-n-flexTitle {
    padding-left: 1.5%;
    padding-right: 1.5%
}

.p-price-n-flexTitleText {
    text-align: left
}

.p-price-n-flexTitleSubtext {
    text-align: right
}

.p-price-n-flexTitleText,
.p-price-n-flexTitleSubtext {
    display: block;
    width: 50%
}

@media screen and (max-width: 768px) {

    .p-price-n-flexTitleText,
    .p-price-n-flexTitleSubtext {
        width: 100%;
        text-align: center
    }
}

.p-price-n-dataTitle {
    background-color: #09f;
    color: #fff;
    text-align: center;
    padding: .3em
}

.p-price-n-dataTitle.p-price-n-dataTitle-accent {
    background-color: #f90
}

.p-price-n-singleCostText {
    padding-right: 2%;
    display: flex;
    align-items: baseline;
    justify-items: flex-end;
    justify-content: flex-end;
    flex-wrap: wrap
}

@media screen and (max-width: 768px) {
    .p-price-n-singleCostText {
        text-align: left;
        padding-left: 7em
    }
}

@media screen and (max-width: 425px) {
    .p-price-n-singleCostText {
        padding-left: 5.5em
    }
}

@media screen and (max-width: 320px) {
    .p-price-n-singleCostText {
        padding-left: 4.5em
    }
}

.p-price-n-treatmentTitle-balloon {
    flex-flow: column
}

.p-price-n-treatmentTitle-balloon .c-balloonBox {
    width: min(520px, 100%);
    padding-left: 1em;
    padding-right: 1em;
    background-color: #09f;
    color: #fff
}

.p-price-n-treatmentTitle-balloon .c-balloonBox::after {
    border-top-color: #09f
}

@media screen and (max-width: 768px) {
    .p-price-n-epilationBox-inner {
        border-bottom: 5px solid #666
    }
}

.p-price-n-treatmentTitle-text {
    height: 100%;
    display: flex;
    align-items: center
}

.p-price-n-treatmentOtherBox {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 2.67vw, 40px)
}

@media screen and (max-width: 768px) {
    .p-price-n-treatmentOtherBox {
        grid-template-columns: 1fr
    }
}

.p-price-n-treatmentOtherBox .p-price-treatmentList {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0
}

.p-price-n-treatmentOtherBox-boost .p-price-treatmentList {
    border-color: #09f;
    background-color: #09f
}

.p-price-n-treatmentOtherBox-boost .p-price-treatmentList:not(:has(.p-price-treatmentLink)) {
    border-bottom-width: clamp(5px, .67vw, 10px)
}

@media screen and (max-width: 768px) {
    .p-price-n-treatmentOtherBox-boost .p-price-treatmentList:not(:has(.p-price-treatmentLink)) {
        border-bottom-width: 2.8em
    }
}

.p-price-n-treatmentOtherBox-boost .p-price-treatmentBox-inner {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

.p-price-n-treatmentOtherBox-boost .p-price-treatmentTitle,
.p-price-n-treatmentOtherBox-boost .p-price-treatmentLink {
    background-color: #09f
}

.p-price-n-titleTextWrap {
    display: grid
}

.p-price-n-titleTextS {
    font-size: clamp(16px, 1.33vw, 20px);
    letter-spacing: .2em;
    color: #fff;
    padding: .2em .8em;
    background-color: #2253b2;
    border-radius: 3em
}

.p-price-p-treatmentList-column .p-price-treatmentBox-inner {
    padding: 0
}

.p-price-n-clinicLinkArea {
    display: grid;
    grid-template-columns: repeat(2, auto);
    align-items: center;
    justify-content: center;
    gap: .5em 2em
}

@media screen and (max-width: 768px) {
    .p-price-n-clinicLinkArea {
        grid-template-columns: 1fr;
        justify-items: center;
        padding-top: .5em
    }
}

@media screen and (max-width: 768px) {
    .p-price-n-clinicLinkArea .p-price-treatmentLink {
        padding-top: 0
    }
}

.p-price-n-priceBox {
    display: grid;
    place-content: center
}

.p-price-n-list-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    justify-content: space-between;
    align-items: flex-end;
    -moz-column-gap: 2em;
    column-gap: 2em
}

@media screen and (max-width: 768px) {
    .p-price-n-list-inner {
        grid-template-columns: 1fr;
        row-gap: .2em
    }
}

.p-price-n-list-inner .p-price-costText {
    font-size: clamp(20px, 4vw, 60px)
}

.p-price-n-list-detail-inner {
    align-items: flex-start
}

.p-price-n-listTitle {
    display: grid;
    grid-template-columns: clamp(16px, 3.33vw, 50px) 1fr;
    gap: 2%;
    align-items: center;
    margin-bottom: clamp(10px, 1.33vw, 20px)
}

.p-price-n-listTitle::before {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #2253b2
}

.p-price-n-listSubTitle {
    padding-left: calc(clamp(16px, 3.33vw, 50px) + 2%);
    padding-bottom: .5em
}

@media screen and (max-width: 768px) {
    .p-price-n-listSubTitle {
        padding-bottom: 0
    }
}

.p-price-n-noteText-wrap {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(10px, 1.07vw, 16px)
}

.p-price-n-boxText {
    padding: .4em;
    margin-top: .3em;
    border: 2px solid #2254b2
}

@media screen and (max-width: 768px) {
    .p-price-n-boxText {
        display: block;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto
    }
}

.p-price-n-sup-wrap {
    position: relative;
    padding-right: .8em
}

@media screen and (max-width: 768px) {
    .p-price-n-sup-wrap {
        padding-right: 1.2em
    }
}

.p-price-n-sup {
    position: absolute;
    top: 20%;
    right: 0
}

.p-price-n-notes {
    text-align: right
}

@media screen and (max-width: 768px) {
    .p-price-n-notes {
        text-align: left
    }
}

@media screen and (max-width: 768px) {
    .p-pricen-n-introArea .p-price-pointContent-checkList {
        padding-left: .5em;
        padding-right: .5em
    }
}

.p-pricen-n-introArea .p-price-pointContent-checkText {
    font-size: clamp(12px, 1.33vw, 20px)
}

.p-pricen-n-introArea .p-price-pointContent-checkText-em {
    font-size: clamp(14px, 1.87vw, 28px)
}

.p-price-n-medicine {
    display: grid;
    align-items: center;
    height: 100%
}

@media screen and (max-width: 768px) {
    .p-price-n-list-price {
        text-align: right
    }
}

.p-mv-vibrationImage {
    padding: 0 calc((100vw - 1250px)/2);
    background-color: #000
}

.p-vibration-mv-text {
    background-color: #ff0;
    padding: .5em 0 2.5em;
    margin-top: -4%;
    position: relative
}

.p-vibration-mv-text::after {
    content: "";
    width: 10%;
    height: 1.5em;
    background: url(../images/vibration-mv-arr.png) no-repeat center center/contain;
    position: absolute;
    bottom: .5em;
    left: 50%;
    transform: translateX(-50%)
}

.p-vibration-mv-linkText {
    position: absolute;
    left: 50%;
    bottom: 16%;
    transform: translateX(-50%);
    letter-spacing: .22em
}

@media screen and (max-width: 768px) {
    .p-vibration-mv-linkText {
        letter-spacing: 0;
        width: 100%;
        bottom: 25%;
        font-size: 12px;
        padding-left: 5%;
        text-decoration: underline
    }
}

@media screen and (max-width: 425px) {
    .p-vibration-mv-linkText {
        font-size: 10px
    }
}

@media(hover: hover)and (pointer: fine) {
    .p-vibration-mv-linkText:hover {
        text-decoration: underline
    }
}

.p-mv-vibrationImageText {
    position: relative
}

.p-mv-vibrationImageText::after {
    content: "";
    width: 100%;
    height: 11em;
    background-color: #ff0;
    position: absolute;
    left: 0;
    bottom: 0
}

.p-vibration-effectWrap {
    padding: 0 clamp(10px, 2.67vw, 40px)
}

.p-vibration-effectText {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto
}

.p-vibration-effectGraphImageArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2em 5%
}

@media screen and (max-width: 768px) {
    .p-vibration-effectGraphImageArea {
        grid-template-columns: 1fr
    }
}

.p-vibration-jointBox.c-roundedBox {
    padding: clamp(20px, 2.67vw, 40px)
}

.p-vibration-joint-contentWrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.5em 5%
}

@media screen and (max-width: 768px) {
    .p-vibration-joint-contentWrap {
        grid-template-columns: 1fr
    }
}

.p-vibration-joint-content:not(:last-child) {
    position: relative
}

.p-vibration-joint-content:not(:last-child)::before,
.p-vibration-joint-content:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -12%;
    width: 2.5em;
    height: 1px;
    background-color: #000
}

@media screen and (max-width: 768px) {

    .p-vibration-joint-content:not(:last-child)::before,
    .p-vibration-joint-content:not(:last-child)::after {
        top: 118%;
        right: 50%
    }
}

@media screen and (max-width: 425px) {

    .p-vibration-joint-content:not(:last-child)::before,
    .p-vibration-joint-content:not(:last-child)::after {
        top: 110%
    }
}

.p-vibration-joint-content:not(:last-child)::before {
    transform: translateY(-50%) rotate(45deg)
}

@media screen and (max-width: 768px) {
    .p-vibration-joint-content:not(:last-child)::before {
        transform: translateY(0) translateX(50%) rotate(45deg)
    }
}

.p-vibration-joint-content:not(:last-child)::after {
    transform: translateY(-50%) rotate(-45deg)
}

@media screen and (max-width: 768px) {
    .p-vibration-joint-content:not(:last-child)::after {
        transform: translateY(0) translateX(50%) rotate(-45deg)
    }
}

.p-vibration-joint-logo {
    width: min(360px, 80%)
}

@media screen and (max-width: 768px) {
    .p-vibration-joint-logo {
        width: auto;
        height: 3em
    }
}

@media screen and (max-width: 320px) {
    .p-vibration-joint-logo {
        width: 100%;
        height: auto
    }
}

@media screen and (max-width: 768px) {
    .p-vibration-joint-logo img {
        width: auto;
        height: 100%
    }
}

@media screen and (max-width: 320px) {
    .p-vibration-joint-logo img {
        width: 100%;
        height: auto
    }
}

.p-vibration-effectBox .p-treatmentBox-titleArea .c-page-title {
    width: min(980px, 100%)
}

.p-vibration-effectImageWrap {
    padding: clamp(16px, 2.67vw, 40px) clamp(16px, 1.33vw, 20px);
    background-color: #182a52
}

.p-vibration-effectImageArea {
    display: grid;
    grid-template-columns: 20% 1fr;
    align-items: center;
    gap: 1em 2em;
    max-width: 650px;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-vibration-effectImageArea {
        grid-template-columns: 1fr
    }
}

.p-vibration-effectImageArea:nth-child(2) .c-titleBubble {
    background-color: #09f
}

.p-vibration-effectImageArea:nth-child(2) .c-titleBubble::after,
.p-vibration-effectImageArea:nth-child(2) .p-flow-arr::after {
    background-color: #09f
}

@media screen and (max-width: 768px) {
    .p-vibration-effectImageArea .c-titleBubble {
        padding: .5em
    }
}

@media screen and (max-width: 768px) {
    .p-vibration-effectImageArea .c-titleBubble::after {
        width: 1.5em;
        height: 1em;
        top: 100%;
        left: 50%;
        transform: translateY(0) translateX(-50%);
        -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
        clip-path: polygon(0 0, 50% 100%, 100% 0)
    }
}

.p-vibration-effectImageList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10%
}

.p-vibration-effectImage img {
    border-radius: 50%;
    overflow: hidden
}

.p-flow-arr {
    position: relative
}

.p-flow-arr::after {
    content: "";
    width: 1em;
    height: 1.5em;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    display: block;
    background-color: #999;
    position: absolute;
    top: 50%;
    left: 108%;
    transform: translateY(-50%)
}

.p-vibration-effectArea {
    position: relative
}

.p-vibration-effectArea::after {
    content: "";
    background-color: #09f;
    width: 16%;
    height: 3em;
    -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0%);
    clip-path: polygon(0 0, 50% 100%, 100% 0%);
    position: absolute;
    bottom: -4em;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1
}

@media screen and (max-width: 768px) {
    .p-vibration-effectArea::after {
        width: 5.5em;
        height: 2.5em;
        bottom: -3em
    }
}

.p-vibration-conclusionArea.c-roundedBox {
    padding: 1em clamp(10px, 2.67vw, 40px) clamp(10px, 2.67vw, 40px)
}

.p-vibration-conclusionArea .t-casePhotoCard-title {
    font-size: clamp(20px, 2.67vw, 40px)
}

.p-vibration-buttonList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em 2em
}

@media screen and (max-width: 768px) {
    .p-vibration-buttonList {
        grid-template-columns: 1fr
    }
}

.p-vibration-buttonList .c-buttonMain {
    width: 100%
}

.p-vibration-buttonList .c-buttonMain.c-buttonMain-blue>* {
    padding: 1.3em 1.5em 1.3em .5em
}

@media screen and (max-width: 768px) {
    .p-vibration-buttonList .c-buttonMain {
        width: min(420px, 100%)
    }
}

.p-vibration-storyIntro {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em 5%
}

@media screen and (max-width: 768px) {
    .p-vibration-storyIntro {
        grid-template-columns: 1fr
    }
}

.p-vibration-storyIntro img {
    aspect-ratio: 99/83
}

@media screen and (max-width: 768px) {
    .p-vibration-storyIntro img {
        aspect-ratio: 5/3;
        -o-object-position: top;
        object-position: top
    }
}

.p-vibration-excellentTitle {
    background-color: #182a52;
    color: #fff;
    letter-spacing: .2em;
    padding: .8em 5% .2em;
    position: relative
}

.p-vibration-excellentTitle::after {
    content: "";
    background-color: #182a52;
    width: 100%;
    height: 2em;
    -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0%);
    clip-path: polygon(0 0, 50% 100%, 100% 0%);
    position: absolute;
    top: 99.8%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1
}

.p-vibration-excellentBox .c-roundedBox {
    padding: clamp(12px, 2.67vw, 40px);
    background-color: #fff
}

.p-vibration-excellentBox .c-titleSS {
    font-size: clamp(20px, 1.87vw, 28px);
    color: #09f;
    text-align: center;
    line-height: 1.8
}

.p-vibration-excellentBox .p-flow-contentsBoxList-number {
    background-color: #182a52
}

.p-vibration-excellentBox .p-flow-contentsBoxList-number::after {
    content: none
}

.p-vibration-excellentBox .p-clinic-popularMenu-boxTitle {
    padding: .5em;
    letter-spacing: .1em;
    line-height: 1.3
}

.p-vibration-excellentBox-title {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 2em
}

@media screen and (max-width: 768px) {
    .p-vibration-excellentBox-title {
        gap: 1em
    }
}

.p-vibration-excellentBox-title .c-titleS {
    text-align: left;
    width: calc(100% - 4.7em)
}

.p-vibration-checkListArea {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

.p-vibration-checkListArea .p-price-pointContent-checkList {
    background-color: rgba(0, 0, 0, 0);
    height: auto;
    justify-content: flex-start
}

.p-vibration-checkListArea .p-price-pointContent-checkText {
    color: #333;
    flex-wrap: wrap
}

.p-vibration-checkListArea .p-price-pointContent-checkText::before {
    background-image: url(../images/check-box-black.png);
    margin-right: .5em
}

@media screen and (max-width: 425px) {
    .p-vibration-checkListArea .p-price-pointContent-checkText::before {
        width: 1.5em;
        height: 1.5em
    }
}

.p-vibration-checkListArea .c-underLine::after {
    background-color: #333;
    height: 2px
}

.p-vibration-detailBox {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3em 5%
}

@media screen and (max-width: 768px) {
    .p-vibration-detailBox {
        grid-template-columns: 1fr
    }
}

.p-vibration-detail-imageTitle {
    padding: .5em 1em;
    background-color: #09f;
    color: #fff;
    font-weight: 700;
    border-radius: 2em;
    text-align: center;
    font-size: clamp(16px, 1.33vw, 20px)
}

.p-vibration-detail-image {
    height: 7em
}

@media screen and (max-width: 1024px) {
    .p-vibration-detail-image {
        height: 6em
    }
}

@media screen and (max-width: 768px) {
    .p-vibration-detail-image {
        height: auto
    }
}

.p-vibration-detail-image img {
    width: auto;
    height: 100%;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-vibration-detail-image img {
        width: min(420px, 100%);
        height: auto
    }
}

.p-vibration-youtubeWrap .youtubeHover {
    position: relative
}

.p-vibration-youtubeWrap .youtubeHover::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .7);
    opacity: 0;
    transition: opacity 500ms ease
}

.p-vibration-youtubeWrap .youtubeHover:hover::after {
    opacity: 1
}

.p-vibration-youtubeWrap .youtubeHover:hover.youtubeIcon {
    background: #fb031c
}

.p-vibration-youtubeWrap .youtubeIcon {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    width: 6em;
    height: 4.071em;
    background: rgba(0, 0, 0, .6);
    border-radius: .7em;
    transition: all 500ms ease;
    font-size: 100%
}

.p-vibration-youtubeWrap .youtubeIcon::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    border-width: .857em 0 .857em 1.429em;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff
}

.remodal:has(iframe) {
    width: 100%;
    height: 420px;
    margin-bottom: 0;
    padding: 0
}

@media screen and (max-width: 768px) {
    .remodal:has(iframe) {
        height: 300px
    }
}

.remodal iframe {
    width: 100%;
    height: 100%
}

.p-vibration-youtubeArea {
    width: 100%;
    position: relative
}

.p-vibration-youtubeArea img {
    width: 100%;
    height: 100%
}

.p-vibration-youtubeTemp {
    margin-top: 2.1em;
    padding-bottom: 12%;
    padding-right: 16%;
    background: url(../images/img_sto1_mov.png) no-repeat right center/contain;
    display: block
}

.p-vibration-awardImage,
.p-vibration-awardImageArea {
    max-width: 760px;
    margin-inline: auto
}

.p-vibration-awardImageArea {
    display: grid;
    grid-template-columns: 45% 1fr;
    gap: 2em
}

.p-vibration-overviewWrap {
    display: grid;
    grid-template-columns: 32% 1fr;
    gap: 1em 8%;
    align-items: center
}

@media screen and (max-width: 425px) {
    .p-vibration-overviewWrap {
        grid-template-columns: 1fr
    }
}

.p-vibration-overviewListWrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5em 3em
}

@media screen and (max-width: 768px) {
    .p-vibration-overviewListWrap {
        grid-template-columns: 1fr
    }
}

.p-vibration-overviewListWrap .t-menuBox-title {
    text-align: center
}

@media screen and (max-width: 425px) {
    .p-vibration-overviewImage {
        width: 180px;
        margin-inline: auto;
        grid-row: 2
    }
}

.p-vibration-overviewListItem {
    grid-column: 1/3
}

@media screen and (max-width: 768px) {
    .p-vibration-overviewListItem {
        grid-column: auto
    }
}

.p-vibration-overview .p-clinic-flow-listWrap {
    justify-content: flex-start;
    gap: 1.5em 2%
}

.p-vibration-overview .p-clinic-flow-list {
    width: 15%;
    min-height: 180px;
    align-items: center
}

@media screen and (max-width: 768px) {
    .p-vibration-overview .p-clinic-flow-list {
        min-height: 100px
    }
}

@media screen and (max-width: 768px) {
    .p-vibration-overview .p-clinic-flow-list:first-child {
        width: 100%
    }
}

@media screen and (max-width: 768px) {
    .p-vibration-overview .p-clinic-flow-list:not(:first-child) {
        width: 85%;
        margin-inline: auto
    }
}

.p-vibration-overview .p-clinic-flow-list:not(:last-child)::after {
    right: auto;
    left: 100%;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff
}

@media screen and (max-width: 768px) {
    .p-vibration-overview .p-clinic-flow-list:not(:last-child)::after {
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
        top: 96%
    }
}

.p-vibration-overview .p-clinic-flow-list:first-child {
    background-color: #ccc
}

.p-vibration-overview .p-clinic-flow-list:first-child::after {
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #ccc
}

.p-vibration-overview .p-clinic-flow-list:first-child .p-clinic-flow-listTitle {
    font-size: clamp(18px, 1.6vw, 24px);
    font-family: "貂ｸ繧ｴ繧ｷ繝�け", YuGothic, "Yu Gothic", "貂ｸ繧ｴ繧ｷ繝�け菴�", "Noto Sans JP"
}

.p-vibration-overview .p-clinic-flow-list.vibrationTreatment {
    background-color: #f90
}

.p-vibration-overview .p-clinic-flow-list.vibrationTreatment::after {
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #f90
}

.p-vibration-reasonArea {
    padding: 0 0 clamp(40px, 10vw, 150px);
    background-color: #f2faff
}

.p-vibration-reasonArea .c-titleS {
    background-color: #182a52;
    color: #fff;
    padding: .5em 4%
}

.p-vibration-reasonArea .t-methodBox {
    padding-left: 5%;
    padding-right: 5%;
    background-color: #f2faff;
    row-gap: 1em
}

.p-vibration-reasonArea .t-methodBox::before {
    background-color: #f2faff
}

.p-vibration-reasonArea .t-methodBox-title {
    margin-top: -3em
}

.p-vibration-reasonArea .t-methodBox-title .t-methodBox-titleMain {
    font-size: clamp(36px, 3vw, 45px);
    margin-bottom: 0
}

@media screen and (max-width: 768px) {
    .p-vibration-reasonArea .t-methodBox-area {
        row-gap: 4.5em
    }
}

.p-beginner .p-mv {
    background-image: linear-gradient(to right, #fff, #fff 22%, rgba(255, 255, 255, 0.5) 32%, transparent 75%, transparent), url(../images/mv-beginner.jpg);
    background-position: right top
}

@media screen and (max-width: 1500px) {
    .p-beginner .p-mv {
        background-image: linear-gradient(to right, #fff, #fff 10%, rgba(255, 255, 255, 0.5) 40%, transparent 75%, transparent), url(../images/mv-beginner.jpg);
        background-position: right 30% top
    }
}

@media screen and (max-width: 768px) {
    .p-beginner .p-mv {
        background-image: linear-gradient(to right, #fff, #fff 25%, rgba(255, 255, 255, 0.5) 55%, transparent 80%, transparent), url(../images/mv-beginner.jpg);
        background-position: right 36% top
    }
}

.p-beginner-nav {
    background-color: #f2f2f2
}

.p-beginner-nav ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5em 3%
}

@media screen and (max-width: 768px) {
    .p-beginner-nav ul {
        grid-template-columns: 1fr;
        row-gap: 1em
    }
}

.p-beginner-nav li {
    width: 100%
}

.p-beginner-nav a {
    position: relative;
    display: block;
    color: #182a52;
    font-size: clamp(14px, 1.33vw, 20px);
    font-weight: 600;
    text-align: center;
    background-color: #f2faff;
    border: 1px solid #182a52;
    border-radius: 5em;
    padding: .9em 1em 1.2em;
    margin: 0 auto
}

.p-beginner-nav a::after {
    position: absolute;
    display: block;
    content: "笆ｼ";
    font-size: .75em;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%)
}

.p-beginner-introArea .c-roundedBox {
    background-color: #fff;
    padding: 2em
}

.p-beginner-introArea p {
    font-size: clamp(14px, 1.33vw, 20px);
    font-weight: 700;
    line-height: 2
}

.p-beginner-consImage {
    display: grid;
    grid-template-columns: 34% auto;
    -moz-column-gap: 2%;
    column-gap: 2%
}

@media screen and (max-width: 768px) {
    .p-beginner-consImage {
        grid-template-columns: 1fr;
        -moz-column-gap: 0;
        column-gap: 0;
        row-gap: 1em
    }
}

.p-beginner-consImage img {
    max-width: 400px;
    margin: 0 auto
}

.p-beginner-consImage em {
    display: block;
    color: #fff;
    font-size: clamp(18px, 2vw, 25px);
    font-weight: 600;
    background-color: #182a52;
    padding: 0 1em;
    margin: 0 0 1.6em
}

.p-beginner-consImage em span {
    font-size: 180%
}

.p-beginner-consImage p {
    font-size: clamp(14px, 1.33vw, 20px);
    line-height: 1.95
}

.p-beginner-box figcaption {
    font-size: clamp(14px, 1.33vw, 20px);
    line-height: 1.95
}

.p-beginner-box .c-buttonMain {
    width: 52%
}

@media screen and (max-width: 768px) {
    .p-beginner-box .c-buttonMain {
        max-width: 420px;
        width: 100%
    }
}

.p-beginner-box .c-buttonMain-text {
    font-size: clamp(18px, 1.47vw, 21px)
}

.p-beginner-box .c-buttonArrow::after {
    width: 25px
}

.p-beginner-box .c-buttonGradation {
    width: 72%;
    margin: clamp(50px, 6.6666666667vw, 100px) auto 0
}

@media screen and (max-width: 768px) {
    .p-beginner-box .c-buttonGradation {
        max-width: 420px;
        width: 100%
    }
}

.p-beginner-box .slick-slide {
    height: auto
}

.p-beginner-text {
    font-size: clamp(14px, 1.33vw, 20px);
    line-height: 1.95
}

.p-beginner-text em {
    font-weight: 600
}

.t-casePhoto .p-beginner-2columnImage {
    width: 27%
}

@media screen and (max-width: 768px) {
    .t-casePhoto .p-beginner-2columnImage {
        max-width: 400px;
        width: 100%;
        margin: 0 auto
    }
}

.t-casePhoto .p-beginner-2column figcaption {
    width: 71%
}

@media screen and (max-width: 768px) {
    .t-casePhoto .p-beginner-2column figcaption {
        width: 100%
    }
}

.p-beginner-2column {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.p-beginner-2column figcaption {
    width: 62%
}

@media screen and (max-width: 768px) {
    .p-beginner-2column figcaption {
        width: 100%
    }
}

@media screen and (max-width: 768px) {
    .p-beginner-2column>*:first-child {
        padding: 0 0 1em
    }
}

.p-beginner-2columnImage {
    width: 36%
}

@media screen and (max-width: 768px) {
    .p-beginner-2columnImage {
        width: 100%;
        max-width: 400px;
        margin: 0 auto
    }
}

.p-beginner-table {
    background-color: #fff
}

.p-beginner-table th {
    color: #fff;
    font-size: clamp(16px, 1.47vw, 22px);
    font-weight: 600;
    background-color: #182a52;
    border-bottom: 3px solid #fff;
    padding: .2em 1em
}

.p-beginner-table th:first-child {
    border-right: 3px solid #fff
}

.p-beginner-table td {
    font-size: clamp(12px, 1.33vw, 20px);
    border-bottom: 3px solid #fff;
    padding: .5em 1em
}

.p-beginner-table td:first-child {
    width: 32%;
    font-weight: 600;
    background-color: #ccc;
    border-right: 3px solid #fff
}

.p-beginner-table td:last-child {
    background-color: #e5e5e5
}

.p-beginner-table tr:last-child td {
    border-bottom: none
}

.p-beginner-listBox {
    background-color: #fff
}

.p-beginner-list {
    font-size: clamp(14px, 1.33vw, 20px)
}

.p-beginner-list li {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline
}

.p-beginner-list li:not(:last-child) {
    padding: 0 0 .3em;
    margin: 0 0 .5em;
    border-bottom: 1px dotted #333
}

.p-beginner-list span {
    display: inline-block;
    height: 2em;
    color: #fff;
    background-color: #182a52;
    padding: .3em .7em;
    margin: 0 1em 0 0
}

.p-beginner-medicineItem {
    display: grid;
    grid-template-columns: 30% auto;
    -moz-column-gap: 2%;
    column-gap: 2%;
    background-color: #f2f2f2;
    padding: 1.56em 2%
}

@media screen and (max-width: 768px) {
    .p-beginner-medicineItem {
        grid-template-columns: 1fr;
        -moz-column-gap: 0;
        column-gap: 0;
        row-gap: 1em;
        padding: 1.56em 4%
    }
}

.p-beginner-medicineItem:not(:last-child) {
    margin: 0 0 3.125em
}

@media screen and (max-width: 768px) {
    .p-beginner-medicineItem:not(:last-child) {
        margin: 0 0 1.5em
    }
}

.p-beginner-medicineItem dt {
    position: relative;
    font-size: clamp(18px, 1.6vw, 24px);
    font-weight: 600;
    color: #182a52;
    padding: 0 0 0 .8em;
    margin: .5em 0 1.25em
}

@media screen and (max-width: 768px) {
    .p-beginner-medicineItem dt {
        margin: 0 0 .8em
    }
}

.p-beginner-medicineItem dt::before {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: "";
    display: block;
    background-color: #182a52;
    width: 3px;
    height: 120%
}

.p-beginner-medicineItem dd {
    font-size: clamp(14px, 1.2vw, 18px);
    line-height: 1.9
}

.p-beginner-medicineItem dd:first-of-type {
    width: 76%
}

@media screen and (max-width: 768px) {
    .p-beginner-medicineItem dd:first-of-type {
        width: 100%
    }
}

.p-beginner-medicineItem .c-clinicLocation-link {
    height: auto;
    border-radius: 2em;
    line-height: 1.2;
    padding-top: .5em;
    padding-bottom: .5em
}

@media screen and (max-width: 768px) {
    .p-beginner-medicineItem img {
        max-width: 400px;
        margin: 0 auto
    }
}

.p-beginner-medicineItem .c-clinicLocation-link {
    color: #fff;
    background-color: #09f
}

.p-beginner-medicineItem .c-buttonArrow::after {
    background: url(../images/arrow-white.png) no-repeat center center/contain
}

.p-beginner-kind .p-beginner-2columnImage {
    width: 43%
}

@media screen and (max-width: 768px) {
    .p-beginner-kind .p-beginner-2columnImage {
        width: 100%
    }
}

.p-beginner-kind .p-beginner-2column figcaption {
    width: 55%
}

@media screen and (max-width: 768px) {
    .p-beginner-kind .p-beginner-2column figcaption {
        width: 100%
    }
}

.p-beginner-term .p-beginner-2columnImage {
    width: 47%
}

@media screen and (max-width: 768px) {
    .p-beginner-term .p-beginner-2columnImage {
        width: 100%
    }
}

.p-beginner-term .p-beginner-2column figcaption {
    width: 51%
}

@media screen and (max-width: 768px) {
    .p-beginner-term .p-beginner-2column figcaption {
        width: 100%
    }
}

.p-beginner-cycle {
    background-color: #fff
}

.p-beginner-cycle .p-beginner-2columnImage {
    width: 55%
}

@media screen and (max-width: 768px) {
    .p-beginner-cycle .p-beginner-2columnImage {
        width: 100%
    }
}

.p-beginner-cycle .p-beginner-2column {
    padding: 0 clamp(10px, 2.67vw, 40px)
}

@media screen and (max-width: 768px) {
    .p-beginner-cycle .p-beginner-2column {
        padding: 0
    }
}

.p-beginner-cycle .p-beginner-2column figcaption {
    width: 39%
}

@media screen and (max-width: 768px) {
    .p-beginner-cycle .p-beginner-2column figcaption {
        margin-inline: auto;
        width: 92%
    }
}

.p-beginner-image {
    width: min(850px, 100%);
    padding: 0 4%;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-beginner-image {
        padding: 0 1%
    }
}

.p-beginner-iconImage {
    display: block;
    max-width: 700px;
    margin-inline: auto
}

.p-treatment-growthArea {
    padding: clamp(40px, 10vw, 150px) 0 clamp(40px, 6.67vw, 100px)
}

.p-treatment-growthArea .c-containerBox-wrap {
    width: 100%
}

.p-treatmentBox {
    border-bottom: clamp(5px, .67vw, 10px) solid #182a52;
    border-right: clamp(5px, .67vw, 10px) solid #182a52;
    border-left: clamp(5px, .67vw, 10px) solid #182a52
}

.p-treatmentBox-titleArea {
    background-color: #182a52;
    padding: 1em 0
}

.p-treatmentBox-titleArea .c-page-title {
    background-color: #fff;
    padding: .5em 1em;
    border-radius: .7em;
    width: min(640px, 100%);
    margin-inline: auto
}

.p-treatment-growthListArea .p-price-treatmentList-image {
    width: min(10.6em, 90%);
    min-height: 14em;
    padding: 1em 0
}

.p-treatment-growthListArea .p-price-treatmentList-image img {
    aspect-ratio: auto
}

.p-treatment-introWrap {
    padding: clamp(20px, 2vw, 30px) 2% clamp(16px, 1.6vw, 24px);
    background-color: #f2f2f2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5em 5%;
    align-items: center
}

@media screen and (max-width: 768px) {
    .p-treatment-introWrap {
        grid-template-columns: 1fr
    }
}

@media screen and (max-width: 768px) {
    .p-treatment-costArea {
        width: min(460px, 100%);
        margin-inline: auto
    }
}

.p-treatment-titleArea,
.p-treatment-dataArea {
    display: grid;
    grid-template-columns: 11em 1fr;
    gap: .5em 1em
}

@media screen and (max-width: 768px) {

    .p-treatment-titleArea,
    .p-treatment-dataArea {
        grid-template-columns: auto 1fr
    }
}

.p-treatment-purposeArea {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2em;
    align-items: center;
    max-width: 470px;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-treatment-purposeArea {
        gap: 3%
    }
}

.p-treatment-titleArea {
    padding-bottom: .5em;
    border-bottom: 1px dotted #333
}

@media screen and (max-width: 425px) {
    .p-treatment-titleArea {
        grid-template-columns: 1fr
    }
}

.p-treatment-dataArea {
    align-items: center;
    justify-content: space-between
}

.p-treatment-dataText {
    grid-column: 2
}

.p-treatment-titleRadiusArea .p-treatment-titleRadiusText {
    width: clamp(80px, 9.33vw, 140px);
    height: clamp(80px, 9.33vw, 140px);
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center
}

.p-treatment-imageArea .t-menuBox-title {
    font-size: clamp(16px, 1.33vw, 20px);
    padding: .3em 1em .2em 1em;
    width: -moz-fit-content;
    width: fit-content
}

.p-treatment-contentWrap {
    padding: 0 clamp(10px, 2.13vw, 36px)
}

.p-treatment-contentWrap .p-clinic-menuSystem-best img {
    aspect-ratio: 491/321
}

.p-treatment-contentWrap .p-clinic-menuSystem-box:first-child::after {
    width: 15%;
    right: -17%
}

@media screen and (max-width: 768px) {
    .p-treatment-contentWrap .p-clinic-menuSystem-box:first-child::after {
        width: 3em;
        right: 50%
    }
}

.p-treatment-textArea .t-readText-bold {
    text-align: left
}

.p-clinic-menuSystem-futureWrap .p-clinic-menuSystem-detail {
    padding: clamp(60px, 6vw, 90px) clamp(10px, 2.67vw, 40px) clamp(10px, 2.67vw, 40px)
}

.p-treatment-graphImageArea {
    max-width: 860px
}

.p-treatment-graphImage {
    display: block;
    width: 92%;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-treatment-graphImage {
        width: 100%
    }
}

.p-treatment-graphImageText {
    display: none
}

@media screen and (max-width: 425px) {
    .p-treatment-graphImageText {
        display: block
    }
}

.p-treatment-case.c-roundedBox {
    padding: clamp(10px, 1.87vw, 28px) clamp(10px, 2.67vw, 40px);
    background-color: #fff;
    max-width: 680px
}

.p-treatment-priceWrap {
    padding: clamp(10px, 2.67vw, 40px);
    background-color: #fff
}

.p-treatment-priceWrap .p-clinic-priceTable {
    grid-template-columns: 1fr 14em 14em
}

@media screen and (max-width: 768px) {
    .p-treatment-priceWrap .p-clinic-priceTable {
        grid-template-columns: 1fr 34% 34%
    }
}

@media screen and (max-width: 425px) {
    .p-treatment-priceWrap .p-clinic-priceTable {
        grid-template-columns: 55% 1fr
    }

    .p-treatment-priceWrap .p-clinic-priceTable>*:where(.p-clinic-priceData) {
        align-items: center
    }
}

@media screen and (max-width: 768px) {
    .p-treatment-priceWrap .p-clinic-priceTitle {
        grid-column: auto;
        margin-right: 5px;
        margin-bottom: 0
    }
}

@media screen and (max-width: 425px) {
    .p-treatment-priceWrap .p-clinic-priceTitle {
        margin-right: 0;
        margin-bottom: 5px;
        grid-column: 1/3
    }
}

.p-treatment-priceWrap .p-clinic-priceTable>* {
    padding: .5em
}

.p-treatment-priceWrap .p-clinic-priceTable>*:where(.p-clinic-priceConditions, .p-clinic-priceData) {
    justify-content: center
}

.p-treatment-priceTableTop.p-clinic-priceTable>* {
    padding: .5em 1em;
    justify-content: flex-start;
    color: #fff
}

@media screen and (max-width: 768px) {
    .p-treatment-priceTableTop.p-clinic-priceTable>* {
        padding: .5em
    }
}

.p-treatment-boxArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5em
}

@media screen and (max-width: 768px) {
    .p-treatment-boxArea {
        grid-template-columns: 1fr
    }
}

.p-treatment-boxArea .p-treatment-introWrap {
    grid-template-columns: 1fr
}

.p-treatment-boxArea .c-page-title {
    font-size: clamp(18px, 1.87vw, 28px);
    width: min(520px, 80%);
    height: 2.5em;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    letter-spacing: 0;
    color: #182a52
}

@media screen and (max-width: 1024px) {
    .p-treatment-boxArea .c-page-title {
        width: 92%
    }
}

@media screen and (max-width: 425px) {
    .p-treatment-boxArea .c-page-title {
        width: 100%;
        height: 2.8em
    }
}

@media screen and (max-width: 320px) {
    .p-treatment-boxArea .c-page-title {
        font-size: 16px
    }
}

.p-treatment-boxArea .c-page-title>span {
    display: block;
    width: 100%
}

.p-treatment-boxArea .p-treatment-introWrap {
    padding: 1em 2%
}

.p-treatment-boxArea .p-price-treatmentList {
    display: grid;
    grid-template-rows: auto 1fr auto 72px;
    align-content: flex-start
}

@media screen and (max-width: 768px) {
    .p-treatment-boxArea .p-price-treatmentList {
        grid-template-rows: auto 1fr auto 60px
    }
}

.p-treatment-boxImageArea {
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 1em;
    align-items: center;
    padding: clamp(20px, 2vw, 30px) 5%;
    background-color: #f2faff;
    margin: 0;
    min-height: 16em
}

@media screen and (max-width: 768px) {
    .p-treatment-boxImageArea {
        grid-template-columns: 1fr;
        min-height: auto
    }
}

.p-treatment-boxImageArea img {
    aspect-ratio: 22/15
}

.p-price-treatmentSpecialtyArea .p-treatmentBox-titleArea {
    background-color: #09f
}

.p-price-treatmentSpecialtyArea .p-treatment-dataArea {
    min-height: 5em
}

@media screen and (max-width: 768px) {
    .p-price-treatmentSpecialtyArea .p-treatment-dataArea {
        min-height: auto
    }
}

.p-price-treatmentSupportArea .p-treatmentBox-titleArea {
    background-color: #666
}

.p-treatment-examinationArea .p-treatmentBox-titleArea,
.p-treatment-examinationArea .p-price-treatmentLink {
    background-color: #2253b2
}

.p-treatment-examinationArea .p-price-treatmentList {
    border-color: #2253b2;
    background-color: #2253b2
}

.p-treatment-examinationArea .p-price-treatmentList:not(:has(.p-price-treatmentLink)) {
    border-bottom: clamp(5px, .67vw, 10px) solid #2253b2
}

.p-treatment-preparat {
    padding: clamp(30px, 4.67vw, 70px) 0 80px
}

@media screen and (max-width: 768px) {
    .p-treatment-preparatBox {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 3%
    }
}

.p-treatment-preparatBox.c-roundedBox {
    padding: clamp(15px, 2.67vw, 40px);
    background-color: #fff
}

@media screen and (max-width: 768px) {
    .p-treatment-preparatBox.c-roundedBox {
        padding-bottom: 3em
    }
}

.p-treatment-preparatListArea,
.p-treatment-preparatImageListArea {
    display: flex
}

@media screen and (max-width: 768px) {

    .p-treatment-preparatListArea,
    .p-treatment-preparatImageListArea {
        display: grid;
        grid-template-rows: repeat(3, 1fr);
        align-content: center
    }
}

.p-treatment-preparatListArea>*,
.p-treatment-preparatImageListArea>* {
    width: 33%
}

@media screen and (max-width: 768px) {

    .p-treatment-preparatListArea>*,
    .p-treatment-preparatImageListArea>* {
        width: 100%
    }
}

@media screen and (max-width: 768px) {
    .p-treatment-preparatImageListArea {
        gap: 3em
    }
}

.p-treatment-preparatListArea>* {
    text-align: center;
    padding: .3em .5em;
    position: relative
}

@media screen and (max-width: 768px) {
    .p-treatment-preparatListArea>* {
        writing-mode: vertical-rl;
        display: flex;
        align-items: center;
        justify-content: center
    }
}

.p-treatment-preparatListArea>*::after {
    content: "";
    width: 5%;
    height: 100%;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 99.8%;
    transform: translateY(-50%);
    z-index: 1
}

@media screen and (max-width: 768px) {
    .p-treatment-preparatListArea>*::after {
        width: 100%;
        height: 1em;
        -webkit-clip-path: polygon(0 0, 100% 0%, 50% 100%);
        clip-path: polygon(0 0, 100% 0%, 50% 100%);
        top: 100%;
        left: 50%;
        transform: translateY(0) translateX(-50%)
    }
}

.p-treatment-preparatListArea>*:nth-child(1) {
    background-color: #09f
}

.p-treatment-preparatListArea>*:nth-child(1)::after {
    background-color: #09f
}

.p-treatment-preparatListArea>*:nth-child(2) {
    background-color: #2253b2
}

.p-treatment-preparatListArea>*:nth-child(2)::after {
    background-color: #2253b2
}

.p-treatment-preparatListArea>*:nth-child(3) {
    background-color: #182a52
}

.p-treatment-preparatListArea>*:nth-child(3)::after {
    background-color: #182a52
}

.p-treatment-preparatImage {
    display: block
}

.p-treatment-preparatImage:not(.p-treatment-preparatImage-wide) {
    max-width: 240px
}

.p-linkBox-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
    gap: clamp(8px, 2.13vw, 36px)
}

.p-linkBox {
    padding: clamp(20px, 2vw, 30px) 10%;
    border: 1px solid #182a52;
    box-shadow: clamp(3px, .67vw, 10px) clamp(3px, .67vw, 10px) rgba(0, 0, 0, .15);
    display: grid;
    gap: clamp(12px, 2vw, 30px);
    grid-template-rows: subgrid;
    grid-row: 2 span;
    align-content: flex-start
}

@media screen and (max-width: 768px) {
    .p-linkBox {
        padding-left: 4%;
        padding-right: 4%
    }
}

.p-linkList {
    display: grid;
    gap: clamp(10px, 1.07vw, 16px);
    align-content: flex-start;
    min-height: 15.8em
}

@media screen and (max-width: 425px) {
    .p-linkList {
        min-height: 14.6em
    }
}

.p-linkList-text {
    background-color: #fff;
    padding-left: clamp(6px, .67vw, 10px);
    padding-right: clamp(6px, .67vw, 10px);
    border: 1px solid #182a52;
    border-radius: 3em;
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: clamp(5px, .67vw, 10px);
    justify-content: center;
    align-items: center;
    height: 3.6em
}

.p-linkList-text::after {
    display: block;
    content: "笆ｼ";
    font-size: 1em
}

@media screen and (max-width: 768px) {
    .p-linkList-text::after {
        font-size: .8em
    }
}

.p-treatment-n-contectWrap {
    display: grid;
    grid-template-columns: 36% 1fr;
    gap: clamp(16px, 2.13vw, 36px) 4%
}

@media screen and (max-width: 768px) {
    .p-treatment-n-contectWrap {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(4, auto)
    }
}

.p-treatment-n-contectWrap-personal .p-treatment-n-contect-image {
    grid-row: 1/3
}

.p-treatment-n-contectWrap-personal .p-treatment-n-contect-button {
    grid-row: 3/4
}

@media screen and (max-width: 768px) {
    .p-treatment-n-contectWrap-personal .p-treatment-n-contect-button {
        grid-row: auto
    }
}

.p-treatment-n-contectWrap-personal .p-treatment-n-contect-textArea {
    grid-row: 2/5
}

@media screen and (max-width: 768px) {
    .p-treatment-n-contectWrap-personal .p-treatment-n-contect-textArea {
        grid-row: auto
    }
}

.p-treatment-n-contect-image {
    grid-row: 1/3
}

@media screen and (max-width: 768px) {
    .p-treatment-n-contect-image {
        grid-row: auto
    }
}

.p-treatment-n-contect-textArea {
    grid-row: 2/4
}

@media screen and (max-width: 768px) {
    .p-treatment-n-contect-textArea {
        grid-row: 3/4;
        display: none
    }
}

.p-treatment-n-contect-text {
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.6
}

.p-treatment-n-contectList {
    display: grid;
    gap: clamp(10px, 1.6vw, 24px);
    align-content: flex-start
}

.p-treatment-n-contectList .p-treatment-n-contectList-item {
    font-size: clamp(18px, 1.47vw, 22px);
    gap: .3em
}

.p-treatment-n-contectList .p-treatment-n-contectList-item::before {
    background: url(../images/check-icon.png) no-repeat center center/contain
}

.p-treatment-n-contectList-item {
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    display: grid;
    grid-template-columns: 1em 1fr;
    gap: .5em
}

.p-treatment-n-contectList-item::before {
    display: block;
    content: "";
    width: 1em;
    height: 1em;
    background: url(../images/icon-check.png) no-repeat center center/contain
}

.p-treatment-n-consul .c-title-sideLine {
    border-left-color: #09f
}

.p-treatment-n-grow .c-title-sideLine {
    border-left-color: #182a52
}

.p-treatment-n-other .c-title-sideLine {
    border-left-color: #2254b2
}

.p-treatment-n-boost .c-title-sideLine {
    border-left-color: #c60
}

.p-treatment-n-suport .c-title-sideLine {
    border-left-color: #666
}

.p-treatment-n-contect-button {
    display: grid;
    gap: 1em
}

.p-treatment-n-contect-button li:first-child .p-reserve-button {
    background-color: #2253b2;
    position: relative
}

.p-treatment-n-contect-button li:first-child .p-reserve-button::before,
.p-treatment-n-contect-button li:first-child .p-reserve-button::after {
    content: "";
    display: block;
    width: 1em;
    height: 3px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 4%;
    transition: all linear .3s
}

.p-treatment-n-contect-button li:first-child .p-reserve-button::after {
    transform: translate(0, -50%) rotate(90deg);
    transition: transform linear .3s
}

.p-treatment-n-contect-button li:first-child .p-reserve-button.p-accordion-open::after {
    transform: translate(0, -50%) rotate(0);
    transition: transform linear .3s
}

.p-treatment-n-contect-button li .c-buttonMain-text {
    padding-top: 1em;
    padding-bottom: 1em
}

.p-treatment-n-detailList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .3em
}

@media screen and (max-width: 768px) {
    .p-treatment-n-detailList {
        grid-template-columns: 1fr
    }
}

.p-treatment-n-advanceWrap {
    grid-column: 1/3
}

@media screen and (max-width: 768px) {
    .p-treatment-n-advanceWrap {
        grid-column: auto;
        grid-row: 4/5;
        display: none
    }
}

.p-treatment-n-data {
    display: grid;
    grid-template-columns: 5em auto;
    gap: .5em;
    align-items: baseline;
    justify-content: center
}

.p-treatment-contentList {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 92%
}

.p-treatment-linkList {
    width: min(260px, 100%);
    display: grid;
    gap: clamp(10px, 1.07vw, 16px);
    align-content: flex-start
}

.p-linkTreatmentList-text {
    display: block;
    padding-right: 2.4em
}

.p-linkTreatmentList-text.c-buttonArrow::after {
    background-image: url(../images/arrow-black);
    right: 0
}

.p-linkTreatmentList-linkText {
    border-bottom: 1px solid #333
}

.p-treatment-n-detailWrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em 5%
}

@media screen and (max-width: 425px) {
    .p-treatment-n-detailWrap {
        grid-template-columns: 1fr;
        width: min(240px, 100%);
        margin-inline: auto
    }
}

.p-treatment-n-detailTitle {
    padding: .2em;
    border: 1px solid #333
}

.p-experience .p-mv {
    background-image: linear-gradient(to right, #fff, #fff 30%, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-experience.jpg);
    background-position: right top
}

@media screen and (max-width: 768px) {
    .p-experience .p-mv {
        background-image: linear-gradient(to right, #fff, #fff 25%, rgba(255, 255, 255, 0.5) 55%, transparent 80%, transparent), url(../images/mv-experience.jpg);
        background-position: right 31% top
    }
}

@media screen and (max-width: 425px) {
    .p-experience .p-mv {
        background-image: linear-gradient(to top, #fff, #fff 15%, rgba(255, 255, 255, 0.5) 55%, transparent 80%, transparent), url(../images/mv-experience.jpg);
        background-position: right 19% top -3em
    }
}

.p-experience .p-detailListBox-wrap .c-titleSS {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: .5em 0
}

.p-experience-introArea .c-roundedBox {
    background-color: #fff;
    padding: clamp(16px, 2.67vw, 40px)
}

.p-experience-introArea .t-readText-bold {
    text-align: left
}

.p-experience-introArea .p-recommendBox {
    max-width: 980px
}

.p-experience-introArea .p-recommendBox-title {
    padding: .8em;
    align-items: flex-start
}

.p-experience-introArea .p-recommendBox-subjectItem {
    align-items: flex-start;
    gap: .5em
}

.p-experience-introArea .p-recommendBox-subjectItem::before {
    margin-top: .2em
}

.p-experience-reasonArea .p-price-pointContent-checkListArea {
    grid-template-columns: 1fr;
    gap: 1em;
    width: -moz-fit-content;
    width: fit-content
}

.p-experience-reasonArea .p-price-pointContent-checkList {
    justify-content: flex-start
}

@media screen and (max-width: 768px) {
    .p-experience-reasonArea .p-price-pointContent-checkList {
        height: auto;
        padding: 1em
    }
}

@media screen and (max-width: 320px) {
    .p-experience-reasonArea .p-price-pointContent-checkList {
        padding: .5em .3em
    }
}

.p-experience-reasonArea .p-price-pointContent-checkText {
    flex-wrap: wrap;
    padding-left: 2.5em;
    position: relative
}

.p-experience-reasonArea .p-price-pointContent-checkText::before {
    position: absolute;
    left: 0;
    top: 0
}

.p-experience-flowWrap.c-roundedBox {
    padding: clamp(10px, 2.67vw, 40px);
    background-color: #fff
}

.p-experience-flowWrap .p-clinic-flow-listWrap {
    gap: 2em
}

.p-experience-flowWrap .p-clinic-flow-list {
    width: 20%;
    background-color: #ccebff
}

@media screen and (max-width: 768px) {
    .p-experience-flowWrap .p-clinic-flow-list {
        width: 100%
    }
}

.p-experience-pointArea .p-detailListBox-titlePoint::after {
    width: .5em;
    right: -0.5em
}

.p-experience-pointAreaBg .p-detailListBox-wrap {
    background-color: #fff
}

@media screen and (max-width: 425px) {
    .p-experience-point-buttonArea .c-buttonMain-text {
        font-size: 14px;
        padding-left: 2%
    }
}

.p-characteristic .p-mv {
    background-image: linear-gradient(to right, #fff, #fff 30%, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-characteristic.jpg);
    background-position: 50% top
}

@media screen and (max-width: 768px) {
    .p-characteristic .p-mv {
        background-position: 66% top;
        background-image: linear-gradient(to right, #fff, #fff 15%, rgba(255, 255, 255, 0.5) 40%, transparent 75%, transparent), url(../images/mv-characteristic.jpg)
    }
}

@media screen and (max-width: 425px) {
    .p-characteristic .p-mv {
        background-image: linear-gradient(to top, #fff 10%, rgba(255, 255, 255, 0.5) 45%, transparent 75%, transparent), url(../images/mv-characteristic.jpg)
    }
}

@media screen and (max-width: 320px) {
    .p-characteristic .p-mv {
        background-position: 68% top
    }
}

@media screen and (max-width: 320px) {
    .p-characteristic .p-mv-titleArea {
        padding-top: 200px;
        padding-bottom: 20px
    }
}

.p-characteristic-link .p-anchorLink-listArea {
    grid-template-columns: repeat(3, 1fr)
}

@media screen and (max-width: 768px) {
    .p-characteristic-link .p-anchorLink-listArea {
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-character-effectWrap {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2em 5%;
    padding: 0 7%
}

@media screen and (max-width: 768px) {
    .p-character-effectWrap {
        grid-template-columns: 1fr;
        padding: 0
    }
}

@media screen and (max-width: 768px) {
    .p-character-safeBoxArea {
        width: -moz-fit-content;
        width: fit-content
    }
}

.p-character-safeBox {
    padding: clamp(16px, 1.6vw, 24px);
    border-radius: clamp(16px, 1.6vw, 24px)
}

@media screen and (max-width: 768px) {
    .p-character-safeBox {
        padding: clamp(16px, 1.6vw, 24px) 2em
    }
}

.p-character-safeBox:first-child {
    background-color: #09f
}

.p-character-safeBox:nth-child(2) {
    background-color: #2253b2
}

.p-character-safeBox:nth-child(3) {
    background-color: #182a52
}

.p-characteristic-contentInner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 4%
}

.p-characteristic-sideBar {
    display: block;
    width: 30%;
    position: sticky;
    top: 200px
}

@media screen and (max-width: 1024px) {
    .p-characteristic-sideBar {
        position: relative;
        width: 100%;
        top: 0;
        margin-bottom: clamp(20px, 4.88vw, 50px)
    }
}

@media screen and (max-width: 1024px) {
    .p-characteristic-sideBar-inner {
        width: min(520px, 100%);
        margin-inline: auto;
        padding: 1em;
        border: 2px solid #ccc
    }
}

.p-characteristic-sideBar-topTitle {
    background-color: #ccc;
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    letter-spacing: .2em;
    border-radius: 1em;
    padding: .2em .5em
}

@media screen and (max-width: 1024px) {
    .p-characteristic-sideBar-topTitle {
        max-width: 420px;
        margin-inline: auto
    }
}

.p-characteristic-mainContent {
    width: 66%
}

@media screen and (max-width: 1024px) {
    .p-characteristic-mainContent {
        width: 100%
    }
}

.p-characteristic-mainContent .c-buttonMain {
    min-width: 380px
}

@media screen and (max-width: 768px) {
    .p-characteristic-mainContent .c-buttonMain {
        min-width: auto
    }
}

.p-characteristic-mainContent-effect .p-characteristic-titleTopText {
    color: #09f
}

.p-characteristic-mainContent-achievement .p-characteristic-titleTopText {
    color: #2254b2
}

.p-characteristic-mainContent-system .p-characteristic-titleTopText {
    color: #182a52
}

.p-character-safeBoxTitle {
    border-bottom: 1px solid #fff;
    padding-bottom: .2em
}

.p-characteristic-navArea {
    height: calc(100vh - 260px);
    padding-left: 4%;
    border-left: clamp(16px, 1.6vw, 24px) solid #09f
}

@media screen and (max-width: 1024px) {
    .p-characteristic-navArea {
        height: auto;
        padding: 0;
        border-left: none;
        width: -moz-fit-content;
        width: fit-content;
        margin-inline: auto
    }
}

.p-characteristic-navArea.js-chenge01 {
    animation: color-change01 1s linear forwards
}

.p-characteristic-navArea.js-chenge02 {
    animation: color-change02 1s linear forwards
}

@keyframes color-change01 {
    0% {
        color: #09f
    }

    100% {
        border-color: #2254b2
    }
}

@keyframes color-change02 {
    0% {
        border-color: #2254b2
    }

    100% {
        border-color: #182a52
    }
}

.p-characteristic-navList {
    position: relative
}

.p-characteristic-navList:first-child .p-characteristic-navTitleText {
    color: #09f
}

.p-characteristic-navList:nth-child(2) .p-characteristic-navTitleText {
    color: #2254b2
}

.p-characteristic-navList:nth-child(3) .p-characteristic-navTitleText {
    color: #182a52
}

.p-characteristic-navGroup {
    position: absolute;
    top: 60px;
    opacity: 0;
    transition: transform .3s linear;
    pointer-events: none;
    transform: translateY(-20px)
}

.p-characteristic-navGroup.js-open {
    position: initial;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto
}

@media screen and (max-width: 1024px) {
    .p-characteristic-navGroup {
        position: initial;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto
    }
}

.p-characteristic-navDetailText {
    padding-left: 2em;
    position: relative
}

.p-characteristic-navDetailText:not(:last-child) {
    margin-bottom: .5em
}

.p-characteristic-navDetailText::before {
    content: "";
    width: 1em;
    height: 100%;
    background: url(../images/characteristic-navIcon.png) no-repeat center center/contain;
    position: absolute;
    top: 0;
    left: 1em
}

.p-contentsText.js-active {
    font-weight: 700
}

.p-characteristic-navList:first-child .p-contentsText.js-active {
    color: #09f
}

.p-characteristic-navList:nth-child(2) .p-contentsText.js-active {
    color: #2254b2
}

.p-characteristic-navList:nth-child(3) .p-contentsText.js-active {
    color: #182a52
}

.p-characteristic-mainContent-title {
    display: grid;
    gap: .5em;
    border-left: 3px solid #333
}

.p-characteristic-titleSubText {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .3em .5em
}

.p-pointText {
    background-color: #f90;
    border-radius: .8em;
    padding: .1em 1em
}

.p-characteristic-imageArea {
    display: grid;
    gap: 1em 5%
}

.p-characteristic-imageArea01 {
    grid-template-columns: 68% 1fr
}

@media screen and (max-width: 425px) {
    .p-characteristic-imageArea01 {
        grid-template-columns: 1fr
    }
}

@media screen and (max-width: 425px) {
    .p-characteristic-image01 {
        width: 80%
    }
}

.p-characteristic-imageArea02 {
    grid-template-columns: repeat(2, 1fr)
}

@media screen and (max-width: 768px) {
    .p-characteristic-imageArea02 {
        grid-template-columns: 1fr
    }
}

@media screen and (max-width: 768px) {
    .p-characteristic-image02 {
        max-width: 420px
    }
}

.p-characteristic-imageArea03 {
    grid-template-columns: 1fr 38%
}

@media screen and (max-width: 768px) {
    .p-characteristic-imageArea03 {
        grid-template-columns: 1fr
    }
}

.p-characteristic-menuSystem .p-clinic-menuSystem-detail {
    padding: clamp(40px, 4vw, 60px) clamp(20px, 2.67vw, 40px) clamp(20px, 2.67vw, 40px);
    background-color: #f2faff;
    display: grid;
    align-items: center
}

.p-characteristic-menuSystem .p-clinic-menuSystem-title {
    font-size: clamp(16px, 1.33vw, 20px);
    display: block;
    min-height: auto;
    top: -1.5em
}

.p-characteristic-menuSystem .p-clinic-menuSystem-box:first-child::after {
    width: 20%;
    top: 30%;
    right: -22%
}

@media screen and (max-width: 768px) {
    .p-characteristic-menuSystem .p-clinic-menuSystem-box:first-child::after {
        width: 3em;
        bottom: -12.3em;
        top: auto;
        right: 50%;
        transform: translate(50%, -50%) rotate(90deg)
    }
}

.p-characteristic-radiusTitle {
    border-radius: 1.5em;
    padding: .2em .8em
}

.p-characteristicBox-imageWrap {
    display: grid;
    grid-template-columns: 1fr 52%;
    gap: 3em 10%;
    align-items: center
}

@media screen and (max-width: 768px) {
    .p-characteristicBox-imageWrap {
        max-width: 420px;
        margin-inline: auto
    }
}

@media screen and (max-width: 425px) {
    .p-characteristicBox-imageWrap {
        grid-template-columns: 40% 1fr
    }
}

.p-characteristicBox-imageWrap:first-child {
    border-bottom: 1px dotted #333
}

.p-characteristicBox-imageWrap:first-child .p-characteristic-radiusTitle {
    background-color: #666
}

.p-characteristicBox-imageWrap:first-child .p-characteristicBox-imageArea::after {
    background-color: #666
}

.p-characteristicBox-imageWrap:nth-child(2) .p-characteristic-radiusTitle {
    background-color: #09f
}

.p-characteristicBox-imageWrap:nth-child(2) .p-characteristicBox-imageArea::after {
    background-color: #09f
}

.p-characteristicBox-imageArea {
    position: relative
}

.p-characteristicBox-imageArea::after {
    content: "";
    width: 14%;
    height: 24%;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    position: absolute;
    top: 50%;
    right: -22%;
    transform: translateY(-50%)
}

.p-characteristicBox-medicineImage {
    display: block;
    width: 78%
}

.p-characteristic-advancedImage {
    display: block;
    max-width: 420px
}

.p-characteristic-suggestionSystem-wrap {
    display: grid;
    grid-template-columns: 30% 1fr;
    align-items: stretch;
    gap: 5em 15%;
    max-width: 750px
}

@media screen and (max-width: 768px) {
    .p-characteristic-suggestionSystem-wrap {
        grid-template-columns: 1fr;
        max-width: 420px
    }
}

.p-characteristic-suggestionArea {
    display: grid;
    justify-items: center;
    align-items: flex-end;
    align-content: center;
    grid-template-rows: 4em 1fr;
    gap: .5em
}

.p-characteristic-suggestionArea:first-child .p-characteristic-suggestionTitle {
    color: #2254b2
}

.p-characteristic-doctorImage-wrap {
    border-bottom: 1px solid #2254b2
}

.p-characteristic-doctorImage {
    width: 80%
}

@media screen and (max-width: 425px) {
    .p-characteristic-doctorImage {
        width: 100%
    }
}

.p-characteristic-logoImage {
    display: block;
    width: min(340px, 75%)
}

.p-characteristic-clinicImageArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2em 8%;
    max-width: 560px
}

@media screen and (max-width: 425px) {
    .p-characteristic-clinicImageArea {
        grid-template-columns: 1fr
    }
}

.p-characteristic-clinicImage {
    display: block;
    width: 72%
}

@media screen and (max-width: 768px) {
    .p-characteristic-treatmentImage {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: .5em
    }
}

@media screen and (max-width: 425px) {
    .p-characteristic-treatmentImage {
        grid-template-columns: 1fr
    }
}

.p-characteristic-imageText {
    top: .5em;
    right: .5em
}

.p-column .p-mv {
    background-image: linear-gradient(to right, #fff, #fff 22%, rgba(255, 255, 255, 0.5) 72%, transparent 100%, transparent), url(../images/mv-beginner.jpg);
    background-position: right top
}

@media screen and (max-width: 768px) {
    .p-column .p-mv {
        background-image: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0.5) 72%, transparent 100%, transparent), url(../images/mv-beginner.jpg);
        background-position: right 36% top
    }
}

@media screen and (max-width: 425px) {
    .p-column .p-mv {
        background-image: linear-gradient(to top, #fff 0%, rgba(255, 255, 255, 0.5) 72%, transparent 100%, transparent), url(../images/mv-beginner.jpg);
        background-position: right 44% top
    }
}

.p-column .c-roundedBox,
.p-column .c-roundedBox-white {
    padding: clamp(20px, 4vw, 60px)
}

.p-column .p-clinic-popularMenu-boxTitle.c-titleSS {
    padding: .3em
}

.p-column .c-buttonGradation {
    max-width: 980px
}

.p-column .c-buttonMain>* {
    padding: 1.3em 3.5em 1.3em 2.8em
}

.p-aga-checkListArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2em 5%;
    width: -moz-fit-content;
    width: fit-content
}

@media screen and (max-width: 768px) {
    .p-aga-checkListArea {
        grid-template-columns: 1fr;
        row-gap: 1.5em
    }
}

.p-aga-checkListArea .p-example-aga-checkList {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .5em;
    font-size: clamp(14px, 1.33vw, 20px)
}

.p-aga-checkListArea .p-example-aga-checkBox {
    border: 1px solid #333
}

.p-column-2columnH {
    grid-template-columns: repeat(2, 1fr)
}

.p-column-2column {
    grid-template-columns: 45% 1fr
}

.p-column-2columnS {
    grid-template-columns: 1fr 45%
}

.p-column-2column-imageS-r {
    grid-template-columns: 1fr 30%
}

.p-column-2column-imageS-l {
    grid-template-columns: 30% 1fr
}

.p-column-2column-imageSS-l {
    grid-template-columns: 20% 1fr
}

.p-column-2columnH,
.p-column-2column,
.p-column-2columnS,
.p-column-2column-imageS-r,
.p-column-2column-imageS-l,
.p-column-2column-imageSS-r,
.p-column-2column-imageSS-l {
    display: grid;
    gap: clamp(16px, 2.13vw, 32px) 5%
}

@media screen and (max-width: 768px) {

    .p-column-2columnH,
    .p-column-2column,
    .p-column-2columnS,
    .p-column-2column-imageS-r,
    .p-column-2column-imageS-l,
    .p-column-2column-imageSS-r,
    .p-column-2column-imageSS-l {
        grid-template-columns: 1fr
    }
}

.p-column-imageS,
.p-column-imageSS,
.p-column-imageM,
.p-column-imageL {
    display: block;
    margin-inline: auto
}

.p-column-imageS {
    max-width: 360px
}

.p-column-imageSS {
    max-width: 240px
}

.p-column-imageM {
    max-width: 600px
}

.p-column-imageL {
    max-width: 900px
}

.p-medicine .p-mv {
    background-image: linear-gradient(to right, #fff, #fff 30%, rgba(255, 255, 255, 0.5) 50%, transparent 75%, transparent), url(../images/mv-medicine.jpg);
    background-position: 50% top
}

@media screen and (max-width: 768px) {
    .p-medicine .p-mv {
        background-position: 66% top;
        background-image: linear-gradient(to right, #fff, #fff 20%, rgba(255, 255, 255, 0.5) 60%, transparent 85%, transparent), url(../images/mv-medicine.jpg)
    }
}

@media screen and (max-width: 425px) {
    .p-medicine .p-mv {
        background-image: linear-gradient(to top, #fff 10%, rgba(255, 255, 255, 0.5) 60%, transparent 85%, transparent), url(../images/mv-medicine.jpg)
    }
}

.p-medicine-policy .c-roundedBox-white {
    padding: clamp(20px, 5.33vw, 80px) 5%
}

.p-medicine-imageListArea {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 3em 2%
}

@media screen and (max-width: 768px) {
    .p-medicine-imageListArea {
        grid-template-columns: repeat(2, 1fr);
        max-width: 420px;
        margin-inline: auto
    }
}

.p-medicine-imageList {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: clamp(10px, 1.33vw, 20px);
    justify-items: center
}

.p-medicine-imageList:not(:first-child) .p-medicine-circleImage {
    position: relative
}

.p-medicine-imageList:not(:first-child) .p-medicine-circleImage::before {
    width: clamp(40px, 5.33vw, 80px);
    height: 4px;
    right: 105%
}

.p-medicine-imageList:not(:first-child) .p-medicine-circleImage::after {
    width: 4px;
    height: clamp(40px, 5.33vw, 80px);
    right: calc(105% + clamp(40px, 5.33vw, 80px)/2)
}

.p-medicine-imageList:not(:first-child) .p-medicine-circleImage::before,
.p-medicine-imageList:not(:first-child) .p-medicine-circleImage::after {
    content: "";
    background-color: #999;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

@media screen and (max-width: 768px) {
    .p-medicine-imageList:nth-child(2) {
        grid-column: 1/3;
        grid-row: 2
    }
}

@media screen and (max-width: 768px) {
    .p-medicine-imageList:nth-child(2) .p-medicine-circleImage::before {
        bottom: calc(138% + clamp(40px, 5.33vw, 80px)/2)
    }
}

@media screen and (max-width: 768px) {
    .p-medicine-imageList:nth-child(2) .p-medicine-circleImage::after {
        bottom: 139%
    }
}

@media screen and (max-width: 768px) {

    .p-medicine-imageList:nth-child(2) .p-medicine-circleImage::before,
    .p-medicine-imageList:nth-child(2) .p-medicine-circleImage::after {
        top: auto;
        right: 50%;
        transform: translateY(0) translateX(50%)
    }
}

.p-medicine-imageList:last-child .p-medicine-circleImage::before {
    right: 90%
}

.p-medicine-imageList:last-child .p-medicine-circleImage:after {
    right: calc(90% + clamp(40px, 5.33vw, 80px)/2)
}

@media screen and (max-width: 768px) {

    .p-medicine-imageList:last-child .p-medicine-circleImage::before,
    .p-medicine-imageList:last-child .p-medicine-circleImage::after {
        content: none
    }
}

@media screen and (max-width: 768px) {
    .p-medicine-imageList-title.c-emTextM {
        font-size: 16px
    }
}

@media screen and (max-width: 425px) {
    .p-medicine-imageList-title.c-emTextM {
        font-size: 14px
    }
}

.p-medicine-circleImage {
    height: clamp(120px, 12vw, 180px)
}

@media screen and (max-width: 320px) {
    .p-medicine-circleImage {
        height: 100px
    }
}

.p-medicine-circleImage img {
    width: auto;
    height: 100%;
    margin-inline: auto
}

.p-medicine-box.c-roundedBox-white {
    padding: clamp(20px, 2.67vw, 40px) 2%
}

@media screen and (max-width: 768px) {
    .p-medicine-box.c-roundedBox-white {
        padding-left: 4%;
        padding-right: 4%
    }
}

.p-medicine-iconListArea {
    display: grid;
    grid-template-columns: repeat(4, 1fr)
}

@media screen and (max-width: 1024px) {
    .p-medicine-iconListArea {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 3em
    }
}

@media screen and (max-width: 768px) {
    .p-medicine-iconListArea {
        grid-template-columns: 1fr;
        row-gap: 1em
    }
}

.p-medicine-iconList {
    padding: 0 3%
}

@media screen and (max-width: 768px) {
    .p-medicine-iconList {
        padding-left: 0;
        padding-right: 0
    }
}

.p-medicine-iconList:not(:last-child) {
    border-right: 1px dotted #333
}

@media screen and (max-width: 768px) {
    .p-medicine-iconList:not(:last-child) {
        border-right: none;
        border-bottom: 1px dotted #333;
        padding-bottom: .5em
    }
}

@media screen and (max-width: 1024px) {
    .p-medicine-iconList:nth-child(2) {
        border-right: none
    }
}

.p-medicine-iconList-title {
    padding: .5em 1%;
    background-color: #182a52;
    display: grid;
    align-items: center;
    min-height: 6em
}

@media screen and (max-width: 768px) {
    .p-medicine-iconList-title {
        min-height: auto
    }
}

.p-medicine-iconList-image img {
    aspect-ratio: 27/7
}

.p-medicine-effectWrap {
    display: grid;
    grid-template-columns: 1fr max(400px, 33%);
    gap: 2em 4%
}

@media screen and (max-width: 768px) {
    .p-medicine-effectWrap {
        grid-template-columns: 1fr
    }
}

.p-medicine-effect .p-medicine-effectTitle {
    padding: .1em .3em
}

.p-medicine-effect:first-child .p-medicine-effectTitle {
    color: #fff;
    background-color: #09f
}

.p-medicine-effect:last-child .p-medicine-effectTitle {
    color: #09f;
    background-color: #fff
}

.p-medicine-effectWrap-image img {
    aspect-ratio: 823/710
}

.p-medicine-boxList-area {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2em 3%;
    max-width: 930px
}

@media screen and (max-width: 768px) {
    .p-medicine-boxList-area {
        grid-template-columns: 1fr;
        width: min(420px, 90%)
    }
}

.p-medicine-boxList {
    padding: 1em 5% 1.5em;
    background-color: #182a52
}

.p-medicine-boxList-content-image img {
    aspect-ratio: 1/1
}

.p-medicine-boxTitleLine {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    position: relative
}

.p-medicine-boxTitleLine::before,
.p-medicine-boxTitleLine::after {
    content: "";
    width: 2em;
    height: 2px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.p-medicine-boxTitleLine::before {
    right: 105%
}

.p-medicine-boxTitleLine::after {
    left: 105%
}

.p-treatment-covid19 .p-mv {
    background-image: linear-gradient(to right, #fff, #fff 49%, rgba(255, 255, 255, 0.5) 60%, transparent 67%, transparent), url(../images/mv-covid19.jpg);
    background-position: 50% top
}

@media screen and (max-width: 768px) {
    .p-treatment-covid19 .p-mv {
        background-position: 66% top;
        background-image: linear-gradient(to right, #fff, #fff 45%, rgba(255, 255, 255, 0.5) 62%, transparent 66%, transparent), url(../images/mv-covid19.jpg)
    }
}

@media screen and (max-width: 425px) {
    .p-treatment-covid19 .p-mv {
        background-position: 77% top;
        background-image: linear-gradient(to top, #fff 10%, rgba(255, 255, 255, 0.5) 60%, transparent 85%, transparent), url(../images/mv-covid19.jpg)
    }
}

.p-treatment-covid19 .p-mv-titleArea {
    padding-top: clamp(140px, 14.67vw, 220px);
    padding-bottom: clamp(30px, 10.67vw, 160px)
}

.p-clinic-nav {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center
}

@media screen and (max-width: 768px) {
    .p-clinic-nav {
        flex-wrap: wrap;
        gap: .5em
    }
}

.p-clinic-navTopText {
    display: block;
    width: 8em
}

.p-clinic-navList {
    width: calc(100% - 8em);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: .5em
}

@media screen and (max-width: 768px) {
    .p-clinic-navList {
        width: 100%
    }
}

.p-clinic-navList li {
    width: max(170px, 15%)
}

@media screen and (max-width: 768px) {
    .p-clinic-navList li {
        width: calc((100% - 1em)/3)
    }
}

@media screen and (max-width: 320px) {
    .p-clinic-navList li {
        width: calc((100% - .5em)/2)
    }
}

.p-clinic-navList a {
    padding: 1em 2em 1em .5em;
    text-align: center;
    display: block;
    width: 100%;
    background-color: #fff;
    border: 1px solid #182a52;
    font-weight: 700;
    font-size: clamp(14px, 1.2vw, 18px)
}

@media screen and (max-width: 768px) {
    .p-clinic-navList a {
        padding: .5em 1.5em .5em 0
    }
}

.p-clinic-navList a.c-buttonArrow::after {
    background-image: url(../images/arrow-blue.png);
    right: .5em
}

.p-recommend-multi .p-recommendBox-title {
    padding: .8em;
    align-items: flex-start
}

.p-recommend-multi .p-recommendBox-subjectItem {
    align-items: baseline;
    gap: .5em
}

.p-recommendBox-wrap {
    max-width: 960px
}

.p-treatmentDetail-imageArea {
    display: grid;
    grid-template-columns: 1fr 34%;
    gap: 2em 4%
}

@media screen and (max-width: 768px) {
    .p-treatmentDetail-imageArea {
        grid-template-columns: 1fr
    }
}

.p-treatmentDetail-imageRightArea {
    display: grid;
    grid-template-columns: 34% 1fr;
    gap: 2em 4%
}

@media screen and (max-width: 768px) {
    .p-treatmentDetail-imageRightArea {
        grid-template-columns: 1fr
    }
}

.p-treatmentDetail-imageS-rightArea {
    display: grid;
    grid-template-columns: 26% 1fr;
    gap: 2em 4%
}

@media screen and (max-width: 768px) {
    .p-treatmentDetail-imageS-rightArea {
        grid-template-columns: 1fr
    }
}

.p-treatment-covid19-cause.c-roundedBox-white {
    padding: 1em 2% clamp(20px, 3.33vw, 50px)
}

@media screen and (max-width: 425px) {
    .p-treatment-covid19-cause.c-roundedBox-white {
        padding: 0;
        border-radius: 0;
        box-shadow: none
    }
}

.p-treatment-covid19-causeImage {
    display: block;
    max-width: 960px
}

.p-treatmentDetail-priceTableWrap.c-roundedBox-white {
    padding: clamp(20px, 2.67vw, 40px) 3%
}

.p-covid-dtail-priceTableArea .p-clinic-priceTable {
    grid-template-columns: auto 22% 38%
}

@media screen and (max-width: 1024px) {
    .p-covid-dtail-priceTableArea .p-clinic-priceTable {
        grid-template-columns: auto 24% 42%
    }
}

@media screen and (max-width: 768px) {
    .p-covid-dtail-priceTableArea .p-clinic-priceTable {
        grid-template-columns: 36% auto
    }
}

@media screen and (max-width: 425px) {
    .p-covid-dtail-priceTableArea .p-clinic-priceTable {
        grid-template-columns: 45% auto
    }
}

.p-covid-dtail-priceTableArea .p-clinic-priceTable>* {
    padding-left: clamp(16px, 1.33vw, 20px);
    padding-right: clamp(16px, 1.33vw, 20px)
}

.p-treatmentDetail-priceTableArea .p-clinic-priceTable {
    grid-template-columns: auto 18% 40%
}

@media screen and (max-width: 768px) {
    .p-treatmentDetail-priceTableArea .p-clinic-priceTable {
        grid-template-columns: 25% auto
    }
}

@media screen and (max-width: 425px) {
    .p-treatmentDetail-priceTableArea .p-clinic-priceTable {
        grid-template-columns: 45% auto
    }
}

.p-treatmentDetail-priceTableArea .p-clinic-priceTable>* {
    padding-left: clamp(10px, 2vw, 30px);
    padding-right: clamp(10px, 2vw, 30px)
}

.p-treatmentDetail-dataSubText {
    display: block;
    width: 100%
}

.p-treatmentDetail-textS {
    display: inline-block
}

.p-priceBr {
    display: none
}

@media screen and (max-width: 425px) {
    .p-priceBr {
        display: inline-block
    }
}

.p-treatment-smoking .p-mv {
    background-image: linear-gradient(to right, #fff, #fff 35%, rgba(255, 255, 255, 0.5) 42%, transparent 59%, transparent), url(../images/mv-smoking.jpg);
    background-position: 50% top
}

.p-treatmentDetail-introWrap {
    width: min(1100px, 92%)
}

.p-treatment-smoking-introBox {
    padding: clamp(12px, 2.13vw, 36px);
    border-radius: clamp(15px, 2vw, 30px);
    border: 1px solid #999;
    max-width: 680px;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-treatment-smoking-textArea .t-readText-bold {
        text-align: left
    }
}

@media screen and (max-width: 768px) {
    .p-treatment-smoking-postText {
        text-align: left
    }
}

.p-treatmentDetail-columnImage img {
    aspect-ratio: 45/29
}

.p-treatmentSmoking-imageWrap {
    display: grid;
    grid-template-columns: 45% 1fr;
    gap: 2em 4%;
    align-items: center
}

@media screen and (max-width: 768px) {
    .p-treatmentSmoking-imageWrap {
        grid-template-columns: 1fr
    }
}

.p-treatmentSmoking-imageArea {
    display: grid;
    grid-template-columns: 1fr 23% 1fr;
    row-gap: .2em
}

@media screen and (max-width: 425px) {
    .p-treatmentSmoking-imageArea {
        grid-template-columns: 1fr 20% 1fr
    }
}

.p-treatmentSmoking-imageTitle {
    padding: .5em 1em;
    border-radius: 1.6em;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

@media screen and (max-width: 425px) {
    .p-treatmentSmoking-imageTitle {
        padding-left: .5em;
        padding-right: .5em;
        font-size: 12px
    }
}

.p-treatmentSmoking-imageTitle:nth-child(2) {
    grid-column: 3
}

.p-treatmentSmoking-image {
    grid-column: 1/4
}

.p-treatmentSmoking-image img {
    aspect-ratio: 549/238
}

.p-treatmentDetail-category.c-category-radiusWrap {
    justify-content: center
}

.p-treatmentSmoking-bottomTable {
    padding-left: 3%;
    padding-right: 3%
}

.p-treatmentSmoking-priceTitle {
    display: grid;
    grid-template-columns: repeat(2, auto);
    align-items: center;
    justify-content: center;
    gap: .5em
}

@media screen and (max-width: 768px) {
    .p-treatmentSmoking-priceTitle {
        grid-template-columns: 1fr
    }
}

@media screen and (max-width: 768px) {
    .p-treatmentSmoking-priceTitle .c-category-radius {
        width: -moz-fit-content;
        width: fit-content;
        margin-inline: auto
    }
}

.p-treatmentFat-priceTableArea .p-clinic-priceTable {
    grid-template-columns: 1fr 20% 27%
}

@media screen and (max-width: 768px) {
    .p-treatmentFat-priceTableArea .p-clinic-priceTable {
        grid-template-columns: 25% auto
    }
}

@media screen and (max-width: 425px) {
    .p-treatmentFat-priceTableArea .p-clinic-priceTable {
        grid-template-columns: 45% auto
    }
}

.p-treatmentFat-image {
    display: block;
    max-width: 420px;
    margin-inline: auto
}

.p-selfCheck .p-mv {
    background-image: linear-gradient(to right, #fff 40%, rgba(255, 255, 255, 0.5) 47%, transparent 60%, transparent), url(../images/mv-self-check-pc.jpg);
    background-position: right 60% top;
    position: relative
}

@media screen and (max-width: 1500px) {
    .p-selfCheck .p-mv {
        background-position: right 50% top
    }
}

@media screen and (max-width: 1200px) {
    .p-selfCheck .p-mv {
        background-position: right 35% top
    }
}

@media screen and (max-width: 768px) {
    .p-selfCheck .p-mv {
        background-image: linear-gradient(to right, #fff 36%, rgba(255, 255, 255, 0.5) 44%, transparent 60%, transparent), url(../images/mv-self-check-sp.jpg);
        background-position: right top;
        background-size: contain
    }
}

@media screen and (max-width: 425px) {
    .p-selfCheck .p-mv {
        background-image: url(../images/mv-self-check-sp.jpg);
        aspect-ratio: 3/4
    }
}

.p-selfCheck .p-mv-titleArea {
    padding-top: 200px
}

@media screen and (max-width: 768px) {
    .p-selfCheck .p-mv-titleArea {
        padding-top: 330px;
        padding-bottom: 280px
    }
}

@media screen and (max-width: 425px) {
    .p-selfCheck .p-mv-titleArea {
        padding-top: 73%;
        padding-bottom: initial
    }
}

@media screen and (max-width: 320px) {
    .p-selfCheck .p-mv-titleArea {
        padding-top: 62%
    }
}

.p-selfCheck .p-mv-button {
    position: absolute;
    bottom: .5em;
    left: 50%;
    transform: translateX(-50%)
}

@media screen and (max-width: 768px) {
    .p-selfCheck .p-mv-button {
        bottom: auto;
        top: 83%;
        left: 4%;
        transform: translateX(0%)
    }
}

@media screen and (max-width: 425px) {
    .p-selfCheck .p-mv-button {
        width: 50%
    }
}

.p-mv-button {
    font-size: clamp(20px, 2vw, 30px);
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3em;
    border-radius: 2em;
    width: 250px;
    letter-spacing: .02em;
    background-image: linear-gradient(to top, #26a8ff, #26a8ff 50%, #0099ff 50%, #0099ff)
}

.p-selfCheck-listWrap {
    width: min(780px, 92%)
}

.p-selfCheck-listArea {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(16px, 2vw, 30px) 5%
}

.p-selfCheck-listArea .p-example-aga-checkList {
    display: grid;
    grid-template-columns: 3em 1fr 2em;
    align-items: center;
    justify-content: space-between;
    padding-right: 1em;
    background-color: #fff;
    font-size: clamp(14px, 1.33vw, 20px)
}

.p-selfCheck-listArea .p-example-aga-checkList.aga-checked {
    background-color: #182a52;
    color: #fff;
    transition: linear .3s
}

.p-selfCheck-listArea .p-example-aga-checkBox {
    border: 1px solid #999
}

.p-selfCheck-listNumber {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #666;
    height: 100%;
    align-content: center;
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 700;
    color: #fff
}

.p-selfCheck-listText {
    padding: 1em 5%
}

.p-selfCheck-resultArea {
    display: none
}

.p-selfCheck-numberArea {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    color: #182a52
}

.p-selfCheck-numberTotal {
    font-size: clamp(60px, 6vw, 90px);
    color: #09f
}

.p-selfCheck-commentArea {
    display: grid;
    grid-template-columns: 20% 1fr;
    gap: 3em 5%
}

@media screen and (max-width: 768px) {
    .p-selfCheck-commentArea {
        grid-template-columns: 1fr
    }
}

.p-selfCheck-imageArea {
    display: grid;
    gap: 1em;
    justify-items: center
}

@media screen and (max-width: 768px) {
    .p-selfCheck-imageArea {
        grid-template-columns: min(180px, 50%) 1fr;
        align-items: center;
        justify-items: flex-start;
        width: -moz-fit-content;
        width: fit-content;
        margin-inline: auto
    }
}

.p-selfCheck-commentBox {
    position: relative
}

.p-selfCheck-commentBox.c-roundedBox-white {
    padding: clamp(20px, 2vw, 30px);
    overflow: initial
}

.p-selfCheck-commentBox::before {
    content: "";
    position: absolute;
    margin-top: 8%;
    right: 100%;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: .8em 1.5em .8em 0;
    border-color: rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    filter: drop-shadow(-18px 0 10px rgba(0, 0, 0, 0.19))
}

@media screen and (max-width: 768px) {
    .p-selfCheck-commentBox::before {
        border-width: 0 .2em 1.5em 1em;
        border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0);
        top: auto;
        bottom: 100%;
        right: 85%;
        filter: drop-shadow(0px -12px 10px rgba(0, 0, 0, 0.19))
    }
}

.p-selfCheck-commentBox .c-buttonArrow {
    padding-right: 3.8em;
    color: #182a52
}

.p-selfCheck-commentBox .c-buttonArrow::after {
    background-image: url(../images/arrow-blue.png)
}

.p-selfCheck-result,
.p-selfCheck-buttonArea {
    display: none
}

.p-selfCheck-result .c-title-subText-sec {
    font-size: clamp(18px, 2vw, 30px);
    padding-left: 0;
    padding-right: 0
}

.p-selfCheck-linkWrap {
    width: min(800px, 92%)
}

.p-selfCheck-linkArea {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(10px, 1.07vw, 16px) 5%;
    justify-content: center;
    align-items: center
}

.p-selfCheck-linkText {
    text-decoration: underline
}

.p-recruit-doctorImage {
    display: block;
    max-width: 980px;
    margin-inline: auto
}

.p-recruit-anchorLink-wrap .p-anchorLink-listArea {
    grid-template-columns: repeat(4, 1fr)
}

@media screen and (max-width: 768px) {
    .p-recruit-anchorLink-wrap .p-anchorLink-listArea {
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-recruit-flowWrap {
    padding: clamp(20px, 2.67vw, 40px)
}

.p-recruit-flowWrap .p-clinic-flow-listWrap {
    gap: 1.5em
}

.p-recruit-flowWrap .p-clinic-flow-list {
    width: 22%;
    background-color: #ccebff
}

@media screen and (max-width: 768px) {
    .p-recruit-flowWrap .p-clinic-flow-list {
        width: 100%
    }
}

.p-recruit-contentArea .c-titleS {
    color: #333
}

@media screen and (max-width: 768px) {
    .p-recruit-contentArea .c-titleS {
        font-size: 22px
    }
}

.p-recruit-image {
    display: block;
    width: min(580px, 80%)
}

.p-recruit-image img {
    aspect-ratio: 25/14
}

.p-common-table {
    width: 100%
}

.p-common-table th,
.p-common-table td {
    padding: 1em;
    border: 1px solid #999;
    font-size: clamp(14px, 1.2vw, 18px)
}

.p-common-table th {
    width: 20%;
    text-align: center;
    background-color: #f2f2f2;
    font-weight: normal
}

@media screen and (max-width: 768px) {
    .p-common-table th {
        width: 26%;
        padding: .5em
    }
}

@media screen and (max-width: 320px) {
    .p-common-table th {
        padding: 0
    }
}

.p-common-table td {
    line-height: 1.8
}

@media screen and (max-width: 768px) {
    .p-common-table td {
        padding: .8em
    }
}

.p-common-table a {
    text-decoration: underline;
    word-break: break-all
}

.p-recruit-linkArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
    max-width: 960px
}

@media screen and (max-width: 768px) {
    .p-recruit-linkArea {
        grid-template-columns: 1fr
    }
}

.p-recruit-linkArea .c-buttonArrow:has(.p-recruit-linkText:hover)::after {
    background-image: url(../images/arrow-blue.png)
}

.p-recruit-linkText {
    padding: 1em 2.8em 1em .5em;
    display: block;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: clamp(5px, .67vw, 10px) solid #182a52;
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 700;
    color: #fff;
    background-color: #182a52;
    transition: .2s ease-in-out
}

@media screen and (max-width: 768px) {
    .p-recruit-linkText {
        padding-right: 2em
    }
}

@media(hover: hover)and (pointer: fine) {
    .p-recruit-linkText:hover {
        color: #182a52;
        background-color: #fff;
        transition: .2s ease-in-out
    }
}

.p-media-listBox {
    padding: clamp(20px, 2.67vw, 40px)
}

.p-media-listArea {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: clamp(40px, 5.33vw, 80px) clamp(16px, 2vw, 30px)
}

@media screen and (max-width: 768px) {
    .p-media-listArea {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))
    }
}

@media screen and (max-width: 425px) {
    .p-media-listArea {
        grid-template-columns: 1fr
    }
}

.p-media-listImage {
    border: 1px solid #ccc;
    display: block
}

.p-media-listTextArea {
    padding-left: 5%;
    padding-right: 5%
}

@media screen and (max-width: 768px) {
    .p-media-listTextArea .c-title-line {
        margin: .3em auto .8em
    }
}

.p-media-listTitle {
    display: block;
    color: #182a52;
    text-align: center
}

.p-contentList-title {
    font-size: clamp(20px, 2.13vw, 36px);
    font-weight: 700;
    color: #182a52;
    border-left: 5px solid #333;
    padding-left: .5em
}

@media screen and (max-width: 768px) {
    .p-contentList-title {
        border-left-width: 3px
    }
}

.p-contentList-textArea a {
    text-decoration: underline
}

.p-online .p-mv {
    background-image: linear-gradient(to right, #fff, #fff 35%, rgba(255, 255, 255, 0.5) 42%, transparent 59%, transparent), url(../images/mv-online.jpg);
    background-position: right 20% top
}

@media screen and (max-width: 768px) {
    .p-online .p-mv {
        background-position: 66% top;
        background-image: linear-gradient(to right, #fff, #fff 10%, rgba(255, 255, 255, 0.5) 42%, transparent 66%, transparent), url(../images/mv-online.jpg)
    }
}

@media screen and (max-width: 425px) {
    .p-online .p-mv {
        background-position: 62% top;
        background-image: linear-gradient(to top, #fff 10%, rgba(255, 255, 255, 0.5) 60%, transparent 85%, transparent), url(../images/mv-online.jpg)
    }
}

.p-online-conBoxWrap .p-clinic-menuSystem-box:first-child::after {
    content: none
}

.p-online-conBoxWrap .p-clinic-menuSystem-title {
    font-size: clamp(18px, 1.87vw, 28px);
    color: #fff;
    background-color: #182a52;
    padding: .8em 1em;
    width: min(620px, 75%);
    display: grid;
    top: -2.2em
}

@media screen and (max-width: 768px) {
    .p-online-conBoxWrap .p-clinic-menuSystem-title {
        width: min(560px, 92%);
        padding: .3em .5em
    }
}

.p-online-conBoxWrap .p-clinic-menuSystem-detail {
    padding: clamp(60px, 8.67vw, 130px) clamp(12px, 2.67vw, 40px) clamp(20px, 2.67vw, 40px)
}

.p-online-conBoxWrap .p-clinic-menuSystem-detailText {
    color: #666;
    text-align: center
}

.p-online-conBoxWrap .t-readText {
    text-align: left
}

.p-online-iconArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 10%;
    column-gap: 10%;
    width: min(780px, 100%);
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-online-iconArea {
        -moz-column-gap: 15%;
        column-gap: 15%
    }
}

.p-online-iconImageArea {
    position: relative
}

.p-online-iconImageArea::after {
    content: "";
    width: 30%;
    height: 30%;
    background: url(../images/arr-blue.png) no-repeat center center/contain;
    position: absolute;
    top: 50%;
    left: 96%;
    transform: translateY(-50%)
}

@media screen and (max-width: 768px) {
    .p-online-iconImageArea::after {
        width: 25%;
        left: 107%
    }
}

.p-online-iconImage {
    display: block;
    width: 80%;
    margin-inline: auto
}

.p-online-iconImage img {
    aspect-ratio: 434/367
}

.p-title-boxEmText {
    font-weight: 700;
    color: #182a52;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .2em 1%
}

.p-title-boxEm {
    padding: .2em .4em;
    color: #fff;
    background-color: #182a52
}

@media screen and (max-width: 320px) {
    .p-title-boxEm {
        padding: .2em
    }
}

.p-online-hybridBoxInner {
    width: min(730px, 100%);
    margin-inline: auto
}

.p-bandTitle {
    font-weight: 700;
    color: #fff;
    text-align: center;
    padding: .2em .4em;
    background-color: #666
}

.p-online-hybridImageArea {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 2%
}

@media screen and (max-width: 425px) {
    .p-online-hybridImageArea {
        grid-template-columns: repeat(2, 1fr);
        gap: .5em 15%
    }
}

.p-online-hybridiconImage img {
    aspect-ratio: 447/343
}

.p-changeTextArea {
    display: grid;
    gap: 1.5em;
    align-content: center;
    padding: 0 1.2em
}

@media screen and (max-width: 425px) {
    .p-changeTextArea {
        grid-column: 1/3;
        grid-row: 2;
        gap: .8em
    }
}

.p-changeText {
    display: block;
    padding: .6em .2em;
    font-weight: 700;
    color: #fff;
    text-align: center;
    position: relative;
    z-index: 1
}

.p-changeText::before {
    content: "";
    display: block;
    width: 1.8em;
    height: 2em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1
}

.p-changeText:first-child {
    background-color: #182a52;
    border-radius: 0 1.8em 1.8em 0
}

@media screen and (max-width: 425px) {
    .p-changeText:first-child {
        border-radius: 0 1em 1em 0
    }
}

.p-changeText:first-child::before {
    border-top: 2em solid rgba(0, 0, 0, 0);
    border-bottom: 2em solid rgba(0, 0, 0, 0);
    border-left: 1.8em solid #182a52;
    left: 91%
}

@media screen and (max-width: 425px) {
    .p-changeText:first-child::before {
        left: 96%
    }
}

@media screen and (max-width: 320px) {
    .p-changeText:first-child::before {
        left: 94%
    }
}

.p-changeText:nth-child(2) {
    background-color: #f90;
    border-radius: 1.8em 0 0 1.8em
}

@media screen and (max-width: 425px) {
    .p-changeText:nth-child(2) {
        border-radius: 1em 0 0 1em
    }
}

.p-changeText:nth-child(2)::before {
    border-top: 2em solid rgba(0, 0, 0, 0);
    border-right: 1.8em solid #f90;
    border-bottom: 2em solid rgba(0, 0, 0, 0);
    right: 91%
}

@media screen and (max-width: 425px) {
    .p-changeText:nth-child(2)::before {
        right: 96%
    }
}

@media screen and (max-width: 320px) {
    .p-changeText:nth-child(2)::before {
        right: 94%
    }
}

.p-boxListWrap {
    width: 100%;
    background: url(../images/online-list-bg.jpg) no-repeat right center/contain
}

@media screen and (max-width: 768px) {
    .p-boxListWrap {
        max-width: 420px;
        margin-inline: auto
    }
}

@media screen and (max-width: 425px) {
    .p-boxListWrap {
        background-position: right bottom
    }
}

.p-boxListArea {
    padding-top: 1em;
    display: grid;
    gap: 1em;
    width: -moz-fit-content;
    width: fit-content
}

@media screen and (max-width: 768px) {
    .p-boxListArea {
        padding-bottom: 5em
    }
}

@media screen and (max-width: 425px) {
    .p-boxListArea {
        padding-top: 0;
        padding-bottom: 53vw
    }
}

.p-boxListItem {
    padding: .2em .5em;
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    color: #fff;
    background-color: #182a52
}

.p-online-contactTitle,
.p-online-contactText {
    font-weight: 700;
    text-align: center;
    color: #182a52
}

.p-online-flowWrap .p-radiusTitle {
    padding: .5em;
    width: min(600px, 100%);
    margin-inline: auto;
    background-color: #182a52
}

.p-online-flowWrap .p-clinic-popularMenu-boxTitle {
    background-color: #09f
}

.p-online-notesText {
    font-weight: 700;
    color: #666;
    text-align: center
}

.p-online-contentsList .p-flow-contentsBoxList-imageArea {
    gap: clamp(12px, 2.13vw, 36px);
    align-items: baseline
}

.p-online-contentsList li {
    overflow: hidden
}

.p-online-contentsList li .p-flow-contentsBoxList-number::after {
    height: 300%
}

@media screen and (max-width: 768px) {
    .p-online-contentsList li .p-flow-contentsBoxList-number::after {
        content: ""
    }
}

.p-online-contentsList li:last-child .p-flow-contentsBoxList-number::after {
    content: none
}

@media screen and (max-width: 320px) {
    .p-online-contentsList .p-flow-contentsBoxList-number {
        line-height: 1.2;
        width: 3.2em;
        height: 3.2em
    }
}

.p-online-boxArr {
    position: relative
}

.p-online-boxArr.c-roundedBox-white {
    overflow: initial
}

.p-online-boxArr::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: clamp(10px, 1.2vw, 18px) solid rgba(0, 0, 0, 0);
    border-left: clamp(10px, 1.2vw, 18px) solid rgba(0, 0, 0, 0);
    border-top: clamp(16px, 1.87vw, 28px) solid #182a52;
    border-bottom: 0;
    position: absolute;
    top: calc(100% + clamp(20px, 3vw, 45px));
    left: 50%;
    transform: translateX(-50%)
}

.p-online-movieWrap {
    border-radius: clamp(16px, 2vw, 30px);
    padding: clamp(20px, 2.67vw, 40px) clamp(20px, 2.67vw, 40px) clamp(30px, 4vw, 60px);
    max-width: 920px
}

.p-online-movieSize {
    width: min(560px, 100%);
    margin-inline: auto
}

.p-online-movieArea {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden
}

.p-online-movie {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.p-aga-usuge .p-selfCheck-commentArea {
    max-width: 980px
}

.p-aga-usuge .c-buttonGradation {
    max-width: 760px
}

.p-doctorIntro-imageArea {
    display: grid;
    grid-template-columns: 32% 1fr;
    margin-bottom: 0
}

@media screen and (max-width: 425px) {
    .p-doctorIntro-imageArea {
        grid-template-columns: 1fr
    }
}

.p-doctorIntro-imageArea img {
    height: 100%;
    width: auto
}

@media screen and (max-width: 425px) {
    .p-doctorIntro-imageArea img {
        width: 100%;
        height: auto;
        aspect-ratio: 141/100
    }
}

.p-doctorIntro-textArea {
    padding: clamp(20px, 2.67vw, 40px)
}

.p-doctorIntro-textArea .c-clinicLocation-link {
    width: -moz-fit-content;
    width: fit-content
}

.p-doctorIntro-name {
    font-size: clamp(16px, 1.47vw, 22px);
    font-weight: 700
}

.p-doctorIntro-name a {
    text-decoration: underline
}

.p-usuge-medicineBox {
    padding: clamp(16px, 2vw, 30px);
    background-color: #fff
}

.p-boxTitle {
    font-size: clamp(18px, 1.6vw, 24px);
    font-weight: 700;
    color: #182a52;
    padding: .2em 0 .2em .5em;
    text-align: left;
    border-left: 5px solid #182a52
}

.p-usuge-pageButtonArea {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 1em;
    grid-column: 1/3
}

@media screen and (max-width: 768px) {
    .p-usuge-pageButtonArea {
        grid-template-columns: 1fr;
        grid-column: auto
    }
}

.p-usuge-pageButton {
    width: -moz-fit-content;
    width: fit-content
}

@media screen and (max-width: 768px) {
    .p-usuge-pageButton .c-clinicLocation-link.darkBlueButton .c-buttonArrow {
        padding-right: 3.5em
    }
}

.p-usuge-table {
    width: min(980px, 100%)
}

.p-usuge-table th,
.p-usuge-table td {
    width: 50%;
    border: 1px solid #999;
    padding: clamp(8px, 1.07vw, 16px);
    letter-spacing: .025em
}

.p-usuge-table th {
    background-color: #e7e9ed;
    font-weight: 700;
    vertical-align: middle
}

.p-usuge-table td {
    background-color: #fff;
    vertical-align: top
}

.p-usuge-tableList {
    display: grid;
    gap: .2em
}

.p-usuge-tableList li {
    font-size: clamp(14px, 1.07vw, 16px)
}

.p-treatBox.c-roundedBox-white {
    padding: clamp(20px, 2.67vw, 40px)
}

.p-usuge-priceArea .p-clinic-priceTable {
    grid-template-columns: 60% 1fr
}

@media screen and (max-width: 768px) {
    .p-usuge-priceArea .p-clinic-priceTable {
        grid-template-columns: 1fr
    }
}

.p-usuge-priceArea .p-clinic-priceTable>* {
    padding: clamp(10px, 1.33vw, 20px)
}

.p-usuge-priceArea .p-clinic-priceTitleSum {
    grid-column: 1/3
}

.p-contentsNav {
    width: min(720px, 92%);
    margin-inline: auto;
    padding: 1em 0;
    border: 2px solid #ccc
}

.p-contentsNav-title {
    width: 80%;
    margin-inline: auto;
    background-color: #ccc;
    font-size: clamp(16px, 1.33vw, 20px);
    color: #fff;
    font-weight: 700;
    text-align: center;
    letter-spacing: .2em;
    border-radius: 1em;
    padding: .2em .5em
}

@media screen and (max-width: 768px) {
    .p-contentsNav-title {
        width: 92%
    }
}

.p-contentsNav-list {
    width: 80%;
    display: grid;
    row-gap: .5em
}

@media screen and (max-width: 768px) {
    .p-contentsNav-list {
        width: 92%
    }
}

.p-contentsNav-list li {
    line-height: 1.5;
    display: grid;
    grid-template-columns: 1.5em 1fr;
    align-items: flex-start;
    justify-content: flex-start
}

.p-contentsNav-list li a {
    width: calc(100% - 1.5em);
    text-decoration: underline
}

.p-contentsNav-list li::before {
    content: "";
    width: 1.5em;
    height: 1.5em;
    display: block
}

.p-contentsNav-list li.p-content-check::before {
    background: url(../images/check-icon.png) no-repeat center center/contain;
    width: 1.3em
}

.p-contentsNav-list>li {
    gap: .2em;
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 700
}

.p-contentsNav-list>li::before {
    background: url(../images/content-icon.png) no-repeat center center/contain
}

.p-contentsNav-list:has(.p-contentsNav-subList) {
    row-gap: .6em
}

.p-contentsNav-subList {
    grid-column: 2/3
}

.p-contentsNav-subList>li {
    gap: .2em 0;
    font-size: clamp(12px, 1.07vw, 16px);
    font-weight: 500
}

.p-contentsNav-subList>li:not(.p-content-check)::before {
    content: "繝ｻ"
}

.p-checkList-text {
    display: block;
    width: calc(100% - 2.3em)
}

.p-commentBox {
    position: relative
}

.p-commentBox.c-roundedBox-white {
    padding: clamp(20px, 2vw, 30px);
    overflow: initial;
    height: -moz-fit-content;
    height: fit-content
}

.p-commentBox::before {
    content: "";
    position: absolute;
    margin-top: 4%;
    right: 100%;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: .8em 1.5em .8em 0;
    border-color: rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    filter: drop-shadow(-18px 0 10px rgba(0, 0, 0, 0.19))
}

@media screen and (max-width: 768px) {
    .p-commentBox::before {
        border-width: 0 .2em 1.5em 1em;
        border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0);
        top: auto;
        bottom: 100%;
        right: 85%;
        filter: drop-shadow(0px -12px 10px rgba(0, 0, 0, 0.19))
    }
}

.p-yuutai .p-mv {
    background-image: linear-gradient(to right, #fff, #fff 5%, rgba(255, 255, 255, 0.5) 50%, transparent 66%, transparent), url(../images/mv-yuutai.jpg);
    background-position: top
}

@media screen and (max-width: 768px) {
    .p-yuutai .p-mv {
        background-position: 45% top;
        background-image: linear-gradient(to right, #fff, #fff 3%, rgba(255, 255, 255, 0.5) 62%, transparent 78%, transparent), url(../images/mv-yuutai.jpg)
    }
}

@media screen and (max-width: 425px) {
    .p-yuutai .p-mv {
        background-position: 52% top;
        background-image: linear-gradient(to top, #fff 10%, rgba(255, 255, 255, 0.5) 60%, transparent 85%, transparent), url(../images/mv-yuutai.jpg)
    }
}

.p-yuutai-imageList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5em 2%;
    justify-items: center
}

@media screen and (max-width: 768px) {
    .p-yuutai-imageList {
        grid-template-columns: 1fr
    }
}

.p-yuutai-imageListItem {
    display: grid;
    align-items: center;
    justify-content: flex-start;
    width: -moz-fit-content;
    width: fit-content
}

.p-yuutai-imageListItem:first-child {
    border: clamp(5px, .67vw, 10px) solid #09f
}

.p-yuutai-imageListItem:nth-child(2) {
    border: clamp(5px, .67vw, 10px) solid #2254b2
}

.p-yuutai-imageListItem:nth-child(3) {
    border: clamp(5px, .67vw, 10px) solid #182a52
}

.p-yuutai-imageListText {
    display: block;
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    padding-left: 6%;
    grid-column: 1/2;
    grid-row: 1/2
}

.p-yuutai-imageListImage {
    display: block;
    grid-column: 1/2;
    grid-row: 1/2
}

.p-yuutai-introText {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

.p-yuutai-introText .c-title-subText-sec {
    padding: 0
}

.p-yuutai-contentsBox.c-roundedBox-white {
    padding: clamp(20px, 2.67vw, 40px)
}

.p-yuutai-contentsList {
    width: min(1080px, 100%);
    margin-inline: auto
}

.p-yuutai-contentsList .p-flow-contentsBoxList-imageArea {
    gap: 5%;
    align-items: baseline
}

@media screen and (max-width: 768px) {
    .p-yuutai-contentsList .p-flow-contentsBoxList-number {
        width: 3.2em;
        height: 3.2em;
        line-height: 1
    }
}

@media screen and (max-width: 425px) {
    .p-yuutai-contentsList .p-flow-contentsBoxList-number {
        width: 2.7em;
        height: 2.7em;
        line-height: 1
    }
}

.p-yuutai-contentsList .c-buttonMain>* {
    padding-left: .5em
}

.p-yuutai-detailList {
    padding: clamp(10px, 2.13vw, 36px)
}

.p-yuutai-anchorLinkArea.p-anchorLink-listArea {
    grid-template-columns: repeat(7, 1fr)
}

@media screen and (max-width: 1024px) {
    .p-yuutai-anchorLinkArea.p-anchorLink-listArea {
        grid-template-columns: repeat(4, 1fr)
    }
}

@media screen and (max-width: 768px) {
    .p-yuutai-anchorLinkArea.p-anchorLink-listArea {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media screen and (max-width: 425px) {
    .p-yuutai-anchorLinkArea.p-anchorLink-listArea {
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-yuutai-clinicArea .p-column-2column {
    gap: 1em 5%
}

.p-yuutai-clinicBox.c-roundedBox-white {
    padding: clamp(20px, 2.67vw, 40px) 4% clamp(18px, 2.4vw, 36px)
}

.p-yuutai-clinicBox .p-clinic-infoDetail-tel {
    grid-template-columns: 1fr
}

.p-yuutai-clinicBox .p-clinic-infoDetail-telNumber {
    justify-content: center
}

.p-accordion-contentsList {
    width: 92%;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-accordion-contentsList {
        width: 100%
    }
}

.p-accordion-contentsList-openButton {
    padding: clamp(20px, 2.13vw, 36px) 3.8em clamp(20px, 2.13vw, 36px) 4%;
    background-color: #182a52;
    font-size: clamp(16px, 1.47vw, 22px);
    font-weight: 700;
    display: block;
    width: 100%;
    color: #fff;
    -moz-text-align-last: left;
    text-align-last: left;
    position: relative
}

.p-accordion-contentsList-openButton::before,
.p-accordion-contentsList-openButton::after {
    content: "";
    display: block;
    width: 1.5em;
    height: 2px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    right: 2em
}

.p-accordion-contentsList-openButton::before {
    transform: translate(0, -50%)
}

.p-accordion-contentsList-openButton::after {
    transform: translate(0, -50%) rotate(90deg);
    transition: transform linear .3s
}

.p-accordion-contentsList-openButton.p-accordion-open::after {
    transform: translate(0, -50%) rotate(0);
    transition: transform linear .3s
}

.p-accordion-contentWrap {
    background-color: #fff;
    padding-left: 4%;
    padding-right: 4%;
    display: none
}

.p-accordion-priceBox.c-roundedBox-white {
    padding: clamp(16px, 2.13vw, 36px)
}

.p-accordion-priceBox .c-title-subText-sec {
    color: #182a52;
    padding-right: 0;
    padding-left: 0
}

.p-accordion-priceBox .p-clinic-popularMenu-boxTitle {
    padding-top: .3em;
    padding-bottom: .3em
}

.p-accordion-priceTable {
    display: grid;
    grid-template-columns: 30% 1fr;
    align-items: stretch;
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    color: #666;
    gap: .2em
}

.p-accordion-priceTitle,
.p-accordion-price {
    padding: clamp(8px, 1.07vw, 16px);
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    background-color: #f2faff
}

.p-accordion-priceTitle {
    align-items: center
}

.p-accordion-priceText {
    font-size: clamp(14px, 1.2vw, 18px)
}

.p-accordion-price {
    align-items: flex-end
}

.p-accordion-price .c-emTextL {
    margin-left: 0;
    font-size: clamp(24px, 4vw, 60px)
}

.p-accordion-price .c-txt-accent {
    display: inline-block
}

.p-accordion-price-del {
    position: relative
}

.p-accordion-price-del::after {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #666;
    position: absolute;
    bottom: .8em;
    left: 0
}

.p-yuutai-imageS {
    display: block;
    max-width: 720px;
    margin-inline: auto
}

.p-yuutai-buttonArea.c-buttonMain.c-buttonMain-blue>* {
    padding: 1.3em 3.4em
}

@media screen and (max-width: 768px) {
    .p-yuutai-buttonArea.c-buttonMain.c-buttonMain-blue>* {
        padding-left: 1em;
        padding-right: 2.4em
    }
}

.p-yuutai-buttonArea .p-yuutai-buttonArea {
    width: min(560px, 100%)
}

.p-menu-listItem {
    padding: 1em .5em;
    text-align: center;
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 700;
    color: #182a52;
    background-color: #f2f2f2;
    border-top: 1px dotted #333
}

.p-menu-listItem:last-child {
    border-bottom: 1px dotted #333
}

.p-page-menuTitle {
    font-size: clamp(14px, 1.33vw, 20px);
    font-weight: 700;
    line-height: 2;
    text-align: center
}

.p-yuutai-characterListArea .p-price-treatmentTitle {
    background-color: #09f
}

.p-yuutai-characterListArea .p-price-treatmentList {
    border-color: #09f
}

.p-yuutai-characterInner {
    padding: clamp(20px, 4vw, 60px)
}

.p-yuutai-characterImage {
    display: block;
    max-width: 620px;
    margin-inline: auto
}

.p-refferal-presentListWrap {
    display: grid;
    grid-template-columns: 63% auto 19%;
    gap: 1em 5%;
    align-items: center
}

@media screen and (max-width: 768px) {
    .p-refferal-presentListWrap {
        grid-template-columns: 1fr
    }
}

.p-refferal-presentListArea {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5%
}

.p-refferal-presentListArea .p-refferal-presentList:nth-child(1) .p-refferal-presentText {
    background-color: #a13c3f
}

.p-refferal-presentListArea .p-refferal-presentList:nth-child(2) .p-refferal-presentText {
    background-color: #0055b9
}

.p-refferal-presentListArea .p-refferal-presentList:nth-child(3) .p-refferal-presentText {
    background-color: #534482
}

.p-refferal-presentList-conditioner .p-refferal-presentText {
    background-color: #b1ab9a
}

@media screen and (max-width: 768px) {
    .p-refferal-presentList-conditioner .p-refferal-presentBg {
        width: 30%;
        margin-inline: auto
    }
}

.p-refferal-presentList {
    display: grid
}

.p-refferal-presentBg {
    grid-column: 1/2;
    grid-row: 1/2;
    padding-top: 1.5em
}

.p-refferal-presentImageArea {
    display: grid;
    justify-content: center;
    grid-column: 1/2;
    grid-row: 1/2
}

.p-refferal-presentImage {
    display: block;
    max-width: 89px;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-refferal-presentImage {
        width: clamp(50px, 11.72vw, 90px)
    }
}

.p-refferal-presentText {
    padding: .5em;
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 700;
    color: #fff;
    text-align: center;
    height: -moz-fit-content;
    height: fit-content;
    display: block;
    margin-top: .5em
}

.p-refferal-button {
    cursor: pointer
}

.p-refferal-button-text {
    font-size: clamp(12px, 1.6vw, 24px);
    font-weight: 700;
    padding: 0 2em 0 .5em;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    border: clamp(5px, .67vw, 10px) solid #182a52;
    color: #09f;
    padding: 1em 0;
    transition: .2s ease-in-out
}

.p-refferal-button-text.c-buttonArrow::after {
    background-image: url(../images/arrow-vivid_blue.png);
    right: .8em
}

@media(hover: hover)and (pointer: fine) {
    .p-refferal-button-text:hover {
        color: #fff;
        background-color: #182a52
    }

    .p-refferal-button-text:hover.c-buttonArrow::after {
        background-image: url(../images/arrow-white.png)
    }
}

.p-refferal-contentsBox.c-roundedBox-white {
    padding: clamp(16px, 2.13vw, 36px)
}

.p-refferal-contentsBox .p-flow-contentsBoxList-number::after {
    height: 100vh
}

@media screen and (max-width: 768px) {
    .p-refferal-contentsBox .c-buttonListArea {
        row-gap: 1em
    }
}

.p-line-button.c-buttonMain {
    background-color: #44b47c;
    border-color: #44b47c
}

.p-blue-button.c-buttonMain {
    background-color: #182a52;
    border-color: #182a52
}

@media(hover: hover)and (pointer: fine) {
    .p-line-button:hover {
        background-color: #fff
    }

    .p-line-button:hover .c-buttonMain-text {
        color: #44b47c
    }

    .p-line-button:hover.c-buttonArrow::after {
        background-image: url(../images/arrow-green.png)
    }

    .p-blue-button:hover {
        background-color: #fff
    }

    .p-blue-button:hover .c-buttonMain-text {
        color: #182a52
    }

    .p-blue-button:hover.c-buttonArrow::after {
        background-image: url(../images/arrow-blue.png)
    }
}

.p-refferal-detailListArea {
    padding: clamp(10px, 2.13vw, 36px)
}

.p-refferal-detailList {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: flex-start
}

.p-refferal-detailList::before {
    content: "笆�";
    font-size: clamp(20px, 1.87vw, 28px);
    color: #2254b2;
    padding-right: .2em
}

.p-refferal-consultationArea {
    padding: clamp(10px, 2.13vw, 36px);
    display: grid;
    align-content: space-between
}

.p-refferal-consultationArea .c-buttonMain-blue {
    border: 2px solid #09f
}

@media(hover: hover)and (pointer: fine) {
    .p-refferal-consultationArea .c-buttonMain-blue:hover {
        background-color: #fff
    }

    .p-refferal-consultationArea .c-buttonMain-blue:hover .c-buttonMain-text {
        color: #09f
    }

    .p-refferal-consultationArea .c-buttonMain-blue:hover.c-buttonArrow::after {
        background-image: url(../images/arrow-vivid_blue.png)
    }
}

.p-imported-contentsBox.c-roundedBox-white,
.p-imported-contentsBox.c-roundedBox {
    padding: clamp(20px, 2.67vw, 40px)
}

.p-imported-contentsBox .p-detailListBox-wrap {
    border-radius: 0
}

.p-imported-contentsBox .c-balloonBox {
    font-size: clamp(18px, 1.6vw, 24px);
    padding-left: .2em;
    padding-right: .2em
}

@media screen and (max-width: 768px) {
    .p-imported-contentsBox .p-price-pointContent-checkText {
        align-items: flex-start
    }
}

@media screen and (max-width: 768px) {
    .p-imported-contentsBox .p-price-pointContent-checkText-em {
        width: 100%
    }
}

@media screen and (max-width: 425px) {
    .p-imported-contentsBox .p-price-pointContent-checkText-em {
        width: calc(100% - 2em)
    }
}

.p-imported-medicineListArea {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5em 4%
}

@media screen and (max-width: 768px) {
    .p-imported-medicineListArea {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 425px) {
    .p-imported-medicineListArea {
        grid-template-columns: 1fr
    }
}

.p-imported-riskWrap {
    color: #fff
}

.p-imported-riskWrap .c-titleS {
    color: #fff
}

.p-imported-riskWrap .c-title-line {
    background-color: #fff
}

.p-borderBox {
    padding: clamp(16px, 2.13vw, 36px);
    border: clamp(5px, .67vw, 10px) solid #182a52;
    width: -moz-fit-content;
    width: fit-content
}

.p-imported-boxArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5em 5%
}

@media screen and (max-width: 768px) {
    .p-imported-boxArea {
        grid-template-columns: 1fr;
        justify-items: center
    }
}

.p-imported-boxArea .t-methodBox {
    align-content: flex-start;
    background-color: initial;
    width: 100%;
    padding-left: 4%;
    padding-right: 4%
}

@media screen and (max-width: 768px) {
    .p-imported-boxArea .t-methodBox {
        max-width: 460px
    }
}

.p-imported-boxArea .t-methodBox::before {
    background-color: #f2faff
}

.p-imported-boxArea .t-methodBox .c-titleSS {
    min-height: 3em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center
}

@media screen and (max-width: 768px) {
    .p-imported-boxArea .t-methodBox .c-titleSS {
        min-height: auto
    }
}

.p-imported-boxArea .t-methodBox-title .t-methodBox-titleMain {
    font-size: clamp(30px, 2.13vw, 36px)
}

.p-imported-box {
    border: clamp(5px, .67vw, 10px) solid #182a52;
    padding: 1.5em;
    display: grid;
    justify-items: center
}

.p-imported-leafletImageArea {
    display: block;
    max-width: 960px;
    margin-inline: auto
}

.p-imported-riskContentWrap {
    padding: clamp(20px, 2.67vw, 40px);
    border-radius: clamp(15px, 2vw, 30px);
    background-color: #f2f2f2
}

.p-imported-riskContentWrap .c-titleSS {
    text-align: center;
    border-bottom: 1px dotted #333
}

@media screen and (max-width: 768px) {
    .p-imported-riskContentWrap .c-titleSS {
        -moz-text-align-last: left;
        text-align-last: left
    }
}

.p-imported-riskTitleText {
    background-color: #666;
    color: #fff;
    padding: .2em .5em;
    display: inline-block
}

@media screen and (max-width: 768px) {
    .p-imported-riskTitleText {
        display: block;
        width: -moz-fit-content;
        width: fit-content
    }
}

.p-imported-exampleBox {
    padding: clamp(20px, 2.67vw, 40px);
    color: #333
}

.p-imported-exampleBox .c-title-subText-sec {
    color: #f90
}

.p-imported-exampleTextWrap {
    padding-bottom: clamp(16px, 2vw, 30px);
    border-bottom: 1px dotted #333
}

.p-radiusTitle {
    padding: .2em 1em;
    background-color: #09f;
    color: #fff;
    font-weight: 700;
    border-radius: 2em;
    text-align: center;
    width: -moz-fit-content;
    width: fit-content
}

.p-imported-effectList:not(:last-child) {
    border-bottom: 1px dotted #333
}

.p-imported-characteristicImage {
    max-width: 960px;
    display: block;
    margin-inline: auto
}

.p-side-effects .p-mv {
    background-image: linear-gradient(to top, #fff, #fff 24%, rgba(255, 255, 255, 0.5) 35%, transparent 66%, transparent), url(../images/mv-side-effects.jpg);
    background-position: right top;
    max-width: 1500px;
    margin-inline: auto
}

.p-side-effects .p-mv-titleArea {
    padding-top: clamp(140px, 30vw, 450px);
    padding-bottom: clamp(30px, 7.33vw, 110px)
}

.p-side-effects-pointImage {
    display: block;
    max-width: 580px;
    margin-inline: auto
}

.p-side-effects-boxList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 1em;
    align-items: stretch
}

.p-side-effects-boxListItem {
    padding: clamp(16px, 1.33vw, 20px);
    border: clamp(5px, .67vw, 10px) solid #182a52;
    text-align: center;
    display: flex;
    flex-flow: column;
    justify-content: center;
    background-color: #fff
}

.p-side-effects-riskBox .c-title-subText-sec {
    color: #182a52
}

.p-side-effects-riskBox .p-price-treatmentTitle {
    font-size: clamp(16px, 1.33vw, 20px);
    background-color: #09f
}

.p-side-effects-riskBox .p-price-treatmentList {
    border-color: #09f
}

@media screen and (max-width: 425px) {
    .p-side-effects-riskBox .p-treatment-dataArea {
        grid-template-columns: 1fr
    }
}

.p-side-effects-riskBox .p-treatment-dataArea {
    grid-template-columns: auto 1fr;
    -moz-column-gap: 2em;
    column-gap: 2em
}

.p-cause .p-mv {
    background-image: linear-gradient(to top, #fff, #fff 24%, rgba(255, 255, 255, 0.5) 35%, transparent 66%, transparent), url(../images/mv-cause.jpg);
    background-position: right top;
    max-width: 1500px;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-cause .p-mv {
        aspect-ratio: 62/37;
        background-image: linear-gradient(to top, #fff, #fff 27%, rgba(255, 255, 255, 0.5) 40%, transparent 78%, transparent), url(../images/mv-cause-sp.jpg)
    }
}

@media screen and (max-width: 425px) {
    .p-cause .p-mv {
        background-image: linear-gradient(to top, #fff, #fff 10%, rgba(255, 255, 255, 0.5) 40%, transparent 78%, transparent), url(../images/mv-cause-sp.jpg);
        background-position: right 10% top
    }
}

.p-cause .p-mv-titleArea {
    padding-top: clamp(140px, 30vw, 450px);
    padding-bottom: clamp(30px, 7.33vw, 110px)
}

@media screen and (max-width: 768px) {
    .p-cause .p-mv-titleArea {
        padding-bottom: 0;
        padding-top: 37vw
    }
}

.p-doctorIntro-textArea .p-doctorIntro-name .p-doctorIntro-noLine {
    text-decoration: none
}

.p-cause-detailBox .p-detailListBox-wrap {
    border-radius: 0;
    max-width: 620px;
    margin-inline: auto
}

.p-cause-hairImage {
    display: block;
    max-width: 760px;
    margin-inline: auto
}

.p-cause-button {
    width: 80%;
    margin-inline: auto
}

@media screen and (max-width: 768px) {
    .p-cause-button {
        width: 100%
    }
}

.p-cause-button .c-buttonMain-text {
    padding-right: 10%
}

@media screen and (max-width: 768px) {
    .p-cause-button .c-buttonMain-text {
        padding-right: 12%
    }
}

.p-minoxidil .p-commentBox::before,
.p-propecia .p-commentBox::before,
.p-zagallo .p-commentBox::before {
    margin-top: 5%
}

.p-minoxidil .c-title-subText-sec,
.p-propecia .c-title-subText-sec,
.p-zagallo .c-title-subText-sec {
    font-size: clamp(20px, 2vw, 30px)
}

.p-minoxidil .p-commentBox.c-roundedBox-white,
.p-propecia .p-commentBox.c-roundedBox-white,
.p-zagallo .p-commentBox.c-roundedBox-white {
    min-height: 8.5em
}

@media screen and (max-width: 768px) {

    .p-minoxidil .p-commentBox.c-roundedBox-white,
    .p-propecia .p-commentBox.c-roundedBox-white,
    .p-zagallo .p-commentBox.c-roundedBox-white {
        min-height: auto
    }
}

.p-minoxidil-listBox {
    border-radius: 0;
    padding: clamp(10px, 1.6vw, 24px) 5%
}

.p-minoxidil-listBox .p-detailList:nth-of-type(1) {
    list-style: "1��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(2) {
    list-style: "2��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(3) {
    list-style: "3��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(4) {
    list-style: "4��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(5) {
    list-style: "5��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(6) {
    list-style: "6��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(7) {
    list-style: "7��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(8) {
    list-style: "8��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(9) {
    list-style: "9��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(10) {
    list-style: "10��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(11) {
    list-style: "11��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(12) {
    list-style: "12��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(13) {
    list-style: "13��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(14) {
    list-style: "14��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(15) {
    list-style: "15��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(16) {
    list-style: "16��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(17) {
    list-style: "17��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(18) {
    list-style: "18��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(19) {
    list-style: "19��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(20) {
    list-style: "20��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(21) {
    list-style: "21��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(22) {
    list-style: "22��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(23) {
    list-style: "23��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(24) {
    list-style: "24��"
}

.p-minoxidil-listBox .p-detailList:nth-of-type(25) {
    list-style: "25��"
}

.p-minoxidil-qImage,
.p-propecia-qImage {
    display: block;
    max-width: 720px;
    margin-inline: auto
}

.p-banner-sizeS {
    display: block;
    width: min(100%, 600px);
    margin-left: auto;
    margin-right: auto
}

.p-propecia .p-selfCheck-linkText {
    padding-right: 4.2em;
    color: #182a52
}

.p-propecia .p-selfCheck-linkText.c-buttonArrow::after {
    background-image: url(../images/arrow-blue.png)
}

.p-propecia .c-clinicLocation-link.darkBlueButton {
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 4.2em
}

.p-propecia-commentWrap .p-commentBox::before {
    border-width: 0 .2em 1.5em 1em;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0);
    top: auto;
    bottom: 100%;
    right: 85%;
    filter: drop-shadow(0px -12px 10px rgba(0, 0, 0, 0.19))
}

.p-propecia-image {
    display: block;
    max-width: 720px;
    margin-inline: auto
}

.p-propecia-caseBox {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2em 5%
}

@media screen and (max-width: 768px) {
    .p-propecia-caseBox {
        grid-template-columns: 1fr
    }
}

.p-propecia-caseBox .t-casePhotoCard-imageTitle {
    font-family: "貂ｸ繧ｴ繧ｷ繝�け", YuGothic, "Yu Gothic", "貂ｸ繧ｴ繧ｷ繝�け菴�", "Noto Sans JP";
    font-weight: 700
}

.p-propecia-caseBox .t-casePhotoCard-imageTitle.after .month {
    font-size: clamp(14px, 1.2vw, 18px);
    padding-top: 0
}

.p-propecia-listBox {
    padding: clamp(10px, 1.6vw, 24px)
}

.p-propecia-listBox .p-detailList {
    list-style: "繝ｻ";
    font-size: clamp(14px, 1.33vw, 20px)
}

.p-care-kaizen .c-title-subText-sec {
    font-size: clamp(20px, 2vw, 30px)
}

.p-care-kaizen .c-buttonGradation {
    max-width: 720px
}

.p-care-kaizen .p-usuge-table th {
    background-color: #f2faff
}

.p-linkListArea {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    align-items: center;
    justify-content: center
}

.p-prevention-measures .c-title-subText-sec {
    font-size: clamp(18px, 2vw, 30px)
}

.p-preNav-imageListArea {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 1em 5%;
    justify-items: center;
    justify-content: center
}

@media screen and (max-width: 425px) {
    .p-preNav-imageListArea {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 425px) {
    .p-preNav-imageList:last-child {
        width: 47.5%;
        grid-column: 1/3
    }
}

.p-preNav-image {
    display: block;
    max-width: 200px;
    margin-inline: auto
}

.p-preNav-text {
    font-weight: 700;
    color: #182a52;
    display: grid;
    justify-content: center;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    padding-right: clamp(28px, 3.33vw, 50px)
}

.p-preNav-text::after {
    background-image: url(../images/arrow-blue.png);
    right: .2em
}

.p-aga-thinking .p-price-pointContent-checkListArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .5em 2%
}

@media screen and (max-width: 768px) {
    .p-aga-thinking .p-price-pointContent-checkListArea {
        grid-template-columns: 1fr;
        width: -moz-fit-content;
        width: fit-content;
        margin-inline: auto
    }
}

.p-aga-thinking .p-price-pointContent-checkList {
    justify-content: start
}

@media screen and (max-width: 768px) {
    .p-aga-thinking .p-price-pointContent-checkList {
        justify-content: start;
        height: 3.5em
    }
}

.p-aga-thinking .p-price-pointContent-checkText {
    align-items: center
}

.p-aga-thinking table {
    margin-inline: auto
}

.tbl_basic1 table tr th,
.tbl_basic1 table tr td {
    border: 1px solid #999;
    padding: 15px;
    box-sizing: border-box;
    font-size: 115%;
    font-weight: normal;
    letter-spacing: .025em
}

.tbl_basic1 table tr th {
    text-align: center;
    background: #e8e8e8;
    white-space: nowrap
}

@media screen and (max-width: 768px) {
    .p-aga-thinking table {
        margin-inline: auto;
        width: 1080px
    }

    .tbl_basic1 table tr th,
    .tbl_basic1 table tr td {
        font-size: 95%
    }

    .tbl_basic1 {
        overflow-x: scroll
    }
}

.p-middle_age_check {
    width: min(600px, 100%);
    margin-inline: auto
}

.p-middle_age_check.c-buttonGradation>* {
    padding: clamp(20px, 2.67vw, 40px)
}

.p-consultation-startArea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 2.67vw, 40px)
}

@media screen and (max-width: 768px) {
    .p-consultation-startArea {
        grid-template-columns: 1fr;
        grid-template-rows: auto
    }
}

.p-consultation-startBox.web .c-buttonListArea {
    row-gap: 1em
}

@media screen and (max-width: 768px) {
    .p-consultation-startBox.web .c-buttonListArea {
        row-gap: .5em
    }
}

.p-consultation-startBox.web .c-buttonMain-text {
    width: -moz-fit-content;
    width: fit-content;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .5em;
    justify-content: center;
    justify-items: center;
    margin: auto
}

.p-consultation-startBox.web .c-buttonMain-text::before {
    content: "";
    display: block;
    width: 2.4em;
    height: 2.4em
}

.p-consultation-startBox.web .c-buttonMain-text.medicine::before {
    background: url(../images/icon-medicine.png) no-repeat center center/contain
}

.p-consultation-startBox.web .c-buttonMain-text.virus::before {
    background: url(../images/icon-virus.png) no-repeat center center/contain
}

.p-consultation-startBox.web .c-buttonMain-text.injection::before {
    background: url(../images/icon-injection.png) no-repeat center center/contain
}

.p-consultation-startBox.web .c-buttonMain-text.medical::before {
    background: url(../images/icon-medical.png) no-repeat center center/contain
}

.p-consultation-startBox-title {
    font-size: clamp(24px, 2.13vw, 36px);
    font-weight: 700;
    text-align: center;
    padding-top: clamp(40px, 4.67vw, 70px)
}

.p-consultation-startBox-title.c-title-besideLine::before,
.p-consultation-startBox-title.c-title-besideLine::after {
    background-color: #fff
}

.p-consultation-button {
    border-radius: 5em;
    text-align: center;
    background-color: #fff
}

.p-consultation-button .c-buttonMain-text {
    padding: .5em 2.8em .5em .8em;
    min-height: 3.8em
}

.p-consultation-button .p-consultation-anchorLink {
    padding-right: 1.8em
}

.p-consultation-anchorLink {
    display: grid;
    grid-template-columns: 1fr 1em;
    align-items: center;
    align-content: center;
    justify-items: center
}

.p-consultation-anchorLink::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 8px solid rgba(0, 0, 0, 0);
    border-left: 8px solid rgba(0, 0, 0, 0);
    border-top: 12px solid #fff;
    border-bottom: 0;
    margin-top: .1em
}

.p-consultation-startBox .c-buttonMain-text {
    font-size: clamp(14px, 1.6vw, 24px)
}

.p-consultation-startBox.web {
    background-color: #09f;
    grid-column: 1/3
}

@media screen and (max-width: 768px) {
    .p-consultation-startBox.web {
        grid-column: 1/2
    }
}

.p-consultation-startBox.web .p-consultation-startBox-title {
    background: url(../images/icon-web_reserve.png) no-repeat center top/1.4em
}

.p-consultation-startBox.web .c-buttonMain-text {
    color: #09f
}

.p-consultation-startBox.web .c-buttonArrow::after {
    background-image: url(../images/arrow-vivid_blue.png)
}

.p-consultation-startBox.line {
    background-color: #6c6
}

.p-consultation-startBox.line .p-consultation-startBox-title {
    background: url(../images/icon-line_reserve.png) no-repeat center top/1.4em
}

.p-consultation-startBox.line .c-buttonMain-text {
    color: #6c6
}

.p-consultation-startBox.line .p-consultation-anchorLink::after {
    border-top-color: #6c6
}

.p-consultation-startBox.tel {
    background-color: #2253b2
}

.p-consultation-startBox.tel .p-consultation-startBox-title {
    background: url(../images/icon-tel_reserve.png) no-repeat center top/1.1em
}

.p-consultation-startBox.tel .c-buttonMain-text {
    color: #2254b2
}

.p-consultation-startBox.tel .p-consultation-anchorLink::after {
    border-top-color: #2254b2
}

@media(hover: hover)and (pointer: fine) {
    .p-consultation-startBox .p-consultation-button:hover .c-buttonMain-text {
        color: #fff;
        transition: .2s ease-in-out
    }

    .p-consultation-startBox .p-consultation-button:hover.c-buttonArrow::after {
        background-image: url(../images/arrow-white.png);
        transition: .2s ease-in-out
    }

    .p-consultation-startBox.line .p-consultation-button:hover .p-consultation-anchorLink::after,
    .p-consultation-startBox.tel .p-consultation-button:hover .p-consultation-anchorLink::after {
        border-top-color: #fff;
        transition: .2s ease-in-out
    }
}

.p-consultation-box {
    border: clamp(5px, .67vw, 10px) solid #333
}

.p-consultation-box .p-price-pointContent-checkList {
    padding: 0
}

@media screen and (max-width: 768px) {
    .p-consultation-box .p-price-pointContent-checkList {
        padding-left: 1em;
        padding-right: 1em
    }
}

.p-consultation-box .p-price-pointContent-checkText {
    font-size: clamp(16px, 1.2vw, 18px)
}

.p-consultation-box .p-clinic-flow-listWrap {
    justify-content: center;
    gap: 3em 9%
}

.p-consultation-box .p-clinic-flow-list {
    background-color: #ccebff;
    gap: 1.5em;
    padding-bottom: 1.5em
}

.p-consultation-box .p-clinic-flow-list:not(:last-child)::after {
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #09f;
    right: -19%
}

@media screen and (max-width: 768px) {
    .p-consultation-box .p-clinic-flow-list:not(:last-child)::after {
        right: 50%;
        top: calc(100% + .9em)
    }
}

.p-consultation-box .p-clinic-flow-list .c-title-underLine::after {
    background-color: #fff
}

.p-consultation-box.free,
.p-consultation-box.flow {
    border-color: #09f
}

.p-consultation-box.line .p-consultation-startBox-title,
.p-consultation-box.tel .p-consultation-startBox-title {
    padding-top: .5em
}

.p-consultation-box.line {
    border-color: #6c6
}

.p-consultation-box.line .p-consultation-startBox-title {
    color: #6c6
}

.p-consultation-box.tel {
    border-color: #2254b2
}

.p-consultation-box.tel .p-consultation-startBox-title {
    color: #2254b2
}

.p-consultation-boxButton {
    display: block;
    width: 100%;
    text-align: left;
    position: relative;
    padding: clamp(20px, 1.6vw, 24px) clamp(12px, 2.67vw, 40px)
}

.p-consultation-boxButton::before,
.p-consultation-boxButton::after {
    content: "";
    display: block;
    width: 1em;
    height: 3px;
    background-color: #09f;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 4%
}

.p-consultation-boxButton::after {
    transform: translate(0, -50%) rotate(90deg)
}

.p-consultation-boxButton.p-accordion-open::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 9px solid rgba(0, 0, 0, 0);
    border-left: 9px solid rgba(0, 0, 0, 0);
    border-bottom: 16px solid #999;
    border-top: 0;
    margin-top: .1em;
    background-color: rgba(0, 0, 0, 0)
}

.p-consultation-boxButton.p-accordion-open::after {
    content: none
}

.p-consultation-checkListArea {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5em 2%
}

@media screen and (max-width: 768px) {
    .p-consultation-checkListArea {
        grid-template-columns: 1fr;
        width: min(290px, 100%);
        margin-inline: auto
    }
}

.p-consultation-checkList {
    background-color: #182a52;
    height: 5em;
    display: grid;
    grid-template-columns: clamp(20px, 2.13vw, 36px) auto;
    gap: .2em;
    align-items: center;
    justify-content: center
}

@media screen and (max-width: 768px) {
    .p-consultation-checkList {
        grid-template-columns: clamp(20px, 2.13vw, 36px) 11em;
        padding-left: 2%;
        padding-right: 2%;
        min-height: 3.8em;
        height: auto
    }
}

.p-consultation-checkList::before {
    content: "";
    width: clamp(20px, 2.13vw, 36px);
    height: clamp(20px, 2.13vw, 36px);
    display: block;
    background: url(../images/check-box.png) no-repeat center center/contain
}

.p-consultation-checkText {
    font-weight: 700;
    color: #fff;
    display: block;
    font-size: clamp(14px, 1.2vw, 18px);
    width: -moz-fit-content;
    width: fit-content
}

.p-consultation-checkPlus {
    max-width: 560px;
    position: relative
}

@media screen and (max-width: 768px) {
    .p-consultation-checkPlus {
        width: min(420px, 100%)
    }
}

.p-consultation-checkPlus::before,
.p-consultation-checkPlus::after {
    content: "";
    display: block;
    width: clamp(30px, 4.67vw, 70px);
    height: 3px;
    background-color: #333;
    position: absolute;
    left: 50%;
    transform: translateX(-50%)
}

@media screen and (max-width: 768px) {

    .p-consultation-checkPlus::before,
    .p-consultation-checkPlus::after {
        height: 2px
    }
}

.p-consultation-checkPlus::before {
    top: clamp(32px, 4.67vw, 70px)
}

.p-consultation-checkPlus::after {
    top: clamp(32px, 4.67vw, 70px);
    transform: translateX(-50%) rotate(90deg)
}

.p-consultation-checkPlus .p-consultation-checkList {
    background-color: #09f
}

@media screen and (max-width: 768px) {
    .p-consultation-checkPlus .p-consultation-checkList {
        grid-template-columns: clamp(20px, 2.13vw, 36px) auto
    }
}

.p-consultation-checkPlus .p-consultation-checkText::before {
    background-image: url(../images/check-box-white.png)
}

.p-consultation-cardArea {
    display: grid
}

.p-consultation-cardArea.line {
    grid-template-columns: repeat(3, 1fr)
}

@media screen and (max-width: 768px) {
    .p-consultation-cardArea.line {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 425px) {
    .p-consultation-cardArea.line {
        grid-template-columns: 1fr
    }
}

.p-consultation-cardArea.line li:nth-child(-n+3) {
    border-bottom: 1px solid #333;
    padding-bottom: clamp(20px, 4.67vw, 70px)
}

.p-consultation-cardArea.line li:nth-child(n+4) {
    padding-top: clamp(20px, 4.67vw, 70px)
}

.p-consultation-cardArea.line li:not(:nth-child(3n)) {
    border-right: 1px solid #333
}

@media screen and (max-width: 768px) {
    .p-consultation-cardArea.line li:not(:nth-child(3n)) {
        border-right: none
    }
}

@media screen and (max-width: 768px) {
    .p-consultation-cardArea.line li:nth-child(-n+4) {
        border-bottom: 1px solid #333;
        padding-bottom: clamp(20px, 4.67vw, 70px)
    }
}

@media screen and (max-width: 768px) {
    .p-consultation-cardArea.line li:nth-child(odd) {
        border-right: 1px solid #333
    }
}

@media screen and (max-width: 425px) {
    .p-consultation-cardArea.line li:nth-child(odd) {
        border-right: none
    }
}

@media screen and (max-width: 768px) {
    .p-consultation-cardArea.line li:nth-child(n+3) {
        padding-top: clamp(20px, 4.67vw, 70px)
    }
}

@media screen and (max-width: 425px) {
    .p-consultation-cardArea.line li:nth-child(2) {
        padding-top: clamp(20px, 4.67vw, 70px)
    }
}

.p-consultation-cardArea.line .p-consultation-card {
    justify-items: center;
    padding-left: 7%;
    padding-right: 7%
}

.p-consultation-cardArea.tel {
    grid-template-columns: repeat(2, 1fr)
}

@media screen and (max-width: 768px) {
    .p-consultation-cardArea.tel {
        grid-template-columns: 1fr
    }
}

.p-consultation-cardArea.tel>li:nth-child(-n+2) {
    padding-bottom: 1.5em
}

.p-consultation-cardArea.tel>li:nth-child(3),
.p-consultation-cardArea.tel>li:nth-child(4) {
    padding-top: clamp(20px, 1.6vw, 24px);
    padding-bottom: 1.5em
}

.p-consultation-cardArea.tel>li:nth-child(n+5) {
    padding-top: clamp(20px, 1.6vw, 24px)
}

.p-consultation-cardArea.tel>li:nth-child(-n+4) {
    border-bottom: 1px solid #333
}

.p-consultation-cardArea.tel>li:nth-child(odd) {
    border-right: 1px solid #333;
    padding-right: 3.5%
}

@media screen and (max-width: 768px) {
    .p-consultation-cardArea.tel>li:nth-child(odd) {
        border-right: none;
        padding-right: 0
    }
}

.p-consultation-cardArea.tel>li:nth-child(even) {
    padding-left: 3.5%
}

@media screen and (max-width: 768px) {
    .p-consultation-cardArea.tel>li:nth-child(even) {
        padding-left: 0
    }
}

@media screen and (max-width: 768px) {
    .p-consultation-cardArea.tel>li:not(:last-child) {
        border-bottom: 1px solid #333;
        padding-top: clamp(20px, 1.6vw, 24px);
        padding-bottom: 1.5em
    }
}

@media screen and (max-width: 768px) {
    .p-consultation-cardArea.tel>li:first-child {
        padding-top: 0
    }
}

@media screen and (max-width: 1200px) {
    .p-consultation-cardArea.tel .p-consultation-card .p-column-2columnH {
        grid-template-columns: 45% auto
    }
}

@media screen and (max-width: 1024px) {
    .p-consultation-cardArea.tel .p-consultation-card .p-column-2columnH {
        grid-template-columns: 42% auto
    }
}

@media screen and (max-width: 425px) {
    .p-consultation-cardArea.tel .p-consultation-card .p-column-2columnH {
        grid-template-columns: 1fr;
        row-gap: 1em
    }
}

.p-consultation-card {
    display: grid;
    gap: clamp(10px, 1.33vw, 20px)
}

.p-consultation-clinicNameImage,
.p-consultation-qrImage,
.p-consultation-lineButton {
    display: block
}

.p-consultation-clinicNameImage {
    height: 3.125em
}

@media screen and (max-width: 1500px) {
    .p-consultation-clinicNameImage {
        height: 3.6vw
    }
}

@media screen and (max-width: 768px) {
    .p-consultation-clinicNameImage {
        height: 5.2vw
    }
}

@media screen and (max-width: 425px) {
    .p-consultation-clinicNameImage {
        height: 9.5vw
    }
}

.p-consultation-clinicNameImage img {
    width: auto;
    height: 100%
}

.p-consultation-qrImage {
    max-width: 7.5em
}

.p-consultation-lineButton {
    max-width: 8.125em
}

.p-consultation-cardInfo {
    display: grid;
    align-items: stretch;
    align-content: space-between
}

@media screen and (max-width: 768px) {
    .p-consultation-cardInfo {
        gap: clamp(10px, 1.07vw, 16px)
    }
}

.p-consultation-cardInfo .c-clinicLocation-link {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    margin-top: clamp(10px, 1.07vw, 16px)
}

.p-consultation-typeArea {
    display: grid;
    gap: .2em
}

.p-consultation-type {
    font-size: clamp(14px, 1.07vw, 16px);
    text-align: center;
    padding: .2em .5em;
    border-radius: 1em
}

.p-consultation-type.place {
    background-color: #ccc
}

.p-consultation-type.male {
    color: #fff;
    background-color: #2253b2
}

.p-consultation-type.both {
    color: #fff;
    background-color: #f90
}

.p-consultation-tel {
    padding-left: 1.8em;
    background: url(../images/icon-tel_reserve-blue2.png) no-repeat left center/1.3em;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

.p-consultation-telText {
    font-size: clamp(24px, 2.13vw, 36px);
    font-weight: 700;
    color: #2254b2;
    letter-spacing: .05em
}

.p-consultation-telText.c-underLine::after {
    background-color: #2253b2
}

.remodal:has(.p-consultation-modalWrap) {
    width: 92%;
    max-width: 1200px;
    border-radius: 2em
}

@media screen and (max-width: 768px) {
    .remodal:has(.p-consultation-modalWrap) {
        padding-left: 4%;
        padding-right: 4%;
        height: min(600px, 68%)
    }
}

.p-consultation-modalWrap {
    height: 100%;
    overflow-y: scroll
}

.p-consultation-modalListArea {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1em 4%
}

@media screen and (max-width: 768px) {
    .p-consultation-modalListArea {
        grid-template-columns: 1fr
    }
}

.p-consultation-modalList {
    display: grid;
    justify-items: center;
    gap: 1.2em
}

@media screen and (max-width: 768px) {
    .p-consultation-modalList {
        padding-top: 1em;
        padding-bottom: 2em
    }
}

@media screen and (max-width: 768px) {
    .p-consultation-modalList:not(:last-child) {
        border-bottom: 1px dotted
    }
}

.p-consultation-modalnameImage {
    height: 2em
}

.p-consultation-modalnameImage img {
    width: auto;
    height: 100%
}

.p-consultation-modalListButton {
    font-size: clamp(14px, 1.33vw, 20px);
    padding: 1.2em 2%;
    width: min(320px, 100%);
    background-color: #182a52
}

@media screen and (max-width: 768px) {
    .p-identical_twins-table-wrap {
        overflow-x: scroll
    }
}

@media screen and (max-width: 768px) {
    .p-identical_twins-table {
        width: 780px
    }
}

.p-identical_twins-table.p-common-table th {
    width: auto
}

.p-identical_twins-table.p-common-table td {
    line-height: 1.3;
    text-align: center
}

.p-physical_stimulation .c-title-subText-sec {
    padding-left: 0;
    padding-right: 0
}

.p-physical_stimulation-image {
    display: block;
    max-width: 860px;
    margin-inline: auto
}

.p-care .c-buttonMain {
    width: min(420px, 100%)
}

.p-saison-listWrap .p-treatment-n-contectList-item::before {
    background: url(../images/icon-check-vblue.png) no-repeat center center/contain
}

.p-column-wrap .c-buttonGradation>* {
    padding-top: clamp(20px, 2.67vw, 40px);
    padding-bottom: clamp(20px, 2.67vw, 40px)
}

.p-column-title {
    font-size: clamp(36px, 3.07vw, 46px);
    font-weight: 700;
    color: #182a52;
    padding: .5em .5em .5em 1.5em;
    background-color: #ccebff;
    position: relative
}

@media screen and (max-width: 768px) {
    .p-column-title {
        padding-left: 1em;
        font-size: 26px
    }
}

.p-column-title::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    border-width: .8em .8em 0px 0px;
    border-style: solid;
    border-color: #fff #09f #fff;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, .15)
}

.p-column-titleS {
    font-size: clamp(18px, 1.6vw, 24px);
    font-weight: 700;
    color: #182a52;
    padding: .5em .5em .5em 1em;
    background-color: #f6f6f6;
    border-left: clamp(3px, .33vw, 5px) solid #182a52
}

.p-columns .p-link-simpleBox-wrap {
    grid-template-columns: repeat(5, 1fr);
    -moz-column-gap: 1%;
    column-gap: 1%;
    width: min(96%, 1500px);
    margin-inline: auto
}

@media screen and (max-width: 1200px) {
    .p-columns .p-link-simpleBox-wrap {
        grid-template-columns: repeat(3, 1fr);
        align-items: stretch;
        width: 92%
    }
}

@media screen and (max-width: 768px) {
    .p-columns .p-link-simpleBox-wrap {
        grid-template-columns: repeat(2, 1fr);
        align-items: stretch
    }
}

@media screen and (max-width: 768px) {
    .p-columns .p-simpleBox {
        height: 100%;
        padding-left: 4%;
        padding-right: 4%;
        min-height: 4.3em;
        text-align: center
    }
}

.p-columns .p-column-title::after {
    border-color: #f2f2f2 #09f #f2f2f2
}

.p-columns-nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(10px, 2vw, 30px) 3%
}

@media screen and (max-width: 768px) {
    .p-columns-nav {
        grid-template-columns: 1fr
    }
}

.p-columns-navText {
    display: grid;
    justify-items: center;
    color: #182a52;
    font-size: clamp(14px, 1.33vw, 20px);
    font-weight: 700;
    background-color: #f2faff;
    border: 1px solid #182a52;
    border-radius: 5em;
    padding: .9em 1em .5em
}

.p-columns-navText::after {
    display: block;
    content: "笆ｼ";
    font-size: .75em
}

.p-columns-title {
    font-size: clamp(18px, 1.6vw, 24px);
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin-bottom: clamp(30px, 4vw, 60px);
    padding: .6em 2%;
    border-radius: 2em
}

.p-columns-popular .p-columns-title {
    background-color: #f90;
    letter-spacing: .2em
}

.p-columns-nomal .p-columns-title {
    background-color: #182a52
}

.p-columns-listWrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(10px, 1.33vw, 20px)
}

@media screen and (max-width: 768px) {
    .p-columns-listWrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-columns-listLink {
    display: flex;
    flex-direction: column;
    height: 100%
}

.p-columns-listImage img {
    aspect-ratio: 111/70
}

.p-columns-listTitle {
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 700;
    letter-spacing: -0.02em;
    padding-left: .3em;
    margin: .8em 3% 1em;
    border-left: 4px solid #182a52
}

.p-columns-listText {
    font-size: clamp(12px, 1.07vw, 16px);
    margin-top: auto;
    margin-left: 3%;
    margin-right: 3%
}

.p-columns-list-item {
    background-color: #fff
}

.p-columns-listButton {
    margin-top: auto;
    margin-right: 3%;
    margin-bottom: .5em
}

.p-columns-listButton .c-viewMore {
    padding-right: max(40px, 8%);
    color: #999
}

.p-columns-listButton .c-viewMore::after {
    background-image: url(../images/arrow-glay.png);
    height: 6px;
    right: 0
}

@media screen and (max-width: 425px) {
    .p-column-priceTable-wrap {
        width: 100%;
        overflow-x: scroll
    }
}

.p-column-priceTable {
    width: 100%;
    border: 1px solid #ccc
}

@media screen and (max-width: 425px) {
    .p-column-priceTable {
        width: 540px;
        overflow-x: scroll
    }
}

.p-column-priceTable th {
    background-color: #182a52;
    padding: .5em 0;
    font-size: clamp(14px, 1.33vw, 20px);
    color: #fff;
    border: 1px solid #ccc
}

.p-column-priceTable th:first-child {
    width: 20%
}

@media screen and (max-width: 768px) {
    .p-column-priceTable th:first-child {
        width: 18%
    }
}

.p-column-priceTable th:last-child {
    width: 25%
}

@media screen and (max-width: 768px) {
    .p-column-priceTable th:last-child {
        width: 32%
    }
}

.p-column-priceTable td {
    border: 1px solid #ccc
}

.p-column-priceTable td:first-child {
    padding: .5em;
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 700;
    text-align: center
}

.p-column-priceTable td:not(:first-child) {
    padding: clamp(12px, 1.6vw, 24px) clamp(16px, 2.13vw, 32px);
    font-size: clamp(14px, 1.07vw, 16px)
}

.p-column-priceTable td dt {
    padding-bottom: .3em;
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 700;
    color: #09f
}

.p-column-priceTable-noteText {
    display: none
}

@media screen and (max-width: 425px) {
    .p-column-priceTable-noteText {
        display: block;
        padding-top: 1em
    }
}

.p-faq .p-clinic-question-listArea {
    gap: 2.5em
}

.p-faq .p-clinic-question-list-A .c-buttonMain {
    width: min(420px, 100%)
}

.p-faq .p-clinic-question-list-A .c-buttonMain-text {
    font-size: clamp(16px, 1.33vw, 20px);
    padding: .8em 3.8em .8em 2.8em;
    line-height: 1.3
}

@media screen and (max-width: 768px) {
    .p-faq .p-clinic-question-list-A .c-buttonMain-text {
        padding-left: 5%;
        padding-right: 15%
    }
}

@media screen and (max-width: 1024px) {
    .p-faq .p-clinic-question-list-A .c-buttonListArea {
        grid-template-columns: 1fr
    }
}

.p-faq-linkWrap {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2em 5%
}

@media screen and (max-width: 768px) {
    .p-faq-linkWrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-cp-header .h-headerTop-wrap {
    padding-top: .5em;
    padding-bottom: .5em
}

@media screen and (max-width: 768px) {
    .p-cp-header .h-headerTop-wrap {
        gap: 0
    }
}

@media screen and (max-width: 425px) {
    .p-cp-header .h-headerTop-wrap {
        grid-template-columns: 1fr;
        gap: .5em
    }
}

.p-cp-header .h-headerTop-reserveArea {
    grid-template-columns: repeat(2, 1fr);
    padding-right: 1em;
    gap: .5em;
    height: auto
}

@media screen and (max-width: 768px) {
    .p-cp-header .h-headerTop-reserveArea {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 425px) {
    .p-cp-header .h-headerTop-reserveArea {
        padding-left: 1em
    }
}

.p-cp-header .h-headerTop-reserveLink {
    padding: .8em 2em .8em .3em;
    border-radius: 2em;
    width: 10em
}

@media screen and (max-width: 768px) {
    .p-cp-header .h-headerTop-reserveLink {
        width: auto;
        padding-left: 1em;
        padding-right: 1.5em
    }
}

@media screen and (max-width: 425px) {
    .p-cp-header .h-headerTop-reserveLink {
        padding-top: .5em;
        padding-bottom: .5em
    }
}

.p-cp-header .h-headerTop-reserveLink.web {
    background: url(../images/link-arr.png) no-repeat right 1em center/0.5em #2253b2
}

@media screen and (max-width: 768px) {
    .p-cp-header .h-headerTop-reserveLink.web {
        background: url(../images/link-arr.png) no-repeat right .5em center/0.5em #2253b2
    }
}

.p-cp-header .h-headerTop-reserveLink.tel {
    background: url(../images/link-arr.png) no-repeat right 1em center/0.5em #09f
}

@media screen and (max-width: 768px) {
    .p-cp-header .h-headerTop-reserveLink.tel {
        background: url(../images/link-arr.png) no-repeat right .5em center/0.5em #09f
    }
}

@media screen and (max-width: 768px) {
    .p-vibration-cp .p-vibration-mv-linkText {
        bottom: 16%
    }
}

.p-vibration-cp-top {
    position: relative
}

.p-vibration-cp-top::before {
    content: "";
    background-color: #182a52;
    width: 100%;
    height: 3em;
    -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0%);
    clip-path: polygon(0 0, 50% 100%, 100% 0%);
    position: absolute;
    top: 99.8%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1
}

.p-vibration-cp-line-text {
    padding-top: clamp(14px, 1.07vw, 16px);
    padding-bottom: clamp(14px, 1.07vw, 16px);
    background-color: #ffff64;
    border-radius: 5em
}

.p-vibration-cp-top-title {
    display: grid;
    font-size: clamp(28px, 6vw, 90px);
    font-family: "Noto Serif JP", serif
}

.p-vibration-cp-top-title-en {
    font-size: clamp(16px, 6.27vw, 94px);
    color: #2a3e66
}

.p-vibration-cp-monitor {
    background: url(../images/vibration-cp-bg.png) no-repeat top center/cover
}

.p-vibration-cp-monitor-title {
    font-size: clamp(30px, 5.6vw, 84px);
    font-family: "Noto Serif JP", serif;
    color: #192a52;
    text-shadow: 4px 4px 0 rgba(255, 255, 255, .4), -4px -4px 0 rgba(255, 255, 255, .4), -4px 4px 0 rgba(255, 255, 255, .4), 4px -4px 0 rgba(255, 255, 255, .4), 4px 0 0 rgba(255, 255, 255, .4), -4px 0 0 rgba(255, 255, 255, .4), 0 4px 0 rgba(255, 255, 255, .4), 0 -4px 0 rgba(255, 255, 255, .4);
    padding-top: 2em;
    background: url(../images/vibration-cp-title-bg.png) no-repeat top center/19%
}

@media screen and (max-width: 425px) {
    .p-vibration-cp-monitor-title {
        padding-top: 2.5em;
        background: url(../images/vibration-cp-title-bg.png) no-repeat top center/30%
    }
}

.p-vibration-cp-monitor-detail {
    padding-left: 39%;
    padding-bottom: 8em;
    position: relative
}

@media screen and (max-width: 768px) {
    .p-vibration-cp-monitor-detail {
        padding-bottom: 4em;
        padding-left: 44%;
        padding-right: 0
    }
}

@media screen and (max-width: 425px) {
    .p-vibration-cp-monitor-detail {
        padding-left: 35%
    }
}

@media screen and (max-width: 320px) {
    .p-vibration-cp-monitor-detail {
        padding-left: 30%
    }
}

.p-vibration-cp-monitor-detail::before {
    content: "";
    width: 100%;
    height: 95%;
    display: block;
    background: url(../images/vibration-cp-free.png) no-repeat center center/contain;
    position: absolute;
    bottom: 0;
    left: 0
}

@media screen and (max-width: 320px) {
    .p-vibration-cp-monitor-detail::before {
        width: 90%
    }
}

.p-vibration-cp-monitor-before {
    width: -moz-fit-content;
    width: fit-content;
    position: relative
}

.p-vibration-cp-monitor-before::before {
    content: "";
    width: 104%;
    height: 2px;
    display: block;
    background-color: #f90;
    position: absolute;
    top: .8em;
    left: 50%;
    transform: translateX(-50%)
}

.p-vibration-cp-monitor-detail-price {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .5em
}

.p-vibration-cp-monitor-detail-price .num {
    font-size: clamp(32px, 9.33vw, 150px)
}

.p-vibration-cp-monitor-detail-price .yen {
    font-size: clamp(26px, 6.67vw, 100px)
}

.p-vibration-cp-monitor-detail-free span {
    color: #ff0
}

.p-vibration-cp-monitor-detail-num {
    background: linear-gradient(180deg, transparent 0%, transparent 68%, #ffff64 68%, #ffff64 100%)
}

.p-vibration-cp-notes {
    background-color: #ffff64;
    padding-top: .8em;
    padding-bottom: .8em;
    padding-left: 4%;
    padding-right: 4%
}

.p-vibration-cp-monitor-no .p-vibration-cp-monitor-detail {
    padding-bottom: 0;
    padding-left: 27%;
    width: 80%;
    margin-inline: auto
}

@media screen and (max-width: 1024px) {
    .p-vibration-cp-monitor-no .p-vibration-cp-monitor-detail {
        width: 90%
    }
}

@media screen and (max-width: 768px) {
    .p-vibration-cp-monitor-no .p-vibration-cp-monitor-detail {
        width: 100%;
        padding-left: 30%
    }
}

@media screen and (max-width: 425px) {
    .p-vibration-cp-monitor-no .p-vibration-cp-monitor-detail {
        padding-left: 32%
    }
}

@media screen and (max-width: 320px) {
    .p-vibration-cp-monitor-no .p-vibration-cp-monitor-detail {
        padding-left: 25%
    }
}

.p-vibration-cp-monitor-no .p-vibration-cp-monitor-detail::before {
    background: url(../images/vibration-cp-date.png) no-repeat left 1% center/contain
}

@media screen and (max-width: 1024px) {
    .p-vibration-cp-monitor-no .p-vibration-cp-monitor-detail::before {
        background: url(../images/vibration-cp-date.png) no-repeat left 0 top/190px
    }
}

@media screen and (max-width: 768px) {
    .p-vibration-cp-monitor-no .p-vibration-cp-monitor-detail::before {
        width: 34%;
        height: 110%;
        background-size: clamp(110px, 23.44vw, 160px);
        top: 0;
        bottom: auto
    }
}

@media screen and (max-width: 425px) {
    .p-vibration-cp-monitor-no .p-vibration-cp-monitor-detail::before {
        width: 28%;
        background-size: contain
    }
}

@media screen and (max-width: 320px) {
    .p-vibration-cp-monitor-no .p-vibration-cp-monitor-detail::before {
        width: 23%
    }
}

.p-vibration-cp-monitor-no .p-vibration-cp-monitor-detail-price .num {
    font-size: clamp(32px, 6vw, 90px)
}

.p-vibration-cp-monitor-no-title {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    font-family: "Noto Serif JP", serif
}

.p-vibration-cp-monitor-no-title span {
    display: inline;
    background: linear-gradient(180deg, transparent 0%, transparent 94%, #182a52 95%, #182a52 100%)
}

.p-vibration-cp-recommend {
    background: url(../images/vibration-cp-bottom-bg.png) no-repeat right bottom/62%, #e5e5e5
}

.p-vibration-cp-recommend .p-vibration-cp-top-title {
    transform: translateY(-0.35em)
}

@media screen and (max-width: 768px) {
    .p-vibration-cp-recommend .p-vibration-cp-top-title {
        transform: translateY(-0.28em)
    }
}

.p-vibration-cp-recommend .p-vibration-cp-top-title-en {
    color: #d9dadb
}

@media screen and (max-width: 768px) {
    .p-vibration-cp-list {
        display: grid;
        gap: 3em
    }
}

.p-vibration-cp-list-item {
    padding-left: 26%;
    padding-right: 4%;
    min-height: 420px;
    display: grid;
    align-content: center;
    gap: 1em;
    position: relative
}

@media screen and (max-width: 768px) {
    .p-vibration-cp-list-item {
        min-height: auto;
        padding-left: 25%;
        padding-right: 0
    }
}

@media screen and (max-width: 425px) {
    .p-vibration-cp-list-item {
        padding-left: 20%
    }
}

.p-vibration-cp-list-item::before {
    content: "";
    width: 33%;
    height: 100%;
    display: block;
    position: absolute;
    bottom: 0;
    left: 10%
}

@media screen and (max-width: 768px) {
    .p-vibration-cp-list-item::before {
        height: 150px;
        bottom: -1em
    }
}

@media screen and (max-width: 425px) {
    .p-vibration-cp-list-item::before {
        left: 0;
        bottom: -2em
    }
}

.p-vibration-cp-list-item:nth-child(1)::before {
    background: url(../images/vibration-cp-list01.png) no-repeat center center/contain
}

@media screen and (max-width: 768px) {
    .p-vibration-cp-list-item:nth-child(2) {
        margin-bottom: 2em
    }
}

.p-vibration-cp-list-item:nth-child(2)::before {
    background: url(../images/vibration-cp-list02.png) no-repeat center center/contain
}

.p-vibration-cp-list-item:nth-child(3)::before {
    background: url(../images/vibration-cp-list03.png) no-repeat center center/contain
}

.p-vibration-cp-list-text {
    padding-left: 26%
}

@media screen and (max-width: 425px) {
    .p-vibration-cp-list-text {
        padding-left: 20%
    }
}

.p-vibration-cp-list-line {
    display: grid;
    gap: .5em
}

.p-vibration-cp-list-line-text {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 26%;
    padding-right: .8em
}

@media screen and (max-width: 425px) {
    .p-vibration-cp-list-line-text {
        padding-left: 20%
    }
}

.p-vibration-cp-terms-list {
    display: flex;
    gap: .4em 1em;
    justify-content: center;
    flex-wrap: wrap
}

@media screen and (max-width: 768px) {
    .p-vibration-cp-terms-list {
        justify-content: flex-start
    }
}

.p-vibration-cp-cta .c-buttonGradation {
    max-width: 900px
}

.p-vibration-cp .p-vibration-reasonArea .t-methodBox {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 3 span;
    text-align: left
}

.p-vibration-cp .p-vibration-reasonArea .t-methodBox-title {
    text-align: center
}

.p-vibration-cp .p-mv-vibrationImage {
    padding-top: 75px
}

.p-vibration-cp .p-mv-vibrationImage img {
    aspect-ratio: 2/1
}

@media screen and (max-width: 768px) {
    .p-vibration-cp .p-mv-vibrationImage img {
        aspect-ratio: auto
    }
}

.p-vibration-cp .t-casePhotoCard-imageTitle {
    font-family: "貂ｸ繧ｴ繧ｷ繝�け", YuGothic, "Yu Gothic", "貂ｸ繧ｴ繧ｷ繝�け菴�", "Noto Sans JP"
}

.p-vibration-cp .t-casePhotoCard-imageArea {
    gap: .5em 1.5em
}

@media screen and (max-width: 768px) {
    .p-vibration-cp .t-casePhotoCard-imageArea {
        grid-template-columns: 1fr;
        grid-template-areas: "titleB" "imageB" "titleA" "imageA"
    }
}

@media screen and (max-width: 768px) {
    .p-vibration-cp .t-casePhotoCard-image.before::before {
        width: 1.5em;
        height: 2.5em;
        top: auto;
        bottom: -2.5em;
        left: 50%;
        right: auto;
        transform: translateY(0) translateX(-50%) rotate(90deg)
    }
}

.p-vibration-cp-box-text {
    border: 1px solid #333;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: .5em;
    padding-right: .5em;
    margin-bottom: 1em
}

.p-vibration-cp-case-image {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .5em
}

@media screen and (max-width: 768px) {
    .p-vibration-cp-case-image:not(:last-child) {
        margin-bottom: 2em
    }
}

.p-vibration-cp-case-cont {
    position: relative
}

.p-vibration-cp-case-label {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #333;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: .5em;
    padding-right: .5em;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    bottom: .2em;
    right: .2em;
    background: #fff;
    font-size: 12px
}

@media screen and (max-width: 425px) {
    .h-headerTop-reserveArea-fixed {
        width: 100%;
        position: fixed;
        bottom: 0;
        left: 0;
        background: #fff;
        padding-top: 1em;
        padding-bottom: 1em
    }
}

.p-finasteride-actionTable .p-column-priceTable th {
    background-color: #999
}

.p-finasteride-actionTable .p-column-priceTable th:first-child {
    width: 33%
}

.p-finasteride-actionTable .p-column-priceTable th:last-child {
    width: 33%
}

.p-finasteride-actionTable .p-column-priceTable td {
    padding: clamp(12px, 1.6vw, 24px) clamp(16px, 2.13vw, 32px);
    font-size: clamp(14px, 1.07vw, 16px);
    text-align: left;
    font-weight: 400
}

.p-finasteride-actionTable .p-column-priceTable td:first-child .p-finasteride-actionArr {
    background-color: #ccebff
}

.p-finasteride-actionTable .p-column-priceTable td:nth-child(2) .p-finasteride-actionArr {
    background-color: #09f
}

.p-finasteride-actionTable .p-column-priceTable td:nth-child(2) .p-finasteride-actionArr::after {
    background-color: #09f
}

.p-finasteride-actionTable .p-column-priceTable td:nth-child(3) .p-finasteride-actionArr {
    background-color: #2f53ac
}

.p-finasteride-actionTable .p-column-priceTable td:nth-child(3) .p-finasteride-actionArr::after {
    background-color: #2f53ac
}

@media screen and (max-width: 768px) {
    .p-finasteride-actionTable-box {
        overflow-x: scroll
    }
}

@media screen and (max-width: 768px) {
    .p-finasteride-actionTable-box .p-column-priceTable {
        width: 720px
    }
}

.p-finasteride-actionArr {
    width: 90%;
    padding-top: .8em;
    padding-bottom: .8em;
    padding-right: .2em;
    padding-left: .2em;
    position: relative
}

.p-finasteride-actionArr::after {
    content: "";
    background-color: #ccebff;
    width: 3em;
    height: 100%;
    -webkit-clip-path: polygon(0 0, 0% 100%, 50% 50%);
    clip-path: polygon(0 0, 0% 100%, 50% 50%);
    position: absolute;
    top: 50%;
    left: 99.5%;
    transform: translateY(-50%)
}

.p-finasteride-actionA-text {
    text-align: center;
    font-weight: 700;
    display: grid;
    grid-template-columns: 2em auto;
    justify-content: center;
    align-items: center;
    gap: .5em
}

.p-finasteride-actionA-text::before {
    content: "";
    display: block;
    width: 2em;
    height: 2em
}

.p-finasteride-actionA-text.triangle::before {
    background: url(../images/mark-triangle.png) no-repeat center center/contain
}

.p-finasteride-actionA-text.circle::before {
    background: url(../images/mark-circle.png) no-repeat center center/contain
}

.p-finasteride-actionA-text.d-circle::before {
    background: url(../images/mark-d-circle.png) no-repeat center center/contain
}

.p-finasuteride-effect-table.p-beginner-table3column tr:first-child th:first-child {
    width: 12%
}

.p-finasuteride-effect-table.p-beginner-table3column tr:first-child th:nth-child(2) {
    width: 18%
}

.p-finasuteride-effect-table.p-beginner-table3column tr:first-child th:nth-child(3) {
    width: 18%
}

@media screen and (max-width: 425px) {
    .p-finasuteride-effect-table table {
        width: 560px
    }
}

.p-selfCheck-new {
    display: block;
    background-color: #fff;
    border-radius: 20px;
    padding: clamp(1em, 3vw, 2em);
    width: min(1250px, 92%);
    margin-inline: auto;
    box-shadow: 0px 0px 32px 0px rgba(0, 0, 0, .2);
    margin-bottom: clamp(2em, 5vw, 5em)
}

.p-selfCheck-NewPage .p-mv {
    background-image: linear-gradient(to right, #fff 40%, rgba(255, 255, 255, 0.5) 47%, transparent 60%, transparent), url(../images/mv-self-check-new-pc.jpg);
    background-position: right 60% top;
    position: relative
}

.p-selfCheck-new h3 {
    font-size: clamp(17px, 3vw, 24px);
    color: #182a52;
    font-weight: 800;
    display: flex;
    align-items: center;
    margin-bottom: 1em
}

.p-selfCheck-new .check_icon {
    width: min(50px, 90%);
    margin-right: .5em
}

.p-selfCheck-new .error {
    padding-top: 0;
    padding-bottom: 1em
}

.under {
    -webkit-text-decoration: underline solid #000;
    text-decoration: underline solid #000
}

.selfCheck-checkBox-new {
    background-color: #f2f2f2;
    padding: .8em;
    margin-bottom: .5em;
    font-size: clamp(14px, 3vw, 20px);
    display: flex;
    align-items: center
}

.aga-new-checked {
    background-color: #182a52;
    color: #fff;
    transition: linear .3s
}

.p-selfCheck-NewPage .selfCheck-checkBox-new .aga-new-checked {
    background-color: #182a52;
    color: #fff;
    transition: linear .3s
}

.p-selfCheck-NewPage .aga-new-checked {
    background-color: #182a52;
    color: #fff;
    transition: linear .3s
}

.selfCheck-radio-new {
    width: 100%;
    margin-bottom: .5em
}

.selfCheck-radio-new input {
    display: none
}

.selfCheck-radio-new label {
    display: flex;
    width: 100%;
    background-color: #f2f2f2;
    padding: .8em;
    margin-bottom: .5em;
    font-size: clamp(14px, 3vw, 20px);
    align-items: center;
    position: relative;
    padding: .8em
}

.selfCheck-radio-new span {
    display: block;
    width: 100%;
    padding-left: 1em;
    padding-right: 4px
}

.selfCheck-radio-new label::before,
.selfCheck-radio-new input:checked+label::before {
    content: "";
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 1em;
    transform: translate(-50%, -50%);
    border: 1px solid #999
}

.selfCheck-radio-new input:checked+label::after {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #09f;
    position: absolute;
    top: 50%;
    left: 1em;
    transform: translate(-50%, -50%)
}

.selfCheck-radio-new input:checked+label {
    color: #fff;
    background-color: #182a52;
    transition: linear .3s
}

.p-selfCheck-NewPage input[type=checkbox] {
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.p-selfCheck-NewPage input[type=checkbox] {
    position: relative;
    width: 16px;
    height: 16px;
    margin-right: .5em;
    background-color: #fff;
    border: 1px solid #999;
    vertical-align: -5px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.p-selfCheck-NewPage input[type=checkbox]:checked:before {
    position: absolute;
    top: 1px;
    left: 4px;
    transform: rotate(39deg);
    width: 6px;
    height: 9px;
    border-right: 2px solid #09f;
    border-bottom: 2px solid #09f;
    content: ""
}

.p-selfCheck-NewPage .p-selfCheck-resultArea {
    background-color: #fff;
    padding-top: clamp(2em, 5vw, 4em)
}

.p-selfCheck-NewPage .p-result-ttl {
    font-size: clamp(15px, 3vw, 24px);
    letter-spacing: .5em;
    color: #fff;
    background-color: #182a52;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    padding: .5em 7em;
    border-radius: 10px
}

.p-selfCheck-NewPage .p-selfCheck-commentArea {
    background-color: #182a52;
    position: relative;
    border-radius: 20px;
    padding: clamp(1em, 4vw, 3em);
    box-shadow: 0px 0px 32px 0px rgba(0, 0, 0, .2);
    align-items: center;
    margin-bottom: clamp(4em, 8vw, 6em)
}

@media screen and (max-width: 768px) {
    .p-selfCheck-NewPage .p-selfCheck-commentArea {
        gap: 1em 5%
    }
}

.p-selfCheck-NewPage .p-selfCheck-commentArea:after {
    position: absolute;
    content: "";
    top: 99%;
    left: 0;
    right: 0;
    margin-inline: auto;
    border: 30px solid rgba(0, 0, 0, 0);
    border-top: 51px solid #182a52;
    width: 0;
    height: 0
}

.p-selfCheck-NewPage .c-buttonMain {
    width: min(500px, 92%);
    margin-inline: auto
}

.p-selfCheck-NewPage .p-selfCheck-imageArea {
    color: #fff
}

.p-selfCheck-NewPage .p-selfCheck-commentBox::before {
    display: none
}

.p-selfCheck-NewPage .p-selfCheck-resultcomment {
    background: linear-gradient(transparent 53%, #f2faff 53%)
}

.p-selfCheck-comment-ttl {
    font-size: clamp(18px, 2vw, 26px);
    color: #09f;
    font-weight: 800;
    background-color: #fff;
    border-radius: 50px;
    padding: .5em 1.3em;
    margin-bottom: .6em
}

.p-selfCheck-comment {
    color: #fff;
    border-bottom: 1px dotted #f1f1f1;
    display: inline;
    padding-bottom: .4em;
    font-size: clamp(14px, 1.33vw, 20px);
    line-height: 2.7
}

.p-selfCheck-NewPage .c-roundedBox {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 2em;
    column-gap: 2em
}

@media screen and (max-width: 768px) {
    .p-selfCheck-NewPage .c-roundedBox {
        grid-template-columns: auto;
        row-gap: 1em
    }
}

.p-treatment-selfCheck-New {
    border-radius: clamp(15px, 2vw, 30px);
    overflow: hidden;
    box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, .19);
    padding: 1.6em 2.3em;
    background-color: #fff
}

@media screen and (max-width: 768px) {
    .p-treatment-selfCheck-New {
        padding: .8em 1em
    }
}

.p-treatment-selfCheck-New-medicine .p-price-n-list-inner {
    align-items: center
}

.p-selfCheck-NewPage .p-treatment-n-grow .c-title-sideLine {
    border-left-color: #999;
    font-weight: 800
}

.p-selfCheck-NewPage .c-title-sideLine {
    padding-left: 1em
}

.p-selfCheck-NewPage .p-treatment-n-grow .p-treatment-ttl span {
    color: #09f;
    font-size: clamp(18px, 4vw, 30px);
    font-weight: 700
}

.p-selfCheck-NewPage .p-treatment-n-grow .c-title-sideLine em {
    font-size: clamp(22px, 4vw, 36px)
}

.p-selfCheck-NewPage .p-treatment-ttl h3 {
    font-weight: 800;
    color: #182a52
}

.p-selfCheck-New-treatment-dtl {
    grid-column: 1/4
}

.p-selfCheck-NewPage .p-treatment-n-contectWrap.p-treatment-n-contect-textArea {
    grid-template-columns: 36% 1fr;
    gap: clamp(16px, 2.13vw, 36px) 2%
}

.p-selfCheck-NewPage .p-treatment-n-contectWrap {
    gap: clamp(16px, 2vw, 25px) 4%
}

@media screen and (max-width: 768px) {
    .p-selfCheck-NewPage .p-treatment-n-contectWrap {
        grid-template-columns: auto
    }
}

.p-selfCheck-NewPage .p-treatment-n-contect-text {
    grid-column: 3/4
}

.p-selfCheck-NewPage .p-treatment-price-ttl {
    font-size: clamp(24px, 3vw, 36px);
    color: #333
}

.p-treatment-price li {
    background-color: #f2f2f2;
    padding: clamp(1em, 3vw, 1.5em) clamp(1em, 3vw, 1.5em)
}

.p-selfCheck-NewPage .p-price-n-list-inner p {
    line-height: 1.8
}

.p-selfCheck-NewPage .p-clinicList-wrap {
    box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, .19);
    padding: 1.6em 2.3em;
    background-color: #fff;
    border-radius: clamp(15px, 2vw, 30px)
}

@media screen and (max-width: 768px) {
    .p-selfCheck-NewPage .p-clinicList-wrap {
        padding: .8em 1em
    }
}

.p-selfCheck-NewPage .p-presentArea {
    font-size: clamp(13px, 2vw, 16px)
}

.p-aga-usuge .innerS .p-aga-biginner-button {
    display: block;
    width: 100%;
    max-width: 600px;
    margin: 50px auto 0px
}

.p-aga-usuge .innerS .p-aga-biginner-button img {
    margin: 0 auto
}

.p-minoxidil .p-doctorIntro-imageArea,
.p-zagallo .p-doctorIntro-imageArea {
    align-items: center
}

@media screen and (max-width: 768px) {
    .p-zagallo .p-doctorIntro-imageArea {
        grid-template-columns: 1fr
    }
}

.p-treatment-medicine-title-button {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

.p-treatment-medicine-button-group {
    display: flex;
    grid-template-columns: repeat(2, 1fr);
    gap: .5em 2%;
    flex-wrap: wrap;
    justify-content: center
}

.p-treatment-medicine-button-group .c-clinicLocation-link {
    color: #fff;
    background-color: #09f;
    width: max(30%, 180px)
}

.p-treatment-medicine-button-group .c-clinicLocation-link.blueButton .c-buttonArrow {
    padding-right: 0;
    width: 100%
}

.p-beginner-usuge .c-buttonMain>* {
    padding: 1.3em 14% 1.3em 3%
}

.p-beginner-usuge .p-beginner-medicine-title {
    position: relative;
    font-size: clamp(18px, 1.6vw, 24px);
    font-weight: 600;
    color: #182a52;
    margin: .5em 0 .8em
}

.p-beginner-usuge .p-beginner-medicine-text {
    display: block;
    width: 76%
}

@media screen and (max-width: 768px) {
    .p-beginner-usuge .p-beginner-medicine-text {
        width: 100%
    }
}

.p-beginner-usuge .p-beginner-imageL {
    display: block;
    width: min(920px, 100%);
    margin-inline: auto
}

.p-beginner-usuge .p-beginner-box .p-treatment-n-detailWrap {
    width: min(960px, 100%)
}

.name-circle {
    display: flex;
    flex-flow: column;
    width: 225px;
    height: 225px;
    background-color: #fff;
    border-radius: 50%;
    line-height: 1.9;
    justify-content: center;
    position: absolute;
    right: calc((100vw - 1500px)/2 + 1.5%);
    bottom: 4%
}

@media screen and (max-width: 1500px) {
    .name-circle {
        right: 3.2%
    }
}

@media screen and (max-width: 1200px) {
    .name-circle {
        right: 7%
    }
}

@media screen and (max-width: 1024px) {
    .name-circle {
        width: 205px;
        height: 205px;
        right: 4.5%
    }
}

@media screen and (max-width: 768px) {
    .name-circle {
        width: 235px;
        height: 235px;
        right: 2%;
        bottom: 2%
    }
}

@media screen and (max-width: 425px) {
    .name-circle {
        width: -moz-fit-content;
        width: fit-content;
        height: auto;
        right: 2%;
        padding: 2%;
        bottom: 2%;
        border-radius: 3%;
        position: initial;
        margin-right: 4%;
        margin-left: auto
    }
}

.name-circle .name-circle-ttl {
    font-size: 26px
}

@media screen and (max-width: 1024px) {
    .name-circle .name-circle-ttl {
        font-size: 23px
    }
}

@media screen and (max-width: 425px) {
    .name-circle .name-circle-ttl {
        font-size: 18px
    }
}

.name-circle .name-circle-prefecture {
    font-size: 16px
}

@media screen and (max-width: 1024px) {
    .name-circle .name-circle-prefecture {
        font-size: 14px
    }
}

.name-circle .name-circle-doctor {
    font-size: 16px
}

@media screen and (max-width: 768px) {
    .name-circle .name-circle-doctor {
        font-size: 20px
    }
}

@media screen and (max-width: 425px) {
    .name-circle .name-circle-doctor {
        font-size: 18px
    }
}

@media screen and (max-width: 425px) {
    .p-selfCheck .p-mv {
        margin-bottom: 130px
    }
}

@media screen and (max-width: 425px) {
    .p-selfCheck .p-mv-button {
        top: 104%;
        left: 50%;
        transform: translateX(-50%)
    }
}

.p-minoxiB-study .p-mv {
    background-image: linear-gradient(to right, #fff, #fff 25%, rgba(255, 255, 255, 0.5) 60%, transparent 80%, transparent), url(../images/mv-minoxiB-study.jpg);
    background-position: right top
}

@media screen and (max-width: 768px) {
    .p-minoxiB-study .p-mv {
        background-image: linear-gradient(to right, #fff, #fff 25%, rgba(255, 255, 255, 0.5) 70%, transparent 100%, transparent), url(../images/mv-minoxiB-study.jpg), url(../images/mv-minoxiB-study.jpg);
        background-position: right 36% top
    }
}

.p-minoxiB-study-image {
    max-width: 720px
}

.p-minoxiB-contentsBlock {
    display: grid;
    gap: clamp(24px, 2.13vw, 32px) 5%;
    grid-template-columns: 1fr 45%;
    grid-template-rows: auto auto;
    grid-template-areas: "area1 area2" "area3 area4"
}

@media screen and (max-width: 768px) {
    .p-minoxiB-contentsBlock {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-template-areas: "area1" "area2" "area3" "area4"
    }
}

.p-minoxiB-content1 {
    grid-area: area1
}

.p-minoxiB-content2 {
    grid-area: area2
}

.p-minoxiB-content3 {
    grid-area: area3
}

.p-minoxiB-content4 {
    grid-area: area4
}

@media screen and (max-width: 1500px) {
    .p-minoxiB-content4 {
        display: block;
        width: 82%;
        margin-inline: auto
    }
}

@media screen and (max-width: 768px) {
    .p-minoxiB-content4 {
        max-width: 480px
    }
}

.p-treatment-medicine-title-button-minoxidil {
    width: -moz-fit-content;
    width: fit-content
}

.t-column-ba-box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 99%
}

@media screen and (max-width: 1024px) {
    .t-column-ba-box {
        grid-template-columns: 1fr;
        gap: 1.5%
    }
}

.t-column-ba-box .t-column-ba-rl {
    margin: 0 auto;
    width: 93%
}

@media screen and (max-width: 1024px) {
    .t-column-ba-box .t-column-ba-rl {
        width: 80%
    }
}

.t-column-ba-box .c-roundedBox {
    padding: 1.6em 1em
}

@media screen and (max-width: 1024px) {
    .t-column-ba-box .c-roundedBox {
        grid-template-columns: 1fr;
        padding: 2em 2em
    }
}

.p-clinic-priceTable>* {
    display: block
}

.p-characteristic-menuSystem .p-clinic-menuSystem-title {
    display: flex;
    height: 6vw;
    flex-flow: column;
    top: -3em;
    width: 75%
}

@media screen and (max-width: 1024px) {
    .p-characteristic-menuSystem .p-clinic-menuSystem-title {
        height: 9vw;
        top: -4.5em
    }
}

@media screen and (max-width: 768px) {
    .p-characteristic-menuSystem .p-clinic-menuSystem-title {
        height: auto;
        top: -1.5em
    }
}

@media screen and (max-width: 320px) {
    .p-characteristic-menuSystem .p-clinic-menuSystem-title {
        width: 85%
    }
}

@media screen and (max-width: 768px) {
    .p-characteristic-menuSystem .p-clinic-menuSystem-detail {
        padding: clamp(72px, 6vw, 90px) clamp(20px, 2.67vw, 40px) clamp(20px, 2.67vw, 40px)
    }
}

.p-accordion-title {
    position: relative
}

.p-accordion-title button {
    padding: 1em;
    display: block;
    text-align: left;
    width: 100%
}

@media screen and (max-width: 320px) {
    .p-accordion-title button {
        padding-right: 2em
    }
}

.p-accordion-title::before,
.p-accordion-title::after {
    content: "";
    display: block;
    width: 1.5em;
    height: 2px;
    background-color: #182a52;
    position: absolute;
    top: 50%;
    right: 1em;
    z-index: 1
}

.p-accordion-title::before {
    transform: translate(0, -50%)
}

.p-accordion-title::after {
    transform: translate(0, -50%) rotate(90deg);
    transition: transform linear .3s
}

.p-accordion-title.close-buttom::after {
    transform: translate(0, -50%) rotate(0);
    transition: transform linear .3s
}

.p-accordion-title a {
    display: block
}

.p-accordion-AreaOpen {
    display: none;
    pointer-events: none;
    padding: 1em
}

.p-accordion-AreaOpen.open-link {
    display: block;
    pointer-events: initial
}

.p-accordion-indentation {
    padding-left: 1em;
    text-indent: -1em
}

#d-minoxidil_booster {
    grid-column: 2/3
}

@media screen and (max-width: 768px) {
    #d-minoxidil_booster .l-pcN {
        margin-top: 5%;
        margin-bottom: 5%
    }
}

@media screen and (max-width: 768px) {
    #d-minoxidil_booster .c-title-sideLine {
        margin-top: 5%
    }
}

#commit {
    grid-column: 2/3
}

@media screen and (max-width: 768px) {
    #commit .l-pcN {
        margin-top: 5%;
        margin-bottom: 5%
    }
}

@media screen and (max-width: 768px) {
    #advanced .p-treatment-n-contectWrap {
        display: block
    }
}

@media screen and (max-width: 768px) {
    #advanced .p-treatment-n-contectList {
        margin-top: 3%;
        margin-bottom: 3%
    }
}

.p-price-n-list-inner dt p {
    line-height: 1.6em
}

.p-treatment-n-detailTitle {
    padding: .5em;
    height: 15%;
    display: flex;
    justify-content: center;
    align-items: center
}

@media screen and (max-width: 768px) {
    .p-column-wrap .p-treatment-n-detailTitle {
        height: 20%
    }
}

.c-containerBox-list {
    display: flex;
    flex-direction: column
}

.c-containerBox-price {
    margin-top: auto
}

.p-aga-finasuteride .t-menuBox-title {
    font-size: clamp(18px, 2vw, 22px);
    border-radius: 5em;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 13vmin
}

@media screen and (max-width: 768px) {
    .p-aga-finasuteride .t-menuBox-title {
        height: auto
    }
}

#premium .p-treatment-n-data:nth-of-type(2) span {
    opacity: 0
}

#premium .p-treatment-n-detailTitle {
    height: 22%
}

.p-consultation-startBox.web .c-buttonMain-text.booster::before {
    background: url(../images/icon-booster.png) no-repeat center center/contain
}

.t-casePhoto.t-casePhoto-white-back {
    background: #fff
}

.p-example-agaResultBox-imageArea.example-two {
    grid-template-columns: repeat(2, 1fr)
}

.p-example-agaResultBox-imageArea.example-two .p-example-agaResultBox-image:where(.month3)::before {
    display: none
}

@media screen and (max-width: 768px) {
    .p-example-agaResultBox-imageArea.example-two {
        grid-template-columns: 1fr
    }
}

@media screen and (max-width: 768px) {
    .p-example-agaResultTitle-text {
        width: 100%
    }
}

.p-saison-mvArea {
    background: url(../images/lp-saison-mv-bg.png) no-repeat right 40% top/cover;
    padding-top: 4vw;
    position: relative
}

@media screen and (max-width: 1024px) {
    .p-saison-mvArea {
        padding-top: 1em
    }
}

.p-saison-mv-title {
    display: grid;
    gap: clamp(10px, 1.6vw, 24px);
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

.p-saison-mv-title-subText {
    display: grid;
    place-items: center;
    font-size: clamp(20px, 1.6vw, 24px);
    font-weight: 700;
    color: #fff;
    height: 1.8em;
    background-color: #333
}

@media screen and (max-width: 768px) {
    .p-saison-mv-title-subText {
        font-size: 16px
    }
}

.p-saison-mv-title-text {
    font-size: clamp(42px, 3.33vw, 50px);
    font-weight: 700;
    color: #182a52;
    line-height: 1.5;
    letter-spacing: .05em;
    text-align: center
}

@media screen and (max-width: 768px) {
    .p-saison-mv-title-text {
        font-size: clamp(24px, 5.47vw, 45px)
    }
}

@media screen and (max-width: 425px) {
    .p-saison-mv-title-text {
        font-size: clamp(18px, 6.12vw, 26px)
    }
}

.p-saison-mv-title-textP {
    display: inline-block;
    text-indent: -0.5em
}

.p-saison-mv-logoArea {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    justify-items: end;
    gap: .3em;
    margin-left: auto;
    position: absolute;
    top: 1em;
    right: 4%
}

@media screen and (max-width: 1024px) {
    .p-saison-mv-logoArea {
        position: initial
    }
}

.p-saison-mv-logoImage {
    display: block;
    width: min(150px, 45%)
}

@media screen and (max-width: 1024px) {
    .p-saison-mv-logoImage {
        width: 120px
    }
}

.p-saison-mv-imageArea {
    display: grid;
    grid-template-columns: 18% 1fr;
    align-items: center;
    gap: 2%;
    width: min(760px, 80%)
}

@media screen and (max-width: 768px) {
    .p-saison-mv-imageArea {
        grid-template-columns: 32% 1fr;
        align-items: flex-end;
        gap: 0
    }
}

@media screen and (max-width: 425px) {
    .p-saison-mv-imageArea {
        width: 100%
    }
}

.p-saison-listWrap {
    width: min(70%, 800px);
    background: url(../images/lp-saison02.jpg) no-repeat right bottom/57%;
    padding-bottom: 12%
}

@media screen and (max-width: 768px) {
    .p-saison-listWrap {
        background-size: 50%;
        padding-bottom: 23%;
        width: 80%
    }
}

@media screen and (max-width: 425px) {
    .p-saison-listWrap {
        background-size: 76%;
        padding-bottom: 40%
    }
}

.p-saison-roundedBox .p-treatment-dataArea {
    align-items: baseline
}

.p-saison-charaList {
    width: -moz-fit-content;
    width: fit-content
}

.p-saison-charaList .p-treatment-n-contectList-item,
.p-saison-listWrap .p-treatment-n-contectList-item {
    font-size: clamp(16px, 1.6vw, 24px)
}

.p-saison-charaList .p-treatment-n-contectList-item::before,
.p-saison-listWrap .p-treatment-n-contectList-item::before {
    background: url(../images/icon-check-vblue.png) no-repeat center center/contain
}

.p-saison-treatment .p-clinic-menuSystem-best img {
    aspect-ratio: 491/321
}

.slick-slider {
    opacity: 0;
    transition: opacity .5s linear
}

.slick-slider.slick-initialized {
    opacity: 1
}

.t-mv-imageArea {
    display: none
}

.t-mv-imageArea.slick-slider {
    display: block
}

.t-mv-imageArea .slick-dots {
    bottom: .5em !important;
    right: 2% !important;
    width: -moz-fit-content;
    width: fit-content
}

@media screen and (max-width: 768px) {
    .t-mv-imageArea .slick-dots {
        bottom: -4em !important;
        left: 50% !important;
        transform: translateX(-50%);
        width: 100%
    }
}

.t-mv-imageArea .slick-dots li:nth-of-type(1) button::before {
    background: url("../images/mv_pc-slide01.jpg") no-repeat center center;
    background-size: cover !important
}

@media screen and (max-width: 768px) {
    .t-mv-imageArea .slick-dots li:nth-of-type(1) button::before {
        background: none
    }
}

.t-mv-imageArea .slick-dots li:nth-of-type(2) button::before {
    background: url("../images/mv_pc-slide02.jpg") no-repeat center center;
    background-size: cover !important
}

@media screen and (max-width: 768px) {
    .t-mv-imageArea .slick-dots li:nth-of-type(2) button::before {
        background: none
    }
}

.t-mv-imageArea .slick-dots li:nth-of-type(3) button::before {
    background: url("../images/mv_pc-slide03.jpg") no-repeat center center;
    background-size: cover !important
}

@media screen and (max-width: 768px) {
    .t-mv-imageArea .slick-dots li:nth-of-type(3) button::before {
        background: none
    }
}

.t-mv-imageArea .slick-dots li {
    width: 150px !important;
    height: 70px !important;
    margin: 0 !important
}

@media screen and (max-width: 1024px) {
    .t-mv-imageArea .slick-dots li {
        width: 110px !important;
        height: 50px !important
    }
}

@media screen and (max-width: 768px) {
    .t-mv-imageArea .slick-dots li {
        width: 25px !important
    }
}

.t-mv-imageArea .slick-dots li button {
    width: 100% !important;
    height: 100% !important
}

.t-mv-imageArea .slick-dots li button::before {
    content: "" !important;
    height: 100% !important;
    width: 100% !important;
    opacity: 1
}

@media screen and (max-width: 768px) {
    .t-mv-imageArea .slick-dots li button::before {
        content: "窶｢" !important;
        font-size: 27px
    }
}

@media screen and (max-width: 425px) {
    .t-mv-imageArea .slick-dots li button::before {
        font-size: 23px
    }
}

.t-mv-imageArea .slick-dots .slick-active {
    opacity: .5
}

.t-clinicImageSlide-area .slick-slide {
    margin-right: .5em;
    margin-left: .5em
}

@media screen and (max-width: 768px) {
    .t-clinicImageSlide-area .slick-slide {
        margin-right: .25em;
        margin-left: .25em
    }
}

.t-clinicImageSlide-area .slick-list {
    padding-right: 10%
}

.t-casePhotoCardSlide-area .slick-list {
    overflow: initial !important
}

.t-casePhotoCardSlide-area .slick-slide {
    margin-right: 1.5em;
    margin-left: 1.5em
}

@media screen and (max-width: 768px) {
    .t-casePhotoCardSlide-area .slick-slide {
        margin-right: .5em;
        margin-left: .5em
    }
}

.t-casePhotoCardSlide-area .slick-dots {
    bottom: -30px
}

.t-casePhotoCardSlide-area .slick-dots li button::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #333;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.t-columnSlide-area .slick-slide {
    margin-right: 1.5em;
    margin-left: 1.5em
}

@media screen and (max-width: 768px) {
    .t-columnSlide-area .slick-slide {
        margin-right: .5em;
        margin-left: .5em
    }
}

.p-clinic-pickUpSlide-area .slick-slide {
    margin-right: .5em;
    margin-left: .5em
}

@media screen and (max-width: 768px) {
    .p-clinic-pickUpSlide-area .slick-slide {
        margin-right: .25em;
        margin-left: .25em
    }
}

.p-clinic-pickUpSlide-area .slick-list {
    padding-right: 10%
}

.p-clinic-pickUpSlide-area .slick-prev {
    position: absolute;
    left: 3%;
    top: 50%;
    z-index: 2;
    width: 75px;
    height: 75px
}

@media screen and (max-width: 768px) {
    .p-clinic-pickUpSlide-area .slick-prev {
        width: 55px;
        width: 55px
    }
}

@media screen and (max-width: 425px) {
    .p-clinic-pickUpSlide-area .slick-prev {
        width: 40px;
        width: 40px
    }
}

.p-clinic-pickUpSlide-area .slick-prev::before {
    content: "";
    display: block;
    width: 75px;
    height: 75px;
    background: url(../images/arrow-bnr-reverse.png) no-repeat center center/contain;
    position: absolute;
    transform: translate(0, -50%);
    transition: .2s ease-in-out;
    opacity: 1
}

@media screen and (max-width: 768px) {
    .p-clinic-pickUpSlide-area .slick-prev::before {
        width: 55px;
        width: 55px
    }
}

@media screen and (max-width: 425px) {
    .p-clinic-pickUpSlide-area .slick-prev::before {
        width: 40px;
        width: 40px
    }
}

.p-clinic-pickUpSlide-area .slick-next {
    position: absolute;
    right: 3%;
    top: 50%;
    width: 75px;
    height: 75px
}

@media screen and (max-width: 768px) {
    .p-clinic-pickUpSlide-area .slick-next {
        width: 55px;
        width: 55px
    }
}

@media screen and (max-width: 425px) {
    .p-clinic-pickUpSlide-area .slick-next {
        width: 40px;
        width: 40px
    }
}

.p-clinic-pickUpSlide-area .slick-next::before {
    content: "";
    display: block;
    width: 75px;
    height: 75px;
    background: url(../images/arrow-bnr.png) no-repeat center center/contain;
    position: absolute;
    transform: translate(0, -50%);
    transition: .2s ease-in-out;
    opacity: 1
}

@media screen and (max-width: 768px) {
    .p-clinic-pickUpSlide-area .slick-next::before {
        width: 55px;
        width: 55px
    }
}

@media screen and (max-width: 425px) {
    .p-clinic-pickUpSlide-area .slick-next::before {
        width: 40px;
        width: 40px
    }
}

.p-clinic-pickUpSlide-area .slick-dots li button::before {
    font-size: 20px
}

.p-clinic-osaka .p-clinic-pickUpSlide-area .slick-slide {
    max-width: 490px
}

@media screen and (max-width: 1200px) {
    .p-clinic-osaka .p-clinic-pickUpSlide-area .slick-slide {
        max-width: initial
    }
}

.p-clinic-osaka .p-clinic-pickUpSlide-area .slick-track {
    max-width: calc(1470px + 3em)
}

@media screen and (max-width: 1200px) {
    .p-clinic-osaka .p-clinic-pickUpSlide-area .slick-track {
        max-width: initial
    }
}

.p-clinic-fukuoka .p-clinic-pickUpSlide-area .slick-slide {
    max-width: 490px
}

@media screen and (max-width: 1200px) {
    .p-clinic-fukuoka .p-clinic-pickUpSlide-area .slick-slide {
        max-width: initial
    }
}

.p-clinic-fukuoka .p-clinic-pickUpSlide-area .slick-track {
    max-width: calc(1470px + 3em)
}

@media screen and (max-width: 1200px) {
    .p-clinic-fukuoka .p-clinic-pickUpSlide-area .slick-track {
        max-width: initial
    }
}

@media screen and (max-width: 768px) {
    .p-priceBox-wrap .slick-slide {
        margin-right: .5em;
        margin-left: .5em
    }
}

.p-priceBox-wrap .slick-arrow {
    display: block;
    color: rgba(0, 0, 0, 0);
    width: clamp(50px, 4vw, 60px);
    height: clamp(50px, 4vw, 60px);
    border-radius: 50%;
    background: url(../images/arrow-white.png) no-repeat center center/65% #182a52;
    z-index: 1
}

.p-priceBox-wrap .slick-arrow:before {
    content: none
}

@media screen and (max-width: 425px) {
    .p-priceBox-wrap .slick-arrow {
        top: 61%
    }
}

@media screen and (max-width: 320px) {
    .p-priceBox-wrap .slick-arrow {
        top: 55%
    }
}

@media screen and (max-width: 768px) {
    .p-priceBox-wrap .slick-next {
        right: 2%;
        left: auto
    }
}

@media screen and (max-width: 425px) {
    .p-priceBox-wrap .slick-next {
        right: 1.5em
    }
}

@media screen and (max-width: 768px) {
    .p-priceBox-wrap .slick-prev {
        left: 2%;
        transform: scaleX(-1) translate(0, -50%)
    }
}

@media screen and (max-width: 425px) {
    .p-priceBox-wrap .slick-prev {
        left: 1.5em
    }
}

.p-clinic-pickUpSlide-area .slick-list {
    padding-right: 0
}

.t-mv-imageArea .slick-dots li:nth-of-type(2) button::before {
    background: url("../images/top_fv.jpg") no-repeat center center
}

@media screen and (max-width: 768px) {
    .t-mv-imageArea .slick-dots li:nth-of-type(2) button::before {
        background: none
    }
}

.a-fadein {
    opacity: 0;
    transform: translate(0, 100px);
    backface-visibility: hidden;
    visibility: hidden;
    z-index: 1
}

.a-fadein.fadeinActive {
    will-change: transform;
    animation-name: a-fadeIn;
    animation-fill-mode: backwards;
    animation-duration: .5s;
    animation-timing-function: ease-out;
    animation-delay: .1s;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
    transform: translate(0, 100px);
    visibility: visible
}

@keyframes a-fadeIn {
    0% {
        opacity: 0;
        transform: translate(0, 100px)
    }

    100% {
        opacity: 1;
        transform: translate(0, 0)
    }
}

.t-clinicBoxList-area .fadeinActive:nth-of-type(1) {
    animation-delay: .2s
}

@media screen and (max-width: 768px) {
    .t-clinicBoxList-area .fadeinActive:nth-of-type(1) {
        animation-delay: .2s
    }
}

.t-clinicBoxList-area .fadeinActive:nth-of-type(2) {
    animation-delay: .4s
}

@media screen and (max-width: 768px) {
    .t-clinicBoxList-area .fadeinActive:nth-of-type(2) {
        animation-delay: .2s
    }
}

.t-clinicBoxList-area .fadeinActive:nth-of-type(3) {
    animation-delay: .6s
}

@media screen and (max-width: 768px) {
    .t-clinicBoxList-area .fadeinActive:nth-of-type(3) {
        animation-delay: .2s
    }
}

.t-clinicBoxList-area .fadeinActive:nth-of-type(4) {
    animation-delay: .8s
}

@media screen and (max-width: 768px) {
    .t-clinicBoxList-area .fadeinActive:nth-of-type(4) {
        animation-delay: .2s
    }
}

.t-clinicBoxList-area .fadeinActive:nth-of-type(5) {
    animation-delay: 1s
}

@media screen and (max-width: 768px) {
    .t-clinicBoxList-area .fadeinActive:nth-of-type(5) {
        animation-delay: .2s
    }
}

.t-clinicBoxList-area .fadeinActive:nth-of-type(6) {
    animation-delay: 1.2s
}

@media screen and (max-width: 768px) {
    .t-clinicBoxList-area .fadeinActive:nth-of-type(6) {
        animation-delay: .2s
    }
}

.t-clinicBoxList-area .fadeinActive:nth-of-type(7) {
    animation-delay: 1.4s
}

@media screen and (max-width: 768px) {
    .t-clinicBoxList-area .fadeinActive:nth-of-type(7) {
        animation-delay: .2s
    }
}

.c-containerBox-wrap .fadeinActive:nth-of-type(1) {
    animation-delay: .2s
}

@media screen and (max-width: 768px) {
    .c-containerBox-wrap .fadeinActive:nth-of-type(1) {
        animation-delay: .2s
    }
}

.c-containerBox-wrap .fadeinActive:nth-of-type(2) {
    animation-delay: .4s
}

@media screen and (max-width: 768px) {
    .c-containerBox-wrap .fadeinActive:nth-of-type(2) {
        animation-delay: .2s
    }
}

.c-containerBox-wrap .fadeinActive:nth-of-type(3) {
    animation-delay: .6s
}

@media screen and (max-width: 768px) {
    .c-containerBox-wrap .fadeinActive:nth-of-type(3) {
        animation-delay: .2s
    }
}

.c-containerBox-wrap .fadeinActive:nth-of-type(4) {
    animation-delay: .8s
}

@media screen and (max-width: 768px) {
    .c-containerBox-wrap .fadeinActive:nth-of-type(4) {
        animation-delay: .2s
    }
}

.c-containerBox-wrap .fadeinActive:nth-of-type(5) {
    animation-delay: 1s
}

@media screen and (max-width: 768px) {
    .c-containerBox-wrap .fadeinActive:nth-of-type(5) {
        animation-delay: .2s
    }
}

.c-containerBox-wrap .fadeinActive:nth-of-type(6) {
    animation-delay: 1.2s
}

@media screen and (max-width: 768px) {
    .c-containerBox-wrap .fadeinActive:nth-of-type(6) {
        animation-delay: .2s
    }
}

.c-containerBox-wrap .fadeinActive:nth-of-type(7) {
    animation-delay: 1.4s
}

@media screen and (max-width: 768px) {
    .c-containerBox-wrap .fadeinActive:nth-of-type(7) {
        animation-delay: .2s
    }
}

.p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(1) {
    animation-delay: .2s
}

@media screen and (max-width: 768px) {
    .p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(1) {
        animation-delay: .2s
    }
}

.p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(2) {
    animation-delay: .4s
}

@media screen and (max-width: 768px) {
    .p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(2) {
        animation-delay: .2s
    }
}

.p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(3) {
    animation-delay: .6s
}

@media screen and (max-width: 768px) {
    .p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(3) {
        animation-delay: .2s
    }
}

.p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(4) {
    animation-delay: .8s
}

@media screen and (max-width: 768px) {
    .p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(4) {
        animation-delay: .2s
    }
}

.p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(5) {
    animation-delay: 1s
}

@media screen and (max-width: 768px) {
    .p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(5) {
        animation-delay: .2s
    }
}

.p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(6) {
    animation-delay: 1.2s
}

@media screen and (max-width: 768px) {
    .p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(6) {
        animation-delay: .2s
    }
}

.p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(7) {
    animation-delay: 1.4s
}

@media screen and (max-width: 768px) {
    .p-clinic-treatmentBox-wrap .fadeinActive:nth-of-type(7) {
        animation-delay: .2s
    }
}

.t-otherMenuBox-area .fadeinActive:nth-of-type(1) {
    animation-delay: .2s
}

@media screen and (max-width: 768px) {
    .t-otherMenuBox-area .fadeinActive:nth-of-type(1) {
        animation-delay: .2s
    }
}

.t-otherMenuBox-area .fadeinActive:nth-of-type(2) {
    animation-delay: .4s
}

@media screen and (max-width: 768px) {
    .t-otherMenuBox-area .fadeinActive:nth-of-type(2) {
        animation-delay: .2s
    }
}

.t-otherMenuBox-area .fadeinActive:nth-of-type(3) {
    animation-delay: .6s
}

@media screen and (max-width: 768px) {
    .t-otherMenuBox-area .fadeinActive:nth-of-type(3) {
        animation-delay: .2s
    }
}

.t-methodBox-area .fadeinActive:nth-of-type(1) {
    animation-delay: .2s
}

@media screen and (max-width: 768px) {
    .t-methodBox-area .fadeinActive:nth-of-type(1) {
        animation-delay: .2s
    }
}

.t-methodBox-area .fadeinActive:nth-of-type(2) {
    animation-delay: .4s
}

@media screen and (max-width: 768px) {
    .t-methodBox-area .fadeinActive:nth-of-type(2) {
        animation-delay: .2s
    }
}

.t-methodBox-area .fadeinActive:nth-of-type(3) {
    animation-delay: .6s
}

@media screen and (max-width: 768px) {
    .t-methodBox-area .fadeinActive:nth-of-type(3) {
        animation-delay: .2s
    }
}

.t-clinicLocation-wrap .fadeinActive:nth-of-type(even) {
    animation-delay: .5s
}

@media screen and (max-width: 768px) {
    .t-clinicLocation-wrap .fadeinActive:nth-of-type(even) {
        animation-delay: .1s
    }
}

.p-clinicList-location-wrap .fadeinActive:nth-of-type(1) {
    animation-delay: .2s
}

@media screen and (max-width: 768px) {
    .p-clinicList-location-wrap .fadeinActive:nth-of-type(1) {
        animation-delay: .2s
    }
}

.p-clinicList-location-wrap .fadeinActive:nth-of-type(2) {
    animation-delay: .4s
}

@media screen and (max-width: 768px) {
    .p-clinicList-location-wrap .fadeinActive:nth-of-type(2) {
        animation-delay: .2s
    }
}

.p-clinicList-location-wrap .fadeinActive:nth-of-type(3) {
    animation-delay: .6s
}

@media screen and (max-width: 768px) {
    .p-clinicList-location-wrap .fadeinActive:nth-of-type(3) {
        animation-delay: .2s
    }
}

.p-clinicList-location-wrap .fadeinActive:nth-of-type(4) {
    animation-delay: .8s
}

@media screen and (max-width: 768px) {
    .p-clinicList-location-wrap .fadeinActive:nth-of-type(4) {
        animation-delay: .2s
    }
}

.p-clinicList-location-wrap .fadeinActive:nth-of-type(5) {
    animation-delay: 1s
}

@media screen and (max-width: 768px) {
    .p-clinicList-location-wrap .fadeinActive:nth-of-type(5) {
        animation-delay: .2s
    }
}

.p-clinicList-location-wrap .fadeinActive:nth-of-type(6) {
    animation-delay: 1.2s
}

@media screen and (max-width: 768px) {
    .p-clinicList-location-wrap .fadeinActive:nth-of-type(6) {
        animation-delay: .2s
    }
}

.js-accordion-content {
    display: none
}

/*# sourceMappingURL=style.css.map */