@charset "UTF-8";

body {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", Arial, Meiryo, sans-serif;
}

img {
    width: 100%;
    height: 100%;
    max-width: initial;
    overflow: visible;
    overflow-clip-margin: inherit;
}

* {
    padding: 0;
    margin: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

*,
::before,
::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
}

/* Document */

/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
    -webkit-tap-highlight-color: transparent;
    /* 3*/
}

/* Sections */

/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
    margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
    display: block;
}

/* Vertical rhythm */

/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0;
}

/* Headings */

/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    margin: 0;
}

/* Lists (enumeration) */

/* ============================================ */

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Lists (definition) */

/* ============================================ */

dt {
    font-weight: bold;
}

dd {
    margin-left: 0;
}

/* Grouping content */

/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: inherit;
    /* 2 */
}

address {
    font-style: inherit;
}

/* Text-level semantics */

/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
    text-decoration: underline;
    /* 2 */
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: inherit;
    /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content */

/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

img,
embed,
object,
iframe {
    vertical-align: bottom;
}

/* Forms */

/* ============================================ */

/**
 * Reset form fields to make them styleable
 */

button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    outline: 0;
    border-radius: 0;
    text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */

[type="checkbox"] {
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox;
}

[type="radio"] {
    -webkit-appearance: radio;
    -moz-appearance: radio;
    appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
    /* 1 */
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
    cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */

select::-ms-expand {
    display: none;
}

/**
 * Remove padding
 */

option {
    padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
    margin: 0;
    padding: 0;
    min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
    overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */

[type="search"] {
    outline-offset: -2px;
    /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/**
 * Clickable labels
 */

label[for] {
    cursor: pointer;
}

/* Interactive */

/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
    display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable] {
    outline: none;
}

/* Table */

/* ============================================ */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption {
    text-align: left;
}

td,
th {
    vertical-align: top;
    padding: 0;
}

th {
    text-align: left;
    font-weight: bold;
}

/* Misc */

/* ============================================ */

/**
 * Add the correct display in IE 10+.
 */

template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
    display: none;
}

.header {
    width: 100vw;
    height: 56px;
    background: #fff;
    border-bottom: 1px solid #00549e;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    padding-left: 4.26666%;
}

.header__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2px;
    max-width: 9.6875rem;
    width: 100%;
}

.header__logo {
    max-width: 8.1875rem;
    width: 100%;
}

.header__text {
    font-size: 10px;
    font-family: "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体", "Noto Sans JP";
    font-weight: 700;
    line-height: 1;
}

.header__btn-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 111px;
    width: 100%;
    height: 56px;
    margin-left: auto;
}

.header__btn.c-btn {
    color: #fff;
    text-align: center;
    font-family: "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体", "Noto Sans JP";
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.2;
}

.header__btn.c-btn.btn__web {
    padding: 10px 10px;
}

.header__btn.c-btn.btn__tel {
    padding: 0px 13px;
}

.sec07 {
    padding-top: 2.5rem;
    background: #e5eef8;
    padding-bottom: 60px;
}

.sec07_ttl {
    margin-bottom: 37px;
}

.sec07_ttl .en {
    color: #fff;
    opacity: 1;
}

.sec07_cont p {
    line-height: 1.3;
}

.sec07_cont .c-pR {
    position: relative;
}

.sec07_cont .c-oswald {
    font-family: "Oswald", sans-serif;
}

.sec07_cont .p-clinic-infoDetail-access .c-clinicLocation-link {
    color: #fff;
}

.sec07_cont {
    font-family: "Noto Sans JP", sans-serif;
}

.sec07_ttl {
    color: #00549e;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
}

.c-buttonArrow {
    position: relative;
}

.c-buttonArrow::after {
    content: "";
    display: block;
    width: 35px;
    height: 100%;
    background: url(../images/arrow-white.webp) no-repeat center center/contain;
    position: absolute;
    top: 48%;
    -webkit-transform: translate(0, -52%);
    transform: translate(0, -52%);
    right: 1.2em;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

.c-buttonArrow.c-buttonArrow-move::after {
    -webkit-animation: move-arrow 1.2s linear infinite;
    animation: move-arrow 1.2s linear infinite;
}

@-webkit-keyframes move-arrow {
    0% {
        right: 2em;
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        right: 0.8em;
        opacity: 0.8;
    }
}

@keyframes move-arrow {
    0% {
        right: 2em;
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        right: 0.8em;
        opacity: 0.8;
    }
}

@-webkit-keyframes move-arrowSP {
    0% {
        right: 1.5em;
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        right: 0.5em;
        opacity: 0.8;
    }
}

@keyframes move-arrowSP {
    0% {
        right: 1.5em;
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        right: 0.5em;
        opacity: 0.8;
    }
}

.c-btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 40px;
}

.c-btns .btn {
    max-width: 397px;
    width: 50%;
    border-radius: 400px;
    color: #fff;
    font-size: 33.5px;
    font-weight: bold;
    line-height: 1;
    padding: 29.5px 0;
    -webkit-box-shadow: 0px 8px 12px 0px rgba(0, 0, 0, 0.25);
    box-shadow: 0px 8px 12px 0px rgba(0, 0, 0, 0.25);
    text-align: center;
    position: relative;
}

.c-btns .btn::before {
    content: "";
    width: 18px;
    height: 18px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 28px;
    margin: auto;
}

.c-btns .btn:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.c-btns .btn__1 {
    background: #0299ff;
}

.c-btns .btn__2 {
    background: #2253b2;
}

.c-btn {
    border-radius: 0;
    font-size: 4vw;
    line-height: 1.2;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.c-btn:hover {
    opacity: 0.7;
}

.btn__web {
    background: #0299ff;
}

.btn__tel {
    background: #2253b2;
}

.footer {
    background: #2253b2;
    padding: 30px 0;
}

.footer_txt {
    font-family: Arial;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.7;
    text-align: center;
}

a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.inner {
    max-width: 1240px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

.ib {
    display: inline-block;
}

img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: inline;
    vertical-align: bottom;
}

.sp-br {
    display: block;
}

.tab-br {
    display: none;
}

.pc-br {
    display: none;
}

/* ===============================================
共通パーツ フェードイン
=============================================== */

.fade {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transition: opacity 1.5s, -webkit-transform 1s;
    transition: opacity 1.5s, -webkit-transform 1s;
    transition: opacity 1.5s, transform 1s;
    transition: opacity 1.5s, transform 1s, -webkit-transform 1s;
}

.fade.active {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
}

/* ===============================================
共通パーツ グラデーション テキスト
=============================================== */

.gradation {
    background: -webkit-gradient(linear, left top, right top, from(#318dde), to(#003a6b));
    background: linear-gradient(90deg, #318dde 0%, #003a6b 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* ===============================================
共通で使えるパーツ
=============================================== */

/*-----------角丸の水色のボックス-----------*/

.c-roundedBox {
    border-radius: clamp(15px, 2vw, 30px);
    overflow: hidden;
    background-color: #f2faff;
    -webkit-box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.19);
    box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.19);
}

.c-roundedBox-white {
    border-radius: clamp(15px, 2vw, 30px);
    overflow: hidden;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.19);
    box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.19);
}

/*-----------クリニック詳細情報のボックス-----------*/

.c-clinicLocationBox {
    border-bottom: clamp(5px, 0.67vw, 10px) solid #182a52;
    border-left: clamp(5px, 0.67vw, 10px) solid #182a52;
    border-right: clamp(5px, 0.67vw, 10px) solid #182a52;
}

.c-clinicLocationBox-titleArea {
    background-color: #182a52;
    padding: 0.5em 0.3em;
}

.c-clinicLocationBox-detailArea,
.c-clinicLocationBox-timeArea {
    padding: 0 2.5% 1em;
}

.c-clinicLocationBox-detailListArea {
    display: grid;
    gap: 0.5em;
    -ms-flex-line-pack: start;
    align-content: flex-start;
}

.c-clinicLocationBox-detailList {
    display: grid;
    grid-template-columns: 2em 4em 1fr;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    font-size: clamp(14px, 1.07vw, 16px);
}

.c-clinicLocationBox-detailListIcon {
    width: 2.4em;
    padding-right: 45%;
}

.c-clinicLocationBox-detailListTitle {
    color: #666666;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.c-clinicLocationBox-detailListTitle::after {
    content: ":";
    display: block;
    width: 1em;
    height: 100%;
    padding-bottom: 0.2em;
}

.c-clinicLocationBox-detailListData {
    font-weight: 700;
    line-height: 1.4;
}

.c-clinicLocationBox-detailListLink a {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 420px;
    margin-right: 0;
    margin-left: 6em;
    border-radius: 50px;
    padding: 0.5em 4.5em 0.5em 1em;
    color: #fff;
    background-color: #ed8a76;
}

.c-clinicData-tel {
    color: #ff9900;
    font-size: clamp(20px, 1.6vw, 24px);
    font-family: "Oswald", sans-serif;
    display: inline-block;
    margin-top: -0.25em;
    padding-bottom: 0.1em;
}

.c-clinicLocationBox-timeTable {
    width: 100%;
}

.c-clinicLocationBox-timeTitle {
    margin-bottom: 0.5em;
    display: block;
}

.c-clinicLocationBox-timeTitle th {
    color: #2254b2;
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.c-clinicLocationBox-timeTitle th::before,
.c-clinicLocationBox-timeTitle th::after {
    content: "";
    height: 1px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    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%;
    -webkit-column-gap: 1%;
    column-gap: 1%;
    font-size: clamp(12px, 1vw, 15px);
}

.c-clinicLocationBox-timeDataWeek th {
    padding: 0.1em 0%;
    background-color: #cccccc;
    text-align: center;
}

.c-clinicLocationBox-timeDataWeek th sup {
    position: absolute;
    top: 0.3em;
    left: 62%;
}

.c-clinicLocationBox-timeDataTime td {
    font-weight: 700;
    line-height: 1;
    background-color: #eeeeee;
    text-align: center;
    padding: 0.3em 0;
    display: grid;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/*-----------紺のコンテンツボックス----------*/

.c-containerBox-wrap {
    display: grid;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    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%;
}

.c-containerBox-wrap:has(> :nth-child(3)) {
    grid-template-columns: repeat(auto-fit, minmax(310px, 30%));
    justify-items: center;
    width: 100%;
}

.c-containerBox-wrap:has(> :nth-child(4)) {
    grid-template-columns: repeat(2, 30%);
}

.c-containerBox-wrap:has(> :nth-child(5)) {
    grid-template-columns: repeat(auto-fit, minmax(310px, 30%));
}

.c-containerBox {
    display: grid;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: start;
    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: 0.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, 0.33vw, 5px) solid #182a52;
    padding: clamp(40px, 4.67vw, 70px) 3% 2.5em;
    position: relative;
}

.c-borderBox-title {
    padding: 0.3em 1em 0.1em;
    border: clamp(2px, 0.33vw, 5px) solid #182a52;
    width: min(18em, 80%);
    border-radius: 2em;
    position: absolute;
    top: -1.1em;
    left: 50%;
    -webkit-transform: translateX(-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: 0.1em;
    background-color: #fff;
    text-align: center;
    color: #333333;
    padding: 0.4em 0 0.2em;
    position: relative;
    display: block;
}

.c-balloonBox::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    border-top: 8px solid #fff;
    border-bottom: 0;
    position: absolute;
    bottom: -8px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.c-balloonBox.c-balloonBox-blue {
    color: #fff;
    background-color: #0099ff;
}

.c-balloonBox.c-balloonBox-blue::after {
    border-top: 8px solid #0099ff;
}

/*-----------チェックリスト----------*/

.c-checkList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.c-checkTextWrap {
    font-size: clamp(14px, 1.33vw, 20px);
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.c-checkTextWrap::before {
    content: "";
    width: 2em;
    height: 2em;
    display: block;
    background: url(../img/check-box-black.png) no-repeat center center/contain;
    margin-right: 0.5em;
}

.c-checkText {
    display: block;
    width: calc(100% - 2.5em);
}

/* ===============================================
共通
=============================================== */

/*-----------メインボタン-----------*/

.c-buttonMain {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    background-color: #ff9900;
    border: 2px solid #ff9900;
    border-radius: 5em;
    text-align: center;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.c-buttonMain > * {
    padding: 1.3em 2.8em;
}

.c-buttonMain.c-buttonMain-blue {
    background-color: #0099ff;
    border: none;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

.c-buttonMain.c-buttonMain-blue > * {
    padding: 1.3em 3.4em;
    width: 100%;
}

.c-buttonGradation {
    background-color: #0099ff;
    -webkit-box-shadow: clamp(5px, 0.67vw, 10px) clamp(5px, 0.67vw, 10px) 0px 0px rgba(0, 0, 0, 0.15);
    box-shadow: clamp(5px, 0.67vw, 10px) clamp(5px, 0.67vw, 10px) 0px 0px rgba(0, 0, 0, 0.15);
    text-align: center;
}

.c-buttonGradation > * {
    padding: clamp(20px, 4vw, 60px) 5%;
    background: url(../img/button-gra_bg.png) no-repeat left center/contain;
}

.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: #999999;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.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;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    position: inherit;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
}

.c-buttonArrow {
    position: relative;
}

.c-buttonArrow::after {
    content: "";
    display: block;
    width: 35px;
    height: 100%;
    background: url(../images/arrow-white.webp) no-repeat center center/contain;
    position: absolute;
    top: 48%;
    -webkit-transform: translate(0, -52%);
    transform: translate(0, -52%);
    right: 1.2em;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

.c-buttonArrow.c-buttonArrow-move::after {
    -webkit-animation: move-arrow 1.2s linear infinite;
    animation: move-arrow 1.2s linear infinite;
}

@-webkit-keyframes move-arrow {
    0% {
        right: 2em;
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        right: 0.8em;
        opacity: 0.8;
    }
}

@keyframes move-arrow {
    0% {
        right: 2em;
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        right: 0.8em;
        opacity: 0.8;
    }
}

@-webkit-keyframes move-arrowSP {
    0% {
        right: 1.5em;
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        right: 0.5em;
        opacity: 0.8;
    }
}

@keyframes move-arrowSP {
    0% {
        right: 1.5em;
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        right: 0.5em;
        opacity: 0.8;
    }
}

.c-buttonArrow-leftStyle {
    width: -webkit-fit-content;
    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: 0.5em clamp(20px, 3.33vw, 50px);
}

.c-buttonListArea .c-buttonMain {
    width: 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.webp);
}

.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.webp);
}

.c-clinicLocation-link.blueButton {
    background-color: #0099ff;
    color: #fff;
}

.c-clinicLocation-link.blueButton .c-buttonArrow {
    padding-right: 4.8em;
}

.c-clinicLocation-link.blueButton .c-buttonArrow::after {
    background-image: url(../image/arrow-white.webp);
}

/*-----------サブボタン-----------*/

.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: 0.8em;
    border: 2px solid #fff;
    font-size: clamp(13px, 1.33vw, 20px);
}

.c-buttonListIcon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
}

.c-buttonListIcon::before {
    content: "";
    width: 2em;
    height: 2em;
    display: block;
    margin-right: 0.6em;
}

.c-buttonListIcon.web::before {
    background: url(../img/icon-web_reserve.png) no-repeat center center/contain;
}

.c-buttonListIcon.line::before {
    background: url(../img/icon-line_reserve.png) no-repeat center center/contain;
}

.c-buttonListIcon.tel::before {
    background: url(../img/icon-tel_reserve.png) no-repeat center center/contain;
    margin-right: 0.3em;
}

/*-----------リンクの角丸ボタン-----------*/

.c-clinicLocation-link {
    color: #182a52;
    background-color: #fff;
    padding-left: 1em;
    border-radius: 1.2em;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 2.3em;
    opacity: 1;
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
}

.c-clinicLocation-link .c-buttonArrow::after {
    right: 10%;
}

/*-----------ボタンホバー-----------*/

.c-hover-imageAfter {
    display: none;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.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: 0.14em;
}

.c-title-besideLine {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.c-title-besideLine::before,
.c-title-besideLine::after {
    content: "";
    height: 1px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    background-color: #333333;
}

.c-title-besideLine::before {
    margin-right: 3%;
}

.c-title-besideLine::after {
    margin-left: 3%;
}

.c-title-line {
    display: block;
    margin: 0.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: 0.4em auto 0;
}

.c-page-title {
    font-size: clamp(20px, 2.67vw, 40px);
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.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: 0.22em;
    color: #0099ff;
    padding-left: 4%;
    padding-right: 4%;
}

.c-title-radius {
    padding: 0.1em;
    background-color: #fff;
    border: 1px solid #182a52;
    border-radius: 2em;
}

.c-titleBubble {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    background-color: #999999;
    padding: 4em 0.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: #999999;
    position: absolute;
    top: 50%;
    left: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.c-subText-glay {
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 700;
    font-family: "Oswald", sans-serif;
    color: #cccccc;
    display: block;
}

.c-title-sideLine {
    font-weight: 700;
    padding-top: 0.3em;
    padding-bottom: 0.3em;
    padding-left: 0.5em;
    border-left: 3px solid #0099ff;
}

/*-----------線-----------*/

.c-underLine {
    position: relative;
}

.c-underLine::after {
    content: "";
    position: absolute;
    bottom: 3px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #ff9900;
}

.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: 0.5em;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    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: 0.5em;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    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: #ff9900;
    font-weight: 700;
}

.c-emTextL {
    font-size: clamp(30px, 4vw, 60px);
    color: #ff9900;
    font-weight: 700;
    margin: 0 0 0 0.2em;
}

/*-----------価格の強調文字----------*/

.c-priceText {
    font-size: clamp(12px, 1vw, 16px);
}

.c-priceText .c-underLine::after {
    height: 2px;
}

/*-----------カテゴリの角丸テキスト----------*/

.c-category-radiusWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 0.5em;
}

.c-category-radius {
    font-size: clamp(16px, 1.33vw, 20px);
    font-weight: 700;
    color: #fff;
    padding: 0.3em 1em;
    border-radius: 1.2em;
    background-color: #ff9900;
}

/*-----------三角の下矢印----------*/

.c-triangleArrow {
    position: relative;
}

.c-triangleArrow::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 10px solid #182a52;
    border-bottom: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-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(../img/arrowBig-nomal.png) no-repeat center center/contain;
    position: absolute;
    top: 50%;
    right: -38%;
    -webkit-transform: translatey(-50%);
    transform: translatey(-50%);
}

/*-----------丸背景-----------*/

.c-circleBg {
    position: relative;
}

.c-circleBg::after {
    content: "";
    height: 100%;
    width: 62%;
    background-color: #f2faff;
    border-radius: 50%;
    position: absolute;
    top: -8%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1;
}

/*-----------インナー-----------*/

.innerM {
    margin-inline: auto;
    width: min(92%, 1250px);
}

/* ===============================================
utility
=============================================== */

/******************************************************************************
 Margin
******************************************************************************/

.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);
}

.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);
}

/*-------SP-------*/

/******************************************************************************
padding
******************************************************************************/

.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);
}

/*-------SP-------*/

/* ===============================================
p-yuutai
=============================================== */

.p-yuutai .p-mv {
    background-image: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(5%, #fff), color-stop(50%, rgba(255, 255, 255, 0.5)), color-stop(66%, transparent), to(transparent)), url(../img/mv-yuutai.jpg);
    background-image: linear-gradient(to right, #fff, #fff 5%, rgba(255, 255, 255, 0.5) 50%, transparent 66%, transparent), url(../img/mv-yuutai.jpg);
    background-position: top;
}

.p-yuutai-imageList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5em 2%;
    justify-items: center;
}

.p-yuutai-imageListItem {
    display: grid;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.p-yuutai-imageListItem:first-child {
    border: clamp(5px, 0.67vw, 10px) solid #0099ff;
}

.p-yuutai-imageListItem:nth-child(2) {
    border: clamp(5px, 0.67vw, 10px) solid #2254b2;
}

.p-yuutai-imageListItem:nth-child(3) {
    border: clamp(5px, 0.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: -webkit-fit-content;
    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%;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
}

.p-yuutai-contentsList .c-buttonMain > * {
    padding-left: 0.5em;
}

.p-yuutai-detailList {
    padding: clamp(10px, 2.13vw, 36px);
}

.p-yuutai-anchorLinkArea.p-anchorLink-listArea {
    grid-template-columns: repeat(7, 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 {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.p-accordion-contentsList {
    width: 92%;
    margin-inline: auto;
}

.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 {
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.p-accordion-contentsList-openButton::after {
    -webkit-transform: translate(0, -50%) rotate(90deg);
    transform: translate(0, -50%) rotate(90deg);
    -webkit-transition: -webkit-transform linear 0.3s;
    transition: -webkit-transform linear 0.3s;
    transition: transform linear 0.3s;
    transition: transform linear 0.3s, -webkit-transform linear 0.3s;
}

.p-accordion-contentsList-openButton.p-accordion-open::after {
    -webkit-transform: translate(0, -50%) rotate(0);
    transform: translate(0, -50%) rotate(0);
    -webkit-transition: -webkit-transform linear 0.3s;
    transition: -webkit-transform linear 0.3s;
    transition: transform linear 0.3s;
    transition: transform linear 0.3s, -webkit-transform linear 0.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: 0.3em;
    padding-bottom: 0.3em;
}

.p-accordion-priceTable {
    display: grid;
    grid-template-columns: 30% 1fr;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    font-size: clamp(16px, 1.6vw, 24px);
    font-weight: 700;
    color: #666666;
    gap: 0.2em;
}

.p-accordion-priceTitle,
.p-accordion-price {
    padding: clamp(8px, 1.07vw, 16px);
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: #f2faff;
}

.p-accordion-priceTitle {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.p-accordion-priceText {
    font-size: clamp(14px, 1.2vw, 18px);
}

.p-accordion-price {
    -webkit-box-align: end;
    -ms-flex-align: end;
    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: #666666;
    position: absolute;
    bottom: 0.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;
}

.p-yuutai-buttonArea .p-yuutai-buttonArea {
    width: min(560px, 100%);
}

.p-menu-listItem {
    padding: 1em 0.5em;
    text-align: center;
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 700;
    color: #182a52;
    background-color: #f2f2f2;
    border-top: 1px dotted #333333;
}

.p-menu-listItem:last-child {
    border-bottom: 1px dotted #333333;
}

.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: #0099ff;
}

.p-yuutai-characterListArea .p-price-treatmentList {
    border-color: #0099ff;
}

.p-yuutai-characterInner {
    padding: clamp(20px, 4vw, 60px);
}

.p-yuutai-characterImage {
    display: block;
    max-width: 620px;
    margin-inline: auto;
}

/* ===============================================
p-yuutai
=============================================== */

.p-sec10 {
    background-image: url("../images/sec10-bg-sp.webp");
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    padding: 2.5rem 0 2.5rem;
}

.p-sec10 .inner {
    padding-bottom: 49px;
}

.p-sec10__ttl {
    margin-bottom: 10.7vw;
    color: #182a52;
    font-size: clamp(18px, 6.4vw, 24px);
    text-align: center;
    font-weight: 700;
    line-height: 1.3;
}

.p-sec10__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.p-sec10_logo {
    width: 232px;
}

.p-sec10_txt {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.7;
}

.p-sec10__ttl {
    margin-bottom: 45px;
}

.p-sec10__ttl .en {
    color: #d6e0ed;
    opacity: 0.5;
}

.p-sec10__row {
    background-color: #fff;
    padding: 2.5rem 0 2rem;
}

.p-sec10__row_wrap {
    max-width: 18.75rem;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
}

.p-sec10__row_logo {
    max-width: 8.1875rem;
    width: 100%;
}

.p-sec10__row_txt {
    font-family: "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体", "Noto Sans JP";
    font-size: 10px;
    font-weight: bold;
    line-height: 1.7;
}

.p-sec10__btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem;
}

.p-sec10__btn {
    border-radius: 74.43px;
    font-family: "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体", "Noto Sans JP";
    font-size: 1.3125rem;
    font-weight: 700;
    width: 19.6875rem;
    padding: 1.25rem 1.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.p-sec10__btn::before {
    content: "";
    width: 0.875rem;
    height: 0.875rem;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.75rem;
    margin: auto;
}

a.p-sec10__btn:hover {
    opacity: 0.7;
}

.p-sec10__btn.btn__1 {
    background: #0299ff;
}

.p-sec10__btn.btn__2 {
    background: #2253b2;
}

.p-sec10__btns2.p-sec10__btns {
    margin-bottom: 0;
}

.p-sec10__ttl1.p-sec10__ttl {
    margin-bottom: 4.7vw;
}

/*-----------p-clinic-information-----------*/

.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: 0.5em 4%;
}

.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;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0.2em;
    height: -webkit-fit-content;
    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;
}

.p-clinic-infoDetail-telNumber {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 0.8em;
}

.p-clinic-infoDetail-telNumber::before {
    content: "";
    display: block;
    width: 14%;
    height: 100%;
    background: url(../images/icon-sp_reserve.webp) no-repeat center center/contain;
}

.p-clinic-infoDetail-access {
    grid-area: access;
}

.p-clinic-infoDetail-access .c-clinicLocationBox-detailListArea {
    gap: 1.5em;
}

.p-clinic-infoDetail-access .c-clinicLocation-link {
    grid-column: 3;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background-color: #182a52;
    color: #fff;
    margin-top: 0.5em;
}

.p-clinic-infoDetail-access .c-clinicLocation-link .c-buttonArrow {
    padding-right: 4.3em;
}

.p-clinic-information .c-newsBox {
    background-color: #fff;
    padding: 1.4em;
}

.p-clinic-information .c-newsBox .c-newsBox-newsTitle {
    padding-right: 4.5em;
}

.p-clinic-information :where(.c-newsBox-newsTop, .c-newsBox-newsTitle) {
    color: #666666;
}

.p-clinic-information .c-newsBox-titleTop {
    font-size: clamp(16px, 1.2vw, 18px);
    font-family: "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体", "Noto Sans JP";
}

/**************/
.pcDisp {
    display: none;
}
.spDisp {
    display: block;
}
@media screen and (max-width: 767px) {
    .pcDisp {
        display: block;
    }
    .spDisp {
        display: none;
    }
}
/**************/

.p-fv {
    position: relative;
}

.p-fv__bg {
    background-image: url("../images/fv-bg-sp.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100vw;
    height: 100%;
    z-index: -1;
}

.p-fv__inner {
    width: 100%;
    margin-inline: auto;
    padding: 6.4% 5.333% 8% 5.333%;
}

.p-fv__content {
    width: 100%;
}

.p-fv__img {
    display: block;
    max-width: 41.875rem;
    width: 100%;
    height: 100%;
}

.p-fv__img img {
    width: 100%;
    height: auto;
    aspect-ratio: 335/443;
    -o-object-fit: contain;
    object-fit: contain;
}

.p-header-spacer {
    height: 56px;
}

.p-sec01__bg {
    background-image: url("../images/sec1_bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: auto;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    position: relative;
}

.p-sec01__bg::after {
    position: absolute;
    bottom: -2rem;
    left: 50%;
    -webkit-transform: translate(-50%);
    transform: translate(-50%);
    content: "";
    background-image: url("../images/sec01-bg-after-sp.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 120px;
    height: 32px;
    z-index: -1;
}

.p-sec01__inner {
    width: 100%;
    max-width: 46.25rem;
    margin-inline: auto;
    padding-inline: 0.625rem;
}

.p-sec01__section-title-wrap {
    display: block;
    text-align: center;
}

.p-sec01__section-title {
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    text-align: center;
    font-size: clamp(18px, 6.4vw, 24px);
    font-weight: 700;
    line-height: 1.3;
}

.p-sec01__section-title:before,
.p-sec01__section-title:after {
    display: inline-block;
    border-top: 1px solid;
    content: "";
    width: 1rem;
}

.p-sec01__section-title:before {
    margin-right: 0.5rem;
}

.p-sec01__section-title:after {
    margin-left: 0.5rem;
}

.p-sec01__contents {
    margin-top: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 520px;
    width: 100%;
    margin-inline: auto;
}

.p-sec01__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2vw;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    overflow: hidden;
}

.p-sec01__content:nth-child(1),
.p-sec01__content:nth-child(3) {
    padding-left: 0;
    margin-left: -0.9375rem;
}

.p-sec01__content:nth-child(2) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-top: -1.5rem;
    padding-right: 0;
    margin-right: -0.9375rem;
    padding-left: 1.4375rem;
    font-size: clamp(17px, 3.8vw, 22px);
}

.p-sec01__content:nth-child(2) .p-sec01__text span {
    font-size: clamp(17px, 3.8vw, 22px);
}

.p-sec01__content:nth-child(3) {
    margin-top: -1.5rem;
}

.p-sec01__img1 {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.p-sec01__img1 img {
    width: 13rem;
    height: 13rem;
}

.p-sec01__text {
    color: #fff;
    font-family: "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体", "Noto Sans JP";
    font-size: clamp(18px, 5.8vw, 22px);
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    letter-spacing: -0.021em;
}

.p-sec01__subtext-wrap {
    margin-top: 3rem;
}

.p-sec01__subtext {
    text-align: center;
    font-size: 1.3125rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.021em;
}

.p-sec01__subtext span {
    font-size: clamp(26px, 7.8177vw, 48px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.026em;
}

.p-sec01__logo {
    margin-top: 1rem;
    max-width: 10.1875rem;
    width: 100%;
    margin-inline: auto;
}

.p-sec02 {
    overflow: hidden;
}

.p-sec02__bg {
    background-color: #e5eef8;
    width: 100%;
    height: auto;
    margin-top: 1.5rem;
}

.p-sec02__bg-inner {
    position: relative;
    width: 100%;
    height: auto;
    margin-inline: auto;
    padding: 2.75rem 0 2.5rem;
}

.p-sec02__bg-inner::after {
    position: absolute;
    content: "";
    top: 0;
    right: -8.4vw;
    min-height: 48vw;
    background-image: url("../images/sec02-bg-sp.webp");
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;
    max-width: 224px;
    width: 100%;
    height: auto;
    z-index: 1;
}

.p-sec02__inner {
    width: 100%;
    max-width: 43.125rem;
    margin-inline: auto;
    padding-inline: 0.625rem;
    position: relative;
    z-index: 2;
}

.p-sec02__section-title-wrap {
    display: block;
    text-align: center;
}

.p-sec02__section-title {
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #000;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
    font-size: clamp(18px, 6.4vw, 24px);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -1px;
}

.p-sec02__section-title span {
    color: #00549e;
}

.p-sec02__section-title:before,
.p-sec02__section-title:after {
    display: inline-block;
    border-top: 2px solid;
    content: "";
    color: #00549e;
    width: 1rem;
}

.p-sec02__section-title:before {
    margin-right: 0.5rem;
}

.p-sec02__section-title:after {
    margin-left: 0.5rem;
}

.p-sec02__contents {
    margin-top: 2rem;
}

.p-sec02__text {
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
    color: #231815;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.7;
}

.p-sec02__text + .p-sec02__text {
    margin-top: 1.5rem;
}

.p-sec02__img {
    margin-top: 1.5rem;
    max-width: 41.875rem;
    width: 100%;
    margin-inline: auto;
}

.p-sec02__img figcaption {
    color: #231815;
    font-family: "Hiragino Kaku Gothic Pro";
    font-size: 0.75rem;
    font-weight: 300;
    line-height: 1.7;
}

.p-sec02__bmi {
    margin-top: 2rem;
}

.p-sec02__bmi-bg {
    border-radius: 16px;
    background: #00549e;
    padding: 2rem 0;
    overflow: hidden;
}

.p-sec02__bmi-inner {
    padding: 0 0.625rem;
}

.p-sec02__title {
    color: #fff;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
}

.p-sec02__bmi-content1 {
    margin-top: 1.5rem;
}

.p-sec02__bmi-input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 30.125rem;
    width: 100%;
    margin-inline: auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem;
}

.p-sec02__bmi-form-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5rem;
}

.p-sec02__bmi-form-group label,
.p-sec02__bmi-weight,
.p-sec02__bmi-height {
    color: #fff;
    font-family: "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体", "Noto Sans JP";
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
}

.p-sec02__bmi-form-control {
    width: 10.8125rem;
    height: 3.5rem;
    border-radius: 8px;
    border: 1px solid #003b4d;
    background-color: #fff;
    padding: 0 1.5625rem;
    text-align: center;
    font-size: 1.3125rem;
    font-weight: 600;
    line-height: 1.7;
}

.p-sec02__bmi-btn {
    color: #fff;
    font-family: "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体", "Noto Sans JP";
    font-size: 1.3125rem;
    font-weight: 700;
    line-height: 1;
    border-radius: 5px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), color-stop(48.44%, rgba(143, 143, 143, 0.25)), to(rgba(0, 0, 0, 0.5))), #f6781c;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(143, 143, 143, 0.25) 48.44%, rgba(0, 0, 0, 0.5) 100%), #f6781c;
    background-blend-mode: color-dodge, normal;
    padding: 1.0625rem 5.5625rem;
}

.p-sec02__bmi-img-contents2 {
    height: 250px;
    position: relative;
}

.p-sec02__bmi-img-content2 {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    margin-top: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem;
    width: 40rem;
}

.p-sec02__bmi-img-item {
    position: relative;
    max-width: 16.6666666667%;
    width: 100%;
}

.p-sec02__bmi-img-item img {
    width: 100%;
    aspect-ratio: 84/163;
    -o-object-fit: contain;
    object-fit: contain;
}

.p-sec02__bmi-img-item::after {
    position: absolute;
    top: 50%;
    left: 85%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: 0 1rem;
    content: "";
    width: 1px;
    height: 4.5rem;
    background-color: #fff;
}

.p-sec02__bmi-img6.p-sec02__bmi-img-item::after {
    content: none;
}

.p-sec02__bmi-img-text {
    margin-top: 1rem;
    color: #fff;
    text-align: center;
    font-family: "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体", "Noto Sans JP";
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.3;
}

.p-sec02__bmi-result-inner {
    max-width: 21rem;
    width: 100%;
    margin-inline: auto;
    padding-inline: 0.625rem;
}

.p-sec02__bmi-result {
    margin-top: 13%;
}

.p-sec02__bmi-result-header {
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-width: 12.5rem;
    padding: 0.3125rem 3rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    color: #000;
    text-align: center;
    font-family: "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体", "Noto Sans JP";
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1;
    border: 1px solid #00549e;
    border-bottom: none;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
}

.p-sec02__bmi-result-body {
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    min-width: 12.5rem;
    border: 1px solid #00549e;
    border-top: none;
    background: #d6e0ed;
    padding: 0.9375rem 3rem;
    min-height: 4.5rem;
}

.p-sec02__bmi-result-value {
    text-align: center;
    color: #ff3700;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.7;
}

.p-sec02__bmi-img-item {
    opacity: 0.3;
}

.p-sec02__bmi-img-item.active {
    opacity: 1;
}

.p-sec03__bg {
    background-image: url("../images/sec03-bg-sp.webp");
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
    width: 100%;
    height: auto;
    padding-top: 2.5rem;
}

.p-sec03__inner {
    width: 100%;
    max-width: 46.875rem;
    margin-left: auto;
    padding-left: 1.25rem;
}

.p-sec03__section-title-wrap {
    display: block;
    text-align: center;
}

.p-sec03__section-title {
    color: #000;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    position: relative;
}

.p-sec03__section-title:after {
    display: inline-block;
    content: "";
    position: absolute;
    top: 6.5rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 2px;
    height: 2.5rem;
    background-color: #00549e;
}

.p-sec03__title-dec1 {
    color: #00549e;
}

.p-sec03__title-dec2 {
    color: #00549e;
    font-size: 0.9375rem;
}

.p-sec03__pc-text-content {
    display: none;
}

.p-sec03__pc-text-wrap {
    margin-top: 17.70833vw;
    max-width: calc(100% - 15.8125rem);
    width: 100%;
}

.p-sec03__pc-img-inner {
    max-width: 14.9375rem;
    width: 100%;
}

.p-sec03__sp-text-content {
    margin-top: 4.5rem;
}

.p-sec03__sp-text-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 2.6666%;
    padding-left: 1.25rem;
}

.p-sec03__sp-text {
    color: #231815;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.7;
    padding-inline: 1.25rem;
}

.p-sec03__sp-text2.p-sec03__sp-text {
    margin-top: 1.5rem;
    max-width: calc(100% - (9rem + 2.666%));
    width: 100%;
    padding-bottom: 2.5rem;
    padding-inline: 0;
}

.p-sec03__text {
    color: #231815;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.7;
    text-align: left;
}

.p-sec03__sp-img-inner {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.p-sec03__img {
    display: block;
    max-width: 9rem;
    width: 100%;
    margin-left: auto;
}

.p-sec04__bg {
    background-color: #e5eef8;
    padding-top: 3.0625rem;
    padding-bottom: 2.5rem;
}

.p-sec04__inner {
    width: 100%;
    max-width: 33.75rem;
    margin-inline: auto;
    padding-inline: 1.25rem;
}

.p-sec04__section-title-wrap {
    display: block;
    text-align: center;
}

.p-sec04__section-title {
    color: #000;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    position: relative;
}

.p-sec04__section-title:after {
    display: inline-block;
    content: "";
    position: absolute;
    top: 5.125rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 2px;
    height: 2.5rem;
    background-color: #00549e;
}

.p-sec04__title-dec1 {
    color: #00549e;
    display: inline-block;
}

.p-sec04__title-dec2 {
    color: #00549e;
    font-size: 0.9375rem;
    display: inline-block;
}

.p-sec04__img {
    margin-top: 4.875rem;
}

.p-sec04__img2 img,
.p-sec04__img3 img {
    margin-top: 1.3125rem;
}

.p-sec04__content1.p-sec04__content {
    padding-bottom: 1rem;
    border-bottom: 1px solid #cbcbcb;
}

.p-sec04__title {
    color: #fff;
    text-align: center;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 5px;
    background: #717171;
    padding: 0.125rem 0;
    max-width: 20.9375rem;
    width: 100%;
    margin-inline: auto;
}

.p-sec04__title1.p-sec04__title {
    margin-top: 1.5rem;
}

.p-sec04__title2.p-sec04__title {
    margin-top: 0.625rem;
}

.p-sec04__text {
    margin-top: 0.5rem;
    color: #000;
    font-size: 0.8125rem;
    font-weight: 300;
    line-height: 1.5;
}

.p-sec05__bg {
    background-color: #00549e;
    width: 100%;
    height: auto;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.p-sec05__inner {
    width: 100%;
    max-width: 44.375rem;
    margin-inline: auto;
    padding-inline: 1.25rem;
}

.p-sec05__section-title-wrap {
    display: block;
    text-align: center;
}

.p-sec05__section-title {
    color: #fff;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
}

.p-sec05__img {
    margin-top: 2rem;
    max-width: 50vw;
    width: 100%;
    margin-inline: auto;
}

.p-sec05__text {
    margin-top: 2.5rem;
    color: #fff;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.7;
}

.p-sec05__text + .p-sec05__text {
    margin-top: 1.5rem;
    font-size: 0.8125rem;
    line-height: 1.5;
}

.p-sec06 {
    background-color: #eff6fe;
}

.p-sec06__bg {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 2.3125rem;
    padding-bottom: 2.5rem;
}

.p-sec06__bg::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    background-image: url("../images/sec06-bg-sp.webp");
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
    width: 100%;
    min-height: 10.5rem;
}

.p-sec06__content {
    z-index: 2;
    position: relative;
}

.p-sec06__section-title-wrap {
    width: 100%;
    margin-inline: auto;
    padding-inline: 1.25rem;
    display: block;
    text-align: center;
}

.p-sec06__section-title {
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #000;
    text-align: center;
    font-size: clamp(18px, 6.4vw, 24px);
    font-weight: 700;
    line-height: 1.3;
}

.p-sec06__section-title span {
    color: #00549e;
}

.p-sec06__img-wrap {
    margin-top: 2.3125rem;
    overflow-x: scroll;
    text-align: center;
}

.p-sec06__img {
    display: inline-block;
    width: 100%;
    min-width: 549px;
    margin-inline: auto;
    padding-inline: 1.25rem;
}

.p-sec06__contents {
    margin-top: 1.5rem;
    width: 100%;
    max-width: 44.375rem;
    margin-inline: auto;
    padding-inline: 1.25rem;
}

.p-sec01-1__bg {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    overflow: hidden;
}

.p-sec01-1__bg::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    min-height: 38vw;
    background-image: url("../images/sec04-bg-sp.webp");
    background-size: contain;
    background-position: left;
    background-repeat: no-repeat;
    max-width: 100%;
    width: 100%;
    height: auto;
    z-index: -1;
}

.p-sec01-1__inner {
    width: 100%;
    max-width: 45.625rem;
    margin-inline: auto;
    padding-inline: 0.625rem;
}

.p-sec01-1__section-title-wrap {
    display: block;
    text-align: center;
}

.p-sec01-1__section-title {
    color: #000;
    font-size: clamp(18px, 6.4vw, 24px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.1rem;
    position: relative;
}

.p-sec01-1__section-title span {
    color: #00549e;
    font-size: clamp(18px, 6.4vw, 24px);
    font-weight: 700;
    line-height: 1;
}

.p-sec01-1__section-title:after {
    display: inline-block;
    content: "";
    position: absolute;
    top: 2.5rem;
    left: 50%;
    -webkit-transform: translate(-50%);
    transform: translate(-50%);
    width: 2px;
    height: 2.5rem;
    background-color: #00549e;
}

.p-sec01-1__section-title1 {
    margin-top: 0.8125rem;
}

.p-sec01-1__text {
    margin-top: 4.5rem;
    color: #231815;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.7;
    text-align: center;
}

.p-sec01-1__text2.p-sec01-1__text {
    margin-top: 1rem;
}

.p-sec01-1__text3 {
    margin-top: 1.5rem;
    color: #00549e;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.7;
    text-align: center;
}

@media screen and (min-width: 374px) {
    /* .p-sec01__inner {
    max-width: 47.5rem;
    padding-inline: 1.25rem;
  }

  .p-sec01__img1 img {
    width: 13.125rem;
    height: 13.125rem;
  } */

    .p-sec02__bg-inner::after {
        right: -3vw;
    }

    .p-sec02__inner {
        max-width: 44.375rem;
        padding-inline: 1.25rem;
    }

    .p-sec01-1__inner {
        max-width: 46.875rem;
        padding-inline: 1.25rem;
    }
}

@media screen and (min-width: 376px) {
    .sec07 {
        padding-top: 4.5rem;
        padding-bottom: 40px;
    }

    .sec07_ttl {
        margin-bottom: 6.4vw;
    }

    .sec07_ttl {
        font-size: clamp(24px, 3.5vw, 48px);
    }

    .p-sec10 .inner {
        padding-bottom: 8.5vw;
    }

    .p-sec10 {
        font-size: clamp(24px, 3.5vw, 48px);
    }

    .p-sec10_logo {
        width: 35.1vw;
    }

    .p-sec10_txt {
        font-size: 2.7vw;
    }

    .p-sec01__section-title {
        font-size: clamp(24px, 3.5vw, 48px);
        line-height: 1.3;
    }

    .p-sec01__section-title:before,
    .p-sec01__section-title:after {
        width: 6.45%;
    }

    .p-sec02__section-title {
        font-size: clamp(24px, 3.5vw, 48px);
    }

    .p-sec02__section-title:before,
    .p-sec02__section-title:after {
        width: 6.45%;
    }

    .p-sec02__title {
        font-size: clamp(24px, 3.5vw, 48px);
    }

    .p-sec03__section-title:after {
        top: 120%;
        height: 10.41666vw;
    }

    .p-sec03__sp-text {
        font-size: 1.125rem;
    }

    .p-sec03__text {
        font-size: 1.125rem;
    }

    .p-sec04__section-title {
        font-size: clamp(24px, 3.5vw, 48px);
    }

    .p-sec04__img {
        margin-top: 16.6666vw;
    }

    .p-sec04__title {
        font-size: 1.125rem;
        border-radius: 20px;
        padding: 0.375rem 0;
        max-width: 31.25rem;
    }

    .p-sec04__text {
        font-size: 0.9375rem;
    }

    .p-sec05__section-title {
        font-size: clamp(24px, 3.5vw, 48px);
    }

    .p-sec06__section-title {
        font-size: clamp(24px, 3.5vw, 48px);
    }

    .p-sec01-1__section-title {
        font-size: clamp(24px, 3.5vw, 48px);
        line-height: 1.3;
    }

    .p-sec01-1__section-title span {
        font-size: clamp(24px, 3.5vw, 48px);
        line-height: 1.3;
    }

    .p-sec01-1__section-title:after {
        top: 140%;
        height: 10.41666vw;
    }

    .p-sec01-1__text {
        margin-top: 14.9375vw;
        font-size: clamp(16px, 0.9375vw, 18px);
    }
}

@media screen and (min-width: 445px) {
    .p-sec04__section-title:after {
        top: 130%;
        height: 10.41666vw;
    }
}

@media screen and (min-width: 500px) {
    .p-sec01__content:nth-child(1),
    .p-sec01__content:nth-child(3) {
        padding-left: 1.4375rem;
        margin-left: 0rem;
    }

    .p-sec01__content:nth-child(2) {
        padding-right: 1.4375rem;
        margin-right: 0rem;
    }
}

@media screen and (min-width: 550px) {
    .sp-br {
        display: none;
    }

    .p-sec03__inner {
        max-width: 48rem;
        padding-left: 6.25vw;
    }

    .p-sec03__section-title {
        font-size: clamp(24px, 3.5vw, 48px);
    }

    .p-sec03__pc-text-content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        gap: 0.875rem;
        max-width: 100%;
    }

    .p-sec03__sp-text-content {
        display: none;
    }

    .p-sec03__text + .p-sec03__text {
        margin-top: 2rem;
        padding-bottom: 3.5rem;
    }

    .p-sec03__img {
        margin-top: 0rem;
        max-width: 14.9375rem;
    }

    .p-sec05__img {
        margin-top: 2.75rem;
        width: 100%;
        max-width: inherit;
    }
}

@media screen and (min-width: 768px) {
    .p-sec10__row {
        padding: 5rem 0 3rem;
    }

    .p-sec10__row_wrap {
        max-width: 31.25rem;
        gap: 1.25rem;
    }

    .p-sec10__row_logo {
        max-width: 14.5rem;
    }

    .p-sec10__row_txt {
        font-size: 1rem;
    }
}

@media screen and (min-width: 769px) {
    .header {
        height: 84px;
    }

    .header__inner {
        max-width: 84.75rem;
        padding-left: 1.5625rem;
        padding-right: 1.5625rem;
    }

    .header__content {
        max-width: 31.25rem;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 4.0322%;
    }

    .header__logo {
        max-width: 14.5rem;
    }

    .header__text {
        font-size: 1rem;
        line-height: 1.7;
    }

    .header__btn-wrap {
        max-width: 495px;
        height: auto;
        gap: 4.0485%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .header__btn.c-btn {
        font-size: 1.25rem;
    }

    .header__btn.c-btn.btn__web {
        padding: 20px 10px;
    }

    .header__btn.c-btn.btn__tel {
        padding: 20px 10px;
    }

    .sec07_ttl {
        font-size: clamp(34px, 3.5vw, 48px);
    }

    .c-btn {
        max-width: 14.8125rem;
        width: 100%;
        border-radius: 400px;
        color: #fff;
        font-size: 1.25rem;
        font-weight: 700;
        padding: 1.0625rem 0;
        text-align: center;
        position: relative;
    }

    .c-btn::before {
        content: "";
        width: 11px;
        height: 11px;
        border-bottom: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        position: absolute;
        top: 0;
        bottom: 0;
        right: 17px;
        margin: auto;
    }

    .tab-br {
        display: block;
    }

    .p-sec10 {
        background-image: url("../images/sec10-bg.webp");
        background-size: cover;
        padding: 3.5rem 0 6.25rem;
        aspect-ratio: 1920/423;
    }

    .p-sec10 .p-sec10__ttl {
        margin-bottom: 45px;
        font-size: clamp(34px, 3.5vw, 48px);
    }

    .p-sec10__btns {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 2.5rem;
        padding-inline: 1.5625rem;
    }

    .p-sec10__btn {
        max-width: 24.8125rem;
        width: 100%;
        border-radius: 93.806px;
        color: #fff;
        font-size: 1.75rem;
        font-weight: 700;
        padding: 1.75rem 1.5rem;
        text-align: center;
    }

    .p-sec10__btn::before {
        border-bottom: 3px solid #fff;
        border-right: 3px solid #fff;
        width: 1.4375rem;
        height: 1.4375rem;
    }

    .p-sec10-1.p-sec10 {
        background-size: cover;
    }

    .p-fv__bg {
        background-image: url("../images/fv-bg.webp");
        aspect-ratio: 1920/602;
        min-height: 37.625rem;
    }

    .p-fv__inner {
        max-width: 76.875rem;
        padding: 6.444vw 0 1.25rem 0;
    }

    .p-fv__content {
        max-width: 76.875rem;
        padding-right: 1.25rem;
        padding-left: 1.25rem;
        margin-right: auto;
    }

    .p-fv__img {
        max-width: clamp(900px, 48.9062vw, 939px);
        width: 100%;
        margin-right: auto;
    }

    .p-fv__img img {
        aspect-ratio: 939/542;
    }

    .p-header-spacer {
        height: 84px;
    }

    .p-sec01__bg {
        padding-top: 2.5rem;
        padding-bottom: 4.5rem;
    }

    .p-sec01__bg::after {
        background-image: url("../images/sec01-bg-after.webp");
        bottom: -2.6875rem;
        width: 160px;
        height: 48px;
    }

    .p-sec01__inner {
        max-width: 65.625rem;
        padding-inline: 1.5625rem;
    }

    .p-sec01__section-title {
        font-size: clamp(34px, 3.5vw, 48px);
    }

    .p-sec01__section-title:before {
        margin-right: 3.2%;
    }

    .p-sec01__section-title:after {
        margin-left: 3.2%;
    }

    .p-sec01__contents {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        margin-top: 2rem;
        max-width: 61.25rem;
        gap: 4.0816%;
        padding-inline: 1.25rem;
    }

    .p-sec01__content {
        gap: 0.625rem;
        max-width: 18.75rem;
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: baseline;
        -ms-flex-pack: baseline;
        justify-content: baseline;
    }

    .p-sec01__content:nth-child(1),
    .p-sec01__content:nth-child(3) {
        margin-left: 0rem;
        padding-right: 0rem;
        padding-left: 0rem;
    }

    .p-sec01__content:nth-child(2) {
        margin-top: 0rem;
        margin-right: 0rem;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding-right: 0rem;
        padding-left: 0rem;
    }

    .p-sec01__content:nth-child(3) {
        margin-top: 0;
    }

    .p-sec01__img1 {
        margin-inline: auto;
    }

    .p-sec01__img1 img {
        width: 233.3333333333px;
        height: 233.3333333333px;
    }

    .p-sec01__text {
        font-size: 1.5rem;
        text-align: left;
    }

    .p-sec01__subtext-wrap {
        margin-top: 4rem;
    }

    .p-sec01__subtext {
        font-size: 2rem;
        font-size: clamp(24px, 1.666vw, 32px);
        line-height: 1.3;
        letter-spacing: 0.064em;
    }

    .p-sec01__subtext span {
        font-size: clamp(48px, 4.8177vw, 56px);
        line-height: 1.3;
        letter-spacing: 0.112em;
    }

    .p-sec01__logo {
        max-width: 14.5rem;
    }

    .p-sec02__bg {
        margin-top: 2.5rem;
    }

    .p-sec02__bg-inner {
        width: 100%;
        padding: 4.5rem 0 5rem;
        padding-inline: 0;
    }

    .p-sec02__bg-inner::after {
        right: -20%;
        max-width: clamp(661px, 50.7333vw, 761px);
        min-height: 23.80208vw;
        background-image: url("../images/sec02-bg.webp");
    }

    .p-sec02__inner {
        max-width: 65.625rem;
        padding-inline: 1.5625rem;
    }

    .p-sec02__section-title {
        font-size: clamp(34px, 3.5vw, 48px);
    }

    .p-sec02__section-title:before {
        margin-right: 3.2%;
    }

    .p-sec02__section-title:after {
        margin-left: 3.2%;
    }

    .p-sec02__contents {
        margin-top: 3rem;
    }

    .p-sec02__text {
        font-size: 1.125rem;
        text-align: center;
    }

    .p-sec02__text + .p-sec02__text {
        margin-top: 2rem;
    }

    .p-sec02__img {
        margin-top: 2.5rem;
        max-width: 62.5rem;
    }

    .p-sec02__img figcaption {
        font-size: 0.9375rem;
    }

    .p-sec02__bmi {
        margin-top: 2.5rem;
    }

    .p-sec02__bmi-bg {
        padding: 2rem 0 3rem;
    }

    .p-sec02__bmi-inner {
        padding: 0 3%;
    }

    .p-sec02__title {
        font-size: clamp(34px, 3.5vw, 48px);
    }

    .p-sec02__bmi-content1 {
        margin-top: 2rem;
    }

    .p-sec02__bmi-input {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        max-width: 47.875rem;
    }

    .p-sec02__bmi-form-group label,
    .p-sec02__bmi-weight,
    .p-sec02__bmi-height {
        font-size: clamp(18px, 1.0937vw, 21px);
    }

    .p-sec02__bmi-form-control {
        width: 9.0625rem;
    }

    .p-sec02__bmi-btn {
        border-radius: 8px;
        padding: 1.125rem 3rem;
    }

    .p-sec02__bmi-img-content2 {
        position: static;
        margin-top: 2rem;
        gap: 2rem;
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        left: auto;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    .p-sec02__bmi-img-item {
        max-width: 6.3125rem;
    }

    .p-sec02__bmi-img-item img {
        aspect-ratio: 101/200;
        height: 100%;
    }

    .p-sec02__bmi-img-item::after {
        left: 100%;
    }

    .p-sec02__bmi-img-text {
        font-size: 1.125rem;
    }

    .p-sec02__bmi-result-inner {
        max-width: 43.3125rem;
        padding-inline: 1.25rem;
    }

    .p-sec02__bmi-result {
        margin-top: 13%;
    }

    .p-sec02__bmi-result-header {
        font-size: 1.3125rem;
        padding: 0.5rem 12.5rem;
        min-width: 14.375rem;
    }

    .p-sec02__bmi-result-body {
        padding: 1.25rem 12.5rem;
        min-height: 5.3125rem;
    }

    .p-sec02__bmi-result-value {
        font-size: 1.875rem;
    }

    .p-sec03__bg {
        background-image: url("../images/sec03-bg.webp");
        padding-top: 4.5rem;
    }

    .p-sec03__inner {
        max-width: 72.0625rem;
        padding-left: 1.5625rem;
        margin-right: auto;
    }

    .p-sec03__section-title {
        font-size: clamp(34px, 3.5vw, 48px);
    }

    .p-sec03__section-title:after {
        height: 5rem;
    }

    .p-sec03__title-dec2 {
        font-size: 1.5rem;
    }

    .p-sec03__pc-text-wrap {
        margin-top: 8.5rem;
        max-width: calc(100% - 24.0625rem);
    }

    .p-sec03__pc-img-inner {
        max-width: 24.0625rem;
    }

    .p-sec03__text + .p-sec03__text {
        margin-top: 1.6666vw;
        padding-bottom: 4.16666vw;
    }

    .p-sec03__img {
        max-width: 24.0625rem;
    }

    .p-sec04__bg {
        padding-top: 4.5rem;
        padding-bottom: 5rem;
    }

    .p-sec04__inner {
        max-width: 65.625rem;
        padding-inline: 1.5625rem;
    }

    .p-sec04__section-title {
        font-size: clamp(34px, 3.5vw, 48px);
    }

    .p-sec04__section-title:after {
        height: 5rem;
    }

    .p-sec04__title-dec2 {
        font-size: 1.5rem;
    }

    .p-sec04__img {
        margin-top: 8rem;
    }

    .p-sec04__img2 img,
    .p-sec04__img3 img {
        margin-top: 2.625rem;
    }

    .p-sec04__contents {
        margin-top: 2.5rem;
    }

    .p-sec04__content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 3.2%;
    }

    .p-sec04__content1.p-sec04__content {
        padding-bottom: 1.5rem;
    }

    .p-sec04__content2.p-sec04__content {
        margin-top: 1.5rem;
    }

    .p-sec04__title {
        max-width: 15.5rem;
        margin-inline: 0;
    }

    .p-sec04__title1.p-sec04__title {
        margin-top: 0rem;
    }

    .p-sec04__title2.p-sec04__title {
        margin-top: 0rem;
    }

    .p-sec04__text {
        margin-top: 0rem;
    }

    .p-sec05__bg {
        padding-top: 4.5rem;
        padding-bottom: 5rem;
    }

    .p-sec05__inner {
        max-width: 51.625rem;
        padding-inline: 1.5625rem;
    }

    .p-sec05__section-title {
        font-size: clamp(34px, 3.5vw, 48px);
    }

    .p-sec05__img {
        margin-top: 3.6875rem;
        max-width: 48.5rem;
    }

    .p-sec05__text {
        margin-top: 3rem;
        font-size: 1.125rem;
    }

    .p-sec05__text + .p-sec05__text {
        font-size: 1rem;
    }

    .p-sec06__bg {
        padding-top: 4.5rem;
        padding-bottom: 6.25rem;
    }

    .p-sec06__bg::after {
        background-image: url("../images/sec06-bg.webp");
        min-height: 24rem;
    }

    .p-sec06__section-title {
        font-size: clamp(34px, 3.5vw, 48px);
    }

    .p-sec06__img-wrap {
        margin-top: 2.5rem;
    }

    .p-sec06__img {
        width: 1000px;
        padding-inline: 0;
        padding-left: 3.25vw;
    }

    .p-sec06__contents {
        max-width: 1000px;
        padding-inline: 1.5625rem;
    }

    .p-sec01-1__bg {
        padding-top: clamp(40px, 3.5vw, 72px);
        padding-bottom: clamp(40px, 3.5vw, 80px);
        max-width: 91.1875rem;
        width: 100%;
        padding-inline: 12.1875vw;
        margin-inline: auto;
    }

    .p-sec01-1__bg::after {
        background-image: url("../images/sec04-bg.webp");
    }

    .p-sec01-1__inner {
        max-width: 61.75rem;
        padding-inline: 1.5625rem;
    }

    .p-sec01-1__section-title {
        font-size: clamp(34px, 3.5vw, 48px);
    }

    .p-sec01-1__section-title span {
        font-size: clamp(34px, 3.5vw, 48px);
    }

    .p-sec01-1__section-title:after {
        top: 122.8958%;
        height: 5rem;
    }

    .p-sec01-1__section-title1 {
        margin-top: 0.625rem;
    }

    .p-sec01-1__text {
        margin-top: 8.1875rem;
        font-size: 1.125rem;
    }

    .p-sec01-1__text2.p-sec01-1__text {
        margin-top: 2rem;
    }

    .p-sec01-1__text3 {
        margin-top: 2rem;
        font-size: clamp(28px, 1.6666vw, 32px);
    }
}

@media screen and (min-width: 900px) {
    .p-sec02__bmi-form-control {
        width: 10.8125rem;
        height: 4.5rem;
        font-size: 1.5625rem;
    }

    .p-sec02__bmi-btn {
        padding: 1.5625rem 3.625rem;
    }

    .p-sec02__bmi-result-body {
        min-width: 14.375rem;
        min-height: 5.8125rem;
    }

    .p-sec02__bmi-result-value {
        font-size: 2.375rem;
    }
}

@media screen and (min-width: 1000px) {
    .p-fv__inner {
        padding: 2.5rem 0 1.25rem 0;
    }

    .p-sec01__img1 img {
        width: 16.25rem;
        height: 16.25rem;
    }

    .p-sec02__bg-inner::after {
        right: clamp(-300px, 15vw, -100px);
    }

    .p-sec04__title {
        font-size: 1.3125rem;
    }

    .p-sec06__img-wrap {
        /* padding-left: 0; */
    }
}

@media screen and (min-width: 1020px) {
    .p-fv__img {
        max-width: 58.6875rem;
    }
}

@media screen and (min-width: 1100px) {
    .p-sec01-1__bg::after {
        background-position: center top;
        max-width: 750px;
        min-height: 23.80208vw;
    }
    .p-sec06__img {
        padding-left: 0;
    }
}

@media screen and (min-width: 1170px) {
    .p-fv__content {
        padding-right: 6.5rem;
        padding-left: 6.0625rem;
    }
}

@media screen and (min-width: 1240px) {
    .p-sec10 {
        padding: 4.5rem 0 8.25rem;
    }

    .p-sec10__btn {
        font-size: 2.0625rem;
        padding: 2.0625rem 1.625rem;
    }
}

@media screen and (min-width: 1500px) {
    .p-sec02__bg-inner {
        max-width: 106.25rem;
        padding-inline: 5.7291vw;
    }

    .p-sec02__bg-inner::after {
        right: 0;
        max-width: 761px;
    }
}

@media screen and (min-width: 1920px) {
    .pc-br {
        display: block;
    }

    .p-fv__img {
        max-width: 48.9062vw;
    }
}

@media screen and (max-width: 1024px) {
    .p-yuutai-anchorLinkArea.p-anchorLink-listArea {
        grid-template-columns: repeat(4, 1fr);
    }

    .p-clinic-infoDetail-box {
        -moz-column-gap: 2%;
        -webkit-column-gap: 2%;
        column-gap: 2%;
    }

    .p-clinic-infoDetail-tel {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 0.8em;
    }

    .p-clinic-infoDetail-telNumber::before {
        width: 8%;
    }

    .p-clinic-infoDetail-telNumber {
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media screen and (max-width: 768px) {
    .c-buttonArrow::after {
        width: 20px;
    }

    .c-buttonArrow.c-buttonArrow-move::after {
        -webkit-animation: move-arrowSP 1.2s linear infinite;
        animation: move-arrowSP 1.2s linear infinite;
    }

    .c-btns {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 6.3vw;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .c-btns .btn {
        max-width: none;
        width: 87.2vw;
        font-size: 6.4vw;
        padding: 6.1vw 0;
        -webkit-box-shadow: 0px 1vw 1vw 0px rgba(0, 0, 0, 0.25);
        box-shadow: 0px 1vw 1vw 0px rgba(0, 0, 0, 0.25);
    }

    .c-clinicLocationBox-detailListLink a {
        margin: auto;
    }

    .c-clinicLocationBox-timeDataTime td {
        padding: 0.6em 0;
    }

    .c-containerBox-wrap:has(> :nth-child(2)) {
        grid-template-columns: 1fr;
        gap: 2em;
    }

    .c-containerBox-wrap:has(> :nth-child(3)) {
        grid-template-columns: 1fr;
        gap: 2em;
    }

    .c-containerBox-wrap:has(> :nth-child(4)) {
        grid-template-columns: 1fr;
        gap: 2em;
    }

    .c-containerBox-wrap:has(> :nth-child(5)) {
        grid-template-columns: 1fr;
        gap: 2em;
    }

    .c-buttonMain {
        width: min(420px, 100%);
    }

    .c-buttonMain > * {
        padding: 1.3em 16% 1.3em 5%;
    }

    .c-buttonMain.c-buttonMain-blue > * {
        padding-right: 16%;
    }

    .c-buttonGradation > * {
        background: url(../img/button-gra_bg-sp.png) no-repeat left center/contain;
        padding-right: 16%;
    }

    .c-buttonArrow::after {
        width: 20px;
    }

    .c-buttonArrow.c-buttonArrow-move::after {
        -webkit-animation: move-arrowSP 1.2s linear infinite;
        animation: move-arrowSP 1.2s linear infinite;
    }

    .c-buttonListArea {
        grid-template-columns: 1fr;
    }

    .c-buttonListArea .c-buttonMain {
        width: min(420px, 100%);
    }

    .c-buttonListIcon.tel::before {
        margin-right: 0;
        width: 1.3em;
    }

    .c-title-besideLine {
        letter-spacing: 0.05em;
    }

    .c-thickArrow ::after {
        width: 2em;
        bottom: -115%;
        top: auto;
        right: 50%;
        -webkit-transform: translate(50%, -50%) rotate(90deg);
        transform: translate(50%, -50%) rotate(90deg);
    }

    .c-circleBg::after {
        width: 90%;
        top: 0;
    }

    .mAsp-10 {
        margin: 10px;
    }

    .mTsp-10 {
        margin-top: 10px;
    }

    .mBsp-10 {
        margin-bottom: 10px;
    }

    .mLsp-10 {
        margin-left: 10px;
    }

    .mRsp-10 {
        margin-right: 10px;
    }

    .mAsp-20 {
        margin: 20px;
    }

    .mTsp-20 {
        margin-top: 20px;
    }

    .mBsp-20 {
        margin-bottom: 20px;
    }

    .mLsp-20 {
        margin-left: 20px;
    }

    .mRsp-20 {
        margin-right: 20px;
    }

    .mAsp-30 {
        margin: 30px;
    }

    .mTsp-30 {
        margin-top: 30px;
    }

    .mBsp-30 {
        margin-bottom: 30px;
    }

    .mLsp-30 {
        margin-left: 30px;
    }

    .mRsp-30 {
        margin-right: 30px;
    }

    .mAsp-40 {
        margin: 40px;
    }

    .mTsp-40 {
        margin-top: 40px;
    }

    .mBsp-40 {
        margin-bottom: 40px;
    }

    .mLsp-40 {
        margin-left: 40px;
    }

    .mRsp-40 {
        margin-right: 40px;
    }

    .mAsp-50 {
        margin: 50px;
    }

    .mTsp-50 {
        margin-top: 50px;
    }

    .mBsp-50 {
        margin-bottom: 50px;
    }

    .mLsp-50 {
        margin-left: 50px;
    }

    .mRsp-50 {
        margin-right: 50px;
    }

    .mAsp-60 {
        margin: 60px;
    }

    .mTsp-60 {
        margin-top: 60px;
    }

    .mBsp-60 {
        margin-bottom: 60px;
    }

    .mLsp-60 {
        margin-left: 60px;
    }

    .mRsp-60 {
        margin-right: 60px;
    }

    .mAsp-70 {
        margin: 70px;
    }

    .mTsp-70 {
        margin-top: 70px;
    }

    .mBsp-70 {
        margin-bottom: 70px;
    }

    .mLsp-70 {
        margin-left: 70px;
    }

    .mRsp-70 {
        margin-right: 70px;
    }

    .mAsp-80 {
        margin: 80px;
    }

    .mTsp-80 {
        margin-top: 80px;
    }

    .mBsp-80 {
        margin-bottom: 80px;
    }

    .mLsp-80 {
        margin-left: 80px;
    }

    .mRsp-80 {
        margin-right: 80px;
    }

    .mAsp-90 {
        margin: 90px;
    }

    .mTsp-90 {
        margin-top: 90px;
    }

    .mBsp-90 {
        margin-bottom: 90px;
    }

    .mLsp-90 {
        margin-left: 90px;
    }

    .mRsp-90 {
        margin-right: 90px;
    }

    .mAsp-100 {
        margin: 100px;
    }

    .mTsp-100 {
        margin-top: 100px;
    }

    .mBsp-100 {
        margin-bottom: 100px;
    }

    .mLsp-100 {
        margin-left: 100px;
    }

    .mRsp-100 {
        margin-right: 100px;
    }

    .mAsp-110 {
        margin: 110px;
    }

    .mTsp-110 {
        margin-top: 110px;
    }

    .mBsp-110 {
        margin-bottom: 110px;
    }

    .mLsp-110 {
        margin-left: 110px;
    }

    .mRsp-110 {
        margin-right: 110px;
    }

    .mAsp-120 {
        margin: 120px;
    }

    .mTsp-120 {
        margin-top: 120px;
    }

    .mBsp-120 {
        margin-bottom: 120px;
    }

    .mLsp-120 {
        margin-left: 120px;
    }

    .mRsp-120 {
        margin-right: 120px;
    }

    .mAsp-130 {
        margin: 130px;
    }

    .mTsp-130 {
        margin-top: 130px;
    }

    .mBsp-130 {
        margin-bottom: 130px;
    }

    .mLsp-130 {
        margin-left: 130px;
    }

    .mRsp-130 {
        margin-right: 130px;
    }

    .mAsp-140 {
        margin: 140px;
    }

    .mTsp-140 {
        margin-top: 140px;
    }

    .mBsp-140 {
        margin-bottom: 140px;
    }

    .mLsp-140 {
        margin-left: 140px;
    }

    .mRsp-140 {
        margin-right: 140px;
    }

    .mAsp-150 {
        margin: 150px;
    }

    .mTsp-150 {
        margin-top: 150px;
    }

    .mBsp-150 {
        margin-bottom: 150px;
    }

    .mLsp-150 {
        margin-left: 150px;
    }

    .mRsp-150 {
        margin-right: 150px;
    }

    .mAsp-160 {
        margin: 160px;
    }

    .mTsp-160 {
        margin-top: 160px;
    }

    .mBsp-160 {
        margin-bottom: 160px;
    }

    .mLsp-160 {
        margin-left: 160px;
    }

    .mRsp-160 {
        margin-right: 160px;
    }

    .mAsp-170 {
        margin: 170px;
    }

    .mTsp-170 {
        margin-top: 170px;
    }

    .mBsp-170 {
        margin-bottom: 170px;
    }

    .mLsp-170 {
        margin-left: 170px;
    }

    .mRsp-170 {
        margin-right: 170px;
    }

    .mAsp-180 {
        margin: 180px;
    }

    .mTsp-180 {
        margin-top: 180px;
    }

    .mBsp-180 {
        margin-bottom: 180px;
    }

    .mLsp-180 {
        margin-left: 180px;
    }

    .mRsp-180 {
        margin-right: 180px;
    }

    .mAsp-190 {
        margin: 190px;
    }

    .mTsp-190 {
        margin-top: 190px;
    }

    .mBsp-190 {
        margin-bottom: 190px;
    }

    .mLsp-190 {
        margin-left: 190px;
    }

    .mRsp-190 {
        margin-right: 190px;
    }

    .mAsp-200 {
        margin: 200px;
    }

    .mTsp-200 {
        margin-top: 200px;
    }

    .mBsp-200 {
        margin-bottom: 200px;
    }

    .mLsp-200 {
        margin-left: 200px;
    }

    .mRsp-200 {
        margin-right: 200px;
    }

    .pAsp-10 {
        padding: 10px;
    }

    .pTsp-10 {
        padding-top: 10px;
    }

    .pBsp-10 {
        padding-bottom: 10px;
    }

    .pLsp-10 {
        padding-left: 10px;
    }

    .pRsp-10 {
        padding-right: 10px;
    }

    .pAsp-20 {
        padding: 20px;
    }

    .pTsp-20 {
        padding-top: 20px;
    }

    .pBsp-20 {
        padding-bottom: 20px;
    }

    .pLsp-20 {
        padding-left: 20px;
    }

    .pRsp-20 {
        padding-right: 20px;
    }

    .pAsp-30 {
        padding: 30px;
    }

    .pTsp-30 {
        padding-top: 30px;
    }

    .pBsp-30 {
        padding-bottom: 30px;
    }

    .pLsp-30 {
        padding-left: 30px;
    }

    .pRsp-30 {
        padding-right: 30px;
    }

    .pAsp-40 {
        padding: 40px;
    }

    .pTsp-40 {
        padding-top: 40px;
    }

    .pBsp-40 {
        padding-bottom: 40px;
    }

    .pLsp-40 {
        padding-left: 40px;
    }

    .pRsp-40 {
        padding-right: 40px;
    }

    .pAsp-50 {
        padding: 50px;
    }

    .pTsp-50 {
        padding-top: 50px;
    }

    .pBsp-50 {
        padding-bottom: 50px;
    }

    .pLsp-50 {
        padding-left: 50px;
    }

    .pRsp-50 {
        padding-right: 50px;
    }

    .pAsp-60 {
        padding: 60px;
    }

    .pTsp-60 {
        padding-top: 60px;
    }

    .pBsp-60 {
        padding-bottom: 60px;
    }

    .pLsp-60 {
        padding-left: 60px;
    }

    .pRsp-60 {
        padding-right: 60px;
    }

    .pAsp-70 {
        padding: 70px;
    }

    .pTsp-70 {
        padding-top: 70px;
    }

    .pBsp-70 {
        padding-bottom: 70px;
    }

    .pLsp-70 {
        padding-left: 70px;
    }

    .pRsp-70 {
        padding-right: 70px;
    }

    .pAsp-80 {
        padding: 80px;
    }

    .pTsp-80 {
        padding-top: 80px;
    }

    .pBsp-80 {
        padding-bottom: 80px;
    }

    .pLsp-80 {
        padding-left: 80px;
    }

    .pRsp-80 {
        padding-right: 80px;
    }

    .pAsp-90 {
        padding: 90px;
    }

    .pTsp-90 {
        padding-top: 90px;
    }

    .pBsp-90 {
        padding-bottom: 90px;
    }

    .pLsp-90 {
        padding-left: 90px;
    }

    .pRsp-90 {
        padding-right: 90px;
    }

    .pAsp-100 {
        padding: 100px;
    }

    .pTsp-100 {
        padding-top: 100px;
    }

    .pBsp-100 {
        padding-bottom: 100px;
    }

    .pLsp-100 {
        padding-left: 100px;
    }

    .pRsp-100 {
        padding-right: 100px;
    }

    .pAsp-110 {
        padding: 110px;
    }

    .pTsp-110 {
        padding-top: 110px;
    }

    .pBsp-110 {
        padding-bottom: 110px;
    }

    .pLsp-110 {
        padding-left: 110px;
    }

    .pRsp-110 {
        padding-right: 110px;
    }

    .pAsp-120 {
        padding: 120px;
    }

    .pTsp-120 {
        padding-top: 120px;
    }

    .pBsp-120 {
        padding-bottom: 120px;
    }

    .pLsp-120 {
        padding-left: 120px;
    }

    .pRsp-120 {
        padding-right: 120px;
    }

    .pAsp-130 {
        padding: 130px;
    }

    .pTsp-130 {
        padding-top: 130px;
    }

    .pBsp-130 {
        padding-bottom: 130px;
    }

    .pLsp-130 {
        padding-left: 130px;
    }

    .pRsp-130 {
        padding-right: 130px;
    }

    .pAsp-140 {
        padding: 140px;
    }

    .pTsp-140 {
        padding-top: 140px;
    }

    .pBsp-140 {
        padding-bottom: 140px;
    }

    .pLsp-140 {
        padding-left: 140px;
    }

    .pRsp-140 {
        padding-right: 140px;
    }

    .pAsp-150 {
        padding: 150px;
    }

    .pTsp-150 {
        padding-top: 150px;
    }

    .pBsp-150 {
        padding-bottom: 150px;
    }

    .pLsp-150 {
        padding-left: 150px;
    }

    .pRsp-150 {
        padding-right: 150px;
    }

    .pAsp-160 {
        padding: 160px;
    }

    .pTsp-160 {
        padding-top: 160px;
    }

    .pBsp-160 {
        padding-bottom: 160px;
    }

    .pLsp-160 {
        padding-left: 160px;
    }

    .pRsp-160 {
        padding-right: 160px;
    }

    .pAsp-170 {
        padding: 170px;
    }

    .pTsp-170 {
        padding-top: 170px;
    }

    .pBsp-170 {
        padding-bottom: 170px;
    }

    .pLsp-170 {
        padding-left: 170px;
    }

    .pRsp-170 {
        padding-right: 170px;
    }

    .pAsp-180 {
        padding: 180px;
    }

    .pTsp-180 {
        padding-top: 180px;
    }

    .pBsp-180 {
        padding-bottom: 180px;
    }

    .pLsp-180 {
        padding-left: 180px;
    }

    .pRsp-180 {
        padding-right: 180px;
    }

    .pAsp-190 {
        padding: 190px;
    }

    .pTsp-190 {
        padding-top: 190px;
    }

    .pBsp-190 {
        padding-bottom: 190px;
    }

    .pLsp-190 {
        padding-left: 190px;
    }

    .pRsp-190 {
        padding-right: 190px;
    }

    .pAsp-200 {
        padding: 200px;
    }

    .pTsp-200 {
        padding-top: 200px;
    }

    .pBsp-200 {
        padding-bottom: 200px;
    }

    .pLsp-200 {
        padding-left: 200px;
    }

    .pRsp-200 {
        padding-right: 200px;
    }

    .p-yuutai .p-mv {
        background-position: 45% top;
        background-image: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(3%, #fff), color-stop(62%, rgba(255, 255, 255, 0.5)), color-stop(78%, transparent), to(transparent)), url(../img/mv-yuutai.jpg);
        background-image: linear-gradient(to right, #fff, #fff 3%, rgba(255, 255, 255, 0.5) 62%, transparent 78%, transparent), url(../img/mv-yuutai.jpg);
    }

    .p-yuutai-imageList {
        grid-template-columns: 1fr;
    }

    .p-yuutai-contentsList .p-flow-contentsBoxList-number {
        width: 3.2em;
        height: 3.2em;
        line-height: 1;
    }

    .p-yuutai-anchorLinkArea.p-anchorLink-listArea {
        grid-template-columns: repeat(3, 1fr);
    }

    .p-accordion-contentsList {
        width: 100%;
    }

    .p-yuutai-buttonArea.c-buttonMain.c-buttonMain-blue > * {
        padding-left: 1em;
        padding-right: 2.4em;
    }

    .p-sec10__ttl {
        margin-bottom: 4.7vw;
    }

    .p-clinic-infoDetail-box {
        grid-template-columns: 1fr;
        grid-template-areas: "title" "table" "tel" "access";
    }

    .p-clinic-infoDetail-tel {
        grid-template-columns: repeat(2, 1fr);
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 0.2em;
    }

    .p-clinic-infoDetail-telNumber::before {
        width: 10%;
    }

    .p-clinic-infoDetail-telNumber {
        width: 100%;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .p-clinic-infoDetail-access .c-clinicLocationBox-detailListArea {
        gap: 0.8em;
    }
}

@media screen and (max-width: 425px) {
    .p-yuutai .p-mv {
        background-position: 52% top;
        background-image: -webkit-gradient(linear, left bottom, left top, color-stop(10%, #fff), color-stop(60%, rgba(255, 255, 255, 0.5)), color-stop(85%, transparent), to(transparent)), url(../img/mv-yuutai.jpg);
        background-image: linear-gradient(to top, #fff 10%, rgba(255, 255, 255, 0.5) 60%, transparent 85%, transparent), url(../img/mv-yuutai.jpg);
    }

    .p-yuutai-contentsList .p-flow-contentsBoxList-number {
        width: 2.7em;
        height: 2.7em;
        line-height: 1;
    }

    .p-yuutai-anchorLinkArea.p-anchorLink-listArea {
        grid-template-columns: repeat(2, 1fr);
    }

    .p-clinic-infoDetail-tel {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 0.8em;
    }

    .p-clinic-infoDetail-telNumber {
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .p-clinic-information .c-newsBox .c-newsBox-newsTitle {
        padding-right: 2.5em;
    }
}

@media screen and (max-width: 376px) {
    .footer {
        padding: 8vw 0;
    }

    .footer_txt {
        font-size: 3.2vw;
    }

    .inner {
        padding: 0 4.3vw;
    }
}

@media (hover: hover) and (pointer: fine) {
    .c-buttonMain:hover {
        background-color: #fff;
        -webkit-transition: 0.2s ease-in-out;
        transition: 0.2s ease-in-out;
    }

    .c-buttonMain:hover .c-buttonMain-text {
        color: #ff9900;
        -webkit-transition: 0.2s ease-in-out;
        transition: 0.2s ease-in-out;
    }

    .c-buttonMain:hover.c-buttonArrow::after {
        background: url(../images/arrow-orange.webp) no-repeat center center/contain;
        -webkit-transition: 0.2s ease-in-out;
        transition: 0.2s ease-in-out;
    }

    .c-buttonMain.c-buttonMain-blue:hover {
        background-color: #0099ff;
    }

    .c-buttonMain.c-buttonMain-blue:hover .c-buttonMain-text {
        color: #fff;
        -webkit-transition: 0.2s ease-in-out;
        transition: 0.2s ease-in-out;
    }

    .c-buttonMain.c-buttonMain-blue:hover.c-buttonArrow::after {
        background: url(../images/arrow-white.webp) no-repeat center center/contain;
        -webkit-transition: 0.2s ease-in-out;
        transition: 0.2s ease-in-out;
    }

    .c-buttonHoverAnime:hover::before {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -webkit-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
    }

    .c-hover-image:hover .c-hover-imageBefore {
        display: none;
        -webkit-transition: 0.2s ease-in-out;
        transition: 0.2s ease-in-out;
    }

    .c-hover-image:hover .c-hover-imageAfter {
        display: block;
        opacity: 1;
        -webkit-transition: 0.2s ease-in-out;
        transition: 0.2s ease-in-out;
    }

    .c-clinicLocation-link:hover {
        opacity: 0.8;
        -webkit-transition: opacity 0.2s ease-in-out;
        transition: opacity 0.2s ease-in-out;
    }
}
/*# sourceMappingURL=styles.css.map */
