/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */

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

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

body {
    margin: 0;
}

main {
    display: block;
}

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

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

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

dt {
    font-weight: bold;
}

dd {
    margin-left: 0;
}

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

pre {
    font-family: monospace, monospace;
    font-size: inherit;
}

address {
    font-style: inherit;
}

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

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

b,
strong {
    font-weight: bolder;
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: inherit;
}

small {
    font-size: 80%;
}

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

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

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

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;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit;
}

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

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

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

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

:-moz-focusring {
    outline: auto;
}

select:disabled {
    opacity: inherit;
}

option {
    padding: 0;
}

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

legend {
    padding: 0;
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

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

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

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

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

label[for] {
    cursor: pointer;
}

details {
    display: block;
}

summary {
    display: list-item;
}

[contenteditable]:focus {
    outline: auto;
}

table {
    border-color: inherit;
    border-collapse: collapse;
}

caption {
    text-align: left;
}

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

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

:root {
    --z-bottomLayer: 0;
    --z-underLayer: 1;
    --z-middleLayer: 500;
    --z-topLayer: 501;
}

* {
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

html {
    font-size: 62.5%;
    height: 100%;
    word-break: break-word;
    overflow-wrap: break-word;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    line-break: normal;
    -webkit-font-kerning: none;
    font-kerning: none;
    scroll-behavior: smooth;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.29;
    color: #434b50;
    background-color: #fcfeff;
}

body.is-fixed {
    overflow: hidden;
    height: 100vh;
}

.overlay {
    overflow: hidden;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #434b50;
    opacity: 0.4;
    z-index: var(--z-middleLayer);
    display: none;
}

.overlay.is-show {
    display: block;
}

a {
    color: #6fc3d3;
    text-decoration: none;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}

img {
    max-width: 100%;
    height: auto;
}

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

.anchor-point {
    padding-top: 140px;
    margin-top: -140px;
}

@media (max-width: 66.25em) {
    .anchor-point {
        padding-top: 70px;
        margin-top: -70px;
    }
}

.l-container {
    width: min(1126px, 100% - 88px);
    margin-inline: auto;
}

@media (max-width: 66.25em) {
    .l-container {
        width: min(1126px, 100% - 48px);
    }
}

.l-container.-wide {
    width: min(1270px, 100% - 88px);
}

@media (max-width: 66.25em) {
    .l-container.-wide {
        width: min(1270px, 100% - 48px);
    }
}

.l-container.-tiny {
    width: min(800px, 100% - 88px);
}

@media (max-width: 66.25em) {
    .l-container.-tiny {
        width: min(800px, 100% - 48px);
    }
}

.l-flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.l-flexbox.-nowrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.l-flexbox.-col-2>* {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 50%;
}

@media (max-width: 48em) {
    .l-flexbox.-col-2>* {
        max-width: 100%;
    }
}

.l-flexbox.-col-3>* {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 33.3333333333%;
}

@media (max-width: 48em) {
    .l-flexbox.-col-3>* {
        max-width: 100%;
    }
}

.l-flexbox.-col-4>* {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 25%;
}

@media (max-width: 48em) {
    .l-flexbox.-col-4>* {
        max-width: 100%;
    }
}

.l-flexbox.-col-5>* {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 20%;
}

@media (max-width: 48em) {
    .l-flexbox.-col-5>* {
        max-width: 100%;
    }
}

@media (max-width: 85.313em) {
    .l-flexbox.-md\:col-1>* {
        width: 100%;
    }
}

.l-flexbox.-direction-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.l-flexbox.-direction-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.l-flexbox.-direction-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.l-flexbox.-direction-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

@media (max-width: 100em) {
    .l-flexbox.-xl\:direction-row {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .l-flexbox.-xl\:direction-row-reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .l-flexbox.-xl\:direction-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .l-flexbox.-xl\:direction-column-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

@media (max-width: 85.313em) {
    .l-flexbox.-lg\:direction-row {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .l-flexbox.-lg\:direction-row-reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .l-flexbox.-lg\:direction-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .l-flexbox.-lg\:direction-column-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

@media (max-width: 1330px) {
    .l-flexbox.-px\:direction-row {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .l-flexbox.-px\:direction-row-reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .l-flexbox.-px\:direction-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .l-flexbox.-px\:direction-column-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

@media (max-width: 78.75em) {
    .l-flexbox.-md\:direction-row {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .l-flexbox.-md\:direction-row-reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .l-flexbox.-md\:direction-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .l-flexbox.-md\:direction-column-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

@media (max-width: 66.25em) {
    .l-flexbox.-sm\:direction-row {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .l-flexbox.-sm\:direction-row-reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .l-flexbox.-sm\:direction-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .l-flexbox.-sm\:direction-column-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

@media (max-width: 48em) {
    .l-flexbox.-xs\:direction-row {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .l-flexbox.-xs\:direction-row-reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .l-flexbox.-xs\:direction-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .l-flexbox.-xs\:direction-column-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

@media (max-width: 48em) {
    .l-flexbox.-xxs\:direction-row {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .l-flexbox.-xxs\:direction-row-reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .l-flexbox.-xxs\:direction-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .l-flexbox.-xxs\:direction-column-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

.l-flexbox.-justify-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.l-flexbox.-justify-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.l-flexbox.-justify-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.l-flexbox.-justify-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}


/* 医師スタッフ */

.doctor_flex {
    align-items: center;
}

@media (max-width: 100em) {
    .l-flexbox.-xl\:justify-start {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .l-flexbox.-xl\:justify-end {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .l-flexbox.-xl\:justify-center {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .l-flexbox.-xl\:justify-between {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media (max-width: 85.313em) {
    .l-flexbox.-lg\:justify-start {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .l-flexbox.-lg\:justify-end {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .l-flexbox.-lg\:justify-center {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .l-flexbox.-lg\:justify-between {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media (max-width: 78.75em) {
    .l-flexbox.-md\:justify-start {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .l-flexbox.-md\:justify-end {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .l-flexbox.-md\:justify-center {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .l-flexbox.-md\:justify-between {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media (max-width: 66.25em) {
    .l-flexbox.-sm\:justify-start {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .l-flexbox.-sm\:justify-end {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .l-flexbox.-sm\:justify-center {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .l-flexbox.-sm\:justify-between {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media (max-width: 48em) {
    .l-flexbox.-xs\:justify-start {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .l-flexbox.-xs\:justify-end {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .l-flexbox.-xs\:justify-center {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .l-flexbox.-xs\:justify-between {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media (max-width: 48em) {
    .l-flexbox.-xxs\:justify-start {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .l-flexbox.-xxs\:justify-end {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .l-flexbox.-xxs\:justify-center {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .l-flexbox.-xxs\:justify-between {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

.l-flexbox.-align-start {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.l-flexbox.-align-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.l-flexbox.-align-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.l-flexbox.-align-stretch {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

@media (max-width: 100em) {
    .l-flexbox.-xl\:align-start {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .l-flexbox.-xl\:align-end {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .l-flexbox.-xl\:align-center {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .l-flexbox.-xl\:align-stretch {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

@media (max-width: 85.313em) {
    .l-flexbox.-lg\:align-start {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .l-flexbox.-lg\:align-end {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .l-flexbox.-lg\:align-center {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .l-flexbox.-lg\:align-stretch {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

@media (max-width: 78.75em) {
    .l-flexbox.-md\:align-start {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .l-flexbox.-md\:align-end {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .l-flexbox.-md\:align-center {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .l-flexbox.-md\:align-stretch {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

@media (max-width: 66.25em) {
    .l-flexbox.-sm\:align-start {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .l-flexbox.-sm\:align-end {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .l-flexbox.-sm\:align-center {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .l-flexbox.-sm\:align-stretch {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

@media (max-width: 48em) {
    .l-flexbox.-xs\:align-start {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .l-flexbox.-xs\:align-end {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .l-flexbox.-xs\:align-center {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .l-flexbox.-xs\:align-stretch {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

@media (max-width: 48em) {
    .l-flexbox.-xxs\:align-start {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .l-flexbox.-xxs\:align-end {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .l-flexbox.-xxs\:align-center {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .l-flexbox.-xxs\:align-stretch {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

.-gap-0 {
    gap: 0;
}

.-gap-2 {
    gap: 2px;
}

.-gap-4 {
    gap: 4px;
}

.-gap-6 {
    gap: 6px;
}

.-gap-8 {
    gap: 8px;
}

.-gap-10 {
    gap: 10px;
}

.-gap-12 {
    gap: 12px;
}

.-gap-14 {
    gap: 14px;
}

.-gap-16 {
    gap: 16px;
}

.-gap-18 {
    gap: 18px;
}

.-gap-20 {
    gap: 20px;
}

.-gap-22 {
    gap: 22px;
}

.-gap-24 {
    gap: 24px;
}

.-gap-26 {
    gap: 26px;
}

.-gap-28 {
    gap: 28px;
}

.-gap-30 {
    gap: 30px;
}

.-gap-32 {
    gap: 32px;
}

.-gap-34 {
    gap: 34px;
}

.-gap-36 {
    gap: 36px;
}

.-gap-38 {
    gap: 38px;
}

.-gap-40 {
    gap: 40px;
}

.-gap-42 {
    gap: 42px;
}

.-gap-44 {
    gap: 44px;
}

.-gap-46 {
    gap: 46px;
}

.-gap-48 {
    gap: 48px;
}

.-gap-50 {
    gap: 50px;
}

.-gap-52 {
    gap: 52px;
}

.-gap-54 {
    gap: 54px;
}

.-gap-56 {
    gap: 56px;
}

.-gap-58 {
    gap: 58px;
}

.-gap-60 {
    gap: 60px;
}

.-gap-62 {
    gap: 62px;
}

.-gap-64 {
    gap: 64px;
}

.-gap-66 {
    gap: 66px;
}

.-gap-68 {
    gap: 68px;
}

.-gap-70 {
    gap: 70px;
}

.-gap-72 {
    gap: 72px;
}

.-gap-74 {
    gap: 74px;
}

.-gap-76 {
    gap: 76px;
}

.-gap-78 {
    gap: 78px;
}

.-gap-80 {
    gap: 80px;
}

.-gap-82 {
    gap: 82px;
}

.-gap-84 {
    gap: 84px;
}

.-gap-86 {
    gap: 86px;
}

.-gap-88 {
    gap: 88px;
}

.-gap-90 {
    gap: 90px;
}

.-gap-92 {
    gap: 92px;
}

.-gap-94 {
    gap: 94px;
}

.-gap-96 {
    gap: 96px;
}

.-gap-98 {
    gap: 98px;
}

.-gap-100 {
    gap: 100px;
}

@media (max-width: 100em) {
    .-xl\:gap-0 {
        gap: 0;
    }

    .-xl\:gap-2 {
        gap: 2px;
    }

    .-xl\:gap-4 {
        gap: 4px;
    }

    .-xl\:gap-6 {
        gap: 6px;
    }

    .-xl\:gap-8 {
        gap: 8px;
    }

    .-xl\:gap-10 {
        gap: 10px;
    }

    .-xl\:gap-12 {
        gap: 12px;
    }

    .-xl\:gap-14 {
        gap: 14px;
    }

    .-xl\:gap-16 {
        gap: 16px;
    }

    .-xl\:gap-18 {
        gap: 18px;
    }

    .-xl\:gap-20 {
        gap: 20px;
    }

    .-xl\:gap-22 {
        gap: 22px;
    }

    .-xl\:gap-24 {
        gap: 24px;
    }

    .-xl\:gap-26 {
        gap: 26px;
    }

    .-xl\:gap-28 {
        gap: 28px;
    }

    .-xl\:gap-30 {
        gap: 30px;
    }

    .-xl\:gap-32 {
        gap: 32px;
    }

    .-xl\:gap-34 {
        gap: 34px;
    }

    .-xl\:gap-36 {
        gap: 36px;
    }

    .-xl\:gap-38 {
        gap: 38px;
    }

    .-xl\:gap-40 {
        gap: 40px;
    }

    .-xl\:gap-42 {
        gap: 42px;
    }

    .-xl\:gap-44 {
        gap: 44px;
    }

    .-xl\:gap-46 {
        gap: 46px;
    }

    .-xl\:gap-48 {
        gap: 48px;
    }

    .-xl\:gap-50 {
        gap: 50px;
    }

    .-xl\:gap-52 {
        gap: 52px;
    }

    .-xl\:gap-54 {
        gap: 54px;
    }

    .-xl\:gap-56 {
        gap: 56px;
    }

    .-xl\:gap-58 {
        gap: 58px;
    }

    .-xl\:gap-60 {
        gap: 60px;
    }

    .-xl\:gap-62 {
        gap: 62px;
    }

    .-xl\:gap-64 {
        gap: 64px;
    }

    .-xl\:gap-66 {
        gap: 66px;
    }

    .-xl\:gap-68 {
        gap: 68px;
    }

    .-xl\:gap-70 {
        gap: 70px;
    }

    .-xl\:gap-72 {
        gap: 72px;
    }

    .-xl\:gap-74 {
        gap: 74px;
    }

    .-xl\:gap-76 {
        gap: 76px;
    }

    .-xl\:gap-78 {
        gap: 78px;
    }

    .-xl\:gap-80 {
        gap: 80px;
    }

    .-xl\:gap-82 {
        gap: 82px;
    }

    .-xl\:gap-84 {
        gap: 84px;
    }

    .-xl\:gap-86 {
        gap: 86px;
    }

    .-xl\:gap-88 {
        gap: 88px;
    }

    .-xl\:gap-90 {
        gap: 90px;
    }

    .-xl\:gap-92 {
        gap: 92px;
    }

    .-xl\:gap-94 {
        gap: 94px;
    }

    .-xl\:gap-96 {
        gap: 96px;
    }

    .-xl\:gap-98 {
        gap: 98px;
    }

    .-xl\:gap-100 {
        gap: 100px;
    }
}

@media (max-width: 85.313em) {
    .-lg\:gap-0 {
        gap: 0;
    }

    .-lg\:gap-2 {
        gap: 2px;
    }

    .-lg\:gap-4 {
        gap: 4px;
    }

    .-lg\:gap-6 {
        gap: 6px;
    }

    .-lg\:gap-8 {
        gap: 8px;
    }

    .-lg\:gap-10 {
        gap: 10px;
    }

    .-lg\:gap-12 {
        gap: 12px;
    }

    .-lg\:gap-14 {
        gap: 14px;
    }

    .-lg\:gap-16 {
        gap: 16px;
    }

    .-lg\:gap-18 {
        gap: 18px;
    }

    .-lg\:gap-20 {
        gap: 20px;
    }

    .-lg\:gap-22 {
        gap: 22px;
    }

    .-lg\:gap-24 {
        gap: 24px;
    }

    .-lg\:gap-26 {
        gap: 26px;
    }

    .-lg\:gap-28 {
        gap: 28px;
    }

    .-lg\:gap-30 {
        gap: 30px;
    }

    .-lg\:gap-32 {
        gap: 32px;
    }

    .-lg\:gap-34 {
        gap: 34px;
    }

    .-lg\:gap-36 {
        gap: 36px;
    }

    .-lg\:gap-38 {
        gap: 38px;
    }

    .-lg\:gap-40 {
        gap: 40px;
    }

    .-lg\:gap-42 {
        gap: 42px;
    }

    .-lg\:gap-44 {
        gap: 44px;
    }

    .-lg\:gap-46 {
        gap: 46px;
    }

    .-lg\:gap-48 {
        gap: 48px;
    }

    .-lg\:gap-50 {
        gap: 50px;
    }

    .-lg\:gap-52 {
        gap: 52px;
    }

    .-lg\:gap-54 {
        gap: 54px;
    }

    .-lg\:gap-56 {
        gap: 56px;
    }

    .-lg\:gap-58 {
        gap: 58px;
    }

    .-lg\:gap-60 {
        gap: 60px;
    }

    .-lg\:gap-62 {
        gap: 62px;
    }

    .-lg\:gap-64 {
        gap: 64px;
    }

    .-lg\:gap-66 {
        gap: 66px;
    }

    .-lg\:gap-68 {
        gap: 68px;
    }

    .-lg\:gap-70 {
        gap: 70px;
    }

    .-lg\:gap-72 {
        gap: 72px;
    }

    .-lg\:gap-74 {
        gap: 74px;
    }

    .-lg\:gap-76 {
        gap: 76px;
    }

    .-lg\:gap-78 {
        gap: 78px;
    }

    .-lg\:gap-80 {
        gap: 80px;
    }

    .-lg\:gap-82 {
        gap: 82px;
    }

    .-lg\:gap-84 {
        gap: 84px;
    }

    .-lg\:gap-86 {
        gap: 86px;
    }

    .-lg\:gap-88 {
        gap: 88px;
    }

    .-lg\:gap-90 {
        gap: 90px;
    }

    .-lg\:gap-92 {
        gap: 92px;
    }

    .-lg\:gap-94 {
        gap: 94px;
    }

    .-lg\:gap-96 {
        gap: 96px;
    }

    .-lg\:gap-98 {
        gap: 98px;
    }

    .-lg\:gap-100 {
        gap: 100px;
    }
}

@media (max-width: 78.75em) {
    .-md\:gap-0 {
        gap: 0;
    }

    .-md\:gap-2 {
        gap: 2px;
    }

    .-md\:gap-4 {
        gap: 4px;
    }

    .-md\:gap-6 {
        gap: 6px;
    }

    .-md\:gap-8 {
        gap: 8px;
    }

    .-md\:gap-10 {
        gap: 10px;
    }

    .-md\:gap-12 {
        gap: 12px;
    }

    .-md\:gap-14 {
        gap: 14px;
    }

    .-md\:gap-16 {
        gap: 16px;
    }

    .-md\:gap-18 {
        gap: 18px;
    }

    .-md\:gap-20 {
        gap: 20px;
    }

    .-md\:gap-22 {
        gap: 22px;
    }

    .-md\:gap-24 {
        gap: 24px;
    }

    .-md\:gap-26 {
        gap: 26px;
    }

    .-md\:gap-28 {
        gap: 28px;
    }

    .-md\:gap-30 {
        gap: 30px;
    }

    .-md\:gap-32 {
        gap: 32px;
    }

    .-md\:gap-34 {
        gap: 34px;
    }

    .-md\:gap-36 {
        gap: 36px;
    }

    .-md\:gap-38 {
        gap: 38px;
    }

    .-md\:gap-40 {
        gap: 40px;
    }

    .-md\:gap-42 {
        gap: 42px;
    }

    .-md\:gap-44 {
        gap: 44px;
    }

    .-md\:gap-46 {
        gap: 46px;
    }

    .-md\:gap-48 {
        gap: 48px;
    }

    .-md\:gap-50 {
        gap: 50px;
    }

    .-md\:gap-52 {
        gap: 52px;
    }

    .-md\:gap-54 {
        gap: 54px;
    }

    .-md\:gap-56 {
        gap: 56px;
    }

    .-md\:gap-58 {
        gap: 58px;
    }

    .-md\:gap-60 {
        gap: 60px;
    }

    .-md\:gap-62 {
        gap: 62px;
    }

    .-md\:gap-64 {
        gap: 64px;
    }

    .-md\:gap-66 {
        gap: 66px;
    }

    .-md\:gap-68 {
        gap: 68px;
    }

    .-md\:gap-70 {
        gap: 70px;
    }

    .-md\:gap-72 {
        gap: 72px;
    }

    .-md\:gap-74 {
        gap: 74px;
    }

    .-md\:gap-76 {
        gap: 76px;
    }

    .-md\:gap-78 {
        gap: 78px;
    }

    .-md\:gap-80 {
        gap: 80px;
    }

    .-md\:gap-82 {
        gap: 82px;
    }

    .-md\:gap-84 {
        gap: 84px;
    }

    .-md\:gap-86 {
        gap: 86px;
    }

    .-md\:gap-88 {
        gap: 88px;
    }

    .-md\:gap-90 {
        gap: 90px;
    }

    .-md\:gap-92 {
        gap: 92px;
    }

    .-md\:gap-94 {
        gap: 94px;
    }

    .-md\:gap-96 {
        gap: 96px;
    }

    .-md\:gap-98 {
        gap: 98px;
    }

    .-md\:gap-100 {
        gap: 100px;
    }
}

@media (max-width: 66.25em) {
    .-sm\:gap-0 {
        gap: 0;
    }

    .-sm\:gap-2 {
        gap: 2px;
    }

    .-sm\:gap-4 {
        gap: 4px;
    }

    .-sm\:gap-6 {
        gap: 6px;
    }

    .-sm\:gap-8 {
        gap: 8px;
    }

    .-sm\:gap-10 {
        gap: 10px;
    }

    .-sm\:gap-12 {
        gap: 12px;
    }

    .-sm\:gap-14 {
        gap: 14px;
    }

    .-sm\:gap-16 {
        gap: 16px;
    }

    .-sm\:gap-18 {
        gap: 18px;
    }

    .-sm\:gap-20 {
        gap: 20px;
    }

    .-sm\:gap-22 {
        gap: 22px;
    }

    .-sm\:gap-24 {
        gap: 24px;
    }

    .-sm\:gap-26 {
        gap: 26px;
    }

    .-sm\:gap-28 {
        gap: 28px;
    }

    .-sm\:gap-30 {
        gap: 30px;
    }

    .-sm\:gap-32 {
        gap: 32px;
    }

    .-sm\:gap-34 {
        gap: 34px;
    }

    .-sm\:gap-36 {
        gap: 36px;
    }

    .-sm\:gap-38 {
        gap: 38px;
    }

    .-sm\:gap-40 {
        gap: 40px;
    }

    .-sm\:gap-42 {
        gap: 42px;
    }

    .-sm\:gap-44 {
        gap: 44px;
    }

    .-sm\:gap-46 {
        gap: 46px;
    }

    .-sm\:gap-48 {
        gap: 48px;
    }

    .-sm\:gap-50 {
        gap: 50px;
    }

    .-sm\:gap-52 {
        gap: 52px;
    }

    .-sm\:gap-54 {
        gap: 54px;
    }

    .-sm\:gap-56 {
        gap: 56px;
    }

    .-sm\:gap-58 {
        gap: 58px;
    }

    .-sm\:gap-60 {
        gap: 60px;
    }

    .-sm\:gap-62 {
        gap: 62px;
    }

    .-sm\:gap-64 {
        gap: 64px;
    }

    .-sm\:gap-66 {
        gap: 66px;
    }

    .-sm\:gap-68 {
        gap: 68px;
    }

    .-sm\:gap-70 {
        gap: 70px;
    }

    .-sm\:gap-72 {
        gap: 72px;
    }

    .-sm\:gap-74 {
        gap: 74px;
    }

    .-sm\:gap-76 {
        gap: 76px;
    }

    .-sm\:gap-78 {
        gap: 78px;
    }

    .-sm\:gap-80 {
        gap: 80px;
    }

    .-sm\:gap-82 {
        gap: 82px;
    }

    .-sm\:gap-84 {
        gap: 84px;
    }

    .-sm\:gap-86 {
        gap: 86px;
    }

    .-sm\:gap-88 {
        gap: 88px;
    }

    .-sm\:gap-90 {
        gap: 90px;
    }

    .-sm\:gap-92 {
        gap: 92px;
    }

    .-sm\:gap-94 {
        gap: 94px;
    }

    .-sm\:gap-96 {
        gap: 96px;
    }

    .-sm\:gap-98 {
        gap: 98px;
    }

    .-sm\:gap-100 {
        gap: 100px;
    }
}

@media (max-width: 48em) {
    .-xs\:gap-0 {
        gap: 0;
    }

    .-xs\:gap-2 {
        gap: 2px;
    }

    .-xs\:gap-4 {
        gap: 4px;
    }

    .-xs\:gap-6 {
        gap: 6px;
    }

    .-xs\:gap-8 {
        gap: 8px;
    }

    .-xs\:gap-10 {
        gap: 10px;
    }

    .-xs\:gap-12 {
        gap: 12px;
    }

    .-xs\:gap-14 {
        gap: 14px;
    }

    .-xs\:gap-16 {
        gap: 16px;
    }

    .-xs\:gap-18 {
        gap: 18px;
    }

    .-xs\:gap-20 {
        gap: 20px;
    }

    .-xs\:gap-22 {
        gap: 22px;
    }

    .-xs\:gap-24 {
        gap: 24px;
    }

    .-xs\:gap-26 {
        gap: 26px;
    }

    .-xs\:gap-28 {
        gap: 28px;
    }

    .-xs\:gap-30 {
        gap: 30px;
    }

    .-xs\:gap-32 {
        gap: 32px;
    }

    .-xs\:gap-34 {
        gap: 34px;
    }

    .-xs\:gap-36 {
        gap: 36px;
    }

    .-xs\:gap-38 {
        gap: 38px;
    }

    .-xs\:gap-40 {
        gap: 40px;
    }

    .-xs\:gap-42 {
        gap: 42px;
    }

    .-xs\:gap-44 {
        gap: 44px;
    }

    .-xs\:gap-46 {
        gap: 46px;
    }

    .-xs\:gap-48 {
        gap: 48px;
    }

    .-xs\:gap-50 {
        gap: 50px;
    }

    .-xs\:gap-52 {
        gap: 52px;
    }

    .-xs\:gap-54 {
        gap: 54px;
    }

    .-xs\:gap-56 {
        gap: 56px;
    }

    .-xs\:gap-58 {
        gap: 58px;
    }

    .-xs\:gap-60 {
        gap: 60px;
    }

    .-xs\:gap-62 {
        gap: 62px;
    }

    .-xs\:gap-64 {
        gap: 64px;
    }

    .-xs\:gap-66 {
        gap: 66px;
    }

    .-xs\:gap-68 {
        gap: 68px;
    }

    .-xs\:gap-70 {
        gap: 70px;
    }

    .-xs\:gap-72 {
        gap: 72px;
    }

    .-xs\:gap-74 {
        gap: 74px;
    }

    .-xs\:gap-76 {
        gap: 76px;
    }

    .-xs\:gap-78 {
        gap: 78px;
    }

    .-xs\:gap-80 {
        gap: 80px;
    }

    .-xs\:gap-82 {
        gap: 82px;
    }

    .-xs\:gap-84 {
        gap: 84px;
    }

    .-xs\:gap-86 {
        gap: 86px;
    }

    .-xs\:gap-88 {
        gap: 88px;
    }

    .-xs\:gap-90 {
        gap: 90px;
    }

    .-xs\:gap-92 {
        gap: 92px;
    }

    .-xs\:gap-94 {
        gap: 94px;
    }

    .-xs\:gap-96 {
        gap: 96px;
    }

    .-xs\:gap-98 {
        gap: 98px;
    }

    .-xs\:gap-100 {
        gap: 100px;
    }
}

@media (max-width: 48em) {
    .-xxs\:gap-0 {
        gap: 0;
    }

    .-xxs\:gap-2 {
        gap: 2px;
    }

    .-xxs\:gap-4 {
        gap: 4px;
    }

    .-xxs\:gap-6 {
        gap: 6px;
    }

    .-xxs\:gap-8 {
        gap: 8px;
    }

    .-xxs\:gap-10 {
        gap: 10px;
    }

    .-xxs\:gap-12 {
        gap: 12px;
    }

    .-xxs\:gap-14 {
        gap: 14px;
    }

    .-xxs\:gap-16 {
        gap: 16px;
    }

    .-xxs\:gap-18 {
        gap: 18px;
    }

    .-xxs\:gap-20 {
        gap: 20px;
    }

    .-xxs\:gap-22 {
        gap: 22px;
    }

    .-xxs\:gap-24 {
        gap: 24px;
    }

    .-xxs\:gap-26 {
        gap: 26px;
    }

    .-xxs\:gap-28 {
        gap: 28px;
    }

    .-xxs\:gap-30 {
        gap: 30px;
    }

    .-xxs\:gap-32 {
        gap: 32px;
    }

    .-xxs\:gap-34 {
        gap: 34px;
    }

    .-xxs\:gap-36 {
        gap: 36px;
    }

    .-xxs\:gap-38 {
        gap: 38px;
    }

    .-xxs\:gap-40 {
        gap: 40px;
    }

    .-xxs\:gap-42 {
        gap: 42px;
    }

    .-xxs\:gap-44 {
        gap: 44px;
    }

    .-xxs\:gap-46 {
        gap: 46px;
    }

    .-xxs\:gap-48 {
        gap: 48px;
    }

    .-xxs\:gap-50 {
        gap: 50px;
    }

    .-xxs\:gap-52 {
        gap: 52px;
    }

    .-xxs\:gap-54 {
        gap: 54px;
    }

    .-xxs\:gap-56 {
        gap: 56px;
    }

    .-xxs\:gap-58 {
        gap: 58px;
    }

    .-xxs\:gap-60 {
        gap: 60px;
    }

    .-xxs\:gap-62 {
        gap: 62px;
    }

    .-xxs\:gap-64 {
        gap: 64px;
    }

    .-xxs\:gap-66 {
        gap: 66px;
    }

    .-xxs\:gap-68 {
        gap: 68px;
    }

    .-xxs\:gap-70 {
        gap: 70px;
    }

    .-xxs\:gap-72 {
        gap: 72px;
    }

    .-xxs\:gap-74 {
        gap: 74px;
    }

    .-xxs\:gap-76 {
        gap: 76px;
    }

    .-xxs\:gap-78 {
        gap: 78px;
    }

    .-xxs\:gap-80 {
        gap: 80px;
    }

    .-xxs\:gap-82 {
        gap: 82px;
    }

    .-xxs\:gap-84 {
        gap: 84px;
    }

    .-xxs\:gap-86 {
        gap: 86px;
    }

    .-xxs\:gap-88 {
        gap: 88px;
    }

    .-xxs\:gap-90 {
        gap: 90px;
    }

    .-xxs\:gap-92 {
        gap: 92px;
    }

    .-xxs\:gap-94 {
        gap: 94px;
    }

    .-xxs\:gap-96 {
        gap: 96px;
    }

    .-xxs\:gap-98 {
        gap: 98px;
    }

    .-xxs\:gap-100 {
        gap: 100px;
    }
}

.l-header {
    padding: 0 48px;
    height: 120px;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
    width: 100%;
    z-index: var(--z-topLayer);
    position: fixed;
    top: 0;
    left: 0;
}

@media (max-width: 1330px) {
    .l-header {
        padding: 0 24px;
        height: 96px;
    }
}

.l-header.is-fixed {
    background-color: #fff;
}

@media (max-width: 1330px) {
    .l-header.is-fixed {
        padding: 0 0 0 24px;
        height: 48px;
    }
}

.l-header.is-active {
    background-color: #fff;
    padding: 0 0 0 24px;
    height: 48px;
}

.l-header__body {
    height: 100%;
}

.l-header__siteLogo {
    width: 191px;
}

@media (max-width: 1330px) {
    .l-header__siteLogo {
        width: 148px;
    }
}

@media (max-width: 1330px) {
    .l-header__menu {
        height: 0;
        display: none;
        padding: 16px 24px 32px;
        background-color: #fff;
        width: 100%;
        position: absolute;
        top: 48px;
        left: 0;
        -webkit-transition: all 0.2s ease;
        transition: all 0.2s ease;
    }
}

.l-header__menu.is-show {
    border-top: 1px solid #e1e8ed;
    height: auto;
    max-height: calc(100vh - 96px);
    display: block;
    overflow-y: scroll;
}

.l-main {
    position: relative;
}

.l-main.-editing {
    padding-top: 112px;
}

@media (max-width: 48em) {
    .l-main.-editing {
        padding-top: 88px;
    }
}

.l-main.-notfound {
    padding-top: 200px;
}

@media (max-width: 48em) {
    .l-main.-notfound {
        padding-top: 150px;
    }
}

.l-wrapper {
    width: 100%;
    overflow-x: hidden;
    height: 100%;
    position: relative;
    background-image: url("../images/common-bodyBg_leftBottom.svg"), url("../images/common-bodyBg_rightTop.svg");
    background-repeat: no-repeat, no-repeat;
    background-position: left -240px top 410px, right -600px top -480px;
    background-attachment: fixed;
    background-size: 640px 640px, 1200px 1200px;
}

@media (max-width: 48em) {
    .l-wrapper {
        background-position: left -180px top 600px, right -272px top -272px;
        background-size: 360px 360px, 640px 640px;
    }
}

.l-footer {
    padding: 120px 0 48px;
    position: relative;
}

@media (max-width: 48em) {
    .l-footer {
        padding: 32px 0 48px;
    }
}

.l-footer__top {
    height: 100%;
}

@media (max-width: 48em) {
    .l-footer__top {
        margin-left: -24px;
        width: 100vw;
        height: auto;
        padding: 32px 24px;
        border-bottom: 1px solid #e1e8ed;
    }
}

.l-footer__top.-has-boderLeft {
    padding-left: 48px;
    border-left: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .l-footer__top.-has-boderLeft {
        padding-left: 24px;
        border-left: none;
    }
}

.l-footer__siteName {
    margin-top: 32px;
    text-align: center;
    font-weight: 700;
}

.l-footer__address {
    margin-top: 16px;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.67;
    letter-spacing: normal;
    color: #8e979d;
    text-align: center;
}

.l-footer__number {
    color: #434b50;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1;
    position: relative;
    padding-left: 30px;
}

.l-footer__number::before {
    content: "";
    width: 12px;
    height: 16px;
    background-image: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="12.268" height="16" viewBox="0 0 12.268 16"><path d="M60.809.677c-1.1.713-1.315, 2.942-.9, 4.758a16.407, 16.407, 0, 0, 0, 2.169, 5.1, 17.039, 17.039, 0, 0, 0, 3.771, 4.06c1.489, 1.12, 3.612, 1.831, 4.712, 1.118a5.567, 5.567, 0, 0, 0, 1.419-1.522l-.591-.911-1.624-2.5c-.121-.186-.878-.016-1.262.2a3.661, 3.661, 0, 0, 0-1, 1.082c-.356.205-.654, 0-1.276-.286a7.579, 7.579, 0, 0, 1-2.309-2.436, 7.578, 7.578, 0, 0, 1-1.282-3.1c-.008-.685-.073-1.04.26-1.281a3.661, 3.661, 0, 0, 0, 1.395-.468c.356-.262.82-.884.7-1.07L63.368.913, 62.778, 0A5.568, 5.568, 0, 0, 0, 60.809.677Z" transform="translate(-59.712 0.001)" fill="%23434b50"/></svg>');
    background-size: 12px 16px;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.l-footer__calnder {
    margin-top: 40px;
}

@media (max-width: 48em) {
    .l-footer__calnder {
        margin-top: 24px;
    }
}

.l-footer__calnder .note {
    font-size: 1.2rem;
    line-height: 1.67;
    color: #8e979d;
    margin-top: 8px;
}

.l-footer__menu {
    margin-top: 48px;
    padding: 48px 0;
    border-top: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .l-footer__menu {
        margin-top: 0;
        padding: 8px 0 55px;
        border-top: none;
    }
}

.l-footer__menuContent:not(:first-of-type) {
    /* border-left: 1px solid #e1e8ed; */
    padding-left: 24px;
}

@media (max-width: 48em) {
    .l-footer__menuContent:not(:first-of-type) {
        border-left: none;
        padding-left: 0;
    }
}

.l-footer__navItem:not(:first-of-type) {
    margin-top: 35px;
}

@media (max-width: 48em) {
    .l-footer__navItem:not(:first-of-type) {
        margin-top: 0;
    }
}

.l-footer__navItem a {
    color: #434b50;
}

.l-footer__navItem a:hover,
.l-footer__navItem a:focus {
    opacity: 0.4;
}

.l-footer__navItem .parent {
    font-weight: 700;
    line-height: 1;
}

@media (max-width: 48em) {
    .l-footer__navItem .parent {
        line-height: 1;
        padding: 16px 0;
        position: relative;
        border-bottom: 1px solid #e1e8ed;
        width: 100%;
        display: block;
        font-weight: 700;
    }

    .l-footer__navItem .parent>* {
        width: 100%;
    }
}

@media (min-width: 49em) {
    .l-footer__navItem .border_b {
        border-bottom: 1px solid #e1e8ed;
        padding: 0 0 20px 0px;
    }

    .l-footer__navItem .border_t {
        border-top: 1px solid #e1e8ed;
        padding: 10px 0 0 25px;
        margin-left: -25px;
    }
}

.l-footer__navItem .children {
    margin-top: 12px;
}

@media (max-width: 48em) {
    .l-footer__navItem .children {
        margin-top: 0;
    }

    .l-footer__navItem .children li {
        display: flex;
        justify-content: space-between;
        border-bottom: 1px solid #e1e8ed;
        padding: 16px 0;
    }

    .l-footer__navItem .children li a {
        width: 100%;
    }
}

.l-footer__copyright {
    padding-top: 48px;
    text-align: center;
    border-top: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .l-footer__copyright {
        padding-top: 104px;
        margin-left: -24px;
        width: 100vw;
    }
}

.l-footer__copyright small {
    font-size: 1.2rem;
    line-height: 1.67;
    color: #8e979d;
}


/* 開閉メニュー */

.toggle {
    display: none;
}

.l-footer__menu .pc_none {
    display: none;
}

@media (max-width: 48em) {
    .l-footer__menu .sp_none {
        display: none;
    }

    .l-footer__menu .pc_none {
        display: block;
    }

    .Label {
        display: block;
    }

    .Label,
    .children {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transform: translateZ(0);
        transition: all 0.3s;
    }

    .l-footer__navItem .parent.Label {
        padding: 16px 0;
        display: flex;
        flex-wrap: nowrap;
    }

    .l-footer__navItem .Label .c-button {
        transform: rotate(90deg);
        transition: 0.3s all;
    }

    .children {
        height: 0;
        overflow: hidden;
    }

    .toggle:checked+.Label+.children {
        height: auto;
        padding: 0 20px 20px;
        transition: all 0.3s;
    }

    .toggle:checked+.Label::before {
        transform: rotate(-45deg) !important;
    }

    .toggle:checked+.Label .c-button {
        transform: rotate(-90deg);
    }
}

.l-content {
    padding-top: 40px;
}

@media (max-width: 48em) {
    .l-content {
        padding-top: 24px;
    }
}

.l-content.-childPage {
    padding-top: 64px;
}

@media (max-width: 1330px) {
    .c-globalNav {
        width: 100%;
    }
}

.c-globalNav__item {
    font-size: 1.4rem;
    position: relative;
    line-height: 16px;
}

.c-globalNav__item:not(:first-child) {
    border-left: 1px solid #e1e8ed;
    padding-left: 24px;
}

@media (max-width: 1330px) {
    .c-globalNav__item:not(:first-child) {
        padding-left: 0;
        border-left: 0;
    }
}

.c-globalNav__item a {
    color: #434b50;
}

@media (max-width: 1330px) {
    .c-globalNav__item a {
        line-height: 1;
        padding: 16px 0;
        position: relative;
        border-bottom: 1px solid #e1e8ed;
        width: 100%;
        font-weight: 700;
    }

    .c-globalNav__item a>* {
        width: 100%;
    }
}

.c-globalNav__item a:hover,
.c-globalNav__item a:focus {
    opacity: 0.4;
}

.c-globalNav__item input {
    display: none;
}

@media (min-width: 1330px) {

    .globalNav_drop,
    .globalNav_drop2 {
        position: relative;
    }

    #globalNav_drop_item {
        display: none;
        position: absolute;
        top: 0;
        left: -60%;
        width: max-content;
        padding: 30px 0 0;
        transition: 0.3s all;
    }

    #globalNav_drop_item2 {
        display: none;
        position: absolute;
        top: 0;
        left: 10%;
        width: max-content;
        padding: 30px 0 0;
        transition: 0.3s all;
    }

    .globalNav_drop:hover #globalNav_drop_item {
        display: block;
    }

    .globalNav_drop2:hover #globalNav_drop_item2 {
        display: block;
    }

    #globalNav_drop_item li a,
    #globalNav_drop_item2 li a {
        background: #6fc3d3;
        color: #fff;
        padding: 15px 20px;
        border-bottom: 1px solid #e1e8ed;
    }

    #globalNav_drop_item li a:hover {
        opacity: 1;
        background: #d9eaee;
    }
}

@media (max-width: 1330px) {
    .c-globalNav__item label {
        line-height: 32px;
        padding: 16px 0;
        position: relative;
        border-bottom: 1px solid #e1e8ed;
        width: 100%;
        font-weight: 700;
    }

    #globalNav_drop_item,
    #globalNav_drop_item2 {
        visibility: hidden;
        transition: 0.3s all;
        width: 100%;
        opacity: 0;
        height: 0px;
    }

    #globalNav_drop_item li a,
    #globalNav_drop_item2 li a {
        border-bottom: 1px solid #fff;
        background: #d9eaee;
        padding-left: 20px;
        padding-right: 20px;
    }

    label .display-sm-show {
        transform: rotate(90deg);
        transition: 0.3s all;
    }

    #globalNav_drop:checked~label .display-sm-show,
    #globalNav_drop2:checked~label .display-sm-show {
        transform: rotate(-90deg);
    }

    #globalNav_drop:checked~#globalNav_drop_item,
    #globalNav_drop2:checked~#globalNav_drop_item2 {
        visibility: visible;
        height: 130px;
        opacity: 1;
    }
}

.c-button {
    text-align: left;
    display: inline-block;
}

.c-button:hover,
.c-button:focus {
    opacity: 0.8;
}

.c-button.-header-cta {
    width: 160px;
    height: 64px;
    border-radius: 2px;
    background-color: #6fc3d3;
    line-height: 64px;
    color: #fff;
    font-weight: 500;
    text-align: center;
}

.c-button.-sp-navTrigger {
    width: 48px;
    height: 48px;
    border-radius: 2px;
    background-color: #6fc3d3;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

.c-button.-sp-navTrigger:focus {
    opacity: 1;
}

.c-button.-sp-navTrigger>* {
    height: 100%;
}

.c-button.-sp-navTrigger span.bar span {
    display: block;
    width: 16px;
    height: 1px;
    background-color: #fff;
}

.c-button.-sp-navTrigger span.bar span:not(:first-of-type) {
    margin-top: 3px;
}

.c-button.-noRadius {
    border-radius: 0;
}

.c-button.-circle-arrow {
    width: 64px;
    max-width: 64px;
    height: 64px;
    border-width: 1px;
    border-style: solid;
    border-radius: 100%;
}

@media (max-width: 66.25em) {
    .c-button.-circle-arrow {
        width: 32px;
        max-width: 32px;
        height: 32px;
    }
}

.c-button.-circle-arrow.-small {
    width: 32px;
    max-width: 32px;
    height: 32px;
}

.c-button.-circle-arrow>* {
    height: 100%;
    width: 100%;
}

.c-button.-circle-arrow.-boder-primary {
    border-color: #6fc3d3;
}

.c-button.-circle-arrow.-boder-gray {
    border-color: #e1e8ed;
}

.c-button.-circle-arrow .icon-arrowDown {
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
}

.c-button.-circle-arrow .icon-arrowRight {
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
}

@media (max-width: 66.25em) {
    .c-button.-circle-arrow .icon-arrowRight {
        width: 4px;
        height: 8px;
    }
}

.c-button.-circle-arrow:hover,
.c-button.-circle-arrow:focus {
    opacity: 1;
}

.c-button.-circle-arrow:hover .icon-arrowDown,
.c-button.-circle-arrow:focus .icon-arrowDown {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
}

.c-button.-circle-arrow:hover .icon-arrowRight,
.c-button.-circle-arrow:focus .icon-arrowRight {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
}

.c-button.-primary {
    max-width: 100%;
    min-height: 64px;
    padding: 22px 24px;
    border-radius: 100px;
    border-style: solid;
    border-width: 1px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    line-height: 1.71;
    font-size: 1.4rem;
    color: #6fc3d3;
}

.c-button.-primary.-boder-primary {
    border-color: #6fc3d3;
}

.c-button.-primary.-boder-white {
    border-color: #fff;
}

.c-button.-primary.-bg-white {
    background-color: #fff;
    color: #6fc3d3;
    border: none;
}

.c-button.-primary.-bg-primary {
    background-color: #6fc3d3;
    color: #fff;
    border: none;
}

.c-button.-primary .icon-arrowRight {
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
    line-height: 1;
}

.c-button.-primary .icon-mail {
    height: 12px;
    line-height: 1;
}

.c-button.-primary:hover,
.c-button.-primary:focus {
    opacity: 1;
}

.c-button.-primary:hover .icon-arrowRight,
.c-button.-primary:focus .icon-arrowRight {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
}

.c-headline {
    position: relative;
}

.c-headline.-pageTitle {
    text-align: center;
    min-height: 213px;
}

/* @media (max-width: 48em) {
    .c-headline.-pageTitle {
        min-height: 85px;
    }
} */

.c-headline.-isChild {
    padding: 80px 0 0;
    min-height: 0;
}

@media (max-width: 48em) {
    .c-headline.-isChild {
        padding-top: 48px;
    }
}

.c-headline__front {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin-top: 10px;
    z-index: var(--z-underLayer);
    width: 100%;
}

@media (max-width: 48em) {
    .c-headline__front {
        margin-top: 5px;
    }
}

.c-headline__back {
    position: relative;
    z-index: var(--z-bottomLayer);
    color: #e1e8ed;
    white-space: nowrap;
}

.c-headline__section {
    margin-top: 16px;
}

.c-headline__section::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;
    background-color: #6fc3d3;
}

.c-cta {
    min-height: 280px;
    background-image: -webkit-gradient(linear, right top, left top, from(#6fc3d3), to(#007092));
    background-image: linear-gradient(to left, #6fc3d3, #007092);
    padding: 64px 0 80px;
}

@media (max-width: 48em) {
    .c-cta {
        padding: 48px 0;
    }
}

.c-cta__copy {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 2.83;
    color: #fff;
    text-align: center;
}

@media (max-width: 48em) {
    .c-cta__copy {
        font-size: 2rem;
        line-height: 1.6;
    }
}

.c-cta__content {
    padding-top: 48px;
}

@media (max-width: 48em) {
    .c-cta__content {
        padding-top: 32px;
    }
}

.c-cta__phone {
    color: #fff;
}

@media (max-width: 48em) {
    .c-cta__phone {
        padding-left: 24px;
    }
}

.c-cta__phone .number {
    color: #fff;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1;
    position: relative;
}

.c-cta__phone .number::before {
    content: "";
    width: 12px;
    height: 16px;
    background-image: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="12.268" height="16" viewBox="0 0 12.268 16"><path d="M60.809.677c-1.1.713-1.315, 2.942-.9, 4.758a16.407, 16.407, 0, 0, 0, 2.169, 5.1, 17.039, 17.039, 0, 0, 0, 3.771, 4.06c1.489, 1.12, 3.612, 1.831, 4.712, 1.118a5.567, 5.567, 0, 0, 0, 1.419-1.522l-.591-.911-1.624-2.5c-.121-.186-.878-.016-1.262.2a3.661, 3.661, 0, 0, 0-1, 1.082c-.356.205-.654, 0-1.276-.286a7.579, 7.579, 0, 0, 1-2.309-2.436, 7.578, 7.578, 0, 0, 1-1.282-3.1c-.008-.685-.073-1.04.26-1.281a3.661, 3.661, 0, 0, 0, 1.395-.468c.356-.262.82-.884.7-1.07L63.368.913, 62.778, 0A5.568, 5.568, 0, 0, 0, 60.809.677Z" transform="translate(-59.712 0.001)" fill="%23ffffff"/></svg>');
    background-size: 12px 16px;
    position: absolute;
    left: -20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.c-cta_in {
    background: #6fc3d3;
    padding: 60px 5vw;
    margin: 50px auto;
    max-width: 1126px;
    width: 90vw;
    text-align: center;
    color: #fff;
    line-height: 1.6;
}

@media (max-width: 48em) {
    .c-cta_in {
        padding: 20px 5vw;
        font-size: 12px;
    }
}

.c-cta_in__copy {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    border-bottom: 1px solid #fff;
    padding: 0 0 20px;
}

@media (max-width: 48em) {
    .c-cta_in__copy {
        font-size: 2rem;
        padding: 0 0 10px;
        line-height: 1.5;
    }
}

.c-cta_in__box {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.c-cta_in__ttl {
    margin: 0 auto 15px;
    position: relative;
    line-height: 1.2;
    display: table;
    padding: 0 5px;
}

@media (max-width: 48em) {
    .c-cta_in__ttl {
        margin: 0 auto 5px;
    }
}

.c-cta_in__ttl::before,
.c-cta_in__ttl::after {
    position: absolute;
    content: "";
    width: 10px;
    height: 2px;
    background: #fff;
    top: 0;
    bottom: 0;
    margin: auto;
}

.c-cta_in__ttl::before {
    right: -10px;
}

.c-cta_in__ttl::after {
    left: -10px;
}

@media (max-width: 48em) {
    .c-cta_in__ttl::before {
        width: 8px;
        right: -5px;
    }

    .c-cta_in__ttl::after {
        width: 8px;
        left: -5px;
    }
}

.c-cta_in__btn {
    margin: 40px 10px 0;
    z-index: 0;
}

@media (max-width: 48em) {
    .c-cta_in__btn {
        width: 100%;
        margin: 20px 0 0;
    }
}

.c-cta_in .tel_icon {
    position: relative;
    padding: 0 0 0 20px;
    font-size: 16px;
}

.c-cta_in .tel_icon::after {
    position: absolute;
    content: "";
    width: 12px;
    height: 16px;
    background-image: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="12.268" height="16" viewBox="0 0 12.268 16"><path d="M60.809.677c-1.1.713-1.315, 2.942-.9, 4.758a16.407, 16.407, 0, 0, 0, 2.169, 5.1, 17.039, 17.039, 0, 0, 0, 3.771, 4.06c1.489, 1.12, 3.612, 1.831, 4.712, 1.118a5.567, 5.567, 0, 0, 0, 1.419-1.522l-.591-.911-1.624-2.5c-.121-.186-.878-.016-1.262.2a3.661, 3.661, 0, 0, 0-1, 1.082c-.356.205-.654, 0-1.276-.286a7.579, 7.579, 0, 0, 1-2.309-2.436, 7.578, 7.578, 0, 0, 1-1.282-3.1c-.008-.685-.073-1.04.26-1.281a3.661, 3.661, 0, 0, 0, 1.395-.468c.356-.262.82-.884.7-1.07L63.368.913, 62.778, 0A5.568, 5.568, 0, 0, 0, 60.809.677Z" transform="translate(-59.712 0.001)" fill="%23434b50"/></svg>');
    background-size: 12px 16px;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.c-cta_in__btn .cta_btn {
    min-width: 300px;
    margin: 0 0 15px;
    padding: 20px 24px;
    position: relative;
    transition: 0.3s all;
    border: 1px solid #fff !important;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
}

@media (max-width: 48em) {
    .c-cta_in__btn .cta_btn {
        min-width: auto;
        margin: 0 0 8px;
        width: 100%;
        max-width: 300px;
        min-height: 50px;
        line-height: 1.2;
        padding: 10px 20px;
    }
}

.c-cta_in__btn .cta_btn:hover {
    background-color: #fff !important;
}

.c-cta_in__btn .cta_btn_tel {
    background-color: #c5e7ed !important;
    color: #434b50 !important;
}

.c-cta_in__btn .cta_btn_tel:hover {
    background-color: #e8f5f8 !important;
}

.c-cta_in__btn .cta_btn_net {
    background-color: #ffe99e !important;
    color: #434b50 !important;
}

.c-cta_in__btn .cta_btn_net:hover {
    background-color: #fef5ce !important;
}

.c-cta_in__btn .cta_btn::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 5px;
    left: 10px;
    border: 1px solid #fff;
    border-radius: 50px;
    z-index: -1;
    background-image: linear-gradient(to left, #479ab2, #c5e7ed);
    transition: 0.3s all;
}

@media (max-width: 48em) {
    .c-cta_in__btn .cta_btn::before {
        left: 5px;
    }
}

.c-cta_in__btn .cta_btn_tel::before {
    background-image: linear-gradient(to left, #007092, #6fc3d3);
}

.c-cta_in__btn .cta_btn_net::before {
    background-image: linear-gradient(to left, #f7bb58, #f7d97b);
}

.c-cta_in__btn .cta_btn:hover::before {
    top: 0;
    left: 0;
}

.c-cta_in__btn .cta_btn .l-flexbox {
    flex-wrap: nowrap;
}

.c-cta_in .l-flexbox.-align-center {
    justify-content: center;
}

.c-cta_in__btn .txtbox {
    display: inline-block;
    text-align: center;
    padding: 0 0 0 30px;
}

@media (max-width: 48em) {
    .c-cta_in__btn .txtbox {
        padding: 0;
    }
}

.c-cta_in__btn .cta_btn_net .icon-arrowRight path {
    fill: #434b50;
}

.c-cta_in.column_cta {
    width: auto;
    padding: 30px 3vw;
}

@media (max-width: 48em) {
    .c-cta_in.column_cta {
        padding: 20px 3vw;
    }
}

.column_cta .c-cta_in__box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.column_cta .c-cta_in__btn {
    margin: 40px 0px 0;
    width: 31%;
    line-height: 1.3;
    font-size: 13px;
}

@media (max-width: 48em) {
    .column_cta .c-cta_in__btn {
        width: 100%;
        margin: 20px 0 0;
        font-size: 12px;
    }
}

.column_cta .c-cta_in__btn .cta_btn {
    width: 100%;
    min-width: auto;
    min-height: 70px;
}

@media (max-width: 48em) {
    .column_cta .c-cta_in__btn .cta_btn {
        min-height: 50px;
    }
}

.column_cta .c-cta_in__btn .txtbox {
    padding: 0;
}

.c-news {
    padding: 36px 32px;
    border-bottom: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .c-news {
        padding: 16px 0;
    }
}

.c-news__meta {
    color: #8e979d;
    line-height: 20px;
}

.c-news__category {
    border-left: 1px solid #e1e8ed;
    padding-left: 16px;
}

.c-news__title {
    font-weight: 700;
    line-height: 1.7;
    text-align: left;
    color: #434b50;
    margin-top: 16px;
}

@media (max-width: 48em) {
    .c-news__title {
        margin-top: 8px;
    }
}

.c-news__content {
    width: calc(100% - 80px);
}

@media (max-width: 48em) {
    .c-news__content {
        width: calc(100% - 48px);
    }
}

.c-news__btn {
    width: 64px;
}

@media (max-width: 48em) {
    .c-news__btn {
        width: 32px;
    }
}

.c-news:hover .icon-arrowRight,
.c-news:focus .icon-arrowRight {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
}

.c-pagetop {
    width: 120px;
    height: 120px;
    border: solid 1px #e1e8ed;
    background-color: #fcfeff;
    border-radius: 100%;
    position: absolute;
    bottom: 24px;
    right: 96px;
    display: block;
    color: #6fc3d3;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    font-family: "Playfair Display", serif;
    z-index: var(--z-underLayer);
}

@media (max-width: 48em) {
    .c-pagetop {
        width: 96px;
        height: 96px;
        font-size: 1.2rem;
        bottom: 98px;
        right: 50%;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
    }
}

.c-pagetop>* {
    height: 100%;
}

.c-pagetop__icon {
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
    position: relative;
}

.c-pagetop:hover .c-pagetop__icon,
.c-pagetop:focus .c-pagetop__icon {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
}

.c-breadcrumbs li {
    display: inline-block;
    font-size: 1.2rem;
}

.c-breadcrumbs li:not(:first-of-type) {
    margin-left: 0.6rem;
}

.c-breadcrumbs li:not(:first-of-type)::before {
    content: ">";
    margin-right: 0.6rem;
    display: inline-block;
}

.c-course {
    border-radius: 2px;
    border: solid 4px #007092;
    background-color: #fff;
    padding-bottom: 48px;
}

@media (max-width: 48em) {
    .c-course {
        padding-bottom: 24px;
    }
}

.c-course__head {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    max-width: 558px;
    padding-right: 24px;
}

@media (max-width: 48em) {
    .c-course__head {
        padding-right: 24px;
        max-width: 100%;
    }
}

.c-course__body {
    width: 560px;
    max-width: 100%;
}

@media (max-width: 48em) {
    .c-course__body {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
        max-width: 100%;
    }
}

.c-course__name .bg {
    color: #fff;
    padding: 12px 16px 16px 12px;
    background-color: #007092;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 3.2rem;
    font-weight: 500;
    display: inline-block;
    line-height: 1;
}

@media (max-width: 48em) {
    .c-course__name .bg {
        font-size: 2.4rem;
        padding: 16px 16px 16px 12px;
    }
}

.c-course__dec {
    margin-top: 32px;
    padding-left: 38px;
    padding-right: 24px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    color: #007092;
}

@media (max-width: 48em) {
    .c-course__dec {
        margin-top: 24px;
        padding-left: 20px;
        padding-right: 0;
    }
}

.c-course__dt {
    width: 80px;
    height: 80px;
    border-radius: 100%;
    border: 1px solid #007092;
    text-align: center;
    font-weight: 700;
    color: #007092;
    margin: 0 auto;
    line-height: 1.43;
}

@media (max-width: 48em) {
    .c-course__dt {
        width: 64px;
        height: 64px;
        font-size: 1.2rem;
    }
}

@media (max-width: 48em) {
    .c-course__dd {
        margin-top: 0;
        width: calc(100% - 80px);
    }
}

.c-course__price {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 280px;
    flex: 1 1 280px;
    max-width: 280px;
    border-left: 1px solid #007092;
    margin-top: 40px;
    padding: 0 32px;
}

@media (max-width: 48em) {
    .c-course__price {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
        max-width: 100%;
        margin: 0 20px;
        padding: 24px 0 0;
        border-left: none;
        border-top: 1px solid #007092;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 16px;
    }
}

.c-course__price .price {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    color: #007092;
}

@media (max-width: 48em) {
    .c-course__price .price {
        -moz-text-align-last: left;
        text-align-last: left;
        font-size: 2rem;
    }
}

.c-course__price .price span {
    font-size: 2rem;
}

@media (max-width: 48em) {
    .c-course__price .price span {
        font-size: 1.4rem;
    }
}

.c-course__price .note {
    font-size: 1.2rem;
    text-align: center;
    color: #007092;
    margin-top: 8px;
    letter-spacing: -0.5px;
}

@media (max-width: 48em) {
    .c-course__price .note {
        font-size: 1rem;
        text-align: left;
    }
}

.c-course__detail {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 280px;
    flex: 1 1 280px;
    max-width: 280px;
    border-left: 1px solid #007092;
    margin-top: 40px;
    padding: 0 32px;
}

@media (max-width: 48em) {
    .c-course__detail {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
        max-width: 100%;
        margin: 0 20px;
        padding: 24px 0 0;
        border-left: none;
        border-top: 1px solid #007092;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 16px;
    }
}

.c-course__detail .course-list {
    font-weight: 700;
    line-height: 1.71;
    text-align: center;
    color: #007092;
}

.c-course__detail .course-list span {
    display: inline-block;
}

@media (max-width: 48em) {
    .c-course__detail .course-list {
        text-align: left;
    }
}

.c-course__voice {
    margin-top: 32px;
    padding: 0 40px;
}

@media (max-width: 48em) {
    .c-course__voice {
        margin-top: 24px;
        padding: 0 20px;
    }
}

.c-course__voiceBg {
    padding: 32px 0;
    border-radius: 2px;
    background-color: #f2f7fa;
}

@media (max-width: 48em) {
    .c-course__voiceBg {
        padding: 24px 16px 0;
    }
}

.c-course__voiceList {
    margin-top: 32px;
}

@media (max-width: 48em) {
    .c-course__voiceList {
        margin-top: 24px;
    }
}

.c-course__voiceList>*:not(:first-of-type) {
    border-left: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .c-course__voiceList>*:not(:first-of-type) {
        border-left: none;
        border-top: 1px solid #e1e8ed;
    }
}

.c-course__voiceItem {
    padding: 0 32px;
}

@media (max-width: 48em) {
    .c-course__voiceItem {
        padding: 16px 0;
    }
}

.c-course__voiceItem .icon {
    width: 40px;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 40px;
    flex: 1 1 40px;
}

@media (max-width: 48em) {
    .c-course__voiceItem .icon {
        width: 32px;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 32px;
        flex: 1 1 32px;
    }
}

.c-course__voiceItem .content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: calc(100% - 52px);
}

@media (max-width: 48em) {
    .c-course__voiceItem .content {
        width: calc(100% - 40px);
    }
}

.c-course__voiceItem .name {
    font-size: 1.6rem;
    font-weight: 700;
    color: #6fc3d3;
    line-height: 1.4;
}

@media (max-width: 48em) {
    .c-course__voiceItem .name {
        font-size: 1.4rem;
    }
}

.c-course__voiceItem .comment {
    margin-top: 16px;
    line-height: 1.71;
}

@media (max-width: 48em) {
    .c-course__voiceItem .comment {
        font-size: 1.2rem;
    }
}

.c-other-course {
    margin-top: 120px;
    padding: 120px 0;
    border-top: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .c-other-course {
        margin-top: 80px;
        padding: 80px 0;
    }
}

.c-other-course__bottom {
    margin-top: 48px;
    text-align: center;
}

@media (max-width: 48em) {
    .c-other-course__bottom {
        margin-top: 24px;
    }
}

.c-removalCta {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 280px;
    padding: 16px;
    border-radius: 2px;
    -webkit-box-shadow: 0 8px 16px 0 rgba(111, 195, 211, 0.3);
    box-shadow: 0 8px 16px 0 rgba(111, 195, 211, 0.3);
    background-color: #6fc3d3;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.67;
    z-index: var(--z-topLayer);
}

.c-removalCta__btn {
    margin-top: 16px;
    text-align: center;
}

.c-removalCta__btn .c-button.-primary {
    padding: 12px 24px;
    min-height: 48px;
}

.price-item {
    border-radius: 2px;
    overflow: hidden;
}

.price-item__detail {
    background-image: -webkit-gradient(linear, right top, left top, from(#6fc3d3), to(#007092));
    background-image: linear-gradient(to left, #6fc3d3, #007092);
    color: #fff;
    padding: 32px 0;
}

.price-item__detail .inner {
    height: 100%;
}

.price-item__detail h3::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
}

.price-item__detail .price-row .price-dl .dt {
    margin: 0;
}

.price-item__detail .price-dl {
    margin-top: 24px;
}

.price-item__detail .price-dl .dt {
    width: 80px;
    height: 80px;
    border-radius: 100%;
    border: 1px solid #fff;
    text-align: center;
    font-weight: 700;
    margin: 0 auto;
    line-height: 1.43;
}

@media (max-width: 48em) {
    .price-item__detail .price-dl .dt {
        width: 64px;
        height: 64px;
        font-size: 1.2rem;
    }
}

@media (max-width: 48em) {
    .price-item__detail .price-dl .dd {
        margin-top: 0;
        width: calc(100% - 80px);
    }
}

.price-item__detail .price-dl .price {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.2;
}

@media (max-width: 48em) {
    .price-item__detail .price-dl .price {
        font-size: 2rem;
    }
}

.price-item__detail .price-dl .price span {
    font-size: 1.4rem;
}

.price-item__detail .price-dl .note {
    margin-top: 8px;
    font-size: 1.2rem;
}

@media (max-width: 48em) {
    .price-item__detail .price-dl .note {
        font-size: 1rem;
    }
}

.price-item__cp {
    border-right: 1px solid #e1e8ed;
    border-top: 1px solid #e1e8ed;
    border-bottom: 1px solid #e1e8ed;
    padding: 32px;
    background-color: #fff;
}

@media (max-width: 48em) {
    .price-item__cp {
        padding: 24px;
        border-left: 1px solid #e1e8ed;
        border-top: none;
    }
}

.price-item__cp h4 {
    padding: 10px 16px;
    border-radius: 2px;
    background-color: #f2f7fa;
    font-weight: 700;
    text-align: left;
}

.price-item__cp h4+* {
    margin-top: 16px;
    font-size: 1.2rem;
    line-height: 2;
}

.c-pagination .pagination {
    margin-top: 64px;
}

@media (max-width: 48em) {
    .c-pagination .pagination {
        margin-top: 48px;
    }
}

.c-pagination .pagination ul {
    text-align: center;
    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;
}

.c-pagination .pagination ul .page-numbers {
    display: inline-block;
    width: 48px;
    line-height: 48px;
    border: solid 1px #e1e8ed;
    color: #6fc3d3;
    border-radius: 100%;
    font-size: 1.2rem;
    color: #8e979d;
    font-weight: 700;
    margin: 0 8px;
}

@media (max-width: 48em) {
    .c-pagination .pagination ul .page-numbers {
        width: 40px;
        line-height: 40px;
        margin: 0 4px;
    }
}

.c-pagination .pagination ul .page-numbers:hover,
.c-pagination .pagination ul .page-numbers:focus {
    border: solid 1px #6fc3d3;
    color: #6fc3d3;
}

.c-pagination .pagination ul .current {
    border: solid 1px #6fc3d3;
    color: #6fc3d3;
    border-radius: 100%;
    font-size: 1.2rem;
}

.c-pagination .pagination ul .prev,
.c-pagination .pagination ul .next {
    color: #6fc3d3;
    width: auto;
    padding: 0 16px;
    border-radius: 24px;
    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;
    position: relative;
    white-space: nowrap;
}

@media (max-width: 48em) {

    .c-pagination .pagination ul .prev,
    .c-pagination .pagination ul .next {
        padding: 0 12px;
    }
}

.c-pagination .pagination ul .prev {
    margin-right: 32px;
}

@media (max-width: 48em) {
    .c-pagination .pagination ul .prev {
        margin-right: 6px;
    }
}

.c-pagination .pagination ul .prev::before {
    content: "";
    width: 8px;
    height: 48px;
    background-image: url('data:image/svg+xml;utf8, <svg xmlns=";http://www.w3.org/2000/svg" width="9" height="17" viewBox="0 0 9 17"><path d="M150.658, 652.26a.5.5, 0, 0, 1-.354-.146l-8-8a.5.5, 0, 0, 1, .707-.707l7.646, 7.647, 7.646-7.647a.5.5, 0, 0, 1, .707.707l-8, 8A.5.5, 0, 0, 1, 150.658, 652.26Z" transform="translate(652.26 -142.158) rotate(90)" fill="%236FC3D3" /></svg>');
    background-size: 8px 16px;
    background-repeat: no-repeat;
    background-position: center center;
    display: inline-block;
    margin-right: 8px;
}

@media (max-width: 48em) {
    .c-pagination .pagination ul .prev::before {
        width: 6px;
        height: 40px;
        background-size: 6px 10px;
        margin-right: 4px;
    }
}

.c-pagination .pagination ul .next {
    margin-left: 32px;
}

@media (max-width: 48em) {
    .c-pagination .pagination ul .next {
        margin-left: 6px;
    }
}

.c-pagination .pagination ul .next::after {
    content: "";
    width: 8px;
    height: 48px;
    background-image: url('data:image/svg+xml;utf8, <svg xmlns=";http://www.w3.org/2000/svg" width="9" height="17" viewBox="0 0 9 17"><path d="M150.658, 652.26a.5.5, 0, 0, 1-.354-.146l-8-8a.5.5, 0, 0, 1, .707-.707l7.646, 7.647, 7.646-7.647a.5.5, 0, 0, 1, .707.707l-8, 8A.5.5, 0, 0, 1, 150.658, 652.26Z" transform="translate(-643.26 159.158) rotate(-90)" fill="%236FC3D3" /></svg>');
    background-size: 8px 16px;
    background-position: center center;
    display: inline-block;
    background-repeat: no-repeat;
    margin-left: 8px;
}

@media (max-width: 48em) {
    .c-pagination .pagination ul .next::after {
        width: 6px;
        height: 40px;
        background-size: 6px 10px;
        margin-left: 4px;
    }
}

.c-pagination .pagination ul .dots {
    border: none;
    width: auto;
}

.c-pagination .pagination ul .dots:hover {
    border: none;
    color: #8e979d;
}

table {
    width: 100%;
    background-color: #fff;
    line-height: 1.71;
}

table th {
    background-color: #f2f7fa;
    padding: 14px 16px;
    border: 1px solid #e1e8ed;
}

table td {
    border: 1px solid #e1e8ed;
    padding: 14px 16px;
}

.slick-dots {
    left: 80px !important;
    top: 64px !important;
    width: auto !important;
    counter-reset: number 0;
}

@media (max-width: 48em) {
    .slick-dots {
        left: 0;
        top: 316px !important;
    }
}

.slick-dots li {
    width: 64px !important;
    position: relative;
}

.slick-dots li button {
    width: 100% !important;
    height: 21px !important;
    padding: 0 !important;
}

.slick-dots li button::before {
    counter-increment: number 1;
    content: counter(number, decimal-leading-zero) !important;
    font-family: YuMincho !important;
    font-size: 1.2rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    color: #bfc8ce !important;
    width: auto !important;
    height: auto !important;
    text-align: left !important;
    opacity: 1 !important;
    top: -8px !important;
}

.slick-dots li button::after {
    content: "";
    background-color: #bfc8ce !important;
    width: 100%;
    height: 1px;
    display: block;
}

.slick-dots li.slick-active button::before {
    color: #434b50 !important;
}

.slick-dots li.slick-active button::after {
    background-color: #434b50 !important;
}

.top-hero {
    height: 682px;
    margin-top: 128px;
    position: relative;
}

@media (max-width: 66.25em) {
    .top-hero {
        margin-top: 96px;
        height: auto;
    }
}

.top-hero__body {
    position: relative;
}

.top-hero__item {
    position: relative;
}

.top-hero__image {
    margin-left: 240px;
    width: calc(100% - 240px);
    height: 682px;
    background-size: cover;
    background-position: right top;
    background-repeat: no-repeat;
    position: relative;
    z-index: var(--z-bottomLayer);
}

img.top-hero__image {
    object-fit: cover;
}

@media (max-width: 48em) {
    .top-hero__image {
        margin-left: 24px;
        width: calc(100% - 24px);
        height: 300px;
    }
}

.top-hero__content {
    z-index: var(--z-underLayer);
    position: absolute;
    left: 48px;
    top: 146px;
}

@media (max-width: 48em) {
    .top-hero__content {
        position: relative;
        left: 0;
        top: 0;
        margin-top: 69px;
    }
}

.top-hero__content .copy {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 4.4rem;
    font-weight: 500;
    line-height: 1.55;
    padding-left: 32px;
}

@media (max-width: 48em) {
    .top-hero__content .copy {
        text-align: center;
        font-size: 2.8rem;
        padding-left: 0;
    }
}

.top-hero__content .copy span {
    display: inline-block;
    margin-right: 2.2rem;
    position: relative;
}

@media (max-width: 48em) {
    .top-hero__content .copy span {
        margin-right: 1.6rem;
    }
}

.top-hero__content .copy span::before {
    content: "“";
    font-size: 9.6rem;
    color: #6fc3d3;
    line-height: 1;
    position: absolute;
    left: -32px;
    top: 0;
}

@media (max-width: 48em) {
    .top-hero__content .copy span::before {
        font-size: 6.4rem;
        left: -27px;
        top: -4px;
    }
}

.top-hero__content .copy span::after {
    content: "”";
    font-size: 9.6rem;
    color: #6fc3d3;
    line-height: 1;
    position: absolute;
    right: -28px;
    top: 0;
}

@media (max-width: 48em) {
    .top-hero__content .copy span::after {
        font-size: 6.4rem;
        right: -23px;
        top: -4px;
    }
}

.top-hero__content .comment {
    padding-left: 32px;
    margin-top: 40px;
    font-size: 1.2rem;
    line-height: 2.5;
    letter-spacing: 2.88px;
}

@media (max-width: 48em) {
    .top-hero__content .comment {
        text-align: center;
        padding: 0 24px;
        margin-top: 24px;
        font-size: 1.2rem;
        line-height: 2.5;
        letter-spacing: 2px;
    }
}

.top-hero__scroll {
    position: absolute;
    left: 80px;
    bottom: 64px;
}

@media (max-width: 48em) {
    .top-hero__scroll {
        position: relative;
        left: 0;
        bottom: 0;
        margin-top: 32px;
        width: 64px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 48em) {
    .top-hero__scrollBtn {
        width: 64px !important;
        height: 64px !important;
        max-width: 64px !important;
    }

    .top-hero__scrollBtn .icon-arrowDown {
        width: 16px;
        height: 8px;
    }
}

.top-reason {
    padding: 70px 0 151px;
    position: relative;
    border-bottom: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .top-reason {
        padding: 50px 0;
    }
}

.top-reason>* {
    position: relative;
    z-index: var(--z-underLayer);
}

@media (max-width: 48em) {
    .top-reason__headeline {
        margin-top: 16px;
    }
}

.top-reason__message {
    padding-top: 48px;
    text-align: center;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 2.67;
    letter-spacing: normal;
}

@media (max-width: 48em) {
    .top-reason__message {
        font-size: 2rem;
        line-height: 2.8;
        padding-top: 32px;
    }
}

.top-reason__more {
    margin-top: 64px;
}

@media (max-width: 48em) {
    .top-reason__more {
        margin-top: 40px;
    }
}

.top-reason__bg {
    z-index: var(--z-bottomLayer);
    position: absolute;
    line-height: 1;
}

.top-reason__bg.-bg00 {
    left: 50%;
    top: 351px;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    margin-left: -283px;
}

@media (max-width: 48em) {
    .top-reason__bg.-bg00 {
        position: relative;
        width: 160px;
        top: 0;
        left: 0;
        -webkit-transform: translateX(0);
        transform: translateX(0);
        margin-left: 0;
    }
}

.top-reason__bg.-bg01 {
    left: 50%;
    bottom: -41px;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    margin-left: -323px;
}

@media (max-width: 48em) {
    .top-reason__bg.-bg01 {
        left: 0;
        bottom: -32px;
        -webkit-transform: translateX(0);
        transform: translateX(0);
        margin-left: 24px;
        width: 120px;
    }
}

.top-reason__bg.-bg02 {
    right: 50%;
    bottom: 131px;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    margin-right: -323px;
}

@media (max-width: 48em) {
    .top-reason__bg.-bg02 {
        right: 0;
        bottom: 39px;
        -webkit-transform: translateX(0);
        transform: translateX(0);
        margin-right: 0;
        width: 180px;
    }
}

.top-style {
    padding: 120px 0;
    border-top: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .top-style {
        padding: 80px 0 64px;
    }
}

.top-style__content {
    padding-top: 48px;
}

.top-style__item {
    width: 343px;
    max-width: 100%;
}

@media (max-width: 48em) {
    .top-style__item {
        width: 100%;
    }
}

.top-style__thumbnail {
    width: 240px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 48em) {
    .top-style__thumbnail {
        width: 160px;
    }
}

.top-style__thumbnail img {
    border-radius: 100%;
}

.top-style__headline {
    padding-top: 32px;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}

@media (max-width: 48em) {
    .top-style__headline {
        padding-top: 16px;
        font-size: 2rem;
    }
}

.top-style__headline .sub {
    font-family: "Playfair Display", serif;
    text-align: center;
    color: #6fc3d3;
    font-size: 1.4rem;
}

@media (max-width: 48em) {
    .top-style__headline .sub {
        font-size: 1.2rem;
    }
}

.top-style__headline .sub+* {
    margin-top: 16px;
}

.top-style__comment {
    padding-top: 32px;
    line-height: 2.29;
}

@media (max-width: 48em) {
    .top-style__comment {
        display: grid;
        place-items: center;
        padding-top: 24px;
    }
}

.top-style__comment a {
    text-decoration: none;
    display: inline-block;
}

.top-service {
    padding-top: 60px;
    position: relative;
}

@media (max-width: 48em) {
    .top-service {
        padding-top: 40px;
    }

    .top-service+* {
        margin-top: 16px;
    }
}

.top-service::before {
    content: "";
    background-image: url("../images/top-service_bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 750px;
    background-position: center center;
    position: absolute;
    left: 0;
    top: 0;
    z-index: var(--z-bottomLayer);
}

@media only screen and(-webkit-min-device-pixel-ratio: 2),
only screen and(min-resolution: 2dppx) {
    .top-service::before {
        background-image: url("../images/top-service_bg@2x.jpg");
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 3),
only screen and(min-resolution: 3dppx) {
    .top-service::before {
        background-image: url("../images/top-service_bg@3x.jpg");
    }
}

.top-service::after {
    content: "";
    background-color: rgba(255, 255, 255, 0.6);
    width: 100%;
    height: 750px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: var(--z-underLayer);
}

.top-service__body {
    position: relative;
    z-index: var(--z-middleLayer);
}

.top-service__content {
    margin-top: 48px;
    padding: 48px 0 0;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #fff;
}

@media (max-width: 48em) {
    .top-service__content {
        padding: 32px 24px 0;
    }
}

.top-service__list {
    margin-top: 40px;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #fff;
}

.top-service__list .women,
.top-service__list .men {
    padding: 40px 0 0;
    position: relative;
    overflow: hidden;
    border-bottom: solid 1px #e1e8ed;
}

.top-service__list .women::after,
.top-service__list .men::after {
    position: absolute;
    content: "";
    top: -100px;
    left: 0;
    right: 0;
    margin: auto;
    width: 230px;
    height: 190px;
    opacity: 0.3;
    z-index: 0;
}

.top-service__list .women::after {
    background-image: radial-gradient(circle at 50% 50%, #e38aad, rgba(227, 138, 173, 0) 71%);
}

.top-service__list .men::after {
    background-image: radial-gradient(circle at 50% 50%, #6fc3d3, rgba(111, 195, 211, 0) 71%);
}

.top-service__list_gender {
    font-family: "Playfair Display", serif;
    text-align: center;
}

.women .top-service__list_gender {
    color: #e38aad;
}

.men .top-service__list_gender {
    color: #6fc3d3;
}

.top-service__menu {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.top-service__menu_item {
    padding: 30px;
    border-left: 1px solid #e1e8ed;
}

.top-service__menu_item:first-of-type {
    border-left: none;
}

.top-service__menu_item .comment {
    margin-top: 16px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.67;
    letter-spacing: 2.4px;
    text-align: center;
    color: #000;
}

.top-service__menu2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-bottom: solid 1px #e1e8ed;
}

.top-service__menu2_item {
    padding: 30px;
    border-left: 1px solid #e1e8ed;
}

.top-service__menu2_item:first-of-type {
    border-left: none;
}

.top-service__menu2_item .comment {
    margin-top: 16px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.67;
    letter-spacing: 2.4px;
    text-align: center;
    color: #000;
}

.top-service__other {
    padding: 40px;
}

.top-service__other_item {
    color: #000;
}

.top-service__inner {
    padding: 48px 48px 0;
}

@media (max-width: 48em) {
    .top-service__inner {
        padding: 24px 0 0;
    }
}

.top-service__item {
    width: 50%;
    display: block;
    color: #434b50;
    position: relative;
    overflow: hidden;
}

@media (max-width: 48em) {
    .top-service__item {
        padding: 16px 0 24px;
    }
}

.top-service__item::before {
    content: "";
    width: 320px;
    height: 320px;
    opacity: 0.2;
    position: absolute;
    bottom: -200px;
    opacity: 0.2;
    border-radius: 100%;
    -webkit-filter: blur(20px);
    filter: blur(20px);
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
}

@media (max-width: 48em) {
    .top-service__item::before {
        width: 72px;
        height: 144px;
        bottom: -71px;
    }
}

.top-service__item:first-of-type {
    padding-right: 48px;
    border-right: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .top-service__item:first-of-type {
        padding-right: 16px;
    }
}

.top-service__item:first-of-type::before {
    left: 6%;
    background-image: radial-gradient(circle at 50% 50%, #e38aad, rgba(227, 138, 173, 0) 71%);
}

@media (max-width: 66.25em) {
    .top-service__item:first-of-type::before {
        left: 0;
        background-image: radial-gradient(circle at 50% 50%, #e38aad, rgba(227, 138, 173, 0) 89%);
    }
}

@media (max-width: 48em) {
    .top-service__item:first-of-type::before {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

.top-service__item:nth-of-type(2) {
    padding-left: 48px;
}

@media (max-width: 48em) {
    .top-service__item:nth-of-type(2) {
        padding-left: 16px;
    }
}

.top-service__item:nth-of-type(2)::before {
    margin-left: 48px;
    background-image: radial-gradient(circle at 50% 50%, #6fc3d3, rgba(111, 195, 211, 0) 71%);
}

@media (max-width: 66.25em) {
    .top-service__item:nth-of-type(2)::before {
        right: 0;
        background-image: radial-gradient(circle at 50% 50%, #6fc3d3, rgba(111, 195, 211, 0) 89%);
    }
}

@media (max-width: 48em) {
    .top-service__item:nth-of-type(2)::before {
        right: 50%;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
    }
}

.top-service__item .detail {
    text-align: center;
    padding-bottom: 67px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

@media (max-width: 48em) {
    .top-service__item .detail {
        padding-bottom: 0;
    }
}

.top-service__item .btn {
    -ms-flex-preferred-size: 64px;
    flex-basis: 64px;
}

@media (max-width: 48em) {
    .top-service__item .btn {
        -ms-flex-preferred-size: 32px;
        flex-basis: 32px;
    }
}

.top-service__item .comment {
    margin-top: 16px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.67;
    letter-spacing: 2.4px;
}

.top-service__item .gender {
    font-family: "Playfair Display", serif;
    margin-top: 8px;
}

@media (max-width: 48em) {
    .top-service__item .gender {
        margin-top: 4px;
    }
}

.top-service__item .gender.-women {
    color: #e38aad;
}

.top-service__item .gender.-men {
    color: #6fc3d3;
}

.top-service__item:hover::before,
.top-service__item:focus::before {
    opacity: 0.5;
}

.top-service__item:hover .icon-arrowRight,
.top-service__item:focus .icon-arrowRight {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
}

.top-service .other-service {
    padding: 48px 0;
    display: block;
    color: #434b50;
    border-top: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .top-service .other-service {
        padding: 32px 0;
        text-align: center;
    }
}

.top-service .other-service:hover .icon-arrowRight,
.top-service .other-service:focus .icon-arrowRight {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
}

.top-service .other-service__content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}

.top-service .other-service h3 {
    margin-right: 48px;
}

@media (max-width: 48em) {
    .top-service .other-service h3 {
        margin-right: 0;
    }
}

.top-article {
    padding: 80px 0;
    border-bottom: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .top-article {
        padding: 48px 0;
    }
}

.top-article__image {
    max-width: 480px;
}

.top-article__content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    padding-top: 20px;
}

@media (max-width: 48em) {
    .top-article__content {
        padding-top: 0;
    }
}

@media (max-width: 48em) {
    .top-article__dec {
        font-size: 1.6rem;
        line-height: 1.7;
        margin-top: 16px;
        width: 100%;
        text-align: left;
    }

    .top-article__dec .sp-none {
        display: none;
    }
}

.top-article__more {
    margin-top: 48px;
}

@media (max-width: 48em) {
    .top-article__more {
        margin-top: 24px;
    }
}

.top-news {
    padding: 80px 0;
}

@media (max-width: 48em) {
    .top-news {
        padding: 48px 0 80px;
    }
}

.top-news h2 {
    margin-top: 24px;
}

.top-news__more {
    margin-top: 48px;
}

@media (max-width: 48em) {
    .top-news__more {
        margin-top: 24px;
        text-align: center;
    }
}

.top-news__title {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding-top: 24px;
}

@media (max-width: 48em) {
    .top-news__title {
        padding-top: 0;
    }
}

.top-news__content {
    max-width: 100%;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 735px;
    flex: 1 1 735px;
}

@media (max-width: 48em) {
    .top-news__content {
        margin-top: 40px;
        -webkit-box-flex: 1;
        -ms-flex: auto;
        flex: auto;
    }
}

.top-bottom {
    width: 100%;
    position: relative;
    min-height: 520px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

@media (max-width: 48em) {
    .top-bottom {
        min-height: 0;
        padding: 48px 24px;
    }
}

.top-bottom::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(144, 201, 250, 0.8);
    z-index: var(--z-bottomLayer);
}

.top-bottom__content {
    height: 100%;
    position: relative;
    z-index: var(--z-underLayer);
}

.top-bottom__headline {
    margin-top: 24px;
}

.top-bottom__dec {
    margin-top: 24px;
}

@media (max-width: 48em) {
    .top-bottom__dec {
        margin-top: 16px;
    }
}

.top-bottom__more {
    margin-top: 48px;
    text-align: center;
}

@media (max-width: 48em) {
    .top-bottom__more {
        margin-top: 24px;
    }
}

.top-qa {
    background-image: url("../images/top-qa.jpg");
}

@media only screen and(-webkit-min-device-pixel-ratio: 2),
only screen and(min-resolution: 2dppx) {
    .top-qa {
        background-image: url("../images/top-qa@2x.jpg");
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 3),
only screen and(min-resolution: 3dppx) {
    .top-qa {
        background-image: url("../images/top-qa@3x.jpg");
    }
}

.top-column {
    background-image: url("../images/top-column.jpg");
}

@media only screen and(-webkit-min-device-pixel-ratio: 2),
only screen and(min-resolution: 2dppx) {
    .top-column {
        background-image: url("../images/top-column@2x.jpg");
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 3),
only screen and(min-resolution: 3dppx) {
    .top-column {
        background-image: url("../images/top-column@3x.jpg");
    }
}

.about-top {
    margin-top: 80px;
    position: relative;
    padding-bottom: 64px;
}

@media (max-width: 48em) {
    .about-top {
        margin-top: 0;
        padding-bottom: 48px;
    }
}

.about-top::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #6fc3d3;
    position: absolute;
    top: 0;
    left: 0;
}

@media (max-width: 48em) {
    .about-top::before {
        top: 80px;
        height: calc(100% - 80px);
    }
}

.about-top__body {
    position: relative;
}

.about-top__image {
    width: 720px;
    max-width: 100%;
    position: absolute;
    top: -80px;
    right: 526px;
}

@media (max-width: 48em) {
    .about-top__image {
        position: relative;
        top: 0;
        right: 0;
        left: -24px;
        width: calc(100vw - 24px);
        max-width: 100vw;
    }
}

.about-top__image img {
    width: 100%;
}

.about-top__content {
    width: 462px;
    max-width: 100%;
    position: relative;
    margin-top: -40px;
}

@media (max-width: 48em) {
    .about-top__content {
        margin-top: 24px;
        width: 100%;
    }
}

.about-top__copy {
    margin-top: 32px;
    color: #fff;
}

@media (max-width: 48em) {
    .about-top__copy {
        margin-top: 16px;
    }
}

.about-top__copy::after {
    margin-left: 0;
    background-color: #fff;
}

.about-top__dec {
    margin-top: 32px;
    color: #fff;
}

.about-point {
    padding: 80px 0 120px;
}

@media (max-width: 48em) {
    .about-point {
        padding: 80px 0;
    }
}

.about-point__copy {
    margin-top: 16px;
}

.about-point__copy::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;
    background-color: #6fc3d3;
}

.about-point__content {
    margin-top: 48px;
}

@media (max-width: 48em) {
    .about-point__content {
        margin-top: 32px;
    }
}

.about-point__content_flex {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.about-point__item {
    max-width: 259px;
}

.column1 .about-point__item {
    max-width: 400px;
}

@media (max-width: 48em) {
    .about-point__content_flex {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-point__content_flex.column1 {
        grid-template-columns: auto;
        justify-items: center;
    }
}

@media (max-width: 48em) {
    .about-point__item {
        max-width: 342px;
    }
}

.about-point__item .image {
    position: relative;
    line-height: 1;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 48em) {
    .about-point__item .image {
        max-width: 342px;
    }
}

.about-point__item .image img {
    width: 100%;
}

.about-point__item .image span {
    font-family: "Playfair Display", serif;
    font-size: 1.2rem;
    color: #fff;
    position: absolute;
    top: 50px;
    right: -10px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    width: 66px;
    text-align: left;
}

.about-point__item .copy {
    margin-top: 24px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 2px;
    text-align: center;
    color: #6fc3d3;
    min-height: 56px;
}

@media (max-width: 48em) {
    .about-point__item .copy {
        min-height: 0;
        font-size: 1.7rem;
        letter-spacing: 0;
        line-height: 1.4;
    }

    .about-point__item .copy br {
        /*display: none;*/
    }
}

.about-point__item .comment {
    margin-top: 24px;
    line-height: 2.29;
    letter-spacing: normal;
    -webkit-text-stroke: 1px rgba(0, 0, 0, 0);
    text-align: left;
}

.hair-removal-copy {
    margin-top: 16px;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 8px;
    text-align: center;
}

@media (max-width: 48em) {
    .hair-removal-copy {
        font-size: 2.4rem;
        line-height: 2.83;
        margin-top: 0;
    }
}

.hair-removal-anxiety {
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
    max-width: 800px;
    padding: 48px 0 0 80px;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #fff;
    position: relative;
    z-index: var(--z-underLayer);
}

@media (max-width: 48em) {
    .hair-removal-anxiety {
        margin-top: 48px;
        padding: 32px 24px 0;
    }
}

.hair-removal-anxiety__copy {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 2.33;
    letter-spacing: 4.8px;
    text-align: center;
    color: #6fc3d3;
}

@media (max-width: 48em) {
    .hair-removal-anxiety__copy {
        font-size: 2rem;
        line-height: 2.4;
        letter-spacing: 4px;
    }
}

.hair-removal-anxiety__copy span {
    position: relative;
}

.hair-removal-anxiety__copy span::before {
    content: "";
    width: 4px;
    height: 4px;
    background-color: #6fc3d3;
    border-radius: 50%;
    position: absolute;
    top: -4px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.hair-removal-anxiety__list {
    margin-top: 40px;
    padding-right: 240px;
    padding-bottom: 64px;
    min-height: 269px;
    position: relative;
}

@media (max-width: 48em) {
    .hair-removal-anxiety__list {
        min-height: 0;
        margin-top: 32px;
        padding-right: 0;
        padding-bottom: 32px;
        z-index: var(--z-underLayer);
    }
}

.hair-removal-anxiety__list::after {
    content: "";
    width: 220px;
    height: 269px;
    background-image: url("../images/hair-removal-mask.webp");
    background-repeat: no-repeat;
    background-size: 220px 269px;
    background-position: right bottom;
    position: absolute;
    bottom: 0;
    right: 0;
}

@media (max-width: 48em) {
    .hair-removal-anxiety__list::after {
        width: 126px;
        height: 120px;
        background-size: 126px 120px;
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 2),
only screen and(min-resolution: 2dppx) {
    .hair-removal-anxiety__list::after {
        background-image: url("../images/hair-removal-mask@2x.webp");
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 2) and(max-width: 48em),
only screen and(min-resolution: 2dppx) and(max-width: 48em) {
    .hair-removal-anxiety__list::after {
        background-image: url("../images/hair-removal-mask-sp@2x.png");
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 3),
only screen and(min-resolution: 3dppx) {
    .hair-removal-anxiety__list::after {
        background-image: url("../images/hair-removal-mask@3x.webp");
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 3) and(max-width: 48em),
only screen and(min-resolution: 3dppx) and(max-width: 48em) {
    .hair-removal-anxiety__list::after {
        background-image: url("../images/hair-removal-mask-sp@3x.png");
    }
}

.hair-removal-anxiety__list.-mens::after {
    content: "";
    width: 258px;
    height: 253px;
    background-image: url("../images/mens-hair-removal-mask.png");
    background-size: 258px 253px;
}

@media (max-width: 48em) {
    .hair-removal-anxiety__list.-mens::after {
        width: 130px;
        height: 117px;
        background-size: 130px 117px;
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 2),
only screen and(min-resolution: 2dppx) {
    .hair-removal-anxiety__list.-mens::after {
        background-image: url("../images/mens-hair-removal-mask@2x.webp");
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 2) and(max-width: 48em),
only screen and(min-resolution: 2dppx) and(max-width: 48em) {
    .hair-removal-anxiety__list.-mens::after {
        background-image: url("../images/mens-hair-removal-mask-sp@2x.webp");
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 3),
only screen and(min-resolution: 3dppx) {
    .hair-removal-anxiety__list.-mens::after {
        background-image: url("../images/mens-hair-removal-mask@3x.webp");
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 3) and(max-width: 48em),
only screen and(min-resolution: 3dppx) and(max-width: 48em) {
    .hair-removal-anxiety__list.-mens::after {
        background-image: url("../images/mens-hair-removal-mask-sp@3x.webp");
    }
}

.hair-removal-anxiety__list li {
    border-bottom: 1px solid #e1e8ed;
    padding-bottom: 8px;
    font-weight: 700;
    font-size: 1.6rem;
    position: relative;
    padding-left: 16px;
}

@media (max-width: 48em) {
    .hair-removal-anxiety__list li {
        font-size: 1.4rem;
        line-height: 1.71;
        z-index: var(--z-bottomLayer);
    }
}

.hair-removal-anxiety__list li::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #6fc3d3;
    position: absolute;
    left: 0;
    top: 16px;
}

@media (max-width: 48em) {
    .hair-removal-anxiety__list li::before {
        top: 8px;
    }
}

.hair-removal-anxiety__list li:not(:first-child) {
    margin-top: 8px;
}

.hair-removal-resolve {
    max-width: 1366px;
    margin-left: auto;
    margin-right: auto;
    background-image: url("../images/hair-removal-top@3x.webp");
    background-size: 800px 480px;
    background-position: -80px 0;
    background-repeat: no-repeat;
    position: relative;
    z-index: var(--z-bottomLayer);
    padding-top: 160px;
    margin-top: -40px;
    min-height: 480px;
}

@media (max-width: 48em) {
    .hair-removal-resolve {
        background-size: 465px 279px;
        background-position: 0 0;
        padding-top: 231px;
        min-height: 279px;
        margin-top: -30px;
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 2),
only screen and(min-resolution: 2dppx) {
    .hair-removal-resolve {
        background-image: url("../images/hair-removal-top@2x.webp");
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 3),
only screen and(min-resolution: 3dppx) {
    .hair-removal-resolve {
        background-image: url("../images/hair-removal-top@3x.webp");
    }
}

.hair-removal-resolve__top {
    width: 50%;
    margin-left: 50%;
    position: relative;
    left: -16px;
}

@media (max-width: 48em) {
    .hair-removal-resolve__top {
        width: 100%;
        margin-left: 0;
        left: 0;
        text-align: center;
    }

    .hair-removal-resolve__top::before {
        content: "";
        padding: 20px 0 0;
        background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#fff));
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
        position: absolute;
        left: -24px;
        top: -47px;
        width: 100vw;
        height: 95px;
        z-index: var(--z-bottomLayer);
    }
}

.hair-removal-resolve__ttl {
    width: fit-content;
    margin: 0 0 0 auto;
}

@media (max-width: 48em) {
    .hair-removal-resolve__ttl {
        margin: 0 auto;
    }
}

.hair-removal-resolve__sub {
    position: relative;
    z-index: var(--z-underLayer);
}

@media (max-width: 48em) {
    .hair-removal-resolve__sub {
        font-size: 1.6rem !important;
    }
}

.hair-removal-resolve__copy {
    margin-top: 24px;
    font-size: 4rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 8px;
    text-align: left;
    color: #fff;
}

@media (max-width: 48em) {
    .hair-removal-resolve__copy {
        margin-top: 16px;
        position: relative;
        z-index: var(--z-underLayer);
        font-size: 2.4rem;
        letter-spacing: 4.8px;
        text-align: center;
    }
}

.hair-removal-resolve__copy>*:not(:first-of-type) {
    margin-top: 24px;
}

@media (max-width: 48em) {
    .hair-removal-resolve__copy>*:not(:first-of-type) {
        margin-top: 8px;
    }
}

.hair-removal-resolve__copy span {
    display: inline-block;
    background-color: #6fc3d3;
    padding: 0 16px;
}

.hair-removal-resolve__text {
    font-size: 4rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
    color: #fff;
}

@media (max-width: 48em) {
    .hair-removal-resolve__text {
        position: relative;
        z-index: var(--z-underLayer);
        font-size: 2.4rem;
        letter-spacing: 4.8px;
    }
}

.hair-removal-resolve__text span {
    display: inline-block;
    background-color: #6fc3d3;
    padding: 0 16px;
}

.hair-removal-resolve__content {
    margin-top: 60px;
    max-width: 1366px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px;
}

@media (max-width: 48em) {
    .hair-removal-resolve__content {
        margin-top: 40px;
    }
}

.hair-removal-resolve__content .l-flexbox.-col-3>* {
    padding: 0 5px;
}

.hair-removal-resolve__item .image {
    max-height: 340px;
    overflow: hidden;
}

@media (max-width: 48em) {
    .hair-removal-resolve__item .image {
        width: 100%;
    }
}

.hair-removal-resolve__item .image img {
    width: 100%;
}

.hair-removal-resolve__item .dec {
    margin-top: 32px;
    padding: 0 20px 0 70px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    color: #6fc3d3;
    background-image: url("../images/icon-check.svg");
    background-size: 32px 32px;
    background-repeat: no-repeat;
    background-position: 20px 0;
}

@media (max-width: 48em) {
    .hair-removal-resolve__item .dec {
        padding: 0 20px 30px 70px;
    }
}

.hair-removal-resolve__item .dec.-noBorder {
    border-left: none;
}

.hair-removal-strength {
    padding: 120px 0 80px;
}

@media (max-width: 48em) {
    .hair-removal-strength {
        padding: 80px 0;
    }
}

.hair-removal-course {
    position: relative;
    padding: 120px 0 60px;
    z-index: var(--z-bottomLayer);
    min-height: 420px;
}

@media (max-width: 48em) {
    .hair-removal-course {
        padding: 80px 0 40px;
    }
}

.hair-removal-course::before {
    content: "";
    width: 100%;
    height: 420px;
    background-color: #6fc3d3;
    position: absolute;
    top: 0;
    left: 0;
    z-index: var(--z-bottomLayer);
}

@media (max-width: 48em) {
    .hair-removal-course::before {
        height: 266px;
    }
}

.hair-removal-course__headline::after {
    background-color: #fff;
}

.hair-removal-course__content {
    margin-top: 48px;
    position: relative;
    z-index: var(--z-middleLayer);
}

@media (max-width: 48em) {
    .hair-removal-course__content {
        margin-top: 32px;
    }
}

.hair-removal-course__item {
    max-width: 343px;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #fff;
    height: 100%;
}

.hair-removal-course__item .image img {
    width: 100%;
}

.hair-removal-course__item .detail {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 40px;
}

@media (max-width: 48em) {
    .hair-removal-course__item .detail {
        padding: 24px 32px;
    }
}

.hair-removal-course__item .detail h3 {
    color: #434b50;
}

.hair-removal-course__item .detail .comment {
    margin-top: 24px;
    color: #434b50;
    text-align: left;
}

.hair-removal-course__item .detail .bottom {
    margin-top: 24px;
    text-align: center;
}

@media (max-width: 48em) {
    .hair-removal-course__item .detail .bottom {
        margin-top: 16px;
    }
}

.hair-removal-course__item:hover,
.hair-removal-course__item:focus {
    opacity: 1;
}

.hair-removal-course__item:hover .icon-arrowRight,
.hair-removal-course__item:focus .icon-arrowRight {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
}

.hair-removal-flow {
    padding: 60px 0;
}

@media (max-width: 48em) {
    .hair-removal-flow {
        padding: 40px 0;
    }
}

.hair-removal-flow__content {
    margin-top: 48px;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #fff;
    padding: 32px 0;
}

@media (max-width: 48em) {
    .hair-removal-flow__content {
        margin-top: 38px;
        padding: 0 24px;
    }
}

.hair-removal-flow__item {
    position: relative;
    padding: 0 32px;
}

@media (max-width: 48em) {
    .hair-removal-flow__item {
        padding: 24px 0;
    }
}

.hair-removal-flow__item:not(:first-of-type) {
    border-left: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .hair-removal-flow__item:not(:first-of-type) {
        border-left: none;
        border-top: 1px solid #e1e8ed;
    }
}

.hair-removal-flow__item:not(:first-of-type)::before {
    content: "";
    width: 33px;
    height: 33px;
    background-color: #fff;
    background-image: url('data:image/svg+xml;utf8, <svg xmlns=";http://www.w3.org/2000/svg" width="9" height="17" viewBox="0 0 9 17"><path d="M150.658, 652.26a.5.5, 0, 0, 1-.354-.146l-8-8a.5.5, 0, 0, 1, .707-.707l7.646, 7.647, 7.646-7.647a.5.5, 0, 0, 1, .707.707l-8, 8A.5.5, 0, 0, 1, 150.658, 652.26Z" transform="translate(-643.26 159.158) rotate(-90)" fill="%23e1e8ed" /></svg>');
    background-size: 32px 16px;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: -16px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media (max-width: 48em) {
    .hair-removal-flow__item:not(:first-of-type)::before {
        top: -16px;
        left: 50%;
        -webkit-transform: translateX(-50%) rotate(90deg);
        transform: translateX(-50%) rotate(90deg);
    }
}

.hair-removal-flow__item .image {
    text-align: center;
    width: 65px;
    height: 65px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 48em) {
    .hair-removal-flow__item .image {
        height: 48px;
        width: 48px;
        margin-left: 0;
        margin-right: 0;
    }
}

.hair-removal-flow__item .image img {
    width: auto;
    height: 100%;
}

.hair-removal-flow__item .number {
    font-family: "Playfair Display", serif;
    font-size: 6.4rem;
    font-weight: 700;
    line-height: 1.06;
    color: #e1e8ed;
}

@media (max-width: 48em) {
    .hair-removal-flow__item .number {
        font-size: 3.2rem;
    }
}

.hair-removal-flow__en {
    color: #6fc3d3;
    font-family: "Playfair Display", serif;
    line-height: 1;
}

.hair-removal-flow__ja {
    margin-top: 8px;
    font-size: 1.2rem;
    font-weight: 700;
}

.hair-removal-compare {
    padding: 60px 0 120px;
}

@media (max-width: 48em) {
    .hair-removal-compare {
        padding: 40px 0 80px;
    }
}

.hair-removal-compare__content {
    width: 100%;
    max-width: 800px;
    margin: 48px auto 0;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #f2f7fa;
}

@media (max-width: 48em) {
    .hair-removal-compare__content {
        margin-top: 32px;
    }
}

.hair-removal-compare__item {
    text-align: center;
    padding: 32px 0;
}

@media (max-width: 48em) {
    .hair-removal-compare__item {
        padding: 16px 0;
        font-size: 1.2rem;
    }
}

.hair-removal-compare__item.-th {
    font-weight: 700;
    padding-left: 32px;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    color: #8e979d;
}

@media (max-width: 48em) {
    .hair-removal-compare__item.-th {
        padding-left: 0;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 106px;
        flex: 1 1 106px;
    }
}

.hair-removal-compare__item.-main {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 300px;
    flex: 1 1 300px;
    border: solid 4px #6fc3d3;
    background-color: #fff;
    padding-top: 28px;
    font-weight: 700;
    -webkit-box-shadow: 0 0 24px 0 rgba(111, 195, 211, 0.3);
    box-shadow: 0 0 24px 0 rgba(111, 195, 211, 0.3);
}

@media (max-width: 48em) {
    .hair-removal-compare__item.-main {
        padding-top: 12px;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 142px;
        flex: 1 1 142px;
    }
}

.hair-removal-compare__item.-main .detail {
    color: #6fc3d3;
}

.hair-removal-compare__item.-other {
    padding-right: 32px;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 300px;
    flex: 1 1 300px;
    color: #434b50;
}

@media (max-width: 48em) {
    .hair-removal-compare__item.-other {
        padding-right: 0;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 142px;
        flex: 1 1 142px;
    }
}

.hair-removal-compare__item .top {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 42px;
    text-align: center;
    min-height: 42px;
    color: #8e979d;
    width: 100%;
}

@media (max-width: 48em) {
    .hair-removal-compare__item .top {
        font-size: 1.6rem;
    }
}

.hair-removal-compare__item .detail {
    padding-top: 32px;
    line-height: 1.43;
    letter-spacing: normal;
    text-align: center;
    width: 100%;
}

@media (max-width: 48em) {
    .hair-removal-compare__item .detail {
        padding-top: 0;
    }
}

.hair-removal-compare__item .detail>* {
    padding: 16px 0;
    width: 100%;
    border-bottom: 1px solid #e1e8ed;
}

.hair-removal-compare__item .detail>*:last-of-type {
    border-bottom: none;
    padding: 0;
}

.hair-removal-compare__item .detail>* span {
    font-size: 1.2rem;
}

@media (max-width: 48em) {
    .hair-removal-compare__item .detail>* span {
        font-size: 1rem;
    }
}

.hair-removal-compare__item .detail .row-3 {
    height: 94px;
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

@media (max-width: 48em) {
    .hair-removal-compare__item .detail .row-3 {
        padding: 16px 0;
        height: 132px;
    }
}

.hair-removal-compare__item .detail .row-2 {
    height: 74px;
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

@media (max-width: 48em) {
    .hair-removal-compare__item .detail .row-2 {
        height: 105px;
    }
}

@media (max-width: 48em) {
    .hair-removal-compare__item .detail .row-2-sp {
        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;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 72px;
    }
}

.price-nav {
    margin: 0 auto;
}

.price-nav a {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    padding-bottom: 16px;
    border-bottom: 2px solid #6fc3d3;
    display: block;
}

@media (max-width: 48em) {
    .price-nav {
        gap: 16px !important;
    }

    .price-nav a {
        font-size: 1.4rem;
    }
}

.price-nav a:hover .icon-arrowDown {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
}

.price-nav li {
    width: 280px;
}

@media (max-width: 48em) {
    .price-nav li {
        width: 100%;
    }
}

.price-section {
    padding: 60px 0;
}

@media (max-width: 48em) {
    .price-section {
        padding: 40px 0;
    }
}

.price-section.-woman {
    margin-top: 60px;
}

@media (max-width: 48em) {
    .price-section.-woman {
        margin-top: 40px;
    }
}

.price-section.-medicine {
    padding-bottom: 120px;
}

.price-content {
    margin-top: 48px;
}

@media (max-width: 48em) {
    .price-content {
        margin-top: 32px;
    }
}

@media (max-width: 48em) {
    .price-table {
        margin-top: 30px;
    }
}

.price-table__th {
    border-top: 1px solid #6fc3d3;
    padding-top: 32px;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    color: #6fc3d3;
    width: 100%;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

@media (max-width: 48em) {
    .price-table__th {
        width: 100%;
        padding-top: 24px;
        font-size: 2rem;
        line-height: 1.5;
    }

    .p-f16 {
        font-size: 12px !important;
    }
}

.price-table__td {
    font-size: 1.6rem;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}

@media (max-width: 48em) {
    .price-table__td {
        font-size: 1.4rem;
        width: 100%;
    }
}

.price-table__td .detail {
    border-bottom: 1px solid #e1e8ed;
    padding: 24px 0;
}

.price-table__td .name {
    line-height: 1.71;
}

@media (max-width: 48em) {
    .price-table__td .name {
        max-width: 226px;
    }
}

.price-table__td .cost {
    line-height: 1.71;
    text-align: right;
}

@media (max-width: 48em) {
    .price-table__td .cost {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    }
}


/* 美容外科タイトル折り返し制御*/

@media (min-width: 880px) {
    .title-sp {
        display: none;
    }
}

.staff__name {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 40px;
    text-align: left;
    color: #fff;
    display: inline-block;
    padding: 0 16px;
    background-color: #6fc3d3;
    height: 40px;
}

@media (max-width: 48em) {
    .staff__name {
        font-size: 2rem;
        line-height: 36px;
        height: 36px;
    }
}

.staff__role {
    background-color: #fff;
    font-size: 1.2rem;
    display: inline-block;
    padding: 0 16px;
    line-height: 36px;
    height: 36px;
}

.staff__copy {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: normal;
    text-align: left;
    color: #6fc3d3;
    margin-top: 32px;
}

.staff__copy+* {
    margin-top: 16px !important;
}

.staff__comment {
    line-height: 2.29;
    margin-top: 24px;
}

.staff .staff-lh {
    line-height: 1;
}

.staff__image {
    text-align: center;
    z-index: var(--z-bottomLayer);
    position: relative;
    height: 260px;
    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;
}

@media (max-width: 48em) {
    .staff__image {
        height: 340px;
    }
}

.staff__image::before {
    content: "";
    width: 160px;
    height: 160px;
    background-size: 160px 160px;
    background-repeat: no-repeat;
    background-image: url("../images/staff-bg.svg");
    position: absolute;
    top: 20px;
    right: 0;
    z-index: var(--z-bottomLayer);
}

.staff__image img {
    position: relative;
    z-index: var(--z-underLayer);
}

@media (max-width: 48em) {
    .staff__image img {
        width: 200px;
    }
}

.staff__profile {
    position: relative;
    z-index: var(--z-underLayer);
    margin-top: -40px;
}

@media (max-width: 48em) {
    .staff__profile {
        margin-top: -36px;
    }
}

.staff__item {
    width: calc((100% - 60px) / 3);
}

@media (max-width: 48em) {
    .staff__item {
        width: 100%;
    }
}

.staff-content {
    margin-top: 48px;
}

@media (max-width: 48em) {
    .staff-content {
        margin-top: 32px;
    }
}

.staff-content>* {
    gap: 63px 30px;
}

@media (max-width: 48em) {
    .staff-content>* {
        gap: 48px;
    }
}

.doctor {
    margin-top: 48px;
}

@media (max-width: 48em) {
    .doctor {
        margin-top: 32px;
    }
}

.doctor__profile {
    max-width: 400px;
    position: relative;
    z-index: var(--z-underLayer);
}

@media (max-width: 48em) {
    .doctor__profile {
        max-width: 100%;
        /* margin-top: -70px; */
    }
}

.doctor__image {
    position: relative;
    z-index: var(--z-bottomLayer);
}

@media (max-width: 48em) {
    .doctor__image {
        width: 200px;
        margin-left: auto;
        margin-right: auto;
    }
}

.doctor__image::before {
    content: "";
    width: 516px;
    height: 403px;
    background-size: 516px 403px;
    background-repeat: no-repeat;
    background-image: url("../images/doctor-bg.svg");
    position: absolute;
    top: 16px;
    left: -90px;
    z-index: var(--z-bottomLayer);
}

.doctor__image img {
    position: relative;
    z-index: var(--z-underLayer);
}

.doctor__more {
    margin-top: 32px;
}

@media (max-width: 48em) {
    .doctor__more {
        margin-top: 32px;
        text-align: center;
    }
}

.nure {
    padding: 120px 0;
}

@media (max-width: 48em) {
    .nure {
        padding: 80px 0;
    }
}

.counselor {
    padding-bottom: 120px;
}

@media (max-width: 48em) {
    .counselor {
        padding-bottom: 80px;
    }
}

.profile {
    margin-top: 48px;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #fff;
    padding: 48px;
}

@media (max-width: 48em) {
    .profile {
        padding: 32px 24px;
    }
}

.profile__body {
    border-bottom: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .profile__body {
        padding-bottom: 32px;
    }
}

.profile__content {
    position: relative;
    z-index: var(--z-underLayer);
}

@media (max-width: 48em) {
    .profile__content {
        margin-top: 32px;
    }
}

.profile__role {
    color: #6fc3d3;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 2;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.profile__name {
    margin-top: 16px;
    color: #6fc3d3;
    display: none;
    /*1/12院長名を一時的にコメントアウト*/
}

.profile__comment {
    margin-top: 32px;
}

@media (max-width: 48em) {
    .profile__comment {
        margin-top: 24px;
    }
}

.profile__image {
    text-align: center;
    position: relative;
    z-index: var(--z-bottomLayer);
    margin-top: -80px;
}

@media (max-width: 48em) {
    .profile__image {
        width: 200px;
        margin-left: auto;
        margin-right: auto;
        margin-top: -64px;
    }
}

.profile__image::before {
    content: "";
    width: 516px;
    height: 403px;
    background-size: 516px 403px;
    background-repeat: no-repeat;
    background-image: url("../images/doctor-bg.svg");
    position: absolute;
    top: 16px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: var(--z-bottomLayer);
}

.profile__image img {
    /* position: relative; */
    /*20240112一時的にコメントアウト→解除予定*/
    z-index: var(--z-underLayer);
    margin: 40px;
    /*20240112一時的に実装→画像設定時に削除予定*/
}

.profile__bottom {
    padding-top: 48px;
    display: none;
}

@media (max-width: 48em) {
    .profile__bottom {
        padding-top: 32px;
    }
}

.profile__item {
    width: calc((100% - 96px) / 3);
}

@media (max-width: 48em) {
    .profile__item {
        width: 100%;
    }
}

.profile__item h2 {
    padding: 10px 16px;
    border-radius: 2px;
    background-color: #f2f7fa;
    font-weight: 700;
    text-align: left;
}

.profile__item h2+* {
    margin-top: 16px;
    font-size: 1.2rem;
    line-height: 2;
}

.profile__item table {
    width: 100%;
}

.profile__item table th {
    background-color: transparent;
    font-weight: 400;
    width: 80px;
    padding: 0;
}

.profile__item table td {
    padding: 0;
}

.profile__item table th,
.profile__item table td {
    border: none;
}

.clinic {
    padding: 120px 0;
}

@media (max-width: 48em) {
    .clinic {
        padding: 80px 0;
    }
}

.clinic__item {
    margin-top: 48px;
}

@media (max-width: 48em) {
    .clinic__item {
        margin-top: 32px;
    }

    .clinic__item:not(:first-of-type) {
        margin-top: 48px;
    }
}

.clinic__item .image {
    max-width: 400px;
}

.clinic__item .content {
    width: calc(100% - 448px);
}

@media (max-width: 48em) {
    .clinic__item .content {
        width: 100%;
        margin-top: 24px;
    }
}

.clinic__item .outline {
    margin-top: 32px;
}

@media (max-width: 48em) {
    .clinic__item .outline {
        margin-top: 24px;
    }
}

.clinic__item table th {
    width: 120px;
}

iframe.clinic__map {
    width: 100%;
    margin-top: 80px;
}

@media (max-width: 48em) {
    iframe.clinic__map {
        height: 200px;
    }
}

.faq-section {
    padding: 60px 0;
}

@media (max-width: 48em) {
    .faq-section {
        padding: 40px 0;
    }
}

.faq-section.-last {
    padding-bottom: 120px;
}

@media (max-width: 48em) {
    .faq-section.-last {
        padding-bottom: 80px;
    }
}

.faq-body {
    margin-top: 60px;
}

@media (max-width: 48em) {
    .faq-body {
        margin-top: 40px;
    }
}

.faq-content {
    margin-top: 48px;
}

@media (max-width: 48em) {
    .faq-content {
        margin-top: 32px;
    }
}

.faq-item {
    padding: 16px 24px;
    background-color: #fff;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
}

@media (max-width: 48em) {
    .faq-item {
        padding: 16px;
    }
}

.faq-item:not(:first-of-type) {
    margin-top: 24px;
}

.faq-item .question {
    font-weight: 700;
    color: #6fc3d3;
    position: relative;
    padding-left: 26px;
    padding-right: 48px;
    cursor: pointer;
    min-height: 32px;
}

.faq-item .question::before {
    content: "Q";
    position: absolute;
    left: 0;
    top: 0;
}

.faq-item .question::after {
    content: "";
    width: 32px;
    height: 32px;
    background-image: url("../images/icon-plus.svg");
    background-repeat: no-repeat;
    background-size: 32px 32px;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
}

.faq-item .question.is-show::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.faq-item .answer {
    position: relative;
    padding-left: 26px;
    display: none;
    margin-top: 24px;
}

.faq-item .answer::before {
    content: "A";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
}

.case {
    padding-bottom: 120px;
}

@media (max-width: 48em) {
    .case {
        padding-bottom: 80px;
    }
}

.case__body {
    gap: 64px 30px;
}

@media (max-width: 48em) {
    .case__body {
        gap: 48px;
    }
}

.case__item {
    width: calc((100% - 60px) / 3);
}

@media (max-width: 48em) {
    .case__item {
        width: 100%;
    }
}

.case__content {
    margin-top: 24px;
}

.case__content .date {
    color: #8e979d;
    line-height: 1;
}

@media (max-width: 48em) {
    .case__content .date {
        font-size: 1.2rem;
    }
}

.case__content .title {
    margin-top: 16px;
}

.case__content .dec {
    margin-top: 20px;
    font-size: 12px;
    line-height: 2;
    letter-spacing: normal;
    text-align: left;
    color: #8e979d;
}

@media (max-width: 48em) {
    .case__content .dec {
        margin-top: 16px;
    }
}

.specified {
    padding-bottom: 120px;
}

@media (max-width: 48em) {
    .specified {
        padding-bottom: 80px;
    }
}

.specified__content {
    margin-top: 64px;
}

@media (max-width: 48em) {
    .specified__content {
        margin-top: 48px;
    }
}

.specified__headline {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.7;
}

@media (max-width: 48em) {
    .specified__headline {
        font-size: 2rem;
    }
}

.specified__headline::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    margin-top: 24px;
    background-color: #434b50;
}

.specified__headline+* {
    margin-top: 24px;
}

.specified__table table {
    width: 100%;
    background-color: #fff;
    line-height: 1.71;
}

.specified__table th {
    background-color: #f2f7fa;
    width: 210px;
    padding: 14px 16px;
    border: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .specified__table th {
        width: 104px;
    }
}

.specified__table td {
    border: 1px solid #e1e8ed;
    padding: 14px 16px;
}

.privacy {
    padding-bottom: 120px;
}

@media (max-width: 48em) {
    .privacy {
        padding-bottom: 80px;
    }
}

.privacy__content {
    margin-top: 48px;
}

.privacy__content h2 {
    padding: 10px 16px;
    border-radius: 2px;
    background-color: #f2f7fa;
    font-weight: 700;
}

.privacy__content h2+* {
    margin-top: 16px;
}

.privacy__content p {
    line-height: 2.29;
}

.privacy__content p:not(:first-of-type) {
    margin-top: 40px;
}

.news-content {
    padding-bottom: 120px;
}

@media (max-width: 48em) {
    .news-content {
        padding-bottom: 80px;
    }
}

.news-title__meta {
    color: #8e979d;
    line-height: 20px;
}

.news-title__meta+* {
    margin-top: 24px;
}

.news-title h1 {
    line-height: 1.67;
}

.news-content {
    padding-top: 48px;
}

@media (max-width: 48em) {
    .news-content {
        padding-top: 24px;
    }
}

.news-content .bottom {
    text-align: center;
    margin-top: 64px;
}

@media (max-width: 48em) {
    .news-content .bottom {
        margin-top: 48px;
    }
}

@media (max-width: 48em) {
    .edit-content .icatch {
        margin-left: -24px;
        margin-right: -24px;
    }
}

.edit-content .icatch+* {
    margin-top: 64px;
}

@media (max-width: 48em) {
    .edit-content .icatch+* {
        margin-top: 32px;
    }
}

.edit-content h2 {
    font-size: 2.4rem;
    line-height: 1.7;
}

@media (max-width: 48em) {
    .edit-content h2 {
        font-size: 2rem;
    }
}

.edit-content h2::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    margin-top: 24px;
    background-color: #434b50;
}

.edit-content h2+* {
    margin-top: 24px;
}

.edit-content p+p {
    margin-top: 40px;
}

.edit-content h3 {
    padding: 10px 16px;
    border-radius: 2px;
    background-color: #f2f7fa;
    font-weight: 700;
    margin-top: 48px;
}

.edit-content h3+* {
    margin-top: 16px;
}

.edit-content ul li {
    position: relative;
    padding-left: 20px;
    line-height: 2.29;
}

.edit-content ul li:not(:first-child) {
    margin-top: 24px;
}

.edit-content ul li::before {
    content: "";
    width: 10px;
    height: 10px;
    background-color: #6fc3d3;
    position: absolute;
    left: 0;
    top: 12px;
}

.edit-content .table-wrap {
    margin-top: 48px;
    width: 100%;
    overflow-x: scroll;
}

@media (max-width: 48em) {
    .edit-content .table-wrap {
        margin-top: 32px;
    }
}

.edit-content .iframe-wrap {
    position: relative;
    padding-top: 56.25%;
    margin-top: 48px;
}

@media (max-width: 48em) {
    .edit-content .iframe-wrap {
        margin-top: 32px;
    }
}

.edit-content .iframe-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.edit-content table {
    background-color: #fff;
    line-height: 1.71;
}

.edit-content th {
    background-color: #f2f7fa;
    width: 33%;
    padding: 14px 16px;
    border: 1px solid #e1e8ed;
    vertical-align: middle;
}


/* @media(max-width: 48em) {
  .edit-content th {
    min-width: 260px
  }
} */

.edit-content td {
    border: 1px solid #e1e8ed;
    padding: 14px 16px;
    vertical-align: middle;
}

.column {
    padding-bottom: 120px;
}

@media (max-width: 48em) {
    .column {
        padding-bottom: 80px;
    }
}

.column .column-content {
    gap: 30px;
}

@media (max-width: 48em) {
    .column .column-content {
        gap: 24px;
    }
}

.column__item {
    width: calc((100% - 60px) / 3);
    height: 355px;
    overflow: hidden;
    border-radius: 2px;
    position: relative;
}

@media (max-width: 48em) {
    .column__item {
        width: 100%;
        height: 342px;
    }
}

.column__item::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 178px;
    border-radius: 2px;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(111, 195, 211, 0)), to(#6fc3d3));
    background-image: linear-gradient(to bottom, rgba(111, 195, 211, 0), #6fc3d3);
    z-index: var(--z-underLayer);
}

.column__item:hover .icon-arrowRight,
.column__item:focus .icon-arrowRight {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
}

.column__image {
    position: relative;
    z-index: var(--z-bottomLayer);
    height: 355px;
}

@media (max-width: 48em) {
    .column__image {
        height: 342px;
    }
}

.column__image img {
    height: 355px;
    width: 100%;
    max-width: none;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
}

@media (max-width: 48em) {
    .column__image img {
        height: 342px;
    }
}

.column__content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: var(--z-middleLayer);
    padding: 0 32px 32px;
}

@media (max-width: 48em) {
    .column__content {
        padding: 0 24px 24px;
    }
}

.column__date {
    color: #fff;
}

.column__title {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    text-align: left;
    color: #fff;
    padding-right: 48px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.column__btn {
    position: absolute;
    bottom: 32px;
    right: 32px;
}

@media (max-width: 48em) {
    .column__btn {
        bottom: 24px;
        right: 24px;
    }
}

.column-content {
    padding-bottom: 120px;
}

@media (max-width: 48em) {
    .column-content {
        padding-bottom: 80px;
    }
}

.column-article {
    width: 800px;
    max-width: 100%;
}

.column-article .news-content {
    padding-bottom: 0;
    counter-reset: counter_H2;
}

.column-article .news-content h2 {
    margin-top: 64px;
    counter-reset: counter_H3;
}

@media (max-width: 48em) {
    .column-article .news-content h2 {
        margin-top: 48px;
    }
}

.column-article .news-content h2+* {
    margin-top: 48px;
}

@media (max-width: 48em) {
    .column-article .news-content h2+* {
        margin-top: 32px;
    }
}

.column-article .news-content h2::before {
    content: counter(counter_H2) "．";
    counter-increment: counter_H2;
}

.column-article .news-content .wp-block-image+* {
    margin-top: 48px;
}

@media (max-width: 48em) {
    .column-article .news-content .wp-block-image+* {
        margin-top: 32px;
    }
}

.column-article .news-content h3 {
    margin-top: 48px;
    counter-reset: counter_H4;
}

.column-article .news-content h3+* {
    margin-top: 24px;
}

.column-article .news-content h3::before {
    content: counter(counter_H2) "-" counter(counter_H3) "．";
    counter-increment: counter_H3;
}

.column-article .news-content h4 {
    margin-top: 48px;
    font-weight: bold;
    line-height: 1.7;
    text-align: left;
    color: #434b50;
    position: relative;
    padding-left: 16px;
    border-left: 2px solid #6fc3d3;
}

.column-article .news-content h4::before {
    content: counter(counter_H2) "-" counter(counter_H3) "-" counter(counter_H4) "．";
    counter-increment: counter_H4;
}

.column-article .news-content h4::after {
    content: "";
    width: calc(100% - 16px);
    height: 1px;
    position: absolute;
    right: 0;
    bottom: -12px;
    background-color: #e1e8ed;
    border-radius: 0.5px;
}

.column-article .news-content h4+* {
    margin-top: 37px;
}

.column-article ul {
    padding: 24px;
    border-radius: 2px;
    border: solid 1px #6fc3d3;
    background-color: #f4fdff;
    margin-top: 32px;
}

.column-article ul+* {
    margin-top: 32px;
}

.column-article ul li {
    padding-left: 18px;
    line-height: 1.7;
}

.column-article ul li:not(:first-child) {
    margin-top: 16px;
}

.column-article ul li::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #6fc3d3;
    position: absolute;
    left: 0;
    top: 8px;
}

.column-article ul ul {
    padding: 16px 0 0 8px;
    border-radius: 0;
    border: none;
    background-color: transparent;
    margin-top: 0;
}

.column-article ul ul li::before {
    background-color: #8e979d;
}

.column-article ul ol {
    padding: 16px 0 0 8px;
    border-radius: 0;
    border: none;
    background-color: transparent;
    margin-top: 0;
}

.column-article ol {
    padding: 24px;
    border-radius: 2px;
    border: solid 1px #6fc3d3;
    background-color: #f4fdff;
    margin-top: 32px;
    counter-reset: count 0;
}

.column-article ol+* {
    margin-top: 32px;
}

.column-article ol li {
    line-height: 1.7;
    padding-left: 18px;
    position: relative;
}

.column-article ol li:not(:first-child) {
    margin-top: 16px;
}

.column-article ol li::before {
    counter-increment: count 1;
    content: counters(count, "-") ". ";
    display: inline-block;
    white-space: nowrap;
    min-width: 22px;
    position: absolute;
    left: 0;
    top: 0;
}

.column-article ol li ol {
    width: 100%;
}

.column-article ol li ol li {
    padding-left: 34px;
}

.column-article ol li ol li::before {
    min-width: 34px;
}

.column-article ol li ol li ol li {
    padding-left: 47px;
}

.column-article ol li ol li ol li::before {
    min-width: 47px;
}

.column-article ol ol {
    padding: 16px 0 0;
    border-radius: 0;
    border: none;
    background-color: transparent;
    margin-top: 0;
}

.column-article ol ul {
    padding: 16px 0 0 8px;
    border-radius: 0;
    border: none;
    background-color: transparent;
    margin-top: 0;
}

.column-side {
    width: calc(100% - 868px);
    border-top: 1px solid #6fc3d3;
    padding-top: 24px;
    margin-top: 80px;
}

@media (max-width: 48em) {
    .column-side {
        width: 100%;
        margin-top: 0;
    }
}

.column-side h2 {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    color: #6fc3d3;
    text-align: center;
}

.column-side h2+* {
    margin-top: 24px;
}

.column-side a {
    display: block;
}

.column-side a:not(:first-of-type) {
    margin-top: 24px;
}

.column-side a .icatch {
    width: 80px;
}

.column-side a .detail {
    width: calc(100% - 96px);
}

.column-side a .date {
    font-size: 1.2rem;
    color: #8e979d;
    line-height: 1;
}

.column-side a .title {
    margin-top: 8px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.67;
    text-align: left;
    color: #434b50;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ez-toc-container-direction {
    padding: 16px 24px;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #fff;
    margin-top: 48px;
}

.ez-toc-container-direction .ez-toc-title-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.ez-toc-container-direction .ez-toc-title {
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 2.29;
    letter-spacing: normal;
    text-align: left;
    color: #6fc3d3;
}

.ez-toc-container-direction .ez-toc-title-toggle a.ez-toc-toggle {
    width: 32px;
    height: 32px;
    display: block;
    position: relative;
}

.ez-toc-container-direction .ez-toc-title-toggle a.ez-toc-toggle::before {
    content: "";
    width: 2px;
    height: 100%;
    border-radius: 2px;
    background-color: #6fc3d3;
    position: absolute;
    left: 50%;
    top: 0;
    margin-left: -1px;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
}

.ez-toc-container-direction .ez-toc-title-toggle a.ez-toc-toggle::after {
    content: "";
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background-color: #6fc3d3;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -1px;
    -webkit-transform: rotate(0);
    transform: rotate(0);
}

.ez-toc-container-direction .ez-toc-title-toggle label {
    display: none;
}

.ez-toc-container-direction .ez-toc-title-toggle input {
    display: none;
}

.ez-toc-container-direction ul {
    padding: 0;
    border-radius: 0;
    border: none;
    background-color: transparent;
    margin-top: 24px;
    counter-reset: count 0;
}

.ez-toc-container-direction ul>li {
    padding-left: 0;
    border-bottom: 1px solid #e1e8ed;
    padding-bottom: 8px;
}

.ez-toc-container-direction ul>li:not(:first-child) {
    margin-top: 8px;
}

.ez-toc-container-direction ul>li::before {
    counter-increment: count 1;
    content: counters(count, "-") ". ";
    display: inline-block;
    white-space: nowrap;
    color: #434b50;
    font-weight: normal;
    width: auto;
    height: auto;
    background-color: transparent !important;
}

.ez-toc-container-direction ul ul {
    padding: 0;
}

.ez-toc-container-direction ul ul li {
    border-bottom: none;
    border-top: 1px solid #e1e8ed;
    padding: 0;
}

.ez-toc-container-direction ul a {
    font-weight: bold;
    display: inline-block;
    line-height: 1.71;
}

.ez-toc-container-direction ul a:hover {
    text-decoration: underline;
}

.ez-toc-container-direction .ez-toc-heading-level-2::before {
    width: 22px;
    left: 0;
    top: 0;
}

.ez-toc-container-direction .ez-toc-heading-level-2 a {
    padding-left: 22px;
}

.ez-toc-container-direction .ez-toc-list-level-3 {
    margin-top: 8px;
}

.ez-toc-container-direction .ez-toc-list-level-3 .ez-toc-heading-level-3 {
    padding-top: 8px;
}

.ez-toc-container-direction .ez-toc-list-level-3 .ez-toc-heading-level-3::before {
    width: 34px;
    left: 32px;
}

.ez-toc-container-direction .ez-toc-list-level-3 .ez-toc-heading-level-3 a {
    padding-left: 66px;
}

.ez-toc-container-direction .ez-toc-list-level-4 {
    margin-top: 8px;
}

.ez-toc-container-direction .ez-toc-list-level-4 .ez-toc-heading-level-4 {
    padding-top: 8px;
}

.ez-toc-container-direction .ez-toc-list-level-4 .ez-toc-heading-level-4::before {
    width: 47px;
    left: 64px;
}

.ez-toc-container-direction .ez-toc-list-level-4 .ez-toc-heading-level-4 a {
    padding-left: 111px;
}

.ez-toc-container-direction.toc_close .ez-toc-title-toggle a.ez-toc-toggle::before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
}

.autherInfo {
    margin-top: 48px;
    background-repeat: no-repeat;
    background-position: center 0;
    background-size: 10px 50px;
}

.autherInfo__content {
    position: relative;
    padding: 24px;
    border-radius: 2px;
    border: solid 2px #6fc3d3;
    background-color: #fff;
}

@media (max-width: 48em) {
    .autherInfo__content {
        padding: 24px 16px 16px;
    }
}

.autherInfo__head {
    position: absolute;
    left: -2px;
    top: -2px;
    line-height: 32px;
    padding: 0 12px;
    border-radius: 2px;
    background-color: #6fc3d3;
    color: #fff;
    font-weight: bold;
}

.autherInfo__profile {
    min-width: 268px;
    border-right: 1px solid #e1e8ed;
    padding-right: 24px;
    text-align: center;
}

@media (max-width: 48em) {
    .autherInfo__profile {
        border-right: none;
        border-bottom: 1px solid #e1e8ed;
        padding-right: 0;
        padding-bottom: 16px;
        min-width: 100%;
    }
}

.autherInfo__profile .image {
    width: 70px;
    height: 70px;
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
}

.autherInfo__profile .image img {
    border-radius: 100px;
}

.autherInfo__profile .name {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-weight: 500;
    line-height: 2.86;
    color: #6fc3d3;
}

.autherInfo__profile .role {
    font-size: 1.2rem;
    line-height: 2;
    color: #8e979d;
}

.autherInfo__message {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    max-width: 452px;
    font-size: 1.2rem;
    line-height: 2;
}

@media (max-width: 48em) {
    .autherInfo__message {
        max-width: 100%;
        width: 100%;
    }
}

.ez-toc-section {
    padding-top: 140px;
    margin-top: -140px;
}

@media (max-width: 66.25em) {
    .ez-toc-section {
        padding-top: 70px;
        margin-top: -70px;
    }
}

.treatment {
    padding-bottom: 120px;
}

@media (max-width: 48em) {
    .treatment {
        padding-bottom: 80px;
    }
}

.treatment-medicine {
    margin-top: 48px;
    border-bottom: 1px solid #e1e8ed;
    padding-bottom: 80px;
}

@media (max-width: 48em) {
    .treatment-medicine {
        padding-bottom: 64px;
    }
}

.treatment-medicine__item .image {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}

.treatment-medicine__item .content {
    width: 450px;
    max-width: 100%;
    height: 360px;
    background-color: #fff;
}

@media (max-width: 48em) {
    .treatment-medicine__item .content {
        padding: 48px 0;
        height: auto;
    }
}

.treatment-medicine__item .content h3+* {
    margin-top: 24px;
}

.treatment-medicine__copy {
    margin-top: 64px;
}

.treatment-medicine__more {
    margin-top: 32px;
}

.treatment-contact {
    margin-top: 80px;
}

@media (max-width: 48em) {
    .treatment-contact {
        margin-top: 64px;
    }
}

.treatment-contact__copy {
    height: 226px;
    width: 375px;
    background-color: #6fc3d3;
    position: relative;
    padding: 0 42px 0 56px;
    border-radius: 2px 0 0 2px;
}

@media (max-width: 48em) {
    .treatment-contact__copy {
        height: auto;
        padding: 32px 0;
        width: 100%;
        border-radius: 2px 2px 0 0;
        text-align: center;
    }
}

.treatment-contact__copy .badge {
    position: absolute;
    left: -24px;
    top: -24px;
    width: 88px;
    height: 88px;
}

@media (max-width: 48em) {
    .treatment-contact__copy .badge {
        width: 72px;
        height: 72px;
        left: -16px;
        top: -16px;
    }
}

.treatment-contact__content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    border-radius: 0 2px 2px 0;
    border: 4px solid #6fc3d3;
    height: 226px;
}

@media (max-width: 48em) {
    .treatment-contact__content {
        border-radius: 0 2px 2px 0;
        height: auto;
    }
}

.treatment-contact__content .inner {
    height: 100%;
    text-align: center;
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 0 40px;
}

@media (max-width: 48em) {
    .treatment-contact__content .inner {
        height: auto;
        padding: 32px 0;
    }
}

.treatment-contact__content .inner.online::after {
    content: "";
    width: 1px;
    height: 130px;
    background-color: #e1e8ed;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media (max-width: 48em) {
    .treatment-contact__content .inner.online::after {
        width: calc(100% - 24px);
        height: 1px;
        right: 12px;
        top: inherit;
        bottom: 0;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

.treatment-contact__content .copy {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 2;
    text-align: center;
}

.treatment-contact__content .number {
    color: #434b50;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1;
    position: relative;
    padding-left: 30px;
}

.treatment-contact__content .number::before {
    content: "";
    width: 12px;
    height: 16px;
    background-image: url('data:image/svg+xml;utf8, <svg xmlns=";http://www.w3.org/2000/svg" width="12.268" height="16" viewBox="0 0 12.268 16"><path d="M60.809.677c-1.1.713-1.315, 2.942-.9, 4.758a16.407, 16.407, 0, 0, 0, 2.169, 5.1, 17.039, 17.039, 0, 0, 0, 3.771, 4.06c1.489, 1.12, 3.612, 1.831, 4.712, 1.118a5.567, 5.567, 0, 0, 0, 1.419-1.522l-.591-.911-1.624-2.5c-.121-.186-.878-.016-1.262.2a3.661, 3.661, 0, 0, 0-1, 1.082c-.356.205-.654, 0-1.276-.286a7.579, 7.579, 0, 0, 1-2.309-2.436, 7.578, 7.578, 0, 0, 1-1.282-3.1c-.008-.685-.073-1.04.26-1.281a3.661, 3.661, 0, 0, 0, 1.395-.468c.356-.262.82-.884.7-1.07L63.368.913, 62.778, 0A5.568, 5.568, 0, 0, 0, 60.809.677Z" transform="translate(-59.712 0.001)" fill="%23434b50"/></svg>');
    background-size: 12px 16px;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.treatment-contact__content .bottom {
    margin-top: 24px;
    height: 64px;
}

@media (max-width: 48em) {
    .treatment-contact__content .bottom {
        height: auto;
    }
}

.dosage__body {
    margin-top: 80px;
}

@media (max-width: 48em) {
    .dosage__body {
        margin-top: 48px;
    }
}

.dosage__copy+* {
    margin-top: 52px;
}

@media (max-width: 48em) {
    .dosage__copy+* {
        margin-top: 38px;
    }
}

.dosage__item {
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    overflow: hidden;
}

.dosage__itemCopy {
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.5;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

@media (max-width: 48em) {
    .dosage__itemCopy {
        font-size: 2.4rem;
    }
}

.dosage__itemCopy+* {
    margin-top: 48px;
}

@media (max-width: 48em) {
    .dosage__itemCopy+* {
        margin-top: 24px;
    }
}

.dosage__itemTop {
    background-color: #fff;
    padding: 48px;
}

@media (max-width: 48em) {
    .dosage__itemTop {
        padding: 32px 24px;
    }
}

.dosage__itemTop .content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}

.dosage__itemTop .content .dec {
    margin-top: 32px;
    font-weight: 700;
    font-size: 1.6rem;
}

@media (max-width: 48em) {
    .dosage__itemTop .content .dec {
        margin-top: 16px;
        font-size: 1.4rem;
        line-height: 1.71;
    }
}

.dosage__itemTop .content .list {
    margin-top: 32px;
}

@media (max-width: 48em) {
    .dosage__itemTop .content .list {
        margin-top: 16px;
    }
}

.dosage__itemTop .content .list li {
    border-bottom: 1px solid #e1e8ed;
    padding-bottom: 8px;
    font-weight: 700;
    font-size: 1.6rem;
    position: relative;
    padding-left: 16px;
}

@media (max-width: 48em) {
    .dosage__itemTop .content .list li {
        font-size: 1.4rem;
        line-height: 1.71;
        z-index: var(--z-bottomLayer);
    }
}

.dosage__itemTop .content .list li::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #6fc3d3;
    position: absolute;
    left: 0;
    top: 16px;
}

@media (max-width: 48em) {
    .dosage__itemTop .content .list li::before {
        top: 8px;
    }
}

.dosage__itemTop .content .list li:not(:first-child) {
    margin-top: 8px;
}

.dosage__itemTop .image {
    width: 311px;
}

@media (max-width: 48em) {
    .dosage__itemTop .image {
        width: 100px;
    }
}

.dosage__itemContent {
    background-color: #6fc3d3;
    padding: 48px;
    color: #fff;
}

@media (max-width: 48em) {
    .dosage__itemContent {
        padding: 32px 24px;
    }
}

.dosage__itemContent .arrow+* {
    margin-top: 48px;
}

@media (max-width: 48em) {
    .dosage__itemContent .arrow+* {
        margin-top: 32px;
    }
}

.dosage__itemContent .inner {
    margin-top: 48px;
    padding-bottom: 48px;
    border-bottom: 1px solid #fff;
}

@media (max-width: 48em) {
    .dosage__itemContent .inner {
        margin-top: 32px;
    }
}

.dosage__itemContent .bottom {
    padding-top: 48px;
}

.dosage__itemContent .item:not(:first-of-type) {
    margin-top: 32px;
}

.dosage__itemContent .item .image {
    width: 491px;
}

@media (max-width: 48em) {
    .dosage__itemContent .item .image {
        width: 100%;
    }
}

.dosage__itemContent .item .detail {
    width: calc(100% - 491px - 48px);
}

@media (max-width: 48em) {
    .dosage__itemContent .item .detail {
        width: 100%;
    }
}

.dosage__itemContent .detail .dec {
    margin-top: 32px;
    line-height: 2.29;
}

@media (max-width: 48em) {
    .dosage__itemContent .detail .dec {
        margin-top: 16px;
    }
}

.dosage__feature {
    margin-top: 32px;
}

.dosage__feature .no {
    font-size: 6.4rem;
    font-weight: 700;
    line-height: 1.06;
    font-family: "Playfair Display", serif;
}

@media (max-width: 48em) {
    .dosage__feature .no {
        font-size: 3.2rem;
    }
}

.dosage__feature .no+* {
    margin-top: 16px;
}

.dosage__feature .comment {
    margin-top: 24px;
}

@media (max-width: 48em) {
    .dosage__feature .comment {
        margin-top: 16px;
    }
}

.dosage__featureItem {
    width: calc((100% - 98px) / 3);
}

@media (max-width: 48em) {
    .dosage__featureItem {
        width: 100%;
    }
}

.dosage__content:not(:first-of-type) {
    margin-top: 136px;
}

@media (max-width: 48em) {
    .dosage__content:not(:first-of-type) {
        margin-top: 64px;
    }
}

.treatment-delivery {
    margin-top: 64px;
    padding: 48px;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #fff;
}

@media (max-width: 48em) {
    .treatment-delivery {
        margin-top: 48px;
        padding: 32px 24px;
    }
}

.treatment-delivery__copy+* {
    margin-top: 32px;
    line-height: 2.29;
}

@media (max-width: 48em) {
    .treatment-delivery__copy+* {
        margin-top: 24px;
    }
}

.notfound {
    padding-bottom: 120px;
}

@media (max-width: 48em) {
    .notfound {
        padding-bottom: 80px;
    }
}

.notfound__headline {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.7;
    margin-top: 60px;
    text-align: center;
}

@media (max-width: 48em) {
    .notfound__headline {
        font-size: 2rem;
        margin-top: 30px;
    }
}

.notfound__headline+* {
    margin-top: 24px;
}

.notfound__message {
    text-align: center;
}

.notfound__back {
    margin-top: 40px;
}

.align-center {
    text-align: center;
}

.align-left {
    text-align: left;
}

.align-right {
    text-align: right;
}

@media (max-width: 48em) {
    .-xs\:align-center {
        text-align: center;
    }
}

.typo-pageTitle {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 3.2px;
}

@media (max-width: 48em) {
    .typo-pageTitle {
        font-size: 1.2rem;
        letter-spacing: 2.4px;
    }
}


/* campaign */

.typo-pageTitleEn {
    display: inline-block;
    width: 756px;
    height: 213px;
    background: url(/wp/wp-content/themes/asteria-clinic/images/campaign_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn {
        display: inline-block;
        width: 300px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/campaign_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn {
        display: inline-block;
        width: 250px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/campaign_bg_sp.svg) no-repeat center / contain;
    }
}


/* service */

.typo-pageTitleEn-sv {
    display: inline-block;
    width: 686px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/service_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-sv {
        display: inline-block;
        width: 274px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/service_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-sv {
        display: inline-block;
        width: 274px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/service_bg_sp.svg) no-repeat center / contain;
    }
}


/* reason */

.typo-pageTitleEn-rs {
    display: inline-block;
    width: 600px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/reason_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-rs {
        display: inline-block;
        width: 261px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/reason_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-rs {
        display: inline-block;
        width: 261px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/reason_bg_sp.svg) no-repeat center / contain;
    }
}


/* aboutus */

.typo-pageTitleEn-au {
    display: inline-block;
    width: 800px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/aboutus_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-au {
        display: inline-block;
        width: 274px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/aboutus_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-au {
        display: inline-block;
        width: 274px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/aboutus_bg_sp.svg) no-repeat center / contain;
    }
}


/* Q&A */

.typo-pageTitleEn-qa {
    display: inline-block;
    width: 377px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/qa_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-qa {
        display: inline-block;
        width: 150px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/qa_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-qa {
        display: inline-block;
        width: 150px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/qa_bg_sp.svg) no-repeat center / contain;
    }
}


/* info */

.typo-pageTitleEn-if {
    display: inline-block;
    width: 397px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/info_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-if {
        display: inline-block;
        width: 159px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/info_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-if {
        display: inline-block;
        width: 159px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/info_bg_sp.svg) no-repeat center / contain;
    }
}


/* Flow */

.typo-pageTitleEn-fl {
    display: inline-block;
    width: 350px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/flow_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-fl {
        display: inline-block;
        width: 150px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/flow_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-fl {
        display: inline-block;
        width: 150px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/flow_bg_sp.svg) no-repeat center / contain;
    }
}


/* nw */

.typo-pageTitleEn-nw {
    display: inline-block;
    width: 350px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/news_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-nw {
        display: inline-block;
        width: 159px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/news_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-nw {
        display: inline-block;
        width: 159px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/news_bg_sp.svg) no-repeat center / contain;
    }
}


/* Machine */

.typo-pageTitleEn-mc {
    display: inline-block;
    width: 600px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/machine_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-mc {
        display: inline-block;
        width: 274px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/machine_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-mc {
        display: inline-block;
        width: 274px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/machine_bg_sp.svg) no-repeat center / contain;
    }
}


/* Merit */

.typo-pageTitleEn-mr {
    display: inline-block;
    width: 500px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/merit_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-mr {
        display: inline-block;
        width: 200px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/merit_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-mr {
        display: inline-block;
        width: 200px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/merit_bg_sp.svg) no-repeat center / contain;
    }
}


/* Plan */

.typo-pageTitleEn-pl {
    display: inline-block;
    width: 400px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/plan_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-pl {
        display: inline-block;
        width: 150px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/plan_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-pl {
        display: inline-block;
        width: 150px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/plan_bg_sp.svg) no-repeat center / contain;
    }
}


/* Price */

.typo-pageTitleEn-pr {
    display: inline-block;
    width: 450px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/price_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-pr {
        display: inline-block;
        width: 159px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/price_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-pr {
        display: inline-block;
        width: 159px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/price_bg_sp.svg) no-repeat center / contain;
    }
}


/* Spot */

.typo-pageTitleEn-sp {
    display: inline-block;
    width: 390px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/spot_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-sp {
        display: inline-block;
        width: 159px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/spot_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-sp {
        display: inline-block;
        width: 159px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/spot_bg_sp.svg) no-repeat center / contain;
    }
}


/* Staff */

.typo-pageTitleEn-st {
    display: inline-block;
    width: 600px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/staff_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-st {
        display: inline-block;
        width: 200px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/staff_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-st {
        display: inline-block;
        width: 200px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/staff_bg_sp.svg) no-repeat center / contain;
    }
}


/* Style */

.typo-pageTitleEn-sy {
    display: inline-block;
    width: 500px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/style_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-sy {
        display: inline-block;
        width: 200px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/style_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-sy {
        display: inline-block;
        width: 200px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/style_bg_sp.svg) no-repeat center / contain;
    }
}


/* Voice */

.typo-pageTitleEn-vc {
    display: inline-block;
    width: 450px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/voice_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-vc {
        display: inline-block;
        width: 159px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/voice_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-vc {
        display: inline-block;
        width: 159px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/voice_bg_sp.svg) no-repeat center / contain;
    }
}


/* What */

.typo-pageTitleEn-wh {
    display: inline-block;
    width: 390px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/what_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-wh {
        display: inline-block;
        width: 159px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/what_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-wh {
        display: inline-block;
        width: 159px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/what_bg_sp.svg) no-repeat center / contain;
    }
}


/* About */

.typo-pageTitleEn-ab {
    display: inline-block;
    width: 499px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/about_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-ab {
        display: inline-block;
        width: 200px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/about_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-ab {
        display: inline-block;
        width: 200px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/about_bg_sp.svg) no-repeat center / contain;
    }
}


/* Column */

.typo-pageTitleEn-cl {
    display: inline-block;
    width: 698px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/column_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-cl {
        display: inline-block;
        width: 250px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/column_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-cl {
        display: inline-block;
        width: 250px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/column_bg_sp.svg) no-repeat center / contain;
    }
}


/* Director */

.typo-pageTitleEn-dr {
    display: inline-block;
    width: 800px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/director_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-dr {
        display: inline-block;
        width: 300px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/director_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-dr {
        display: inline-block;
        width: 300px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/director_bg_sp.svg) no-repeat center / contain;
    }
}


/* Features */

.typo-pageTitleEn-ft {
    display: inline-block;
    width: 800px;
    height: 213px;
    background: url(/wp-app/wp-content/themes/asteria-clinic/images/features_bg.svg) no-repeat center / contain;
}

@media (max-width: 48em) {
    .typo-pageTitleEn-ft {
        display: inline-block;
        width: 300px;
        height: 85px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/features_bg_sp.svg) no-repeat center / contain;
    }
}

@media (max-width: 23.4375em) {
    .typo-pageTitleEn-ft {
        display: inline-block;
        width: 300px;
        height: 70px;
        background: url(/wp-app/wp-content/themes/asteria-clinic/images/features_bg_sp.svg) no-repeat center / contain;
    }
}


/**@media (max-width: 48em) {
  .typo-pageTitleEn.-top-sectionTitleEn {
    font-size: 6.4rem;
  }
}
 **/

.typo-articleTitleEn {
    font-family: "Playfair Display", serif;
    font-size: 8rem;
    font-weight: 700;
    line-height: 0.85;
    letter-spacing: normal;
}

@media (max-width: 48em) {
    .typo-articleTitleEn {
        font-size: 4rem;
    }
}

.typo-h3 {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.67;
    letter-spacing: normal;
}

@media (max-width: 48em) {
    .typo-h3 {
        font-size: 2rem;
        letter-spacing: normal;
        line-height: 1.6;
    }
}

.typo-subpageTitle {
    font-size: 3.2rem;
    font-weight: 500;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

@media (max-width: 48em) {
    .typo-subpageTitle {
        font-size: 2.4rem;
    }
}

.color-white {
    color: #fff;
}

.color-black {
    color: #000;
}

.color-primary {
    color: #6fc3d3;
}

.color-primary-dark {
    color: #007092;
}

.width-100 {
    width: 100% !important;
}

@media (max-width: 66.25em) {
    .-sm\:width-100 {
        width: 100% !important;
    }
}

@media (max-width: 48em) {
    .-xs\:width-100 {
        width: 100% !important;
    }
}

.display-inline-block {
    display: inline-block;
}

.display-lg-show {
    display: none;
}

@media (max-width: 85.313em) {
    .display-lg-show {
        display: block;
    }
}

@media (max-width: 85.313em) {
    .display-lg-hide {
        display: none;
    }
}

.display-md-show {
    display: none;
}

@media (max-width: 78.75em) {
    .display-md-show {
        display: block;
    }
}

@media (max-width: 78.75em) {
    .display-md-hide {
        display: none;
    }
}

.display-sm-show {
    display: none;
}

@media (max-width: 1330px) {
    .display-sm-show {
        display: block;
    }
}

@media (max-width: 1330px) {
    .display-sm-hide {
        display: none;
    }
}

.display-xs-show {
    display: none !important;
}

@media (max-width: 48em) {
    .display-xs-show {
        display: block !important;
    }
}

@media (max-width: 48em) {
    .display-xs-hide {
        display: none !important;
    }
}

.top-flow,
.top-faq,
.top-voice {
    padding: 120px 0;
    border-top: 1px solid #e1e8ed;
}

@media (max-width: 48em) {

    .top-flow,
    .top-faq,
    .top-voice {
        padding: 80px 0 64px;
    }
}

.top-point,
.top-machine,
.top-merit {
    padding: 80px 0;
    border-top: 1px solid #e1e8ed;
}

@media (max-width: 48em) {

    .top-point,
    .top-machine,
    .top-merit {
        padding: 64px 0;
    }
}

.top-point__content,
.top-machine__content,
.top-merit__content {
    margin-top: 48px;
}

.top-point__txt {
    margin-top: 24px;
    color: #6fc3d3;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.2em;
}

@media (max-width: 48em) {
    .top-point__txt {
        letter-spacing: 0;
    }
}

.top-point__item picture {
    display: block;
}

.top-point__item picture img {
    width: 100%;
}

.top-faq__more {
    margin-top: 64px;
}

@media (max-width: 48em) {
    .top-faq__more {
        margin-top: 40px;
    }
}

.risk-box {
    width: min(1126px, 100% - 88px);
    padding: 48px 64px;
    margin: 80px auto;
    background: linear-gradient(90deg, #6fc3d3 0%, #007092 100%);
    color: #fff;
    text-align: center;
}

@media (max-width: 48em) {
    .risk-box {
        width: auto;
        padding: 24px;
        margin: 48px 24px;
        box-sizing: border-box;
    }
}

.risk-box__ttl {
    position: relative;
    padding-top: 88px;
}

.risk-box__ttl::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 64px;
    height: 64px;
    background: url("../images/top-risk_ico.svg") no-repeat center center / cover;
}

.risk-box__body {
    margin-top: 24px;
    text-align: left;
}

.top-flow__content {
    padding: 32px 0;
    margin-top: 48px;
    background-color: #fff;
    border: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .top-flow__content {
        padding: 0 24px;
        margin-top: 38px;
    }
}

.merit-wrap {
    width: 960px;
    padding: 64px 80px;
    margin: 0 auto;
    background: url("../images/top-merit_bg-pc.jpg") no-repeat 0 0 / cover;
}

.merit-wrap.mens {
    background: url("../images/top-merit-mens_bg-pc.jpg") no-repeat 0 0 / cover;
}

@media (max-width: 48em) {
    .merit-wrap {
        width: 100%;
        padding: 16px 16px 260px 16px;
        background: url("../images/top-merit_bg-sp.jpg") no-repeat center 75% / cover;
    }

    .merit-wrap.mens {
        background: url("../images/top-merit-mens_bg-sp.jpg") no-repeat center 75% / cover;
    }
}

.merit-list {
    display: inline-block;
}

.merit-list__item {
    position: relative;
    padding: 6px 0 6px 16px;
    border-bottom: 1px solid #e1e8ed;
    font-size: 1.6rem;
    font-weight: 700;
}

@media (max-width: 48em) {
    .merit-list__item {
        padding: 6px 0 6px 16px;
        font-size: 1.4rem;
    }
}

.merit-list__item::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background-color: #6fc3d3;
}

@media (max-width: 48em) {
    .merit-list__item::before {
        top: 18px;
        transform: translateY(0);
    }
}

.merit-list__item em {
    color: #6fc3d3;
    font-style: normal;
    font-weight: 700;
}

.top-voice__content {
    display: flex;
    flex-direction: column;
    gap: 48px;
    margin-top: 48px;
}

@media (max-width: 48em) {
    .top-voice__content {
        gap: 24px;
        margin-top: 32px;
    }
}

.voice-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 40px;
    background-color: #f2f7fa;
    border-radius: 4px;
}

@media (max-width: 48em) {
    .voice-wrap {
        flex-direction: column;
        gap: 24px;
        padding: 16px;
        background-color: #f2f7fa;
    }
}

.voice-wrap__img {
    width: 129px;
    margin: 0;
    font-weight: 700;
    text-align: center;
}

.voice-wrap__body {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    width: calc(100% - 145px);
}

@media (max-width: 48em) {
    .voice-wrap__body {
        display: flex;
        flex-direction: column;
        gap: 24px;
        width: 100%;
    }
}

.voice-box__ttl {
    color: #6fc3d3;
    font-size: 1.8rem;
    font-weight: 700;
}

.top-machine__txt {
    width: 480px;
    margin: 0 auto;
}

.machine-wrap {
    margin-top: 64px;
}

.machine-wrap__head {
    color: #6fc3d3;
    text-align: center;
}

.machine-wrap__tag {
    font-family: "Playfair Display", serif;
    font-size: 3.2rem;
    font-weight: 700;
}

.machine-wrap__ttl {
    margin-top: -16px;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.2em;
}

.machine-wrap__body {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 24px;
}

@media (max-width: 48em) {
    .top-machine__txt {
        width: 100%;
    }

    .machine-wrap__tag {
        font-size: 2.4rem;
    }

    .machine-wrap__ttl {
        font-size: 1.2rem;
    }

    .machine-wrap__body {
        margin-top: 24px;
    }
}

.machine-box__ttl {
    color: #6fc3d3;
    font-size: 3.2rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.machine-box__body {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 16px;
}

.machine-box__img {
    display: block;
    width: 249px;
}

.machine-box__detail {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    width: calc(100% - 313px);
}

.machine-box .detail-box {
    border-right: 1px solid #e1e8ed;
    border-bottom: 1px solid #e1e8ed;
    border-left: 1px solid #e1e8ed;
}

.machine-box .detail-box__ttl {
    background: linear-gradient(-90deg, #6fc3d3 0%, #007092 100%);
    padding: 12px 4px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
}

.machine-box .detail-box__body {
    padding: 8px;
}

@media (max-width: 48em) {
    .machine-box__ttl {
        font-size: 1.8rem;
        text-align: center;
        line-height: 1.5;
    }

    .machine-box__body {
        display: block;
        margin-top: 8px;
    }

    .machine-box__img {
        margin: 0 auto;
    }

    .machine-box__detail {
        grid-template-columns: repeat(1, 1fr);
        width: 100%;
        margin-top: 24px;
    }

    .machine-box .detail-box__ttl {
        font-size: 1.4rem;
    }

    .machine-box .detail-box__body {
        padding: 16px;
        font-size: 1.2rem;
    }
}

.machine-wrap__body--min {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 64px;
    text-align: center;
}

.machine-box--min__ttl {
    margin-bottom: 8px;
    color: #6fc3d3;
    font-size: 2.4rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-weight: 500;
}

@media (max-width: 48em) {
    .machine-wrap__body--min {
        flex-direction: column;
        gap: 24px;
    }

    .machine-box--min__ttl {
        font-size: 1.8rem;
    }
}

.top-feature {
    padding: 160px 0 64px;
    position: relative;
}

.top-feature .typo-pageTitleEn {
    color: #fff;
}

@media (max-width: 48em) {
    .top-feature {
        padding: 80px 0 48px;
    }

    .top-feature+* {
        margin-top: 16px;
    }
}

.top-feature::before {
    content: "";
    background-image: url("../images/top-feature_bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 750px;
    background-position: center center;
    position: absolute;
    left: 0;
    top: 0;
    z-index: var(--z-bottomLayer);
}

@media only screen and(-webkit-min-device-pixel-ratio: 2),
only screen and(min-resolution: 2dppx) {
    .top-feature::before {
        background-image: url("../images/top-feature_bg@2x.jpg");
    }
}

@media only screen and(-webkit-min-device-pixel-ratio: 3),
only screen and(min-resolution: 3dppx) {
    .top-feature::before {
        background-image: url("../images/top-feature_bg@3x.jpg");
    }
}

.top-feature::after {
    content: "";
    background-color: rgba(255, 255, 255, 0.6);
    width: 100%;
    height: 750px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: var(--z-underLayer);
}

.top-feature__body {
    position: relative;
    z-index: var(--z-middleLayer);
}

.top-feature__content {
    display: flex;
    flex-direction: column;
    gap: 64px;
    background-color: #fff;
    padding: 64px;
}

@media (max-width: 48em) {
    .top-feature__content {
        gap: 32px;
        padding: 16px;
    }
}

.feature-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

@media (max-width: 48em) {
    .feature-box {
        display: grid;
        place-items: center;
    }
}

.feature-box:nth-child(even) {
    flex-direction: row-reverse;
}

@media (max-width: 48em) {}

.feature-box__img {
    width: 345px;
}

@media (max-width: 48em) {
    .feature-box__img {
        width: auto;
    }
}

.feature-box__detail {
    width: calc(100% - 438px);
}

@media (max-width: 48em) {
    .feature-box__detail {
        display: grid;
        place-items: center;
        width: auto;
        margin-top: 24px;
    }
}

.feature-box__ttl {
    color: #6fc3d3;
    font-size: 2.4rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

@media (max-width: 48em) {
    .feature-box__ttl {
        display: inline-block;
        margin-bottom: 16px;
        font-size: 1.8rem;
        line-height: 1.5;
    }

    .feature-box__txt br {
        display: none;
    }
}

.top-h1-title {
    padding: 40px 0;
    background: linear-gradient(90deg, #6fc3d3 0%, #007092 100%);
    color: #fff;
    font-size: 2rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-weight: 500;
    text-align: center;
}

.top-h1-title br {
    display: none;
}

@media (max-width: 48em) {
    .top-h1-title {
        padding: 24px;
        font-size: 1.6rem;
        line-height: 1.5;
    }

    .top-h1-title br {
        display: block;
    }
}

.top-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 1126px;
    padding: 40px 0;
    margin: 0 auto;
}

@media (max-width: 48em) {
    .top-info {
        display: block;
        width: 100%;
        padding: 40px 24px;
    }
}

.about-top-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 1126px;
    padding: 40px 0;
    margin: 0 auto;
}

@media (max-width: 48em) {
    .about-top-info {
        display: block;
        width: 100%;
        padding: 40px 0;
    }
}

.top-access {
    display: grid;
    place-items: center;
    position: relative;
    width: 480px;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #e1e8ed;
    color: #8e979d;
}

.top-access::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #6fc3d3 0%, #007092 100%);
}

.top-access__txt br {
    display: none;
}

.access-list {
    margin-top: 16px;
    color: #434b50;
    font-size: 1.6rem;
    text-align: left;
}

.access-list__item {
    position: relative;
    padding-left: 28px;
}

.access-list__item::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 13px;
    height: 18px;
    background: url("../images/top-info_ico.svg") no-repeat center center / cover;
}

@media (max-width: 48em) {
    .top-access {
        width: 100%;
        padding: 16px;
    }

    .top-access::before {
        width: 4px;
    }

    .top-access__txt {
        font-size: 1.2rem;
        text-align: center;
    }

    .top-access__txt br {
        display: block;
    }

    .access-list {
        margin-top: 8px;
        font-size: 1.3rem;
    }
}

.top-schedule {
    width: 587px;
}

.top-schedule__img {
    display: block;
    width: 587px;
}

.top-schedule__note {
    margin-top: 8px;
    color: #8e979d;
    font-size: 1.2rem;
}

@media (max-width: 48em) {
    .top-schedule {
        width: auto;
        margin-top: 24px;
        text-align: center;
    }

    .top-schedule__img {
        width: 100%;
    }

    .top-schedule__note {
        font-size: 1rem;
    }
}

.top-cp {
    padding: 64px 0 80px;
    background-color: #fff;
    border-bottom: 1px solid #e1e8ed;
}

.top-cp__content {
    width: 960px;
    margin: 0 auto;
    max-width: 100%;
}

.cp-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 64px;
}

.cp-btm {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 24px;
}

@media (max-width: 48em) {
    .top-cp__content {
        display: grid;
        place-items: center;
        width: 100%;
    }

    .cp-top {
        display: block;
        margin-top: 24px;
    }

    .cp-top__img {
        display: block;
        width: 70%;
        margin: 8px auto 0;
    }

    .cp-btm {
        grid-template-columns: repeat(1, 1fr);
        gap: 24px;
        margin-top: 24px;
    }

    .cp-btm li img {
        width: 100%;
    }
}

.top-director .typo-h3 {
    margin-top: 24px;
}

.top-director__txt {
    font-size: 1.8rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.top-director__txt br {
    display: none;
}

.top-director .top-article__dec {
    margin-top: 16px;
    line-height: 1.7;
}

@media (max-width: 48em) {
    .top-director .typo-h3 {
        margin: 16px 0;
    }

    .top-director__txt br {
        display: block;
    }

    .top-director__txt span {
        display: none;
    }

    .top-director__txt {
        font-size: 1.2rem;
        line-height: 1.5;
    }
}

.menu-compare {
    padding: 60px 0 120px;
}

@media (max-width: 48em) {
    .menu-compare {
        padding: 40px 0 80px;
    }
}

.menu__content {
    margin-top: 48px;
    display: grid;
    margin: 0 0 30px;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

@media (max-width: 48em) {
    .menu__content {
        margin-top: 32px;
        grid-template-columns: 100%;
    }
}

.menu__item {
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #fff;
}

.menu__item .image img {
    width: 100%;
}

.menu__item_txt {
    padding: 30px 50px 40px;
}

@media (max-width: 48em) {
    .menu__item_txt {
        padding: 30px 20px;
    }
}

.menu__item_ttl {
    text-align: center;
    margin: 0 0 30px;
    position: relative;
    height: 40px;
    transition: 0.3s all;
}

.menu__item_ttl:hover {
    opacity: 0.5;
}

.menu__item_ttl a {
    color: #434b50;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
}

.menu__item_ttl::after {
    position: absolute;
    content: "＞";
    font-size: 16px;
    line-height: 1;
    transform: scale(0.5, 1);
    width: 80px;
    height: 40px;
    border: 1px solid #e2e8ec;
    border-radius: 100%;
    color: #434b50;
    top: 0;
    right: -20px;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu__item_link {
    display: block;
    margin: 15px 0 0;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    padding: 15px 20px;
    text-align: center;
    background-color: #6fc3d3;
    position: relative;
    transition: 0.3s all;
}

@media (max-width: 48em) {
    .menu__item_link {
        font-size: 18px;
    }
}

.menu__item_link:hover {
    opacity: 0.7;
}

.menu__item_link::after {
    position: absolute;
    content: "";
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    width: 12px;
    height: 12px;
    transform: rotate(-45deg);
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}

.menu__item_link .pc_none {
    display: none;
}

@media (max-width: 48em) {
    .menu__item_link .pc_none {
        display: block;
    }
}

.menu__content_full {
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #fff;
    display: flex;
    min-height: 230px;
    position: relative;
    transition: 0.3s all;
}

@media (max-width: 48em) {
    .menu__content_full {
        flex-direction: column;
    }
}

.menu__content_full:hover {
    opacity: 0.7;
}

.menu__content_full a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}

.menu__content_full .image {
    width: 50%;
    max-width: 340px;
}

@media (max-width: 48em) {
    .menu__content_full .image {
        width: 100%;
        max-width: none;
    }
}

.menu__content_full .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 48em) {
    .menu__content_full .image img {
        height: auto;
        object-fit: none;
    }
}

.menu_full__item_txt {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 50px 140px 50px 50px;
    position: relative;
    transition: 0.3s all;
}

@media (max-width: 48em) {
    .menu_full__item_txt {
        padding: 30px 20px 80px;
    }
}

.menu__content_full:hover .menu_full__item_txt {
    opacity: 0.7;
}

.menu_full__item_txt::after {
    position: absolute;
    content: "＞";
    font-size: 16px;
    line-height: 1;
    transform: scale(0.5, 1);
    width: 80px;
    height: 40px;
    border: 1px solid #e2e8ec;
    border-radius: 100%;
    color: #434b50;
    top: 0;
    right: 30px;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 48em) {
    .menu_full__item_txt::after {
        top: auto;
        right: 0;
        left: 0;
        bottom: 30px;
    }
}

.menu_full__item_ttl {
    margin: 0 0 20px;
}


/* サイトマップ */

.sitemap_content {
    padding-bottom: 120px;
}

@media (max-width: 48em) {
    .sitemap_content {
        padding-bottom: 80px;
    }
}

.sitemap_content a {
    color: #434b50;
    transition: 0.3s all;
}

.sitemap_content a:hover {
    color: #6fc3d3;
}

.sitemap_index {
    font-weight: bold;
    font-size: 16px;
    background: #f2f7fa;
    padding: 15px 20px;
    line-height: 1;
}

.sitemap_index_sub {
    font-weight: bold;
    font-size: 16px;
    border-bottom: 1px solid #e1e8ed;
    padding: 10px 20px;
}

.sitemap_content ul {
    margin: 0 0 20px;
}

.sitemap_content ul li {
    padding: 0 20px;
    margin: 10px 0;
}

.sitemap_content ul li a {
    font-weight: bold;
}

.sitemap_content ul li ul {
    display: flex;
    flex-wrap: wrap;
}

.sitemap_content ul li ul li {
    margin: 0 0 10px;
}

.sitemap_content ul li ul li a {
    font-weight: normal;
}


/* プランタイトル */

.planTitle {
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    color: #007092;
}

@media (max-width: 48em) {
    .planTitle {
        font-size: 1.4rem;
        text-align: left;
    }
}


/* 診療時間 */

.biz-hour {
    display: inline-table;
    border-collapse: collapse;
    background-color: transparent;
    border-right: none;
    border-left: none;
}

.biz-hour th,
.biz-hour td {
    padding: 10px;
    text-align: center;
    border-left: none;
}

.biz-hour th {
    font-weight: normal;
    color: #a9b0b5;
    background-color: transparent;
    border-top: none;
}

.biz-hour td {
    border-bottom: none;
    color: #6fc3d3;
}

.biz-hour .sun {
    border-right: none;
}

.medical-hours {
    font-size: 1.6rem;
    font-weight: 600;
}

@media (max-width: 48em) {
    .medical-hours {
        font-size: 1rem;
        font-weight: 500;
    }

    .biz-hour th {
        font-size: 1.2rem;
    }
}


/* 料金バナー */

.priceBanner_area {
    padding-top: 40px;
    width: 960px;
    margin: 0 auto;
    max-width: 100%;
}

.priceBanner {
    display: flex;
    justify-content: flex-start;
    padding-right: 33px;
    align-items: center;
    gap: 39px;
    align-self: stretch;
    border: 1px solid #6fc3d3;
    background: #fff;
}

.priceBanner_bgImg {
    position: relative;
}

.priceBanner_bgImg::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(270deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.priceBanner img {
    width: 480px;
    height: 202.46px;
    flex-shrink: 0;
}

.priceBanner_txtArea {
    position: relative;
    text-align: center;
}

.priceBanner_txtArea p {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2rem;
    font-weight: 500;
    color: #6fc3d3;
    padding-bottom: 24px;
}

@media (max-width: 48em) {
    .priceBanner {
        flex-direction: column;
        justify-content: center;
        padding: 24px 22px;
    }

    .priceBanner_bgImg {
        display: none;
    }

    .priceBanner_txtArea p {
        font-size: 1.6rem;
        font-weight: 400;
    }
}


/* キャンペーンチケット */

.big-ticket {
    width: 960px;
    height: 240px;
    background-image: url("../images/ticketbg_large.png");
    background-size: 960px 240px;
    background-repeat: no-repeat;
    padding: 17px 67px 17px 67px;
}

.small-tickets {
    display: flex;
    justify-content: space-between;
}

.small-ticket {
    width: 305px;
    height: 172px;
    background-image: url("../images/ticketbg_small.png");
    background-size: 305px 172px;
    background-repeat: no-repeat;
}

.white-banner {
    padding: 0px 6px 0px 6px;
    background-color: white;
    font-size: 14px;
    font-weight: bold;
    width: max-content !important;
    margin-bottom: 6px;
}

.title-text1 {
    color: white;
    font-size: 16px;
    font-weight: bold;
}

.title-text1-1 {
    color: white;
    font-size: 16px;
    font-weight: normal;
}

.title-text2 {
    color: white;
    font-size: 14px;
    font-weight: normal;
}

.title-text3 {
    color: white;
    font-size: 18px;
    font-weight: bold;
}

.title-text4 {
    color: white;
    font-size: 18px;
    font-weight: normal;
    line-height: normal;
}

.title-text5 {
    color: white;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: -0.05em;
}

.title-text6 {
    color: white;
    font-size: 14px;
    font-weight: normal;
}

.title-text7 {
    color: white;
    font-size: 10px;
    font-weight: normal;
}

.title-text7-1 {
    color: white;
    font-size: 10px;
    font-weight: normal;
}

.title-text8 {
    color: #8e979d;
    font-size: 12px;
    font-weight: normal;
}

.title-text9 {
    color: white;
    font-size: 12px;
    font-weight: bold;
}

.title-text10 {
    color: white;
    font-size: 38px;
    font-weight: bold;
    letter-spacing: -0.05em;
    line-height: 1.2;
    margin: 0 2px 0 0;
}

.title-text11 {
    color: white;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.1;
    margin-left: 2px;
}

.title-text12 {
    color: white;
    font-size: 24px;
    font-weight: bold;
    margin-left: 2px;
}

.title-text13-1 {
    color: white;
    font-size: 44px;
    font-weight: bold;
    letter-spacing: -0.05em;
    line-height: 1.2;
    margin: 0 3px 0 6px;
}

.title-text13-2 {
    color: white;
    font-size: 44px;
    font-weight: bold;
    letter-spacing: -0.05em;
}

.title-text14 {
    color: white;
    font-size: 48px;
    font-weight: bold;
}

.text-flex-end {
    display: flex;
    align-items: center;
    line-height: 1.1;
}

.between-alignmemt {
    display: flex;
    justify-content: space-between;
}

.right-alignmemt {
    display: flex;
    justify-content: flex-end;
}

.center-v-alignmemt {
    display: flex;
    align-items: center;
}

.price-magrin {
    margin-right: 4px;
}

.ticket-line {
    border-left: 1px solid #cde4eb;
    height: 60px;
}

.small-ticket1 {
    padding: 13px 35px 13px 35px;
}

.p-ticket {
    height: 20px;
}

.div-line-ticket {
    display: flex;
    align-items: baseline;
}

.text-ticket-margin {
    margin-bottom: 6px;
}

.ticket-discount {
    line-height: 1.1;
    margin-left: 3px;
}

.ticket-suffix {
    margin-top: 20px;
}

.big-ticket-price-div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 5px 0 5px 0;
}

.big-ticket-price {
    line-height: normal;
}

.big-ticket-price-text {
    line-height: normal;
    margin-right: 12px;
}

@media (max-width: 48em) {
    .big-ticket {
        width: 100%;
        padding: 16px 0;
        width: 305px;
        height: 545px;
        background-image: url("../images/ticketbg.sf.png");
        background-size: 305px 563px;
        background-repeat: no-repeat;
        padding: 20px 30px 20px 30px;
    }

    .between-alignmemt {
        flex-direction: column;
        line-height: normal;
    }

    .big-ticket-price-div {
        display: flex;
        flex-direction: column;
        align-items: normal !important;
        margin: 10px 0 10x 0;
    }

    .big-ticket-text-align-col {
        display: flex;
        flex-direction: column;
    }

    .ticket-line {
        border-left: 0 !important;
        border-top: 1px solid #cde4eb;
        height: 0 !important;
        width: 100%;
        margin: 12px 0 12px 0;
    }

    .center-v-alignmemt {
        justify-content: space-between;
    }

    .big-ticket-text {
        line-height: normal;
        margin: 10px 0 8px 0;
    }

    .title-text4 {
        font-size: 16spx !important;
    }

    .title-text5 {
        font-size: 26px !important;
    }

    .small-tickets {
        flex-direction: column;
    }
}


/* 脱毛ページGoogleマップ */

iframe.h_clinic__map {
    width: 100%;
    height: 300px;
    margin-top: 20px;
    margin-bottom: 20px;
}

@media (max-width: 48em) {
    iframe.h_clinic__map {
        height: 200px;
    }
}


/* アクセス情報カード */

.long_top-access {
    display: grid;
    place-items: center;
    position: relative;
    width: 100%;
    padding: 20px 0;
    background-color: #fff;
    border: 1px solid #e1e8ed;
    color: #8e979d;
}

@media (max-width: 48em) {
    .long_top-access {
        padding: 16px;
    }
}

.access-list__item2 {
    position: relative;
    padding-left: 28px;
}

.access-list__item2::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background: url(../images/Card.svg) no-repeat center center / cover;
}

.access-list__item3 {
    position: relative;
    padding-left: 28px;
}

.access-list__item3::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background: url(../images/Phone.svg) no-repeat center center / cover;
}


/* 院長紹介 */

.director-info {
    padding: 40px 0 100px;
    background-color: #fff;
}

@media (max-width: 48em) {
    .director-info {
        padding: 40px 0;
    }
}

.director-info-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 80px;
    padding: 40px 0;
}

@media (max-width: 48em) {
    .director-info-wrap {
        display: grid;
        place-items: center;
        width: 100%;
        gap: 16px;
        padding: 24px 0;
    }

    .director-info-wrap .cp-top__img {
        width: auto;
    }

    .director-info-wrap .cp-top__img img {
        width: 160px;
    }
}

.director-info__txt {
    max-width: 500px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #6fc3d3;
}

@media (max-width: 48em) {
    .director-info__txt {
        font-size: 1.4rem;
    }
}

.director-info__history {
    border: 1px solid #6fc3d3;
    font-size: 1.4rem;
    font-weight: normal;
    padding: 8px 32px;
    color: #434b50;
    margin-top: 24px;
}

@media (max-width: 48em) {
    .director-info__history {
        padding: 8px;
        line-height: 1.8;
    }
}

.u_line {
    border-bottom: 1px solid #434b50;
    width: fit-content;
    font-weight: bold;
    padding: 0 16px 4px 0;
    margin: 16px 0;
}


/* カウンセリング予約はこちらから */

.reserve_container {
    margin: 32px 120px 120px 120px;
}

.reserveSection {
    text-align: center;
    margin-top: 40px;
}

.reserveSection h2 {
    font-size: 24px;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.boxArea {
    display: flex;
    margin-top: 24px;
    justify-content: center;
}

.reserveBtn a {
    position: relative;
    display: block;
    width: 280px;
    padding: 30px 0;
    background-color: #ffffff;
    font-size: 14px;
    color: #000;
    border: 1px solid #ccc;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    text-decoration: none;
    text-align: center;
}

.btn-arrow-right a::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 27px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 2px solid #000000;
    border-right: 2px solid #000000;
    transform: rotate(45deg);
    box-sizing: border-box;
}

.reserveBtn a:hover {
    background-color: #ccc;
}

@media (max-width: 48em) {
    .reserve_container {
        margin: 32px 24px 80px 24px;
    }

    .boxArea {
        flex-direction: column;
        align-items: center;
    }
}


/*メンズ脱毛料金追加*/

.hair-removal-price .c-course {
    border-color: #007092;
    padding: 0 36px 36px 0;
    margin: 20px 0;
}

.hair-removal-price .c-course__head {
    width: 39.9428063925%;
    max-width: 443px;
    padding-right: 0;
}

.hair-removal-price .c-course__body {
    /*width: 52.2586359575%;*/
    width: 590px;
    margin-left: 24px;
}

.hair-removal-price .c-course__name .bg {
    font-size: 2.4rem;
}

.hair-removal-price .img {
    max-width: 443px;
    margin-top: 36px;
    margin-left: 19px;
}

.hair-removal-price .img.img-face img {
    max-width: 275px;
    margin: 57px auto 0;
    display: block;
}

.hair-removal-price .c-course__dec {
    padding: 0;
}

.hair-removal-price .c-course__dec span {
    font-weight: normal;
}

.c-course__price.hair-removal-plan {
    max-width: none;
    border-bottom: 1px solid #007092;
    border-left: none;
    padding: 34px 0;
    margin: 0;
}

.c-course__price.hair-removal-plan .c-course__dt {
    margin: 0;
}

.c-course__price.hair-removal-plan .c-course__dd {
    width: auto;
    margin-left: 28px;
}

.c-course__price.hair-removal-plan .c-course__dd .price {
    font-size: 2.6rem;
}

.c-course__price.hair-removal-plan .c-course__dd .price span {
    font-size: 1.4rem;
}

.c-course__price.hair-removal-plan .c-course__dd .price span.num {
    font-size: 2.4rem;
}

.c-course__price.hair-removal-plan .c-course__dd .price span.times {
    font-size: 1.6rem;
}

.c-course__detail.hair-removal-plan {
    max-width: none;
    border-left: none;
    margin: 0;
    padding: 34px 0;
}

.c-course__detail.hair-removal-plan .c-course__dt {
    margin: 0;
}

.c-course__detail.hair-removal-plan .c-course__dd {
    margin-left: 16px;
    max-width: 500px;
    margin-top: 0;
    display: flex;
    align-items: center;
}

.c-course__detail.hair-removal-plan .course-list {
    text-align: left;
}

.dd-wrap {
    display: flex;
    flex-wrap: wrap;
}

@media (max-width: 48em) {
    .hair-removal-price .c-course {
        padding: 0 0 24px;
    }

    .hair-removal-price .c-course__name .bg {
        font-size: 1.8rem;
    }

    .hair-removal-price .c-course__head {
        width: 100%;
        max-width: 100%;
        padding-right: 0;
    }

    .hair-removal-price .c-course__body {
        margin: 0;
        width: 100%;
        padding: 0 24px;
        display: flex;
        flex-direction: column;
    }

    .hair-removal-price .c-course__dec {
        text-align: center;
        order: 1;
        font-size: 1.4rem;
    }

    .hair-removal-price .img {
        max-width: 294px;
        width: 100%;
        margin: 0 auto 24px;
    }

    .hair-removal-price .img.img-face {
        max-width: 152px;
        width: 100%;
    }

    .hair-removal-price .img.img-face img {
        max-width: 100%;
        width: 100%;
        margin: 0 auto;
    }

    .hair-removal-price .c-course__price {
        border-top: none;
        padding: 16px 0 24px;
    }

    .c-course__price.hair-removal-plan {
        border-bottom: none;
    }

    .c-course__price.hair-removal-plan .c-course__dd {
        margin-left: 10px;
    }

    .c-course__price.hair-removal-plan .c-course__dd .planTitle {
        text-align: center;
    }

    .c-course__price.hair-removal-plan .c-course__dd .price {
        font-size: 2.4rem;
        letter-spacing: -0.5px;
    }

    .c-course__price.hair-removal-plan .c-course__dd .price span.num {
        font-size: 1.6rem;
    }

    .c-course__price.hair-removal-plan .c-course__dd .price span.times {
        font-size: 1.4rem;
    }

    .c-course__detail.hair-removal-plan .c-course__dd {
        width: auto;
        margin-left: 10px;
    }

    .dd-wrap {
        width: calc(100% - 80px);
        gap: 16px;
    }
}


/*医療ダイエット*/

.medical-diet-top {
    padding: 60px 64px;
    background: url(../images/medical-diet-top.png) no-repeat center right;
    background-size: auto 100%;
    background-color: #fff;
}

.medical-diet-top .copy {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 4rem;
    line-height: 1.5;
    padding-bottom: 40px;
}

.medical-diet-top .comment {
    font-size: 1.6rem;
    padding-bottom: 18px;
}

.medical-diet {
    background: #fff;
    padding: 40px 0;
}

.medical-diet .c-headline {
    margin-bottom: 40px;
}

.medical-diet .medical-diet__dec {
    max-width: 646px;
}

.medical-diet-features {
    background: #fff;
    padding: 0 0 40px;
}

.medical-diet-features .medical-diet__dec {
    max-width: 646px;
}

.medical-diet-features .c-cta_in {
    margin-top: 80px;
}

.medical-diet-anxiety {
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
    max-width: 720px;
    padding: 32px;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #fff;
    position: relative;
    z-index: var(--z-underLayer);
}

.medical-diet-anxiety__copy {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 2.33;
    letter-spacing: 4.8px;
    text-align: center;
    color: #6fc3d3;
}

.medical-diet-anxiety__copy span {
    position: relative;
}

.medical-diet-anxiety__copy span::before {
    content: "";
    width: 4px;
    height: 4px;
    background-color: #6fc3d3;
    border-radius: 50%;
    position: absolute;
    top: -4px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.medical-diet-anxiety__list {
    margin-top: 24px;
    padding-right: 165px;
    min-height: 269px;
    position: relative;
    width: 605px;
    margin: 24px auto 0;
}

.medical-diet-anxiety__list::after {
    content: "";
    width: 143px;
    height: 186px;
    background-image: url(../images/medical-diet-mask.webp);
    background-repeat: no-repeat;
    background-size: 143px 186px;
    background-position: right bottom;
    position: absolute;
    right: 0;
    bottom: 0;
}

.medical-diet-anxiety__list.mens::after {
    background-image: url(../images/mens-medical-diet-mask.webp);
}

.medical-diet-anxiety__list li {
    border-bottom: 1px solid #e1e8ed;
    padding: 18px 0;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.5;
    position: relative;
    padding-left: 16px;
}

.medical-diet-anxiety__list li::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #6fc3d3;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
}

.medical-diet-features .features-box {
    padding-right: 40px;
    margin-bottom: 40px;
    margin-top: 40px;
}

.medical-diet__content .typo-h3 {
    border-bottom: solid 1px #6fc3d3;
    width: fit-content;
    margin-bottom: 40px;
}

.medical-diet .c-cta_in {
    margin-top: 80px;
}

.medical-diet-plan {
    padding-bottom: 40px;
    background: #fff;
}

.medical-diet-plan__img img {
    width: 100%;
}

.medical-diet-plan__comment {
    text-align: center;
    margin: 32px 0 40px;
}

.ex-plan__title {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2rem;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    color: #007092;
    border-bottom: 1px solid #007092;
    width: fit-content;
    margin: 0 auto 24px;
}

.methods__title {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2rem;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    color: #007092;
    border-bottom: 1px solid #007092;
    width: fit-content;
    margin: 0 auto 16px;
}

.spot__title {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2rem;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    color: #007092;
    border-bottom: 1px solid #007092;
    width: fit-content;
    margin: 0 auto 48px;
}

.methods__txt {
    text-align: center;
}

.methods-box__detail {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    width: 100%;
    margin: 40px auto;
    /*width: calc(100% - 313px);*/
}

.methods-box__detail .detail-box {
    border: 1px solid #e1e8ed;
}

.methods-box__detail .detail-box__ttl {
    background: #007092;
    padding: 4px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
}

.methods-box__detail .detail-box__body {
    padding: 16px 16px 32px;
}

.methods-plan {
    border: 1px solid #007092;
    padding: 24px;
}

.methods-plan .plan-case {
    font-size: 2rem;
    color: #007092;
    font-weight: 700;
    line-height: normal;
}

.methods-plan__detail {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 17.5px;
    width: 100%;
    margin: 24px auto 0;
}

.plan-items {
    background: #f2f7fa;
    padding: 8px 10px 12px;
}

.plan-items .note {
    font-size: 1.2rem;
    color: #007092;
    line-height: normal;
    display: block;
    margin: -4px 0 10px;
}


/*.plan-items.align-self {
  align-self: flex-start;
}*/

.plan__title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #007092;
    border-bottom: 1px solid #6fc3d3;
    margin-bottom: 8px;
}

.plan-text-box {
    display: flex;
    width: 326px;
}

.plan-text-box dt {
    font-weight: normal;
    min-width: 226px;
}

.plan-txt-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 32px;
}

.plan-txt-wrap p {
    width: 112px;
}

.medical-diet-introduction {
    background: #fff;
    padding-top: 40px;
}

.introduction-wrap {
    margin-top: 40px;
}

.introduction-title {
    background: #6fc3d3;
    color: #fff;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2rem;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.medical-diet-machine-box {
    margin: 24px 0 0;
    border: 1px solid #e1e8ed;
}

.medical-diet-machine-box .c-other-course__bottom {
    margin-bottom: 24px;
}

.medical-diet-machine-box .machine {
    background: linear-gradient(-90deg, #6fc3d3 0%, #007092 100%);
    padding: 12px 4px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    width: 554px;
    position: relative;
}

.medical-diet-machine-box .machine.on_caps::before {
    content: "北海道で導入は当院だけ！";
    position: absolute;
    display: block;
    font-size: 1.6rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    z-index: 99;
    background: #fff;
    color: #007092;
    line-height: 1;
    border-radius: 28px;
    padding: 4px 10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -16px;
    width: 212px;
    height: 24px;
}

.medical-diet-machine-box .machine.on_caps::after {
    content: "";
    position: absolute;
    background: linear-gradient(158deg, #007092, #6fc3d3);
    padding: 4px 10px;
    border-radius: 28px;
    top: -20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 220px;
    height: 32px;
}

.medical-diet-machine-box picture {
    width: 530px;
}

.medical-diet-machine-box picture img {
    width: 100%;
    height: auto;
}

.machine-detail {
    margin: 24px;
}

.machine__dec {
    width: 512px;
    font-size: 1.6rem;
    line-height: 2;
}

.machine-copy {
    font-size: 1.8rem;
    font-weight: bold;
    color: #6fc3d3;
    line-height: 1.5;
    border-bottom: 1px solid #6fc3d3;
    padding-bottom: 8px;
    margin-bottom: 16px;
}

.medical-diet__more {
    margin-top: 16px;
}

.medical-diet__more .c-button.-primary {
    color: #007092;
    border: 0;
    border-bottom: 1px solid #007092;
    border-radius: 0;
    min-height: 40px;
    padding: 10px 24px;
}

.medical-diet-case {
    background: #fff;
    padding-top: 40px;
    padding-bottom: 40px;
}

.case-content {
    margin-top: 48px;
}

.case-item {
    padding: 16px 24px 16px;
    background-color: #fff;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
}

.case-item:not(:first-of-type) {
    margin-top: 24px;
}

.case-item .case-title {
    font-weight: 700;
    color: #6fc3d3;
    position: relative;
    padding-right: 48px;
    cursor: pointer;
    min-height: 32px;
}

.case-item .case-title::before {
    content: "";
    position: absolute;
    width: 21px;
    height: 3px;
    top: 50%;
    right: 10px;
    background: #6fc3d3;
    transform: translateY(-50%);
}

.case-item .case-title::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 21px;
    height: 3px;
    background: #6fc3d3;
    transform: translateY(-50%) rotate(90deg);
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
}

.case-item .case-title.is-show::after {
    transform: translateY(-50%);
}

.case-img-box {
    width: 824px;
    margin: 16px auto;
}

.case-ex-content {
    margin-top: 24px;
}

.case-img-box .period {
    font-size: 2.4rem;
    color: #6fc3d3;
    font-weight: bold;
}

.case-img-box .period span {
    font-size: 1.6rem;
    color: #434b50;
    padding-right: 16px;
    font-weight: normal;
}

.case-img-box .resurt {
    background: #6fc3d3;
    color: #fff;
    font-weight: bold;
    font-size: 4rem;
    line-height: 1;
    padding: 12px 13.5px;
}

.case-img-box .resurt span {
    font-size: 1.8rem;
    font-weight: normal;
}

.case-img-box .case-date-items {
    border-bottom: 1px solid #e1e8ed;
    width: fit-content;
    line-height: 1.2;
}

.case-img-box .case-date-items:first-of-type {
    margin-top: 24px;
}

.case-img-box .case-date-items .case-type01 {
    font-weight: bold;
    width: 80px;
    padding-top: 13px;
}

.case-img-box .case-date-items .values {
    width: 113px;
    text-align: right;
    padding-right: 43px;
    position: relative;
    padding-top: 13px;
}

.case-img-box .case-date-items .values::after {
    content: "";
    background: url("../images/arrow_forward_ios.svg") no-repeat;
    position: absolute;
    width: 8px;
    height: 13px;
    top: 14px;
    bottom: 0;
    right: 17px;
}

.case-img-box .case-date-items .values.pdtop21::after {
    top: 22px;
}

.case-img-box .case-date-items .before-data {
    width: 70px;
    background: #6fc3d3;
    color: #fff;
    text-align: center;
    font-weight: bold;
    padding-top: 13px;
    position: relative;
}

.case-img-box .case-date-items .before-data.btm-bg::after {
    content: "";
    position: absolute;
    width: 70px;
    height: 8px;
    background: #6fc3d3;
    left: 0;
    bottom: -9px;
}

.case-img-box .case-date-items .after-data {
    width: 70px;
    background: #007092;
    color: #fff;
    text-align: center;
    padding-top: 13px;
    position: relative;
}

.case-img-box .case-date-items .after-data.btm-bg::after {
    content: "";
    position: absolute;
    width: 70px;
    height: 8px;
    background: #007092;
    left: 0;
    bottom: -9px;
}

.case-contents {
    display: block;
    border-top: 1px solid #6fc3d3;
    margin-top: 16px;
    padding-top: 16px;
}

.case-ex {
    font-size: 1.6rem;
}

.case-ex span {
    font-size: 1.4rem;
    padding-right: 1.6rem;
}

.pdtop21 {
    padding-top: 21px !important;
}

.medical-diet-spot {
    background: #fff;
    padding: 40px;
}

.medical-diet-spot__content .top-style__headline {
    padding-top: 16px;
}

.medical-diet-spot_txt {
    text-align: center;
    padding-bottom: 40px;
}

.medical-diet-spot__content .sub {
    font-size: 2rem;
    font-family: "Noto Sans JP", sans-serif;
}

.medical-diet-spot__content .top-style__comment {
    padding-top: 12px;
}

.medical-diet-spot__content .top-style__comment ul li {
    line-height: 1.6;
    text-indent: -1.4rem;
    padding-left: 1.4rem;
    padding-bottom: 12px;
}

.medical-diet-spot__content .top-style__comment ul li::before {
    content: "・";
    color: #6fc3d3;
}

.medical-diet-flow {
    padding-top: 40px;
    padding-bottom: 40px;
    background: #fff;
}

.medical-diet-flow__content {
    margin-top: 48px;
    border-radius: 2px;
    border: solid 1px #e1e8ed;
    background-color: #fff;
    padding: 32px 0;
}

.medical-diet-flow__item {
    position: relative;
    padding: 0 32px;
}

.medical-diet-flow__item:not(:first-of-type) {
    border-left: 1px solid #6fc3d3;
}

.medical-diet-flow__item:not(:first-of-type)::before {
    content: "";
    width: 33px;
    height: 33px;
    background-color: #fff;
    background-image: url("../images/arrow_blue.svg");
    background-size: 32px 16px;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: -16px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.medical-diet-flow__item .image {
    text-align: center;
    width: 65px;
    height: 65px;
    margin-left: auto;
    margin-right: auto;
}

.medical-diet-flow__item .image img {
    width: auto;
    height: 100%;
}

.medical-diet-flow__item .medical-diet-flow__en {
    font-family: "Playfair Display", serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: #6fc3d3;
    line-height: 1.2;
}

.medical-diet-flow__item .medical-diet-flow__en span {
    font-family: "Playfair Display", serif;
    font-size: 5.4rem;
    padding-right: 8px;
}

.medical-diet-flow__item .medical-diet-flow__ja {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2rem;
    line-height: 1;
    text-align: center;
}

.medical-diet-flow-box {
    border-bottom: 1px solid #e1e8ed;
    margin: 40px 0;
    padding-bottom: 40px;
}

.medical-diet-flow__detail {
    width: 846px;
}

.medical-diet-flow__detail .ttl {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.5;
}

.medical-diet-flow__detail .ttl span {
    font-family: "Playfair Display", serif;
    font-size: 8rem;
    font-weight: 700;
    color: #6fc3d3;
    padding-right: 8px;
}

.medical-diet-price {
    background: #fff;
    padding-top: 40px;
}

.bg-wht {
    background: #fff;
    padding: 50px 0;
}

.bg-wht .c-cta_in {
    margin: 0 auto;
}

.top-faq.diet-faq {
    padding: 40px 0;
}

.top-voice.faq-voice {
    background: #fff;
    padding: 40px 0;
}

.mens-medical-diet-top {
    padding: 60px 64px;
    background: url(../images/mens-medical-diet-top.png) no-repeat center right;
    background-size: auto 100%;
    background-color: #fff;
}

.mens-medical-diet-top .copy {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 4rem;
    line-height: 1.5;
    padding-bottom: 40px;
}

.mens-medical-diet-top .comment {
    font-size: 1.6rem;
    padding-bottom: 18px;
}

@media (max-width: 48rem) {
    .medical-diet {
        padding: 0;
    }

    .medical-diet-top {
        padding: 24px;
        background: none;
        background-color: #fff;
    }

    .mens-medical-diet-top {
        padding: 24px;
        background: none;
        background-color: #fff;
    }

    .medical-diet-top .copy {
        font-size: 2.4rem;
        text-align: center;
        padding-bottom: 13px;
    }

    .medical-diet-top .comment {
        text-align: center;
        font-size: 1.4rem;
    }

    .mens-medical-diet-top .copy {
        font-size: 2.4rem;
        text-align: center;
        padding-bottom: 13px;
    }

    .mens-medical-diet-top .comment {
        text-align: center;
        font-size: 1.4rem;
    }

    .medical-diet__dec {
        text-align: left;
    }

    .medical-diet-anxiety {
        margin-top: 48px;
        padding: 20px 18px 0;
    }

    .medical-diet-anxiety__list {
        min-height: 0;
        margin-top: 16px;
        padding-right: 0;
        padding-bottom: 77px;
        z-index: var(--z-underLayer);
        width: 100%;
    }

    .medical-diet-anxiety__list.mens {
        padding-bottom: 122px;
    }

    .medical-diet-anxiety__list li {
        font-size: 1.4rem;
        line-height: 1.71;
        z-index: var(--z-bottomLayer);
        padding: 5px 0 5px 16px;
    }

    .medical-diet-anxiety__list::after {
        bottom: 0;
        right: 0;
        background: url("../images/medical-diet-mask-sp.webp") no-repeat;
        width: 159px;
        height: 210px;
    }

    .medical-diet-anxiety__list.mens::after {
        background: url("../images/mens-medical-diet-mask-sp.webp") no-repeat;
        bottom: 0;
        right: 0;
        width: 146px;
        height: 210px;
    }

    .medical-diet-features .features-box {
        padding-right: 0;
    }

    .medical-diet__content .typo-h3 {
        width: 100%;
        margin-bottom: 16px;
        gap: 26px;
    }

    .medical-diet-features .c-cta_in {
        margin-top: 40px;
    }

    .methods-box__detail {
        grid-template-columns: repeat(1, 1fr);
        width: 100%;
        margin-top: 24px;
    }

    .methods-plan__detail {
        grid-template-columns: repeat(1, 1fr);
        width: 100%;
        margin-top: 24px;
    }

    .plan-items {
        width: 100%;
        padding: 8px 16px 16px;
    }

    .plan__title {
        font-size: 1.4rem;
        text-align: center;
    }

    .plan-txt-wrap {
        grid-template-columns: repeat(2, 1fr);
    }

    .plan-text-box {
        width: 100%;
        gap: 24px;
    }

    .plan-text-box dt {
        padding: 10px 0;
        line-height: 1.2;
        min-width: 0;
        width: 132px;
    }

    .medical-diet-machine-box .machine {
        width: 100%;
    }

    .case-item {
        padding: 16px 16px;
    }

    .case-img-box {
        width: 100%;
    }

    .case-img-box .period {
        font-size: 2rem;
    }

    .case-img-box .resurt {
        font-size: 3.2rem;
    }

    .case-img-box .period span {
        padding-right: 8px;
    }

    .case-ex-content {
        margin-top: 24px;
        justify-content: space-between;
        gap: 0;
    }

    .case-img-box .case-date-items .case-type01 {
        width: 70px;
    }

    .case-img-box .case-date-items .values {
        width: 80px;
        padding-right: 34px;
    }

    .medical-diet-spot {
        padding: 24px;
    }

    .medical-diet-spot .l-container {
        width: 100%;
    }

    .medical-diet-spot__content .top-style__item {
        width: 50%;
    }

    .medical-diet-spot__content .top-style__thumbnail {
        width: 150px;
    }

    .medical-diet-spot__content .l-flexbox {
        gap: 0;
    }

    .medical-diet-spot__content .sub {
        font-size: 1.4rem;
    }

    .medical-diet-spot__content .top-style__comment ul li {
        font-size: 1.2rem;
    }

    .medical-diet-flow__content {
        padding: 0;
    }

    .medical-diet-flow__content .l-flexbox.-xs\:direction-column {
        padding: 0 24px;
    }

    .medical-diet-flow__item:not(:first-of-type) {
        border-left: none;
        border-top: 1px solid #6fc3d3;
    }

    .medical-diet-flow__item:not(:first-of-type)::before {
        top: -16px;
        left: 50%;
        -webkit-transform: translateX(-50%) rotate(90deg);
        transform: translateX(-50%) rotate(90deg);
    }

    .medical-diet-flow__item {
        padding: 24px 0;
        align-items: center;
        justify-content: center;
    }

    .medical-diet-flow__item .image {
        height: 64px;
        width: 64px;
        margin-left: 0;
        margin-right: 0;
    }

    .medical-diet-flow__item .medical-diet-flow__ja {
        text-align: left;
        width: 150px;
    }

    .medical-diet-flow__img {
        margin: 0 auto;
    }

    .medical-diet-flow-box {
        gap: 0;
    }

    .ex-plan__title {
        margin: 0 auto 32px;
    }

    .methods__title {
        margin: 0 auto 24px;
    }

    .spot__title {
        margin: 0 auto 32px;
    }

    .medical-diet__more {
        margin-top: 24px;
    }

    .medical-diet-anxiety__copy {
        font-size: 2rem;
        letter-spacing: 0.15em;
    }

    .medical-diet-anxiety__copy.-mens {
        font-size: 1.8rem;
        letter-spacing: 0.05em;
    }

    .medical-diet-machine-box {
        margin: 32px 0 0;
    }

    .medical-diet-machine-box .machine.on_caps::before {
        font-size: 1.2rem;
    }

    .machine-copy {
        font-weight: 500;
    }

    .methods-plan .plan-case {
        text-align: center;
        font-size: 1.6rem;
    }
}


/*医療痩身マシン*/

.price-nav.diet-machine {
    max-width: 1068px;
}

.price-nav.diet-machine li {
    width: 340px;
}

.machine-content {
    margin-bottom: 20px;
}

.machine-content h2 {
    font-size: 3.2rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    text-align: center;
    color: #007092;
    border-bottom: 1px solid #007092;
    line-height: 1.5;
    width: fit-content;
    margin: 40px auto;
    padding: 24px;
    font-weight: 600;
}

.machine-content h2 span {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2rem;
    color: #6fc3d3;
    font-weight: 700;
    display: block;
}

.machine-title-wrap {
    text-align: center;
    width: fit-content;
    margin: 40px auto;
    font-weight: 600;
}

.machine-title-wrap h2 {
    margin: auto;
    padding: auto;
}

.machine-title-wrap p {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2rem;
    color: #6fc3d3;
    font-weight: 700;
    display: block;
    position: relative;
    top: 25px;
}

@media (max-width: 48rem) {
    .machine-title-wrap p {
        font-size: 1.2rem;
    }
}

.machine-img {
    text-align: center;
}

.diet-machine-info {
    display: flex;
    /* grid-template-columns: repeat(3, 1fr); */
    gap: 23px;
    margin: 20px auto 40px;
}

.diet-machine-items {
    border: 1px solid #e1e8ed;
}

.machine-content .diet-machine__ttl {
    background: linear-gradient(-90deg, #6fc3d3 0%, #007092 100%);
    padding: 12px 4px;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
    width: auto;
    font-family: auto;
}

.diet-machine__img img {
    padding: 16px 11px;
}

.diet-machine__txt {
    padding: 0 16px 16px;
}

.machine-content h3 {
    font-size: 2.4rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    color: #6fc3d3;
    border-bottom: 1px solid #6fc3d3;
    line-height: 1.5;
    width: fit-content;
    margin: 0 auto;
    padding: 24px 0;
    font-weight: 600;
}

.diet-machine-reason {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 23px;
    margin: 20px auto 40px;
}

.reason-items {
    border: 1px solid #6fc3d3;
    padding: 16px 13px 24px;
}

.reason-items .point {
    font-size: 1.6rem;
    font-weight: bold;
    color: #6fc3d3;
    line-height: 1.5;
    display: flex;
    align-items: center;
}

.reason-items .point .num {
    font-size: 6.4rem;
    font-family: "Playfair Display";
    font-weight: 600;
    word-break: auto-phrase;
    margin-right: 18px;
    position: relative;
}

.reason-items .point .num::before {
    content: "point";
    position: absolute;
    display: block;
    font-size: 1.8rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
}

.diet-machine-safty-box {
    border: 2px solid #007092;
}

.machine-content .safty-ttl {
    font-size: 2.4rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    color: #fff;
    text-align: center;
    background: #007092;
    padding: 12px;
    border-bottom: none;
    line-height: inherit;
    width: auto;
    margin: auto;
    font-weight: normal;
}

.safty-contents {
    display: flex;
    padding: 16px 0;
}

.safty-items {
    width: 50%;
    padding: 0 16px;
}

.machine-content .safty-items-bold {
    display: block;
    font-weight: bold;
    font-size: 16px;
    font-family: auto;
    color: #434b50;
    border-bottom: none;
    line-height: inherit;
    width: auto;
    padding: initial;
}

.safty-items:first-of-type {
    border-right: solid 1px #e1e8ed;
}

.diet-machine-mess {
    margin: 40px auto;
}

.diet-machine-mess .mess__content {
    width: 686px;
}

.mess__content h3 {
    font-size: 2.4rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-weight: 600;
    color: #6fc3d3;
    line-height: 1.5;
    border-bottom: 1px solid #6fc3d3;
    width: fit-content;
}

.mess__content p {
    line-height: 2.5;
    font-size: 1.4rem;
    padding-top: 24px;
}

.diet-machine-btn-box {
    border-top: 1px solid #e1e8ed;
    padding-top: 80px;
    display: flex;
    justify-content: space-between;
}

.diet-machine-btn a {
    width: 520px;
    height: 100px;
    color: #434b50;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    border: 1px solid #6fc3d3;
    box-shadow: 0px 0px 8px 0px #a1a1a140;
    background: #fff;
    gap: 16px;
}

.diet-machine-btn a:hover {
    background: #e6f4f6;
}

@media (max-width: 48rem) {
    .machine-content h2 {
        font-size: 2.4rem;
    }

    .machine-content h3 {
        font-size: 2rem;
        padding-bottom: 8px;
        text-align: center;
    }

    .diet-machine-info {
        grid-template-columns: repeat(1, 1fr);
    }

    .machine-content .diet-machine__ttl {
        width: auto;
    }

    .diet-machine-reason {
        grid-template-columns: repeat(1, 1fr);
    }

    .reason-items .point .num {
        font-size: 4rem;
    }

    .reason-items .point .num::before {
        font-size: 1.2rem;
    }

    .safty-contents {
        flex-direction: column;
    }

    .safty-items {
        width: 100%;
    }

    .safty-items:first-of-type {
        border-right: none;
        border-bottom: 1px solid #e1e8ed;
        padding-bottom: 16px;
        margin-bottom: 16px;
    }

    .machine-content .safty-items-bold {
        text-align: left;
    }

    .machine-content h2 span {
        font-size: 1.2rem;
    }

    .diet-machine-btn-box {
        padding-top: 40px;
        gap: 16px;
        flex-direction: column;
    }

    .diet-machine-btn a {
        width: 100%;
        height: 64px;
    }

    .mess__content h3 {
        font-size: 1.8rem;
    }
}


/*医療ダイエットプラン*/

.medical-plan-info {
    text-align: center;
}

.medical-plan-info .medical-plan__note {
    color: #007092;
}

.diet-plan-box {
    margin: 40px 0 80px;
    min-width: 1126px;
}

.diet-plan-content {
    border: 4px solid;
    border-image: linear-gradient(to bottom, #007092, #6fc3d3) 1;
    margin-bottom: 24px;
}

.diet-plan__head {
    background: linear-gradient(180deg, #007092, #6fc3d3);
    display: flex;
    line-height: 1;
    padding: 21px 32px;
    align-items: center;
}

.diet-plan__name {
    font-size: 3.2rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    color: #fff;
    width: 340px;
    border-right: 1px solid #fff;
    padding: 9px 40px 9px 0px;
}

.diet-plan_dec {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 24px;
    text-align: left;
    color: #fff;
    padding-left: 40px;
}

.diet-plan-items {
    display: flex;
    padding: 24px 28px;
}

.diet-plan__price {
    display: flex;
    width: 539px;
    justify-content: flex-start;
    align-items: center;
    flex-shrink: 0;
}

.diet-plan-content hr {
    color: #e1e8ed;
    width: 95%;
    margin: 0 auto;
}

.diet-plan-content .c-course__dt {
    margin: 0;
    width: 80px;
    height: 80px;
    flex-shrink: 0;
}

.diet-price-item {
    padding-left: 40px;
}

.diet-price-item span {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 14px;
    color: #007092;
}

.diet-price-item .price {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
    color: #007092;
}

.diet-price-item .price span {
    font-size: 1.6rem;
}

.diet-price-item .note {
    font-size: 1.2rem;
    color: #434b50;
    font-weight: 400;
    line-height: 1.5;
    display: block;
    padding-top: 16px;
}

.diet-plan__period {
    display: flex;
    width: 50%;
    justify-content: flex-start;
    align-items: center;
}

.diet-plan__period p {
    padding-left: 40px;
}

.diet-plan__period span {
    font-size: 1.6rem;
    font-weight: 700;
    color: #007092;
    line-height: 1.5;
}

.diet-plan__period .no-colr {
    font-weight: 400;
    color: #434b50;
    font-size: 1.4rem;
    line-height: 1.5;
    display: block;
}

.diet-plan-items .methods-plan__detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding-left: 40px;
    margin: 0;
    gap: 24px;
}

.diet-plan-items .plan__title {
    border-bottom: none;
    font-size: 1.6rem;
}

.diet-plan-items .plan-text-box {
    font-size: 1.4rem;
}

.diet-plan-items .plan-items {
    width: 400px;
}

.diet-plan-items .plan-items.-wd-xl {
    width: 450px;
}

.diet-plan-content .c-cta_in__btn {
    margin: 32px auto;
    text-align: center;
}

@media (max-width: 48rem) {
    .medical-plan-info .medical-plan__note {
        font-size: 1.2rem;
    }

    .diet-plan-box {
        width: 100%;
        min-width: auto;
    }

    .diet-plan__head {
        padding: 8px 24px 16px;
        flex-direction: column;
        justify-content: center;
    }

    .diet-plan__name {
        font-size: 2rem;
        border-right: none;
        position: relative;
        padding: 9px 0 24px;
        text-align: center;
        margin-bottom: 24px;
    }

    .diet-plan__name::after {
        content: "";
        position: absolute;
        width: 50px;
        height: 1px;
        background: #fff;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
    }

    .diet-plan_dec {
        font-size: 1.4rem;
        font-weight: 500;
        padding-left: 0;
    }

    .diet-plan-items {
        flex-direction: column;
    }

    .diet-plan__price {
        width: 100%;
    }

    .diet-plan__period {
        width: 100%;
    }

    .diet-plan-items {
        padding: 20px;
        gap: 16px;
    }

    .diet-price-item {
        padding-left: 16px;
    }

    .diet-plan__period p {
        padding: 16px;
    }

    .diet-price-item .price {
        font-size: 2rem;
    }

    .diet-price-item .price .-sm-small {
        font-size: 1.4rem;
    }

    .diet-price-item .note {
        font-size: 1rem;
        padding-top: 8px;
    }

    .diet-plan__period span {
        font-size: 1.4rem;
    }

    .diet-plan__period .no-colr {
        font-size: 1.2rem;
    }

    .diet-plan-items .methods-plan__detail {
        width: 100%;
        padding-left: 0;
        padding-top: 16px;
        gap: 16px;
    }

    .diet-plan-items .plan-items {
        width: 100%;
    }

    .diet-plan-items .plan__title {
        font-size: 1.4rem;
    }

    .diet-plan-items .plan-text-box {
        font-size: 1.2rem;
        gap: 16px;
    }

    .plan-txt-wrap p {
        font-size: 1.2rem;
        gap: 16px;
    }

    .diet-plan-items .plan-items.-wd-xl {
        width: 100%;
    }

    .diet-plan-content .c-course__dt {
        width: 64px;
        height: 64px;
    }

    .diet-plan-content .c-cta_in__btn {
        margin: 4px auto 24px;
    }

    .diet-plan-items .plan-text-box dd {
        padding: 10px 0;
        line-height: 1.2;
    }

    .diet-plan-h1.typo-pageTitleEn.-top-sectionTitleEn {
        font-size: 8rem;
    }

    .diet-plan-items p {
        font-size: 1.2rem;
    }
}


/* 関連コラムリンク */

.banner-link-wrap {
    border: 1px solid #6fc3d3;
    padding: 24px;
    margin: 40px 0 40px 0;
}

.banner-link-wrap p {
    color: var(--text_color, #434b50);
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    margin-bottom: 24px;
}

.banner-link-wrap li {
    position: relative;
    font-size: 1rem;
    font-weight: 500;
    padding: 5px 0 5px 16px;
    list-style-type: none;
    list-style: none;
    display: inline-block;
    width: 100%;
}

.banner-link-wrap li::before {
    content: "";
    position: absolute;
    width: 6px;
    border-radius: 50%;
    height: 6px;
    top: 11px;
    background-color: #6fc3d3;
    margin-left: -16px;
}

.banner-link-wrap li a {
    display: block;
    position: relative;
    display: inline-block;
    color: var(--main_blue, #6fc3d3);
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
}

@media (max-width: 48rem) {
    .banner-link-wrap li a {
        font-size: 14px;
        line-height: 1.43;
    }
}


/*--パンくずリスト--*/

#breadcrumbs {
    font-size: 1.2rem;
}

#breadcrumbs span span {
    margin: 0 0.6rem;
    word-break: auto-phrase;
}

#breadcrumbs span span:first-of-type {
    margin-left: 0;
}


/*--コラムアーカイブページ--*/

.h2-column-title {
    text-align: center;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 600;
    position: relative;
}

.h2-column-title::after {
    content: "";
    width: 40px;
    height: 1px;
    background: #6fc3d3;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.cat-menu-line {
    margin-top: 40px;
}

#column-menu {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin: 0 auto 80px;
}

#column-menu .pc_none {
    display: none;
}

#column-menu .prarent {
    width: 240px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px #e1e8ed solid;
    padding: 16px;
    margin: 0 12px;
}

#column-menu .prarent a {
    padding: 12px 10px;
    color: #434b50;
    display: flex;
    line-height: 1;
    align-items: center;
}

#column-menu .prarent {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 1.6rem;
}

#column-menu .prarent svg {
    width: 10px;
    height: 10px;
    transform: rotate(90deg);
    margin-left: 24px;
    flex-shrink: 0;
    fill: #434b50;
}

#column-menu .child-ul {
    display: none;
}

#column-menu .child-ul_inner {
    display: flex;
    gap: 16px;
    padding-bottom: 16px;
}

#column-menu .child-ul .child {
    width: 96px;
    font-size: 1.4rem;
    font-family: "Noto Sans JP", sans-serif;
    border: 1px solid #6fc3d3;
}

#column-menu .child-ul .child svg {
    fill: #6fc3d3;
}

#column-menu .child-ul .child:hover {
    background: #6fc3d3;
}

#column-menu .child-ul .child a {
    color: #6fc3d3;
    font-size: 1.4rem;
    line-height: 1;
}

#column-menu .child-ul .child:hover a {
    color: #fff;
}

#column-menu .child-ul .child a svg {
    transform: rotate(0deg);
    width: 10px;
    height: 10px;
    margin-left: 4px;
    flex-shrink: 0;
}

#column-menu .child-ul .child:hover .icon-arrowRight {
    fill: #fff;
}

@media (max-width: 66.25em) {
    #column-menu .pc_none {
        display: block;
    }

    #column-menu {
        flex-direction: column;
        margin: 16px;
        display: none;
    }

    #column-menu.show {
        display: block;
    }

    #column-menu .prarent {
        width: 100%;
        margin: 0 0 10px;
        padding: 0 16px 0;
    }

    #column-menu .prarent svg {
        transform: rotate(0deg);
        fill: #6fc3d3;
    }

    #column-menu .prarent a {
        padding: 24px 10px;
    }

    #column-menu .child-ul {
        display: block;
        width: 100%;
    }

    #column-menu .child-ul_inner {
        padding-bottom: 16px;
    }

    #column-menu .child-ul .child {
        width: 50%;
    }

    #column-menu .child-ul .child a {
        justify-content: center;
        padding: 12px;
    }

    .cat-menu-line {
        border: 1px solid #e1e8ed;
        margin-bottom: 24px;
        border-radius: 4px;
    }

    .sp-cat-title {
        font-weight: bold;
        padding: 10px 23px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .sp-cat-title .menu-icon {
        display: block;
    }

    .sp-cat-title .menu-icon.show {
        transform: rotate(180deg);
    }
}

time {
    margin-right: 10px;
}

.article-cat {
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 500;
    background: #fff;
    color: #6fc3d3;
    padding: 6px 16px;
    border-radius: 60px;
    display: inline-block;
    width: fit-content;
}

.article-cat_single {
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 500;
    background: #6fc3d3;
    color: #fff;
    padding: 10px 16px;
    border-radius: 60px;
    display: inline-block;
    width: fit-content;
}

.article-tag-box {
    border: 1px solid #6fc3d3;
    background: #f4fdff;
    margin: 40px auto 0;
    width: 74.6003552364%;
}

.article-tag-box p {
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    background: #6fc3d3;
    padding: 16px;
    line-height: 1;
    text-align: center;
}

.aticle-tag {
    padding: 24px 12px;
    display: flex;
    flex-wrap: wrap;
}

.aticle-tag li {
    margin: 0 12px;
    padding: 12px 16px;
    line-height: 1;
    border: 1px solid #6fc3d3;
    background: #fff;
}

.aticle-tag li:hover {
    opacity: 0.5;
}

@media (max-width: 66.25em) {
    .article-tag-box {
        width: 100%;
        margin: 64px auto 0;
    }

    .aticle-tag {
        padding: 16px 16px 0;
        gap: 16px;
        justify-content: center;
    }

    .aticle-tag li {
        font-size: 1.2rem;
        margin: 0 0 16px;
    }
}


/*--コラム記事詳細--*/

.column-side {
    border-top: none;
}

.column-side .article-cat_btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    padding-bottom: 24px;
    border-bottom: 1px solid #6fc3d3;
    margin-bottom: 24px;
}

.column-side .article-cat_btn a {
    background: #6fc3d3;
    line-height: 1;
    padding: 10px 16px;
    border-radius: 60px;
    color: #fff;
    word-break: keep-all;
}

.column-side .article-cat_btn a:hover {
    opacity: 0.5;
}

.news-title__meta {
    display: flex;
    align-items: center;
}

.column-article ul.aticle-tag {
    background: none;
    border: none;
    margin-top: 0;
    padding: 0;
    gap: 16px;
    margin-bottom: 24px;
}

.column-article ul.aticle-tag li {
    line-height: 1;
    margin: 0;
    color: #6fc3d3;
    font-size: 1.4rem;
    padding: 8px 16px;
}

.column-article ul.aticle-tag li:hover {
    opacity: 10;
}

.column-article ul.aticle-tag li::before {
    content: none;
}

.cat-linklist {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 24px auto;
    line-height: 1;
}

.cat-linklist svg {
    transform: rotate(180deg);
    margin-right: 18px;
}

.column-article .bottom .c-button.-primary {
    padding: 24px 40px;
}

@media (max-width: 66.25em) {
    .article-cat_single {
        font-size: 1.2rem;
    }

    .column-article ul.aticle-tag {
        justify-content: flex-start;
    }

    .column-article ul.aticle-tag li {
        font-size: 1.2rem;
    }

    .column-side {
        border-top: 1px solid #6fc3d3 !important;
        padding-top: 36px;
    }

    .column-article .bottom .c-button.-primary {
        padding: 20px 14px;
        width: 150px;
    }
}

.c-pagination .pagination {
    margin-top: 0;
}

@media ((max-width: 48em)) {
    .column__item {
        height: 220px;
    }

    .column__image img {
        height: 220px;
    }

    .column-content {
        padding-bottom: 48px;
    }

    .column {
        padding-bottom: 48px;
    }
}


/* fv button */

.central-button-fv-frame {
    display: flex;
    width: auto;
    padding: 12px 12px;
    justify-content: space-between;
    align-items: center;
    border-radius: 60px;
    background: linear-gradient(180deg, #6fc3d3 0%, #007092 100%);
}

.central-button-fv-typo {
    color: #fff;
    text-align: center;
    font-family: "Noto Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.central-button-icon-line {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

.central-button-align {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.central-button-fv-small-frame {
    display: flex;
    padding: 2px 4px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 40px;
    border: 3px solid #007092;
    background: #fff;
    display: inline-flex;
    height: auto;
}

.central-button-fv-small-typo {
    color: #007092;
    text-align: center;
    font-family: "Noto Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.central-button-fv-small-align {
    position: relative;
    top: 10px;
    z-index: 2;
}

.central-button-fv-typo-sp-none {
    display: block;
}

.central-button-fv-typo-pc-none {
    display: none;
}

@media only screen and (max-width: 769px) {
    .central-button-fv-typo-sp-none {
        display: none;
    }

    .central-button-fv-typo-pc-none {
        display: block;
    }
}

@media only screen and (max-width: 769px) {
    .central-button-fv-frame {
        display: inline-flex;
        padding: 11px 58px 9px 58px;
        justify-content: center;
        align-items: center;
        height: 60px;
    }

    .central-button-fv-typo {
        color: #fff;
        text-align: center;
        font-family: "Noto Sans";
        font-size: 16px;
        font-style: normal;
        font-weight: 600;
        line-height: 120%;
        /* 19.2px */
    }

    .central-button-fv-small-frame {
        display: inline-flex;
        height: 34px;
        padding: 2px 4px;
        justify-content: center;
        align-items: center;
        gap: 10px;
        flex-shrink: 0;
        border-radius: 40px;
        border: 3px solid #007092;
        background: #fff;
    }

    .central-button-fv-small-typo {
        color: #007092;
        text-align: center;
        font-family: "Noto Sans JP";
        font-size: 12px;
        font-style: normal;
        font-weight: 600;
        line-height: 40px;
        /* 285.714% */
    }

    .central-button-fv-small-align {
        position: relative;
        top: 6px;
        z-index: 2;
    }
}

.block-align-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 24px;
}

.central-button-align {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 16px;
}

.central-button-fv-small-align {
    position: relative;
    top: 10px;
    z-index: 2;
}

.central-button-fv-small-frame {
    display: flex;
    padding: 2px 4px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 40px;
    border: 3px solid #007092;
    background: #fff;
    display: inline-flex;
    height: auto;
}

.central-button-fv-small-typo {
    color: #007092;
    text-align: center;
    font-family: "Noto Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.central-button-fv-frame {
    display: flex;
    width: auto;
    padding: 12px 16px;
    justify-content: space-between;
    align-items: center;
    border-radius: 60px;
    background: linear-gradient(180deg, #6fc3d3 0%, #007092 100%);
}

.central-button-fv-typo-sp-none {
    display: block;
}

.central-button-fv-typo {
    color: #fff;
    text-align: center;
    font-family: "Noto Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.central-button-fv-typo-pc-none {
    display: none;
}

.central-button-fv-typo {
    color: #fff;
    text-align: center;
    font-family: "Noto Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.globalNav-drop-item-widht {
    width: -webkit-fill-available;
}

.header-Align {
    display: flex;
    align-items: center;
    -webkit-box-align: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
    gap: 48px;
}

@media (max-width: 74em) {
    .header-Align {
        gap: 16px;
    }
}

.l-main.-editing {
    padding-top: 112px;
}


/* web css update */

.l-header {
    padding: 0 48px;
    height: 120px;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
    width: 100%;
    z-index: var(--z-topLayer);
    position: fixed;
    top: 0;
    left: 0;
}

@media (max-width: 1330px) {
    .l-header {
        padding: 0 24px;
        height: 96px;
    }
}

.l-header.is-fixed {
    background-color: #fff;
}

@media (max-width: 1330px) {
    .l-header.is-fixed {
        padding: 0 0 0 24px;
        height: 48px;
    }
}

.l-header.is-active {
    background-color: #fff;
    padding: 0 0 0 24px;
    height: 48px;
}

.l-header__body {
    height: 100%;
}

.l-header__siteLogo {
    width: 191px;
}

@media (max-width: 1330px) {
    .l-header__siteLogo {
        width: 148px;
    }
}

@media (max-width: 1330px) {
    .l-header__menu {
        height: 0;
        display: none;
        padding: 16px 24px 32px;
        background-color: #fff;
        width: 100%;
        position: absolute;
        top: 48px;
        left: 0;
        -webkit-transition: all 0.2s ease;
        transition: all 0.2s ease;
    }
}

.l-header__menu.is-show {
    border-top: 1px solid #e1e8ed;
    height: auto;
    max-height: calc(100vh - 96px);
    display: block;
    overflow-y: scroll;
}

.l-main {
    position: relative;
}

.l-main.-editing {
    padding-top: 112px;
}

@media (max-width: 48em) {
    .l-main.-editing {
        padding-top: 88px;
    }
}

.l-main.-notfound {
    padding-top: 200px;
}

@media (max-width: 48em) {
    .l-main.-notfound {
        padding-top: 150px;
    }
}

.l-wrapper {
    width: 100%;
    overflow-x: hidden;
    height: 100%;
    position: relative;
    background-image: url("../images/common-bodyBg_leftBottom.svg"), url("../images/common-bodyBg_rightTop.svg");
    background-repeat: no-repeat, no-repeat;
    background-position: left -240px top 410px, right -600px top -480px;
    background-attachment: fixed;
    background-size: 640px 640px, 1200px 1200px;
}

@media (max-width: 48em) {
    .l-wrapper {
        background-position: left -180px top 600px, right -272px top -272px;
        background-size: 360px 360px, 640px 640px;
    }
}

.l-footer {
    padding: 120px 0 48px;
    position: relative;
}

@media (max-width: 48em) {
    .l-footer {
        padding: 32px 0 48px;
    }
}

.l-footer__top {
    height: 100%;
}

@media (max-width: 48em) {
    .l-footer__top {
        margin-left: -24px;
        width: 100vw;
        height: auto;
        padding: 32px 24px;
        border-bottom: 1px solid #e1e8ed;
    }
}

.l-footer__top.-has-boderLeft {
    padding-left: 48px;
    border-left: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .l-footer__top.-has-boderLeft {
        padding-left: 24px;
        border-left: none;
    }
}

.l-footer__siteName {
    margin-top: 32px;
    text-align: center;
    font-weight: 700;
}

.l-footer__address {
    margin-top: 16px;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.67;
    letter-spacing: normal;
    color: #8e979d;
    text-align: center;
}

.l-footer__number {
    color: #434b50;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1;
    position: relative;
    padding-left: 30px;
}

.l-footer__number::before {
    content: "";
    width: 12px;
    height: 16px;
    background-image: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="12.268" height="16" viewBox="0 0 12.268 16"><path d="M60.809.677c-1.1.713-1.315, 2.942-.9, 4.758a16.407, 16.407, 0, 0, 0, 2.169, 5.1, 17.039, 17.039, 0, 0, 0, 3.771, 4.06c1.489, 1.12, 3.612, 1.831, 4.712, 1.118a5.567, 5.567, 0, 0, 0, 1.419-1.522l-.591-.911-1.624-2.5c-.121-.186-.878-.016-1.262.2a3.661, 3.661, 0, 0, 0-1, 1.082c-.356.205-.654, 0-1.276-.286a7.579, 7.579, 0, 0, 1-2.309-2.436, 7.578, 7.578, 0, 0, 1-1.282-3.1c-.008-.685-.073-1.04.26-1.281a3.661, 3.661, 0, 0, 0, 1.395-.468c.356-.262.82-.884.7-1.07L63.368.913, 62.778, 0A5.568, 5.568, 0, 0, 0, 60.809.677Z" transform="translate(-59.712 0.001)" fill="%23434b50"/></svg>');
    background-size: 12px 16px;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.l-footer__calnder {
    margin-top: 40px;
}

@media (max-width: 48em) {
    .l-footer__calnder {
        margin-top: 24px;
    }
}

.l-footer__calnder .note {
    font-size: 1.2rem;
    line-height: 1.67;
    color: #8e979d;
    margin-top: 8px;
}

.l-footer__menu {
    margin-top: 48px;
    padding: 48px 0;
    border-top: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .l-footer__menu {
        margin-top: 0;
        padding: 8px 0 55px;
        border-top: none;
    }
}

.l-footer__menuContent:not(:first-of-type) {
    padding-left: 24px;
}

@media (max-width: 48em) {
    .l-footer__menuContent:not(:first-of-type) {
        border-left: none;
        padding-left: 0;
    }
}

.l-footer__navItem:not(:first-of-type) {
    margin-top: 35px;
}

@media (max-width: 48em) {
    .l-footer__navItem:not(:first-of-type) {
        margin-top: 0;
    }
}

.l-footer__navItem a {
    color: #434b50;
}

.l-footer__navItem a:hover,
.l-footer__navItem a:focus {
    opacity: 0.4;
}

.l-footer__navItem .parent {
    font-weight: 700;
    line-height: 1;
}

@media (max-width: 48em) {
    .l-footer__navItem .parent {
        line-height: 1;
        padding: 16px 0;
        position: relative;
        border-bottom: 1px solid #e1e8ed;
        width: 100%;
        display: block;
        font-weight: 700;
    }

    .l-footer__navItem .parent>* {
        width: 100%;
    }
}

@media (min-width: 49em) {
    .l-footer__navItem .border_b {
        border-bottom: 1px solid #e1e8ed;
        padding: 0 0 20px 0px;
    }

    .l-footer__navItem .border_t {
        border-top: 1px solid #e1e8ed;
        padding: 10px 0 0 25px;
        margin-left: -25px;
    }
}

.l-footer__navItem .children {
    margin-top: 12px;
}

@media (max-width: 48em) {
    .l-footer__navItem .children {
        margin-top: 0;
    }

    .l-footer__navItem .children li {
        display: flex;
        justify-content: space-between;
        border-bottom: 1px solid #e1e8ed;
        padding: 16px 0;
    }

    .l-footer__navItem .children li a {
        width: 100%;
    }
}

.l-footer__copyright {
    padding-top: 48px;
    text-align: center;
    border-top: 1px solid #e1e8ed;
}

@media (max-width: 48em) {
    .l-footer__copyright {
        padding-top: 104px;
        margin-left: -24px;
        width: 100vw;
    }
}

.l-footer__copyright small {
    font-size: 1.2rem;
    line-height: 1.67;
    color: #8e979d;
}


/* 開閉メニュー */

.toggle {
    display: none;
}

.l-footer__menu .pc_none {
    display: none;
}

@media (max-width: 48em) {
    .l-footer__menu .sp_none {
        display: none;
    }

    .l-footer__menu .pc_none {
        display: block;
    }

    .Label {
        display: block;
    }

    .Label,
    .children {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transform: translateZ(0);
        transition: all 0.3s;
    }

    .l-footer__navItem .parent.Label {
        padding: 16px 0;
        display: flex;
        flex-wrap: nowrap;
    }

    .l-footer__navItem .Label .c-button {
        transform: rotate(90deg);
        transition: 0.3s all;
    }

    .children {
        height: 0;
        overflow: hidden;
    }

    .toggle:checked+.Label+.children {
        height: auto;
        padding: 0 20px 20px;
        transition: all 0.3s;
    }

    .toggle:checked+.Label::before {
        transform: rotate(-45deg) !important;
    }

    .toggle:checked+.Label .c-button {
        transform: rotate(-90deg);
    }
}

.l-content {
    padding-top: 40px;
}

@media (max-width: 48em) {
    .l-content {
        padding-top: 24px;
    }
}

.l-content.-childPage {
    padding-top: 64px;
}

@media (max-width: 1330px) {
    .c-globalNav {
        width: 100%;
    }
}

.c-globalNav__item {
    font-size: 1.4rem;
    position: relative;
    line-height: 16px;
}

.c-globalNav__item:not(:first-child) {
    border-left: 1px solid #e1e8ed;
    padding-left: 24px;
}

@media (max-width: 1330px) {
    .c-globalNav__item:not(:first-child) {
        padding-left: 0;
        border-left: 0;
    }
}

.c-globalNav__item a {
    color: #434b50;
}

@media (max-width: 1330px) {
    .c-globalNav__item a {
        line-height: 1;
        padding: 16px 0;
        position: relative;
        border-bottom: 1px solid #e1e8ed;
        width: 100%;
        font-weight: 700;
    }

    .c-globalNav__item a>* {
        width: 100%;
    }
}

.c-globalNav__item a:hover,
.c-globalNav__item a:focus {
    opacity: 0.4;
}

.c-globalNav__item input {
    display: none;
}

@media (min-width: 1330px) {

    .globalNav_drop,
    .globalNav_drop2 {
        position: relative;
    }

    #globalNav_drop_item {
        display: none;
        position: absolute;
        top: 0;
        left: 18%;
        width: max-content;
        padding: 30px 0 0;
        transition: 0.3s all;
    }

    #globalNav_drop_item2 {
        display: none;
        position: absolute;
        top: 0;
        left: 22%;
        width: max-content;
        padding: 30px 0 0;
        transition: 0.3s all;
    }

    .globalNav_drop:hover #globalNav_drop_item {
        display: block;
    }

    .globalNav_drop2:hover #globalNav_drop_item2 {
        display: block;
    }

    #globalNav_drop_item li a,
    #globalNav_drop_item2 li a {
        background: #6fc3d3;
        color: #fff;
        padding: 15px 20px;
        border-bottom: 1px solid #e1e8ed;
    }

    #globalNav_drop_item li a:hover {
        opacity: 1;
        background: #d9eaee;
    }
}

@media (max-width: 1330px) {
    .c-globalNav__item label {
        line-height: 32px;
        padding: 16px 0;
        position: relative;
        border-bottom: 1px solid #e1e8ed;
        width: 100%;
        font-weight: 700;
    }

    #globalNav_drop_item,
    #globalNav_drop_item2 {
        visibility: hidden;
        transition: 0.3s all;
        width: 100%;
        opacity: 0;
        height: 0px;
    }

    #globalNav_drop_item li a,
    #globalNav_drop_item2 li a {
        border-bottom: 1px solid #fff;
        background: #d9eaee;
        padding-left: 20px;
        padding-right: 20px;
    }

    label .display-sm-show {
        transform: rotate(90deg);
        transition: 0.3s all;
    }

    #globalNav_drop:checked~label .display-sm-show,
    #globalNav_drop2:checked~label .display-sm-show {
        transform: rotate(-90deg);
    }

    #globalNav_drop:checked~#globalNav_drop_item,
    #globalNav_drop2:checked~#globalNav_drop_item2 {
        visibility: visible;
        height: auto;
        opacity: 1;
    }
}


/* グローバルナビ */

@media (min-width: 1330px) {
    .globalNav_drop3-widhtLarge {
        display: block;
        width: 25rem;
    }

    .globalNav_drop3-widhtSmal {
        width: 18rem;
    }

    .lable2part {
        background: #6fc3d3;
        color: #fff;
        padding: 15px 20px;
        border-bottom: 1px solid #e1e8ed;
    }

    .globalNav_drop3 {
        position: relative;
    }

    .globalNav_drop3 .globalNav_drop_item3 {
        display: none;
        position: absolute;
        top: 0;
        left: 100%;
        z-index: 999;
        border-right: 1px solid var(--b1, #6fc3d3);
        border-left: 1px solid var(--b1, #6fc3d3);
        border-top: 1px solid var(--b1, #6fc3d3);
    }

    .globalNav_drop3:hover .globalNav_drop_item3 {
        display: block;
    }

    .globalNav_drop3 .globalNav_drop_item3 li a {
        color: #6fc3d3 !important;
        /* padding: 0.9375rem 1.25rem !important; */
        border-bottom: 1px solid var(--b1, #6fc3d3) !important;
        background: var(--white, #fff) !important;
    }

    .globalNav_drop3 .globalNav_drop_item3 li a:hover {
        background: #d9eaee;
        color: #434b50;
    }
}

@media (max-width: 1330px) {
    .globalNav_drop3-widhtLarge {
        display: none;
    }

    .globalNav_drop3-widhtSmal {
        width: 100%;
    }
}

.nav-drop-icon-align {
    width: -webkit-fill-available;
    display: flex;
    justify-content: space-between;
}

.arrow-icon {
    width: 8px;
    height: 8px;
    border-top: 1.6px solid white;
    border-right: 1.6px solid white;
    transform: rotate(45deg);
    margin-left: 5px;
}


/**@media (max-width: 1180px) and (min-width: 1061px) {
  .central-button-fv-small-typo {
    font-size: 0.9rem;
  }
  .central-button-fv-typo {
    font-size: 1rem;
  }
  .c-globalNav__item {
    font-size: 1.2rem;
    position: relative;
    line-height: 16px;
  }
}
  **/

.top-reason__message img {
    width: auto;
}

.ex-plan__title {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 2rem;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    color: #007092;
    border-bottom: 1px solid #007092;
    width: fit-content;
    margin: 0 auto 24px;
}

.man-removal-wrap {
    width: auto;
    padding: 2.5rem;
    border-left: 1px solid var(--b1, #6fc3d3);
    border-right: 1px solid var(--b1, #6fc3d3);
    border-bottom: 1px solid var(--b1, #6fc3d3);
    background: #fff;
}

.man-removal-wrap h3 {
    font-family: "Noto Sans JP";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.125rem;
}


/* 施策ID: 34-1 ---------------------------*/

.access_card_wrapper {
    width: 100%;
    margin-inline: auto;
}

.adressBlockAlign {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 40px 0 60px 0;
}

.adressTitle {
    color: var(--main_blue, #6fc3d3);
    padding: 20px 0 0 0;
    font-family: "Noto Sans JP";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 68px;
}

@media (max-width: 48em) {
    .adressBlockAlign {
        display: flex;
        flex-direction: column;
        padding: 20px 0 20px 0;
    }

    .adressTitle {
        font-size: 15px;
        line-height: 150%;
    }
}

.adressCardWrap {
    height: auto;
    width: 20.4rem;
    display: flex;
    padding: 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    flex: 1 0 0;
    align-self: stretch;
    border: 1px solid var(--gray, #e1e8ed);
    background: #fff;
}

.adressCardWrap img {
    height: 160px;
    object-fit: cover;
    align-self: stretch;
}

.adressCardWrap h2 {
    margin-top: 20px;
    color: #e1e8ed;
    font-family: "Playfair Display", serif;
    font-size: 64px;
    font-style: normal;
    font-weight: 700;
    line-height: 68px;
}

.adressCardWrap p {
    min-height: 6rem;
    text-align: start;
    color: #434b50;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 350;
    line-height: 32px;
}

.adressDotSvg {
    margin: 10px;
}

@media (max-width: 48em) {
    .adressDotSvg {
        rotate: 90deg;
        margin: 5px;
    }

    .adressCardWrap {
        width: auto;
        display: flex;
        padding: 1rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        align-self: stretch;
        border: 1px solid var(--gray, #e1e8ed);
        background: #fff;
    }

    .adressCardWrap h2 {
        margin-top: 20px;
        line-height: 100%;
    }
}

@media (max-width: 66.25em) and (min-width: 48em) {
    .adressDotSvg {
        rotate: 90deg;
        margin: 0;
    }
}


/* 施策ID: 34-1 ---------------------------*/

.access_card_wrapper {
    width: 100%;
    margin-inline: auto;
}

.adressBlockAlign {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 40px 0 60px 0;
}

.adressTitle {
    color: var(--main_blue, #6fc3d3);
    font-family: "Noto Sans JP";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 68px;
}

@media (max-width: 48em) {
    .adressBlockAlign {
        display: flex;
        flex-direction: column;
        gap: 24px;
        padding: 20px 0 20px 0;
    }

    .adressTitle {
        font-size: 15px;
        line-height: 150%;
    }
}

.adressCardWrap {
    height: auto;
    width: 20.4rem;
    display: flex;
    padding: 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    flex: 1 0 0;
    align-self: stretch;
    border: 1px solid var(--gray, #e1e8ed);
    background: #fff;
}

.adressCardWrap img {
    height: 160px;
    object-fit: cover;
    align-self: stretch;
}

.adressCardWrap .adress_ttl {
    margin-top: 20px;
    color: #e1e8ed;
    font-family: "Playfair Display", serif;
    font-size: 64px;
    font-style: normal;
    font-weight: 700;
    line-height: 68px;
}

.adressCardWrap p {
    min-height: 6rem;
    text-align: start;
    color: #434b50;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 350;
    line-height: 32px;
}

.adressDotSvg {
    margin: 10px;
}

@media (max-width: 48em) {
    .adressDotSvg {
        rotate: 90deg;
        margin: 5px;
    }

    .adressCardWrap {
        width: auto;
        display: flex;
        padding: 1rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        align-self: stretch;
        border: 1px solid var(--gray, #e1e8ed);
        background: #fff;
    }

    .adressCardWrap .adress_ttl {
        margin-top: 20px;
        line-height: 100%;
    }
}

@media (max-width: 66.25em) and (min-width: 48em) {
    .adressDotSvg {
        rotate: 90deg;
        margin: 0;
    }
}


/* 施策ID：40-1（LP関連） */

.articleBlock .typo-subpageTitle-h1 {
    line-height: 1.67;
    font-size: 3.2rem;
    font-weight: 500;
    font-family: 游明朝体, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

@media (max-width: 48em) {
    .articleBlock .typo-subpageTitle-h1 {
        font-size: 2.4rem;
    }
}

.articleBlock .wp-block-heading-h2 {
    margin-top: 64px;
    font-size: 2.4rem;
    line-height: 1.7;
}

@media (max-width: 48em) {
    .articleBlock .wp-block-heading-h2 {
        margin-top: 48px;
        font-size: 2rem;
    }
}

.articleBlock .imageText {
    display: flex;
    justify-content: space-between;
    height: 100px;
}

.articleBlock .imageText .imageTitle {
    margin-top: 60px;
    position: absolute;
    width: 60%;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 2.5;
    letter-spacing: 2.88px;
}

.articleBlock .imageText img {
    max-width: 60%;
    height: auto;
    margin-left: 20%;
    margin-top: 24px;
}

@media (max-width: 48em) {
    .articleBlock .imageText {
        display: flex;
        flex-direction: column-reverse;
        align-items: flex-start;
        height: auto;
    }

    .articleBlock .imageText .imageTitle {
        margin-top: 20px;
        position: relative;
        width: 80%;
        font-family: "Noto Sans JP", sans-serif;
        font-style: normal;
        font-weight: 400;
    }

    .articleBlock .imageText img {
        max-width: 100%;
        height: auto;
        margin-left: 0;
    }
}

.articleBlock .wp-block-heading-h2::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    margin-top: 24px;
    background-color: #434b50;
}

.articleBlock .wp-block-heading-h3 {
    padding: 10px 16px;
    border-radius: 2px;
    background-color: #f2f7fa;
    font-weight: 700;
    margin-top: 48px;
}

.articleBlock .regText {
    margin-top: 24px;
}

.articleBlock .img {
    max-width: 60%;
    margin: 0 auto;
    padding-top: 24px;
}

@media (max-width: 48em) {
    .articleBlock .img {
        max-width: 100%;
    }
}

.articleBlock p {
    margin-top: 48px;
}

.lp_banner_area {
    padding: 30px;
    padding-bottom: 0;
}

@media (max-width: 48em) {
    .lp_banner_area {
        padding: 0;
    }
}

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

@media (max-width: 48em) {
    .mt-40 {
        margin-top: 24px;
    }
}

.c-cta_in .articleblock_mt_not {
    margin-top: 0;
}


/* 施策ID: 39-1 1枚目写真にクリニック名記載 */

.clinic_copy {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.8;
    padding-left: 32px;
}

.clinic_copy span {
    color: #6fc3d3;
    font-size: 4.4rem;
}

@media (max-width: 48em) {
    .clinic_copy {
        text-align: center;
        font-size: 1.4rem;
        padding-left: 0;
    }

    .clinic_copy span {
        color: #6fc3d3;
        font-size: 2.4rem;
    }
}


/* 施策ID：17-3 */

.picture-price-block {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 1.875rem;
}

.picture-price-block .img {
    width: 31%;
}

@media (max-width: 48em) {
    .picture-price-block {
        align-items: center;
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 0.82rem;
    }

    .picture-price-block .img {
        max-width: 400px;
        width: 100%;
    }
}

.priceTableWrap {
    display: block;
    width: 1126px;
    margin: 0 auto;
}

.pPriceTable {
    min-width: 10rem;
}

@media (max-width: 74em) and (min-width: 48rem) {
    .plan-txt-wrap {
        display: flex !important;
        flex-wrap: wrap;
        grid-template-columns: repeat(3, 1fr);
        gap: 0 !important;
    }

    .plan-text-box {
        display: flex;
        flex-direction: column;
        width: 220px !important;
    }

    .plan-text-box dt {
        font-weight: normal;
    }
}

@media (max-width: 48em) {
    .methods-plan__detail {
        display: flex;
        flex-direction: column;
    }
}

.machine_pic {
    width: 530px;
}

@media (max-width: 48em) {
    .machine_pic {
        width: auto;
    }
}


/* new */

.d-flex {
    display: flex;
    flex-direction: column;
}

.anker-block a {
    display: block;
}

.anker-block h4 {
    font-weight: bold;
    margin-top: 20px;
    margin-bottom: 10px;
    padding-bottom: 0px;
    border-bottom: solid 1px #6fc3d3;
    display: inline-block;
    padding: 0px 10px 1px;
}

.f-15 a {
    padding: 6px;
    border: solid 1px #6fc3d3;
    font-size: 11px;
    display: block;
    width: fit-content;
    margin: 10px auto;
}

.blogcard_thumbnail {
    flex: 0 0 150px;
    /* サムネ幅固定 */
    overflow: hidden;
    /* はみ出し防止 */
    padding: 20px;
}

.blogcard_thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.blogcard_content {
    flex: 1;
}

.blogcard {
    margin-bottom: 10px !important;
}

.blogcard_thumbnail {
    max-width: 130px;
    max-height: 130px;
    overflow: hidden;
}

.blogcard_thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.f-15.m-box {
    width: 100%;
    font-size: 12px;
    line-height: 23px;
    border-top: solid 1.5px #e1e8ee;
    padding: 20px 20px 0;
    text-align: justify;
}

#m-area {
    flex-wrap: wrap;
    gap: 22px;
}

img.w-80-img {
    max-width: 70%;
    margin: auto;
    display: block;
}

.mb-h3 {
    margin-bottom: 40px !important;
}

.c-button.-primary.-bg-white.border {
    background-color: #fff;
    color: #6fc3d3;
    border: none;
    border: solid 1px #6fc3d3;
    margin: 30px auto 0;
    display: block;
    width: fit-content;
}


/* body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #333;
  line-height: 1.6;
  margin: 20px;
} */

.table-container {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    min-width: 800px;
    border: 2px solid #4DB7D3;
}

th,
td {
    border: 1px solid #4DB7D3;
    padding: 12px 15px;
    text-align: center;
}


/* 左端の項目列 */

.category-header {
    background-color: #62C8E0;
    color: white;
    font-weight: bold;
    width: 15%;
}


/* 上部タイトル行 */

.main-header {
    background-color: #00688B;
    color: white;
    font-size: 1.1em;
    font-weight: bold;
    height: 50px;
}


/* 各セルの背景色 */

.data-cell {
    background-color: #E6F7FA;
    font-size: 0.95em;
}


/* 特定の強調 */

.em-text {
    font-size: 0.85em;
    display: block;
}

.sec-mg {
    margin: 20px 0 40px;
}

.info-card {
    max-width: 600px;
    margin: 40px auto 0;
    border: 2px solid #4DB7D3;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    overflow: hidden;
    border-radius: 4px;
    /* わずかに角を丸く */
}

.info-header {
    background-color: #62C8E0;
    color: white;
    padding: 15px;
    text-align: center;
    font-size: 1.25em;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.info-content {
    padding: 25px 20px;
    background-color: #ffffff;
}

.info-item {
    margin-bottom: 12px;
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    font-size: 1.1em;
    color: #333;
}

.info-item:last-child {
    margin-bottom: 0;
}

.label {
    font-weight: bold;
    white-space: nowrap;
    margin-right: 8px;
}

.value {
    line-height: 1.5;
}

.spec-table {
    width: 100%;
    max-width: 700px;
    margin: 20px auto;
    border-collapse: collapse;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    border: 2px solid #4DB7D3;
}

.spec-table th,
.spec-table td {
    border: 1px solid #4DB7D3;
    padding: 12px 15px;
    height: 40px;
}


/* 左側のラベル列 */

.spec-label {
    background-color: #62C8E0;
    color: white;
    width: 30%;
    text-align: center;
    font-weight: bold;
    font-size: 0.95em;
    white-space: nowrap;
}


/* 右側のデータ列 */

.spec-data {
    background-color: #ffffff;
    color: #333;
    text-align: center;
    font-size: 1em;
    font-weight: normal;
    /* 画像のテキストが太めなので合わせています */
}


/* 特殊文字（μsなど）の調整 */

.unit {
    font-family: sans-serif;
}

.safty-items02 {
    padding: 0 20px;
}

.diet-machine-safty-box.elite {
    margin: 30px 0 30px;
}

.sec-mg02 {
    margin: 80px 0 80px;
}

.price-table__th02 {
    font-size: 1.8rem;
    font-weight: 500;
    text-align: left;
    color: #6fc3d3;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

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

.w-100 {
    width: 100%;
}

.top-80-m {
    margin-top: 50px;
}

.select-box {
    padding: 33px;
    border: solid 1px #6fc3d3;
    background-color: #fff;
}

.price-table__td .detail02 {
    padding: 24px 0 0;
}

.price-table__td .detail03 {
    border-bottom: 1px solid #e1e8ed;
    padding-bottom: 24px;
}

.sp-in {
    display: none;
}

.machine-text {
    text-align: center;
    margin: 30px 0;
}

.safty-contents02 {
    padding: 20px 30px;
}

.safty-ttl.gradation {
    background: linear-gradient(-90deg, #6fc3d3 0%, #007092 100%);
}

.mb-30 {
    margin-bottom: 30px !important;
}

.exsample-box img {
    max-width: 80%;
    display: block;
    margin: 30px auto;
}

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

.safty-ttl.blue {
    background: #6ec3d3;
    padding: 10px 40px;
}

.diet-machine-safty-box.mb-30.blue {
    border: 2px solid #6ec3d3;
    width: fit-content;
    margin: 40px auto;
}

.safty-contents02 p {
    font-size: 18px;
    text-align: center;
}

.diet-machine-btn02 a {
    width: 460px;
    height: 100px;
    color: #434b50;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    border: 1px solid #6fc3d3;
    box-shadow: 0px 0px 8px 0px #a1a1a140;
    background: #fff;
    gap: 16px;
    margin: auto;
    border-radius: 90px;
}

/* 図 */

.comparison-box table {
    width: 100%;
    border-collapse: collapse;
    border: 2px solid #0089A7;
    table-layout: fixed;
}

.comparison-box th,
.comparison-box td {
    border: 1px solid #79D1E0;
    padding: 12px 8px;
    /* 上下左右の余白を少し詰めました */
    text-align: center;
    vertical-align: middle;
    word-break: break-all;
}

/* ヘッダー行 */
.comparison-box thead th {
    background-color: #00688B;
    color: white;
    font-size: 16px;
    padding: 15px 5px;
}

/* 左端の項目列を「なるべく狭く」設定 */
.comparison-box .category-column {
    background-color: #59C3D1;
    color: white;
    font-weight: bold;
    width: 100px;
    /* 固定幅で狭く設定 */
    font-size: 16px;
    padding: 10px 4px;
}

/* データセル */
.comparison-box .data-cell {
    background-color: #E0F7FA;
    font-size: 16px;
    line-height: 1.5;
}

.comparison-box .bg-white {
    background-color: #ffffff;
}

.comparison-box .highlight {
    font-weight: bold;
    margin-bottom: 3px;
}

.comparison-box .small-text {
    font-size: 16px;
    display: block;
    margin-top: 5px;
    line-height: 1.3;
}

/* 図　仕様 */
.specification-box table {
    width: fit-content;
    border-collapse: collapse;
    border: 2px solid #0389a7;
    margin: 0 auto;
}

.specification-box td {
    border: 1px solid #79d1e0;
    padding: 12px 15px;
    vertical-align: middle;
}

/* 左端の項目列（なるべく狭く固定） */
.specification-box .category-column {
    background-color: #59C3D1;
    color: white;
    font-weight: bold;
    max-width: 80px;
    white-space: nowrap;
    text-align: center;
    font-size: 16px;
}

/* 右側のデータセル */
.specification-box .data-cell {
    background-color: #e1f6fa;
    font-size: 16px;
    text-align: center;
    max-width: 200px;
}

.t-justify {
    text-align: justify !important;
}

.f-16 {
    font-size: 16px;
}

.diet-machine-info.caselist {
    grid-template-columns: unset;
    display: flex;
    justify-content: center;
}

.diet-machine-info.caselist .diet-machine-items {
    max-width: 50%;
}

.machine-content .diet-machine__ttl.caselist {
    width: 100%;
}

.t-center {
    text-align: center;
}

.diet-machine-items.result {
    max-width: 50%;
    margin: auto;
}

.lp_banner_area.caselist .blogcard {
    margin: 0 40px 40px;
}

.machine-content h2 span.f-22 {
    font-size: 22px;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    text-align: center;
    color: #007092;
}

.diet-machine-items a {
    color: #333;
}

.diet-machine-items:hover {
    opacity: 0.8;
}

.diet-machine-items {
    max-width: 33%;
}

.diet-machine-items.result.wi-100 {
    max-width: 100%;
    margin: auto;
}

.diet-machine-info.caselist.wi-100 {
    flex-direction: column;
}

.diet-machine-info.caselist.wi-100 .diet-machine-items {
    max-width: 100%;
}

.mess__content h2 {
    font-size: 2.4rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    color: #6fc3d3;
    line-height: 1.5;
    margin: 0 auto;
    font-weight: 600;
}

.column-box h2 {
    border-bottom: 1px solid #6fc3d3;
    width: fit-content;
    margin: auto;
}

@media (max-width: 48em) {
    .f-15.m-box {
        padding: 20px 0 0;
    }

    .sp-in {
        display: inline;
    }

    .price-section.-medicine {
        padding-bottom: 40px;
    }

    /* 外枠にスクロールを許可 */
    .specification-box .table-wrapper {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        /* iOS用スムーズスクロール */
        /* border: 2px solid #0089A7; */
    }

    .specification-box table {
        width: 100%;
        min-width: 500px;
        /* スマホでもこれ以下の幅にならないよう固定 */
        border-collapse: collapse;
    }

    .specification-box td {
        border: 1px solid #79D1E0;
        padding: 12px 15px;
        vertical-align: middle;
    }

    .specification-box .category-column {
        /* background-color: #59C3D1; */
        color: white;
        font-weight: bold;
        width: -1px;
        /* スマホで見やすい最低限の幅 */
        white-space: nowrap;
        text-align: center;
        font-size: 0.9em;
    }

    .specification-box .data-cell {
        background-color: #ffffff;
        font-size: 0.95em;
    }

    /* 外枠にスクロールを許可 */
    .comparison-box .table-wrapper {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        /* iOS用スムーズスクロール */
        border: 2px solid #0089A7;
    }

    .comparison-box table {
        width: 100%;
        min-width: 500px;
        /* スマホでもこれ以下の幅にならないよう固定 */
        border-collapse: collapse;
    }

    .comparison-box td {
        border: 1px solid #79D1E0;
        padding: 12px 15px;
        vertical-align: middle;
    }

    .comparison-box .category-column {
        background-color: #59C3D1;
        color: white;
        font-weight: bold;
        width: -1px;
        /* スマホで見やすい最低限の幅 */
        white-space: nowrap;
        text-align: center;
        font-size: 0.9em;
    }

    .comparison-box .data-cell {
        background-color: #ffffff;
        font-size: 0.95em;
    }

    .diet-machine-btn02 a {
        width: 100%;
        height: 80px;
    }

    .machine-content .safty-ttl {
        font-size: 2rem;
        line-height: 3rem;
    }

    .safty-contents02 p {
        font-size: 16px;
        text-align: center;
        line-height: 27px;
    }

    .comparison-box thead th {
        font-size: 0.95em;
    }

    .diet-machine-items.result {
        max-width: 100%;
    }

    .diet-machine-info.caselist {
        flex-direction: column;
    }

    .diet-machine-info.caselist .diet-machine-items {
        max-width: 100%;
    }

    .machine-content h2 {
        padding: 24px 0;
    }

    .machine-content h2 span.f-22 {
        font-size: 17px;
    }

    .mb-80 {
        margin-bottom: 40px;
    }

    .exsample-box img {
        max-width: 100%;
    }

    .safty-contents02 {
        padding: 20px 19px;
    }

    .diet-machine-items {
        max-width: 100%;
    }

    .diet-machine-info {
        flex-direction: column;
    }

    .diet-machine-btn02 span {
        line-height: 2.2rem;
    }

    h2.specification-box {
        font-size: 2rem;
    }

    .specification-box h2 {
        font-size: 2rem;
    }

    .machine-content h1 {
        font-size: 2.4rem;
    }

    .machine-content h1 {
        max-width: 100% !important;
    }

}




/* プラン */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    background-color: #f8fafc;
    font-family: "Helvetica Neue", Arial, sans-serif;
    /* padding: 20px; */
    margin: 0;
}

/* メインコンテナ（画面幅に合わせて綺麗に伸縮） */
.tab-container {
    width: 100%;
    max-width: 600px;
    margin: 40px auto;
}

/* --- 2. タブボタン部分 --- */
.tab-buttons {
    display: flex;
    border-bottom: 2px solid #e0e0e0;
}

.tab-btn {
    flex: 1;
    background: none;
    border: none;
    padding: 15px 10px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: background-color 0.2s;
}

.badge {
    font-size: 11px;
    color: #b89437;
    font-weight: bold;
    margin-bottom: 4px;
}

.badge::before {
    content: "🏆 ";
}

.title {
    font-size: 18px;
    font-weight: bold;
    color: #2b759a;
    margin-bottom: 4px;
}

.sub-title {
    font-size: 13px;
    color: #666;
}

/* アクティブなタブのスタイル */
.tab-btn.active {
    background-color: #f7fcfe;
}

.tab-btn.active::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #5bc0de;
}

/* --- 3. タブコンテンツの制御 --- */
.tab-content {
    display: none;
    padding: 24px 0;
}

.tab-content.active {
    display: block;
}

/* 機械の説明ボックス（グレー背景） */
.machine-box {
    background-color: #f4f8fa;
    border-radius: 12px;
    padding: 20px;
    border-left: 5px solid #5bc0de;
    margin-bottom: 24px;
}

.tags {
    margin-bottom: 12px;
}

.tag {
    background-color: #b89437;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 4px 10px;
    border-radius: 4px;
    margin-right: 8px;
    display: inline-block;
}

.machine-box p {
    margin: 0;
    line-height: 1.6;
    color: #333;
    font-size: 14px;
}

/* --- 4. 全身プラン：メインの白いカード --- */
.plan-section {
    width: 100%;
    margin-bottom: 30px;
}

.section-title {
    font-size: 20px;
    font-weight: bold;
    color: #333;
    padding-left: 12px;
    border-left: 4px solid #5bc0de;
    margin-bottom: 20px;
}

.plan-card {
    background-color: #ffffff;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    padding: 24px;
    border: 1px solid #edf2f7;
    width: 100%;
}

/* 上部エリア（横並び） */
.plan-header {
    display: flex;
    gap: 20px;
    margin-bottom: 24px;
}

.plan-image-placeholder {
    width: 140px;
    height: 140px;
    background-color: #eef2f5;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 15px;
    flex-shrink: 0;
}

.placeholder-text {
    font-size: 13px;
    color: #2b759a;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}

.plan-info {
    flex: 1;
}

.plan-name {
    font-size: 22px;
    font-weight: bold;
    color: #2b759a;
    margin: 0 0 12px 0;
}

.plan-description {
    font-size: 13px;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* --- 5. テーブル（横スクロール安全対策版） --- */
.table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 16px;
    /* border: 1px solid #5bc0de; */
    border-radius: 4px;
}

/* スクロールバーのデザイン調整 */
.table-wrapper::-webkit-scrollbar {
    height: 8px;
}

.table-wrapper::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.table-wrapper::-webkit-scrollbar-thumb {
    background: #bcdceb;
    border-radius: 4px;
}

.price-table {
    width: 100%;
    min-width: 500px;
    /* 横スクロールを発生させるトリガー幅 */
    border-collapse: collapse;
}

.col-num {
    width: 20%;
}

.col-total {
    width: 50%;
}

.col-month {
    width: 30%;
}

.price-table th {
    font-size: 13px;
    color: #666;
    font-weight: normal;
    padding: 12px 5px;
    background-color: #f7fbfc;
    border: 1px solid #dcecf2;
}

.price-table td {
    padding: 14px 5px;
    border: 1px solid #dcecf2;
    text-align: center;
    vertical-align: middle;
    background-color: #fff;
}

.count-cell span {
    font-size: 13px;
    font-weight: bold;
    color: #2b759a;
    border: 1px solid #bcdceb;
    padding: 3px 10px;
    border-radius: 4px;
    background-color: #f4f9fc;
    display: inline-block;
}

.total-price {
    font-size: 20px;
    font-weight: bold;
    color: #2b759a;
    white-space: nowrap;
}

.total-price span {
    font-size: 12px;
    font-weight: normal;
    margin-left: 1px;
}

.monthly-price {
    font-size: 14px;
    color: #555;
    white-space: nowrap;
}

.notes {
    font-size: 11px;
    color: #888;
    line-height: 1.5;
}

/* --- 6. 部位別：Lパーツカード --- */
.part-card {
    background-color: #ffffff;
    border-radius: 16px;
    border: 1px solid #edf2f7;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.part-image-box {
    width: 80px;
    height: 80px;
    background-color: #f5f8fa;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.diamond-icon {
    width: 30px;
    height: 30px;
    background-color: #4a90e2;
    transform: rotate(45deg);
    border-radius: 4px;
}

.part-info {
    flex: 1;
}

.part-name {
    font-size: 20px;
    font-weight: bold;
    color: #2b759a;
    margin: 0 0 8px 0;
}

.part-targets {
    font-size: 13px;
    color: #666;
    margin: 0 0 12px 0;
}

.part-price {
    font-size: 15px;
    color: #333;
    margin: 0;
    font-weight: bold;
}

.price-num {
    font-size: 18px;
    color: #2b759a;
}

/* シミュレーター全体の器 */
.simulator-container {
    width: 100%;
    max-width: 450px;
    margin: 20px auto;
    background-color: #ffffff;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    border: 1px solid #edf2f7;
    overflow: hidden;
    /* 下部の青緑エリアが角丸からはみ出さないように */
}

/* --- 上部：部位選択エリア --- */
.selection-box {
    padding: 20px;
}

.main-title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    text-align: center;
    margin: 0 0 4px 0;
}

.sub-title {
    font-size: 12px;
    color: #666;
    text-align: center;
    margin: 0 0 20px 0;
}

/* カテゴリ（顔、VIOなど）のブロック */
.category-section {
    margin-bottom: 16px;
}

.category-name {
    font-size: 13px;
    font-weight: bold;
    color: #2b759a;
    margin: 0 0 8px 0;
    border-bottom: 1px solid #edf2f7;
    padding-bottom: 4px;
}

/* チェックボックスの並び */
.checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* チェックボックスをおしゃれなボタン風にするスタイル */
.checkbox-label {
    display: inline-flex;
    align-items: center;
    background-color: #f8fafc;
    border: 1px solid #dcdcf2;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 12px;
    color: #444;
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease;
}

/* 実際のチェックボックス自体は隠す */
.checkbox-label input {
    margin-right: 6px;
    cursor: pointer;
}

/* チェックが入ったときのスタイル（ほんのり水色に） */
.checkbox-label.checked {
    background-color: #e6f4ea;
    border-color: #5bc0de;
    color: #2b759a;
    font-weight: bold;
}

/* --- 下部：計算結果表示エリア（青緑） --- */
.result-box {
    background-color: #6da3b6;
    /* 画像に合わせた綺麗な青緑 */
    color: #ffffff;
    padding: 30px 20px;
    text-align: center;
}

.result-label {
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: 4px;
    opacity: 0.9;
}

/* 合計ポイントの数字 */
.total-pt-display {
    font-size: 42px;
    font-weight: bold;
    margin-bottom: 2px;
    line-height: 1;
}

.total-pt-display span {
    font-size: 26px;
    font-weight: normal;
    margin-left: 2px;
}

/* おすすめプラン */
.recommended-plan-title {
    font-size: 12px;
    margin-top: 15px;
    margin-bottom: 4px;
    opacity: 0.9;
}

.recommended-plan-name {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 15px;
}

/* 料金目安 */
.price-display-title {
    font-size: 11px;
    opacity: 0.9;
    margin-bottom: 2px;
}

.price-display-val {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 24px;
}

/* コンシェルジュボタン */
.cta-button {
    display: block;
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
    background-color: #ffffff;
    color: #2b759a;
    text-decoration: none;
    font-size: 13px;
    font-weight: bold;
    padding: 12px 20px;
    border-radius: 25px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s;
}

.cta-button:hover {
    transform: translateY(-2px);
}

.price-table.point {
    width: 100%;
    min-width: 360px;
    border-collapse: collapse;
}






/* slide */
/* スライドショー全体のコンテナ */
.slider-container {
    position: relative;
    width: 100%;
    max-width: 800px;
    /* スライドの最大横幅 */
    height: auto;
    /* スライドの高さ */
    overflow: hidden;
    /* border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); */
}

/* スライドのラッパー（横並びにする） */
.slider-wrapper {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease-in-out;
    /* 切り替えのスムーズさ */
}

/* 各スライド */
.slide {
    min-width: 100%;
    height: 100%;
    object-fit: cover;
    /* 画像の比率を保ったまま一杯に広げる */
}

/* 左右のナビゲーションボタン */
.prev-btn,
.next-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(255, 255, 255, 0.7);
    border: none;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s;
    z-index: 10;
}

.prev-btn:hover,
.next-btn:hover {
    background-color: rgba(255, 255, 255, 0.9);
}

.prev-btn {
    left: 15px;
}

.next-btn {
    right: 15px;
}

/* 下部のドット（インジケーター） */
.indicator-container {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

.dot {
    width: 12px;
    height: 12px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.3s;
}

.dot.active {
    background-color: rgba(255, 255, 255, 1);
    transform: scale(1.2);
}

.slide-area {
    display: flex;
    justify-content: center;
    align-items: center;
    /* min-height: 100vh; */

}

/* 1組のセット（親枠）をスマホの画面幅ぴったり（100%）にする */
.slide-pair {
    min-width: 100%;
    display: flex;
    /* 中の画像2枚を横並びにする */
    justify-content: space-between;
    /* 2枚の画像を左右の端に寄せる */

}

/* その中にある画像2枚のサイズ指定 */
.slide-pair img {
    width: 48%;
    /* 画面幅の「48%」のサイズに自動縮小（2枚で96%） */
    height: auto;
    /* 縦横比を崩さない */
    object-fit: contain;
    /* 縦長の画像でも、縦も横も絶対に見切れないように収める */
}



.specification-box h2 {
    font-size: 2.4rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    color: #6fc3d3;
    border-bottom: 1px solid #6fc3d3;
    line-height: 1.5;
    width: fit-content;
    margin: 0 auto;
    padding: 24px 0;
    font-weight: 600;
}

.m-none {
    margin: unset !important;
}

h2.specification-box {
    font-size: 2.4rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    color: #6fc3d3;
    border-bottom: 1px solid #6fc3d3;
    line-height: 1.5;
    width: fit-content;
    margin: 0 auto;
    padding: 24px 0;
    font-weight: 600;
}

.machine-content h1 {
    font-size: 3.2rem;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    text-align: center;
    color: #007092;
    border-bottom: 1px solid #007092;
    line-height: 1.5;
    max-width: fit-content;
    margin: 40px auto;
    padding: 24px 0;
    font-weight: 600;
}

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

.diet-machine__txt {
    padding: 16px;
}