@charset "utf-8";


/* ────────────── style.css ────────────── */

/* A Modern CSS Reset */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

ul[role=list],
ol[role=list] {
    list-style: none;
}

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

html {
    scroll-behavior: auto;
}

body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
    font-family: "Noto Serif JP", sans-serif;
}

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

img,
picture {
    max-width: 100%;
    display: block;
}

input,
button,
textarea,
select {
    font: inherit;
}

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

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/*
 * HTML
 * -------------------------------------------------------------------
 */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #1E2533;
}

body.-fixed {
    overflow: hidden;
}

a {
    text-decoration: none;
    outline: none;
    transition: all 0.3s;
    color: #1E2533;
}

a:hover {
    color: #4C6794;
    opacity: 0.8;
}

@media screen and (max-width: 640px) {
    a[href*="tel:"] {
        pointer-events: auto;
    }
}

@media only screen and (max-width: 660px) {
    br.pc {
        display: none;
    }
}

br.sp {
    display: none;
}

@media only screen and (max-width: 660px) {
    br.sp {
        display: block;
    }
}

input::-moz-placeholder {
    color: #A5A8AD;
}

input::placeholder {
    color: #A5A8AD;
}

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
    /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
    background-color: #eee;
    clip: auto !important;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}

body {
    background: none;
}

.header {
    height: auto;
}

.footer {
    margin: 0;
}

input[type=submit] {
    border: none;
}

@media only screen and (max-width: 834px) {

    table th,
    table td {
        font-size: inherit;
    }
}

.scrollable-table th,
.scrollable-table td {
    white-space: normal;
}

.scroll-hint.is-right-scrollable,
.scroll-hint.is-right-scrollable.is-left-scrollable,
.scroll-hint.is-left-scrollable {
    background: none;
}

.fz-15px {
    font-size: inherit;
}

@media only screen and (max-width: 660px) {
    .fz-15px {
        font-size: 0.875rem;
    }
}


.info {
    background: none;
    border: none;
    border-radius: 0;
    color: #1E2533;
    padding: 0;
}

input[type=text],
input[type=password],
input[type=date],
input[type=datetime],
input[type=email],
input[type=number],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
textarea,
select,
.search-edit {
    border: none;
    border-radius: 0;
    padding: 0;
}

input[type=text]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=datetime]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=time]:focus,
input[type=url]:focus,
textarea:focus,
select:focus,
.search-edit:focus {
    outline: none;
}

.wpcf7-not-valid-tip {
    position: absolute;
}

.wpcf7-list-item:first-child {
    margin-left: 0;
}

.wpcf7-spinner {
    display: none;
}

.topCellRevival__wrap,
.topProblem__wrap,
.keyvisual__wrap,
.faqBlock__wrap,
.featuresBlock__wrap,
.flowBlock__wrap,
.cta__wrap,
.disease__wrap,
.pageContents__wrap,
.pageTitle__wrap,
.footer__wrap {
    max-width: 78rem;
    margin: 0 auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.disease,
.footer {
    padding: 7.5rem 0 5rem;
}

@media only screen and (max-width: 660px) {

    .disease,
    .footer {
        padding: 3.75rem 0 2.5rem;
    }
}

.topProblem {
    padding: 10rem 0;
}

@media only screen and (max-width: 660px) {
    .topProblem {
        padding: 5rem 0;
    }
}

.topCellRevival {
    padding: 10rem 0 5rem;
}

@media only screen and (max-width: 660px) {
    .topCellRevival {
        padding: 5rem 0 2.5rem;
    }
}

.featuresBlock,
.flowBlock,
.cta,
.pageContents__section {
    padding: 5rem 0;
}

@media only screen and (max-width: 660px) {

    .featuresBlock,
    .flowBlock,
    .cta,
    .pageContents__section {
        padding: 2.5rem 0;
    }
}

.faqBlock {
    padding: 5rem 0 10rem;
}

@media only screen and (max-width: 660px) {
    .faqBlock {
        padding: 2.5rem 0 5rem;
    }
}

.content3col__itemBox p,
.content3col__itemCheck,
.content3col__itemText,
.content3col__itemTitle,
.content3col__title,
.content2col__text,
.content2col__text--mt,
.content2col__item h4,
.content2col__title,
.content1col__contents p,
.content1col__title,
.role__text,
.role__itemTitle,
.trouble__titleText,
.flexible__text {
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
}

.flexible__3col,
.flexible__2col,
.flexible__1col,
.flexible__img,
.flexible__role,
.flexible__editor,
.flexible__orderList,
.flexible__trouble,
.flexible__checkList,
.flexible__text,
.flexible__title {
    margin-top: 4rem;
}

@media only screen and (max-width: 660px) {

    .flexible__3col,
    .flexible__2col,
    .flexible__1col,
    .flexible__img,
    .flexible__role,
    .flexible__editor,
    .flexible__orderList,
    .flexible__trouble,
    .flexible__checkList,
    .flexible__text,
    .flexible__title {
        margin-top: 3rem;
    }
}

.pageContainer {
    /* overflow: hidden; */
    transition: all 0.5s ease;
}

.header {
    width: 100%;
    padding: 1.4375rem 2rem 1.4375rem 3rem;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 555;
}

@media only screen and (max-width: 1320px) {
    .header {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

@media only screen and (max-width: 660px) {
    .header {
        padding: 1rem 1.25rem 0.5625rem 1.5rem;
    }
}

.header__wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header__logo img {
    height: auto;
}

.header__logoLink p {
    font-size: 0.6875rem;
    font-weight: normal;
    margin-bottom: 0.9375rem;
}

@media only screen and (max-width: 660px) {
    .header__logoLink p {
        font-size: 0.5625rem;
        line-height: 1.5;
        letter-spacing: 0;
        width: 7.6875rem;
        margin-bottom: 0.625rem;
    }
}

.header__siteName {
    display: block;
    width: 13.75rem;
}

@media only screen and (max-width: 660px) {
    .header__siteName {
        width: 7.6875rem;
    }
}

@media only screen and (max-width: 1084px) {
    .header__utility {
        margin-left: auto;
    }
}

.header__utilityUpper {
    display: flex;
    align-items: center;
    margin-bottom: 0.75rem;
}

@media only screen and (max-width: 1084px) {
    .header__utilityUpper {
        display: block;
        margin-bottom: 0;
        margin-right: 1.375rem;
    }
}

.header__linkbtn {
    background: #fff;
    border: 1px solid #D1D9E6;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    display: block;
    padding: 0.5rem 1.5rem 0.5rem 1rem;
    position: relative;
}

.header__linkbtn:before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    background: url(../img/icon_arrow-right_blue.svg);
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
}

.header__contact {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

@media only screen and (max-width: 1084px) {
    .header__contact {
        display: none;
    }
}

.header__contactTitle {
    font-size: 0.8125rem;
    margin-right: 1rem;
}

.header__contactItem {
    display: flex;
}

.header__contactLink {
    display: block;
    width: 2rem;
    margin-left: 0.625rem;
}

.header__contactLink:first-child {
    margin: 0;
}

.language {
    padding: 0.625rem 1.75rem 0.625rem 1rem;
    position: relative;
    cursor: pointer;
}

@media only screen and (max-width: 1084px) {
    .language {
        width: 3.75rem;
        margin-left: auto;
    }
}

.language__item {
    font-size: 0.75rem;
}

.language__item:after {
    content: "";
    width: 0.625rem;
    height: 0.625rem;
    background: url(../images/icon/icon_arrow-under-blue.svg);
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
}

.language__list {
    background: #fff;
    border-radius: 0.25rem;
    box-shadow: 0 4px 8px rgba(30, 37, 51, 0.1);
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    visibility: hidden;
}

.language__listItem {
    font-size: 0.75rem;
}

.language__listItem:first-child a:after {
    content: "";
    width: 0.625rem;
    height: 0.625rem;
    background: url(../images/icon/icon_arrow-under-blue.svg);
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
}

.language__listItem a {
    display: inline-block;
    padding: 0.625rem 1.75rem 0.625rem 1rem;
    position: relative;
}

.gNav {
    margin-left: auto;
}

@media only screen and (max-width: 1084px) {
    .gNav {
        display: none;
    }
}

.gNav__list {
    display: flex;
    align-items: center;
}

.gNav__listItem {
    margin-right: 2.5rem;
}

.gNav__listItem:hover {
    color: #4C6794;
}

.gNav__listText {
    cursor: pointer;
}

@media only screen and (max-width: 834px) {
    .footer {
        padding: 3.75rem 0 2.5rem;
    }
}

@media only screen and (max-width: 660px) {
    .footer {
        padding-bottom: 6rem;
    }
}

.footer__content {
    display: flex;
    flex-wrap: wrap;
}

@media only screen and (max-width: 834px) {
    .footer__content {
        display: block;
    }
}

.footer__logo,
.footer__info,
.footer__utility {
    width: 33.333%;
    padding-right: 1.875rem;
}

@media only screen and (max-width: 1084px) {
    .footer__logo {
        width: 17.5rem;
    }
}

@media only screen and (max-width: 834px) {
    .footer__logo {
        width: 100%;
        margin-bottom: 3rem;
    }
}

.footer__info {
    padding-right: 0;
}

@media only screen and (max-width: 1084px) {
    .footer__info {
        width: calc(100% - 30rem);
    }
}

@media only screen and (max-width: 834px) {
    .footer__info {
        width: 100%;
        margin-bottom: 2.5rem;
    }
}

@media only screen and (max-width: 1084px) {
    .footer__utility {
        width: 12.5rem;
        padding-right: 0;
    }
}

@media only screen and (max-width: 834px) {
    .footer__utility {
        width: 100%;
        margin-bottom: 2.5rem;
    }
}

.footer__logoLink {
    display: block;
    width: 13.75rem;
}

.footer__address,
.info__address {
    font-size: 0.9375rem;
    line-height: 1.9;
}

@media only screen and (max-width: 660px) {

    .footer__address,
    .info__address {
        font-size: 0.875rem;
    }
}

.footer__text,
.info__text {
    font-size: 0.875rem;
    line-height: 2;
}

@media only screen and (max-width: 660px) {

    .footer__text,
    .info__text {
        font-size: 0.8125rem;
    }
}

.footer__text--small {
    font-size: 0.8125rem;
    line-height: 2;
    letter-spacing: 0.04em;
    text-indent: -1.3em;
    padding-top: 3px;
    padding-left: 1.5em;
}

@media only screen and (max-width: 660px) {
    .footer__text--small {
        font-size: 0.75rem;
    }
}

.footer__tel,
.info__tel {
    display: flex;
    margin-top: 1.25rem;
}

.footer__icon,
.info__icon {
    width: 1.5rem;
    margin-right: 0.5rem;
}

.footer__telNum,
.info__telNum {
    font-size: 1.5rem;
}

.footer__linkItem {
    margin-bottom: 1rem;
}

.footer__utility {
    padding-left: 5rem;
}

@media only screen and (max-width: 834px) {
    .footer__utility {
        padding: 0;
    }
}

.footer__link {
    display: flex;
    align-items: center;
}

.footer__linkIcon {
    width: 1.5rem;
}

.footer__linkText {
    font-size: 0.8125rem;
    padding-left: 0.75rem;
}

.footer__pageLink {
    margin: 2.875rem 0;
}

@media only screen and (max-width: 834px) {
    .footer__pageLink {
        margin: 0 0 2.5rem;
    }
}

.footer__nav {
    display: flex;
    justify-content: flex-end;
}

@media only screen and (max-width: 834px) {
    .footer__nav {
        display: block;
    }
}

.footer__navItem {
    margin-right: 4rem;
}

@media only screen and (max-width: 834px) {
    .footer__navItem {
        margin: 0;
    }
}

.footer__navItem:last-child {
    margin-right: 0;
}

@media only screen and (max-width: 834px) {
    .footer__navItem:last-child {
        margin-top: 1.25rem;
    }
}

.footer__navLink {
    font-size: 0.875rem;
    position: relative;
    display: inline-block;
    transition: none;
}

.footer__navLink:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #1E2533;
    position: absolute;
    left: 0;
    bottom: -5px;
    transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transform: scale(0, 1);
    transform-origin: right top;
}

.footer__navLink:hover {
    color: #1E2533;
    opacity: 1;
}

.footer__navLink:hover:after {
    transform: scale(1, 1);
    transform-origin: left top;
}

.footer__copy {
    font-family: "Montserrat", sans-serif;
    font-size: 0.6875rem;
    font-weight: 300;
    color: #787C85;
}

.pageTitle {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 51.09%, #fff 100%), url(../img/heading_bg_01.png) top left/100% auto no-repeat;
    /* padding: 12.9375rem 0 5rem; */
    padding: 7.9375rem 0 5rem;
}


.pageTitle:has(.columnTitle) {
    padding: 7.9375rem 0 8rem;
}


@media only screen and (max-width: 1084px) {

    .pageTitle,
    .pageTitle:has(.columnTitle) {
        padding: 6.9375rem 0 3rem;
    }
}

@media only screen and (max-width: 660px) {

    .pageTitle,
    .pageTitle:has(.columnTitle) {
        padding: 5.875rem 0 2rem;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 51.09%, #fff 100%), url(../img/heading_bg_01-sp.png) top left/100% auto no-repeat;
    }
}


.columnTitle {
    position: relative;
    background: url(../img/fv-all_02.webp) no-repeat center / cover;
    /* background: url(../img/columnTitle_bg.jpg) no-repeat center / cover; */
    /* background: url(../img/columnTitle_bg.webp) no-repeat center / cover; */
    height: fit-content;
}

.columnTitle::before {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background-color: #ffffff;
    opacity: 0.5;
    z-index: 1;
}

.columnTitle .pageTitle__text {
    position: relative;
    z-index: 3;
    max-width: 78rem;
    margin: 0 auto;
    padding: max(7vw, 60px) 1.5rem;
}

.columnTitle .pageTitle__jp {
    font-size: 32px;
}

.pageTitle__en {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    color: #A8B8D1;
    display: block;
    letter-spacing: 1px;
    padding-top: 1px;
    padding-bottom: 2.0625rem;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    display: block;
}

@media only screen and (max-width: 660px) {
    .columnTitle .pageTitle__jp {
        font-size: 26px;
    }

    .pageTitle__en {
        font-size: 0.875rem;
        padding-bottom: 1.5rem;
    }
}

.pageTitle__jp {
    font-size: 1.75rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.4;
    letter-spacing: 1px;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    display: block;
}

@media only screen and (max-width: 660px) {
    .pageTitle__jp {
        font-size: 1.375rem;
    }
}

.pageContents__head,
.pageContents__contact {
    padding: 2.5rem 0 5rem;
    position: relative;
}

@media only screen and (max-width: 660px) {

    .pageContents__head,
    .pageContents__contact {
        padding-bottom: 2.5rem;
    }
}

.pageContents__wrap p {
    line-height: 2;
}

.pageContents__wrap p+p {
    margin-top: 2em;
}

.pageContents__wrap p+.pageContents__att {
    margin-top: 3.75rem;
}

.pageContents__contents,
.pageContents__contents--reverse,
.pageContents__contents--alignCenter,
.pageContents__contents--mt120 {
    display: flex;
    gap: 0 5rem;
}

@media only screen and (max-width: 1084px) {

    .pageContents__contents,
    .pageContents__contents--reverse,
    .pageContents__contents--alignCenter,
    .pageContents__contents--mt120 {
        gap: 0 2.5rem;
    }
}

@media only screen and (max-width: 834px) {

    .pageContents__contents,
    .pageContents__contents--reverse,
    .pageContents__contents--alignCenter,
    .pageContents__contents--mt120 {
        display: block;
    }
}

.pageContents__contents+.pageContents__contents,
.pageContents__contents--reverse+.pageContents__contents,
.pageContents__contents--alignCenter+.pageContents__contents,
.pageContents__contents--mt120+.pageContents__contents {
    margin-top: 5rem;
}

@media only screen and (max-width: 660px) {

    .pageContents__contents+.pageContents__contents,
    .pageContents__contents--reverse+.pageContents__contents,
    .pageContents__contents--alignCenter+.pageContents__contents,
    .pageContents__contents--mt120+.pageContents__contents {
        margin-top: 2.5rem;
    }
}

.pageContents__contents+.pageContents__contents--mt120,
.pageContents__contents--reverse+.pageContents__contents--mt120,
.pageContents__contents--alignCenter+.pageContents__contents--mt120,
.pageContents__contents--mt120+.pageContents__contents--mt120 {
    margin-top: 7.5rem;
}

@media only screen and (max-width: 660px) {

    .pageContents__contents+.pageContents__contents--mt120,
    .pageContents__contents--reverse+.pageContents__contents--mt120,
    .pageContents__contents--alignCenter+.pageContents__contents--mt120,
    .pageContents__contents--mt120+.pageContents__contents--mt120 {
        margin-top: 3.75rem;
    }
}

.pageContents__contents--reverse {
    flex-direction: row-reverse;
}

.pageContents__contents--alignCenter {
    align-items: center;
    margin-top: 6.125rem;
}

@media only screen and (max-width: 660px) {
    .pageContents__contents--alignCenter {
        margin-top: 3.75rem;
    }
}

.pageContents__contents--narrow {
    display: flex;
    gap: 0 3.75rem;
}

@media only screen and (max-width: 1084px) {
    .pageContents__contents--narrow {
        gap: 0 2.5rem;
    }
}

@media only screen and (max-width: 834px) {
    .pageContents__contents--narrow {
        display: block;
    }
}

.pageContents__body,
.pageContents__body--bg,
.pageContents__img,
.pageContents__first,
.pageContents__first--bgImg,
.pageContents__second,
.pageContents__first--scroll {
    width: calc((100% - 5rem) / 2);
}

@media only screen and (max-width: 1084px) {

    .pageContents__body,
    .pageContents__body--bg,
    .pageContents__img,
    .pageContents__first,
    .pageContents__first--bgImg,
    .pageContents__second,
    .pageContents__first--scroll {
        width: calc((100% - 2.5rem) / 2);
    }
}

@media only screen and (max-width: 834px) {

    .pageContents__body,
    .pageContents__body--bg,
    .pageContents__img,
    .pageContents__first,
    .pageContents__first--bgImg,
    .pageContents__second,
    .pageContents__first--scroll {
        width: 100%;
    }
}

.pageContents__img--center {
    display: flex;
    justify-self: center;
    margin-top: 3.125rem;
}

@media only screen and (max-width: 660px) {
    .pageContents__img--center {
        margin-top: 2.25rem;
    }
}

.pageContents__second--wide {
    width: calc(100% - 38.75rem);
}

@media only screen and (max-width: 1084px) {
    .pageContents__second--wide {
        width: calc((100% - 2.5rem) / 2);
    }
}

@media only screen and (max-width: 834px) {
    .pageContents__second--wide {
        width: 100%;
    }
}

@media only screen and (max-width: 834px) {

    .pageContents__first,
    .pageContents__first--bgImg {
        margin-bottom: 2.5rem;
    }
}

.pageContents__body--bg {
    position: relative;
}

.pageContents__body--bg:before {
    content: "";
    width: 37.5rem;
    height: 40.625rem;
    background: url(../images/top/top_bg_2.png) no-repeat center/contain;
    position: absolute;
    top: -8.4375rem;
    left: -11.25rem;
}

.pageContents__first--scroll {
    overflow-x: scroll;
    padding-top: 2px;
}

.pageContents__text {
    line-height: 2;
}

.pageContents__text--mb80 {
    margin-bottom: 5rem;
}

@media only screen and (max-width: 660px) {
    .pageContents__text--mb80 {
        margin-bottom: 2.5rem;
    }
}

.pageContents__text--att {
    font-size: 0.75rem;
    color: #626670;
    line-height: 1.8;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    margin: 3rem 0 5rem;
}

@media only screen and (max-width: 660px) {
    .pageContents__text--att {
        margin: 2rem 0 2.5rem;
    }
}

.pageContents__imgWrap,
.pageContents__imgWrap--wide,
.pageContents__imgWrap--right {
    width: 42.5rem;
}

@media only screen and (max-width: 834px) {

    .pageContents__imgWrap,
    .pageContents__imgWrap--wide,
    .pageContents__imgWrap--right {
        width: 100%;
        max-width: 42.5rem;
        margin: 2.5rem auto 0;
    }
}

.pageContents__imgWrap img,
.pageContents__imgWrap--wide img,
.pageContents__imgWrap--right img {
    width: 100%;
}

.pageContents__imgWrap--wide,
.pageContents__imgWrap--right {
    width: 50rem;
}

@media only screen and (max-width: 480px) {

    .pageContents__imgWrap--wide,
    .pageContents__imgWrap--right {
        width: 25rem;
    }
}

.pageContents__imgWrap--right {
    position: absolute;
    right: 0;
}

@media only screen and (max-width: 1680px) {
    .pageContents__imgWrap--right {
        position: relative;
        right: auto;
    }
}

.pageContents__section--narrow {
    padding: 2rem 0 10rem;
}

@media only screen and (max-width: 660px) {
    .pageContents__section--narrow {
        padding: 2.5rem 0 5rem;
    }
}

.pageContents__title,
.beautyMenuContents__title,
.flexible__title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    margin-bottom: 3.75rem;
    padding-bottom: 2.5rem;
    position: relative;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
}

@media only screen and (max-width: 660px) {

    .pageContents__title,
    .beautyMenuContents__title,
    .flexible__title {
        font-size: 1.125rem;
        padding-bottom: 2rem;
        margin-bottom: 2.1875rem;
    }
}

.pageContents__title:after,
.beautyMenuContents__title:after,
.flexible__title:after {
    content: "";
    width: 2.5rem;
    height: 1px;
    background: #A8B8D1;
    position: absolute;
    left: 0;
    bottom: 0;
}

.pageContents__titleWrap {
    margin-top: 5rem;
}

.pageContents__titleWrap--narrow {
    margin-top: 4rem;
}

.pageContents__accordion {
    margin-top: 3.75rem;
}

@media only screen and (max-width: 660px) {
    .pageContents__accordion {
        margin-top: 40px;
    }
}

.pageContents__enTitle {
    margin-top: 3.75rem;
}

@media only screen and (max-width: 660px) {
    .pageContents__enTitle {
        margin-top: 40px;
    }
}

.pageContents__enTitle--mt80,
.pageContents__phase {
    margin-top: 5rem;
}

@media only screen and (max-width: 660px) {

    .pageContents__enTitle--mt80,
    .pageContents__phase {
        margin-top: 40px;
    }
}

.pageContents__first--bgImg {
    position: relative;
}

.pageContents__first--bgImg:before {
    content: "";
    width: 37.5rem;
    height: 40.625rem;
    background: url(../images/top/top_bg_2.png) no-repeat center/contain;
    position: absolute;
    top: -6.875rem;
    left: -10.875rem;
    z-index: -1;
}

@media only screen and (max-width: 834px) {
    .pageContents__secondImg {
        display: flex;
        justify-content: center;
    }
}

.pageContents__att,
.pageContents__att--right {
    font-size: 0.75rem;
    color: #626670;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
}

.pageContents__att--right {
    text-align: right;
    margin: 1.5rem 0 3rem;
}

.pageContents__checkList,
.pageContents__checkList--multiple {
    background: #F6F9FC;
    margin: 2.625rem 0;
    padding: 2rem 2.5rem;
}

@media only screen and (max-width: 660px) {

    .pageContents__checkList,
    .pageContents__checkList--multiple {
        padding: 1.625rem 1.5rem;
    }
}

.pageContents__checkList--multiple {
    margin: 2rem 0 0;
}

@media only screen and (max-width: 660px) {
    .pageContents__checkList--multiple {
        margin-top: 1.5rem;
    }
}

.pageContents__checkList--multiple:first-child {
    margin-top: 0;
}

.pageContents__numberedContent {
    display: flex;
    gap: 0 4rem;
    margin: 3.75rem 0;
}

@media only screen and (max-width: 1084px) {
    .pageContents__numberedContent {
        gap: 0 2.5rem;
    }
}

@media only screen and (max-width: 834px) {
    .pageContents__numberedContent {
        display: block;
        margin: 2.5rem 0;
    }
}

.pageContents__stepContent {
    display: flex;
    gap: 0 4rem;
    margin: 3.75rem 0;
}

@media only screen and (max-width: 1084px) {
    .pageContents__stepContent {
        gap: 0 2.5rem;
    }
}

@media only screen and (max-width: 834px) {
    .pageContents__stepContent {
        display: block;
        margin: 2.5rem 0;
    }
}

.pageContents__rowtitle,
.pageContents__rowtitle--checkList {
    font-size: 1.125rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    margin: 2.5rem 0;
}

.pageContents__rowtitle--checkList {
    margin: 0 0 1.5rem;
}

@media only screen and (max-width: 660px) {
    .pageContents__rowtitle--checkList {
        font-size: 1rem;
    }
}

.pageContents__checkContents {
    margin: 2.5rem 0;
}

.pageContents__numberedTitle {
    margin-top: 7.5rem;
}

@media only screen and (max-width: 660px) {
    .pageContents__numberedTitle {
        margin-top: 4rem;
    }
}

.pageContents__colorBox,
.pageContents__colorBox--narrowGap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 3rem;
}

@media only screen and (max-width: 834px) {

    .pageContents__colorBox,
    .pageContents__colorBox--narrowGap {
        display: block;
    }
}

.pageContents__colorBox--narrowGap {
    align-items: normal;
    gap: 2rem;
    margin-bottom: 5rem;
}

@media only screen and (max-width: 834px) {
    .pageContents__colorBox--narrowGap {
        display: block;
    }
}

@media only screen and (max-width: 660px) {
    .pageContents__colorBox--narrowGap {
        margin-bottom: 2.5rem;
    }
}

.pageContents__narrow,
.contact {
    max-width: 60rem;
    margin: 0 auto;
}

.pageContents__linkBtn {
    margin-top: 3rem;
}

.pageContents__access,
.pageContents__flow {
    padding: 2.5rem 0 5rem;
}

.pageContents__beautyMenu,
.pageContents__flexible {
    padding: 2.5rem 0 10rem;
}

@media only screen and (max-width: 660px) {

    .pageContents__beautyMenu,
    .pageContents__flexible {
        padding-bottom: 5rem;
    }
}

.pageContents__block {
    padding-top: 7.5rem;
}

@media only screen and (max-width: 660px) {
    .pageContents__block {
        padding-top: 4rem;
    }
}

.title {
    margin-bottom: 1.875rem;
}

@media only screen and (max-width: 660px) {
    .title {
        margin-bottom: 0.9375rem;
    }
}

.title__text {
    text-align: center;
    letter-spacing: 0.02em;
}

.title__text--left {
    text-align: left;
}

.title__en {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    color: #A8B8D1;
    display: block;
    padding-bottom: 1.375rem;
}

@media only screen and (max-width: 660px) {
    .title__en {
        font-size: 0.875rem;
        padding-bottom: 0.9375rem;
    }
}

.title__jp {
    font-size: 1.75rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
}

@media only screen and (max-width: 660px) {
    .title__jp {
        font-size: 1.375rem;
    }
}

.accordion {
    border-bottom: 1px solid #D1D9E6;
}

.accordion__title {
    border-top: 1px solid #D1D9E6;
    font-size: 1.125rem;
    padding: 2rem 3.125rem 2rem 1.5rem;
    position: relative;
    cursor: pointer;
}

@media only screen and (max-width: 1084px) {
    .accordion__title {
        font-size: 1rem;
    }
}

.accordion__title:before,
.accordion__title:after {
    content: "";
    width: 0.9375rem;
    height: 1px;
    background: #1E2533;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transition: all 0.5s ease;
}

.accordion__title:after {
    transform: rotate(90deg);
}

.accordion__title.-open:after {
    transform: rotate(0);
}

.accordion__list {
    height: 0;
    overflow: hidden;
    transition: all 0.5s ease;
}

.accordion__item {
    border-top: 1px solid #F5F7FA;
}

.accordion__link,
.accordion__itemInner {
    font-size: 1rem;
    color: #4C6794;
    padding: 2rem 1.5rem;
}

@media only screen and (max-width: 1084px) {

    .accordion__link,
    .accordion__itemInner {
        font-size: 0.9375rem;
    }
}

.accordion__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.accordion__link svg {
    width: 0.75rem;
    height: 0.75rem;
}

.accordion__subText {
    font-size: 0.875rem;
    color: #1E2533;
    margin-top: 1.25rem;
}

@media only screen and (max-width: 480px) {
    .accordion__subText {
        line-height: 1.6;
    }
}

.catchCopy,
.catchCopy--navy {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.8;
    color: #4C6794;
    position: relative;
}

@media only screen and (max-width: 660px) {

    .catchCopy,
    .catchCopy--navy {
        font-size: 1.375rem;
    }
}

.catchCopy--navy {
    color: #31405B;
}

.disease {
    background: url(../images/bg_1.jpg) no-repeat center top/100% auto;
    background: url(../images/bg_1.webp) no-repeat center top/100% auto;
}

.disease__contents {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    position: relative;
}

@media only screen and (max-width: 834px) {
    .disease__contents {
        display: block;
    }
}

.disease__head {
    flex: 1;
    padding-right: 2.5rem;
    max-width: 50%;
    position: absolute;
    left: 0;
    top: 10.4375rem;
}

@media only screen and (max-width: 834px) {
    .disease__head {
        max-width: 100%;
        padding-right: 0;
        margin-bottom: 2.1875rem;
        position: relative;
        left: auto;
        top: auto;
    }
}

.disease__text {
    line-height: 2;
}

.disease__body {
    width: 100%;
    max-width: 35rem;
}

@media only screen and (max-width: 1320px) {
    .disease__body {
        width: 50%;
    }
}

@media only screen and (max-width: 834px) {
    .disease__body {
        width: 100%;
        max-width: 100%;
    }
}

.disease__textAtt {
    font-size: 0.75rem;
    line-height: 1.8;
    padding: 1.25rem 0 0 1rem;
    color: #626670;
}

.rowTitle {
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.8;
    color: #4C6794;
    margin-bottom: 2.5rem;
}

@media only screen and (max-width: 660px) {
    .rowTitle {
        font-size: 1.25rem;
    }
}

@media only screen and (max-width: 480px) {
    .rowTitle br {
        display: none;
    }
}

.enTitle {
    margin-bottom: 2.8125rem;
}

@media only screen and (max-width: 660px) {
    .enTitle {
        margin-bottom: 1.5rem;
    }
}

.enTitle__text {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    color: #4C6794;
    position: relative;
}

.enTitle__text:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #D1D9E6;
    position: absolute;
    left: 0;
    top: 50%;
}

.enTitle__bg {
    background: #fff;
    padding-right: 1.5rem;
    position: relative;
}

.phase {
    margin-bottom: 3rem;
}

@media only screen and (max-width: 660px) {
    .phase {
        margin-bottom: 2rem;
    }
}

.phase__list {
    display: flex;
    justify-content: center;
    gap: 3rem;
}

@media only screen and (max-width: 1084px) {
    .phase__list {
        gap: 1.875rem;
    }
}

@media only screen and (max-width: 834px) {
    .phase__list {
        display: block;
    }
}

.phase__item {
    width: calc((100% - 6rem) / 3);
    background: #F6F9FC;
    position: relative;
}

@media only screen and (max-width: 1084px) {
    .phase__item {
        width: calc((100% - 3.75rem) / 3);
    }
}

@media only screen and (max-width: 834px) {
    .phase__item {
        width: 100%;
        margin-bottom: 1.5rem;
    }
}

.phase__item:nth-child(1):after,
.phase__item:nth-child(2):after {
    content: "";
    width: 3rem;
    height: 1px;
    background: #4C6794;
    position: absolute;
    right: -3rem;
    top: 50%;
}

@media only screen and (max-width: 834px) {

    .phase__item:nth-child(1):after,
    .phase__item:nth-child(2):after {
        width: 1px;
        height: 1.5rem;
        right: 50%;
        top: auto;
        bottom: -1.5rem;
    }
}

.phase__itemHead {
    display: flex;
    align-items: center;
    color: #4C6794;
}

.phase__number {
    width: 6.25rem;
    padding: 1.75rem 0 1.25rem;
    text-align: center;
    border-bottom: 1px solid #D1D9E6;
    height: 6.875rem;
}

@media only screen and (max-width: 1084px) {
    .phase__number {
        width: 5.625rem;
        height: 5.625rem;
        padding: 1.3125rem 0 0;
    }
}

.phase__numText {
    font-size: 0.8125rem;
    display: block;
    margin-bottom: 0.5rem;
}

@media only screen and (max-width: 1084px) {
    .phase__numText {
        font-size: 0.75rem;
    }
}

.phase__num {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 2.5rem;
    font-weight: 400;
    font-style: normal;
}

@media only screen and (max-width: 1084px) {
    .phase__num {
        font-size: 2rem;
    }
}

.phase__title {
    flex: 1;
    height: 6.875rem;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #EAEDF4;
}

@media only screen and (max-width: 1084px) {
    .phase__title {
        height: 5.625rem;
    }
}

.phase__titleText {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.6;
    padding-left: 0.5rem;
}

@media only screen and (max-width: 1084px) {
    .phase__titleText {
        font-size: 1rem;
    }
}

.phase__itemBody {
    padding: 2rem 2rem 1.5625rem;
}

@media only screen and (max-width: 1084px) {
    .phase__itemBody {
        padding: 1.5rem;
    }
}

.phase__img {
    max-width: 19rem;
    margin: 0 auto 2.1875rem;
}

@media only screen and (max-width: 1084px) {
    .phase__img {
        margin-bottom: 1.75rem;
    }
}

.checkList__item,
.checkList__item--small {
    font-size: 0.9375rem;
    line-height: 1.8;
    padding-left: 1.375rem;
    position: relative;
    margin-bottom: 0.375rem;
    letter-spacing: 0.01em;
}

@media only screen and (max-width: 1084px) {

    .checkList__item,
    .checkList__item--small {
        font-size: 0.875rem;
    }
}

.checkList__item:last-child,
.checkList__item--small:last-child {
    margin-bottom: 0;
}

.checkList__item:before,
.checkList__item--small:before {
    content: "";
    width: 0.75rem;
    height: 0.75rem;
    background: url(../images/icon/icon_check.svg) no-repeat center/contain;
    position: absolute;
    left: 0;
    top: 0.5625rem;
}

@media only screen and (max-width: 1084px) {

    .checkList__item:before,
    .checkList__item--small:before {
        top: 0.4375rem;
    }
}

.checkList__item--small {
    font-size: 0.875rem;
    letter-spacing: 1px;
}

.linkBtn--right {
    text-align: right;
}

@media only screen and (max-width: 660px) {
    .linkBtn--right {
        text-align: center;
    }
}

.linkBtn__link,
.linkBtn__link--spCenter,
.linkBtn__link--underLine {
    background: #fff;
    border: 1px solid #1E2533;
    border-radius: 2px;
    font-size: 0.9375rem;
    display: inline-block;
    padding: 1.375rem 3rem 1.375rem 2rem;
    position: relative;
}

@media only screen and (max-width: 660px) {

    .linkBtn__link,
    .linkBtn__link--spCenter,
    .linkBtn__link--underLine {
        font-size: 0.875rem;
    }
}

.linkBtn__link:hover,
.linkBtn__link--spCenter:hover,
.linkBtn__link--underLine:hover {
    color: #1E2533;
}

.linkBtn__link:hover .linkBtn__icon,
.linkBtn__link--spCenter:hover .linkBtn__icon,
.linkBtn__link--underLine:hover .linkBtn__icon {
    right: 0.875rem;
}

@media only screen and (max-width: 660px) {
    .linkBtn__link--spCenter {
        margin-left: auto;
        margin-right: auto;
    }
}

.linkBtn__link--underLine {
    background: none;
    border: none;
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
    position: relative;
    display: inline-block;
    transition: none;
    display: block;
}

.linkBtn__link--underLine:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #1E2533;
    position: absolute;
    left: 0;
    bottom: -5px;
    transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transform: scale(0, 1);
    transform-origin: right top;
}

.linkBtn__link--underLine:hover {
    color: #1E2533;
    opacity: 1;
}

.linkBtn__link--underLine:hover:after {
    transform: scale(1, 1);
    transform-origin: left top;
}

.linkBtn__link--underLine:hover {
    opacity: 1;
}

.linkBtn__icon {
    width: 1rem;
    height: 0.5rem;
    position: absolute;
    right: 1.125rem;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
}

.linkBtn__icon svg {
    position: relative;
    top: -0.3125rem;
}

.cta__wrap {
    max-width: 83rem;
}

.cta__contents {
    background: url(../images/cta_bg.jpg) no-repeat center/cover;
    background: url(../images/cta_bg.webp) no-repeat center/cover;
    padding: 12.5rem 6rem;
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 1320px) {
    .cta__contents {
        padding-left: 3.75rem;
        padding-right: 3.75rem;
    }
}

@media only screen and (max-width: 1084px) {
    .cta__contents {
        padding: 6.25rem 2rem;
    }
}

@media only screen and (max-width: 834px) {
    .cta__contents {
        display: block;
    }
}

@media only screen and (max-width: 660px) {
    .cta__contents {
        background: url(../images/cta_bg_sp.jpg) no-repeat center/cover;
        background: url(../images/cta_bg_sp.webp) no-repeat center/cover;
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
}

.cta__head {
    flex: 1;
    padding-right: 2.5rem;
}

@media only screen and (max-width: 834px) {
    .cta__head {
        padding-right: 0;
        margin-bottom: 2.1875rem;
    }
}

.cta__body {
    width: 100%;
    max-width: 31.5rem;
}

@media only screen and (max-width: 1084px) {
    .cta__body {
        width: 50%;
        max-width: 100%;
    }
}

@media only screen and (max-width: 834px) {
    .cta__body {
        width: 100%;
    }
}

.cta__text {
    line-height: 1.9;
    margin-bottom: 2.5rem;
}

/* 
.flow {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
    margin-top: 5rem;
}

@media only screen and (max-width: 1084px) {
    .flow {
        gap: 2.5rem;
    }
}

@media only screen and (max-width: 834px) {
    .flow {
        display: block;
    }
}

@media only screen and (max-width: 660px) {
    .flow {
        margin-top: 2.5rem;
    }
} */

.flow__item {
    width: calc((100% - 8rem) / 3);
}

@media only screen and (max-width: 1084px) {
    .flow__item {
        width: calc((100% - 5rem) / 3);
    }
}

@media only screen and (max-width: 834px) {
    .flow__item {
        width: 100%;
        margin-bottom: 1.5rem;
    }

    .flow__item .flow__body {
        display: flex;
        align-items: center;
    }
}

@media only screen and (max-width: 834px) and (max-width: 660px) {
    .flow__item .flow__body {
        display: block;
    }
}

@media only screen and (max-width: 834px) {
    .flow__item .flow__img {
        margin-right: 1.875rem;
    }
}

@media only screen and (max-width: 834px) and (max-width: 660px) {
    .flow__item .flow__img {
        margin: 0 auto;
    }
}

@media only screen and (max-width: 834px) {
    .flow__item .flow__checkList {
        flex: 1;
        margin: 0;
    }
}

@media only screen and (max-width: 660px) {
    .flow__item {
        position: relative;
        padding-left: 2.875rem;
        padding-bottom: 1.875rem;
    }

    .flow__item:before {
        content: "";
        width: 1px;
        height: 100%;
        background: #D1D9E6;
        position: absolute;
        left: 0.875rem;
        bottom: 0;
    }

    .flow__item:after {
        content: "";
        width: 20px;
        height: 86px;
        background: #fff;
        position: absolute;
        left: 0;
        top: 0;
    }
}

.flow__item:nth-child(1),
.flow__item:nth-child(2) {
    width: calc((100% - 4rem) / 2);
}

@media only screen and (max-width: 1084px) {

    .flow__item:nth-child(1),
    .flow__item:nth-child(2) {
        width: calc((100% - 2.5rem) / 2);
    }
}

@media only screen and (max-width: 834px) {

    .flow__item:nth-child(1),
    .flow__item:nth-child(2) {
        width: 100%;
    }
}

.flow__item:nth-child(1) .flow__body,
.flow__item:nth-child(2) .flow__body {
    display: flex;
}

@media only screen and (max-width: 660px) {

    .flow__item:nth-child(1) .flow__body,
    .flow__item:nth-child(2) .flow__body {
        display: block;
    }
}

.flow__item:nth-child(1) .flow__img,
.flow__item:nth-child(2) .flow__img {
    margin-right: 1.875rem;
}

@media only screen and (max-width: 660px) {

    .flow__item:nth-child(1) .flow__img,
    .flow__item:nth-child(2) .flow__img {
        margin: 0 auto;
    }
}

.flow__item:nth-child(1) .flow__checkList,
.flow__item:nth-child(2) .flow__checkList {
    flex: 1;
    margin: 0;
}

.flow__number {
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    color: #4C6794;
    position: relative;
    margin-bottom: 2.5rem;
}

@media only screen and (max-width: 660px) {
    .flow__number {
        transform: rotate(90deg);
        transform: rotate(90deg);
        position: absolute;
        left: -1.5625rem;
        top: 1.5rem;
        margin-bottom: 0;
        z-index: 1;
    }
}

.flow__number:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #D1D9E6;
    position: absolute;
    left: 5.625rem;
    bottom: 2px;
}

.flow__numberText {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    padding-right: 0.5rem;
}

.flow__num {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 2.5rem;
    font-weight: 400;
    font-style: normal;
    line-height: 0.76;
}

.flow__head {
    margin-bottom: 2.125rem;
}

@media only screen and (max-width: 834px) {
    .flow__head {
        margin-bottom: 1.75rem;
    }
}

.flow__title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #4C6794;
}

@media only screen and (max-width: 480px) {
    .flow__title {
        font-size: 1.1875rem;
    }
}

.flow__img {
    width: 10rem;
    margin: 0 auto;
}

@media only screen and (max-width: 660px) {
    .flow__img {
        width: 8.75rem;
        margin-bottom: 0.3125rem;
    }
}

.flow__checkList {
    margin-top: 1.625rem;
}

.featuresBlock__wrap {
    max-width: 83rem;
}

@media only screen and (max-width: 834px) {
    .featuresBlock__wrap {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
    }
}

.featuresBlock__contents {
    background: url(../images/features_bg.jpg) no-repeat center/cover;
    background: url(../images/features_bg.webp) no-repeat center/cover;
    padding: 6.875rem 6rem 6rem;
    position: relative;
}

@media only screen and (max-width: 1320px) {
    .featuresBlock__contents {
        padding-right: 3.75rem;
    }
}

@media only screen and (max-width: 834px) {
    .featuresBlock__contents {
        padding: 5rem 1.5rem;
    }
}

.featuresBlock__contents:after {
    content: "";
    width: 6.25rem;
    height: 33.375rem;
    background: url(../images/features_text.png) no-repeat left top/contain;
    position: absolute;
    left: 0;
    top: 0;
}

@media only screen and (max-width: 834px) {
    .featuresBlock__contents:after {
        width: 4rem;
        height: 21.3125rem;
    }
}

.featuresBlock__title {
    font-size: 1.75rem;
    font-weight: 500;
    color: #4C6794;
    text-align: center;
    line-height: 2;
    margin-bottom: 3.125rem;
}

@media only screen and (max-width: 660px) {
    .featuresBlock__title {
        font-size: 1.375rem;
        margin-bottom: 1.875rem;
    }
}

.featuresBlock__linkBtn {
    flex: 1;
    padding: 2rem;
}

@media only screen and (max-width: 660px) {
    .featuresBlock__linkBtn {
        padding: 0;
    }
}

.features {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.25rem;
    position: relative;
    z-index: 1;
}

.features__item {
    width: calc((100% - 0.25rem) / 2);
    max-width: 33.875rem;
    display: flex;
}

@media only screen and (max-width: 1084px) {
    .features__item {
        flex-direction: column;
    }
}

@media only screen and (max-width: 660px) {
    .features__item {
        width: 100%;
        max-width: 100%;
    }
}

.features__head {
    width: 10rem;
}

@media only screen and (max-width: 1084px) {
    .features__head {
        width: 100%;
    }
}

.features__body {
    flex: 1;
    background: #fff;
    padding: 2.1875rem 3rem 0;
}

@media only screen and (max-width: 1320px) {
    .features__body {
        padding: 1.25rem 1.875rem 0;
    }
}

@media only screen and (max-width: 1084px) {
    .features__body {
        padding-bottom: 1.875rem;
    }
}

.features__title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.7;
    margin-bottom: 1.25rem;
}

@media only screen and (max-width: 1320px) {
    .features__title {
        margin-bottom: 0.625rem;
    }
}

@media only screen and (max-width: 834px) {
    .features__title {
        font-size: 1.125rem;
    }
}

.features__text {
    font-size: 0.875rem;
    line-height: 1.9;
}

@media only screen and (max-width: 1084px) {
    .features__text {
        min-height: 5rem;
    }
}

@media only screen and (max-width: 834px) {
    .features__text {
        font-size: 0.8125rem;
    }
}

@media only screen and (max-width: 660px) {
    .features__text {
        min-height: auto;
    }
}


.faq__list {
    border-top: 1px solid #D1D9E6;
    margin-bottom: 3rem;
}

@media only screen and (max-width: 660px) {
    .faq__list {
        margin-bottom: 1.875rem;
    }
}

.faq__list--list {
    border-top: 1px solid #D1D9E6;
}

.faq__item {
    border-bottom: 1px solid #D1D9E6;
}

.faq__btn {
    padding: 2.5rem 5rem 2.5rem 2rem;
    position: relative;
    cursor: pointer;
}

@media only screen and (max-width: 660px) {
    .faq__btn {
        padding: 1.875rem 4rem 1.875rem 0;
    }
}

.faq__btn:before {
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    background: url(../images/icon/icon_+.svg) no-repeat center/contain;
    position: absolute;
    right: 1.875rem;
    top: 50%;
    transform: translateY(-50%);
}

@media only screen and (max-width: 660px) {
    .faq__btn:before {
        right: 1rem;
    }
}

.faq__btn.-open:before {
    background: url(../images/icon/icon_-.svg) no-repeat center/contain;
}

.faq__btn span {
    font-size: 1.125rem;
    line-height: 1.8;
    padding-left: 2.3125rem;
    position: relative;
    display: block;
}

@media only screen and (max-width: 1084px) {
    .faq__btn span {
        font-size: 1rem;
    }
}

@media only screen and (max-width: 660px) {
    .faq__btn span {
        font-size: 0.9375rem;
        padding-left: 1.875rem;
    }
}

.faq__btn span:before {
    content: "Q";
    font-size: 1rem;
    color: #4C6794;
    position: absolute;
    left: 0;
    top: 2px;
}

.faq__box {
    height: 0;
    overflow: hidden;
    transition: all 0.5s ease;
}

.faq__boxInner {
    font-size: 0.9375rem;
    line-height: 1.9;
    padding: 0.625rem 5rem 3.75rem 4.375rem;
}

@media only screen and (max-width: 660px) {
    .faq__boxInner {
        font-size: 0.8125rem;
        padding: 0 1.875rem 1.875rem 1.875rem;
    }
}

.faq--list {
    margin: 0;
}

.subMenu {
    width: 100%;
    max-width: 54.875rem;
    margin-top: 2.875rem;
    padding-top: 1.875rem;
    position: absolute;
    top: 1.4375rem;
    right: 2.25rem;
    transform: translateY(0.625rem);
    opacity: 0;
    visibility: hidden;
}

.subMenu__box {
    height: 7.5rem;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 4px 16px rgba(30, 37, 51, 0.15);
    display: inline-block;
    padding: 0 3rem;
    position: relative;
}

.subMenu__box.-subMenu1:before {
    left: 9.75rem;
}

.subMenu__box.-subMenu2:before {
    left: 17.75rem;
}

.subMenu__box.-subMenu3:before {
    left: 26.125rem;
}

.subMenu__box.-subMenu4:before {
    left: 34.875rem;
}

.subMenu__box.-subMenu4 {
    display: table;
    margin-left: auto;
}

.subMenu__list,
.subMenu__list--sub {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 7.5rem;
    list-style: none;
}

.subMenu__item {
    margin-left: 3rem;
    line-height: 1.8;
}

.subMenu__item:first-child {
    margin-left: 0;
    text-align: center;
}

.subMenu__link {
    font-size: 0.9375rem;
    position: relative;
    display: inline-block;
    transition: none;
}

.subMenu__link:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #1E2533;
    position: absolute;
    left: 0;
    bottom: -5px;
    transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transform: scale(0, 1);
    transform-origin: right top;
}

.subMenu__link:hover {
    color: #1E2533;
    opacity: 1;
}

.subMenu__link:hover:after {
    transform: scale(1, 1);
    transform-origin: left top;
}

.subMenu__link:hover {
    opacity: 1;
    color: #1E2533;
}

.subMenu__link:after {
    bottom: 0;
}

.subMenu__contents {
    display: flex;
    padding-top: 2rem;
}

.subMenu__special {
    width: 9.25rem;
    text-align: center;
    line-height: 1.8;
}

.subMenu__utility {
    padding-left: 2.5rem;
}

.subMenu__title {
    font-size: 0.9375rem;
    color: #4C6794;
    margin-top: 3px;
    position: relative;
}

.subMenu__title:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #D1D9E6;
    position: absolute;
    left: 0;
    top: 50%;
}

.subMenu__bg {
    background: #fff;
    padding-right: 1em;
    position: relative;
}

.subMenu__list--sub {
    height: auto;
    margin-top: 1.0625rem;
}

.spBtn {
    display: none;
}

@media only screen and (max-width: 1084px) {
    .spBtn {
        width: 1.375rem;
        height: 1.0625rem;
        display: inline-block;
        transition: all 0.5s;
    }
}

.spBtn__inner {
    position: relative;
    height: 100%;
}

.spBtn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #1E2533;
    display: inline-block;
    transition: all 0.3s;
}

.spBtn span:nth-of-type(1) {
    top: 0;
}

.spBtn span:nth-of-type(2) {
    top: 8px;
}

.spBtn span:nth-of-type(3) {
    bottom: 0;
}

.spBtn.-active span:nth-of-type(1) {
    transform: translateY(8px) rotate(30deg);
}

.spBtn.-active span:nth-of-type(2) {
    opacity: 0;
}

.spBtn.-active span:nth-of-type(3) {
    transform: translateY(-8px) rotate(-30deg);
}

.spNav {
    background: #F5F7FA;
    width: 100vw;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
    padding: 5.25rem 1.5rem 7.5rem;
    overflow: scroll;
    transition: all 0.5s ease;
    opacity: 0;
    visibility: hidden;
}

.spNav.-open {
    opacity: 1;
    visibility: visible;
}

.spNav__contact {
    padding-top: 1.5rem;
}

.spNav__contactBtn {
    background: #fff;
    border-radius: 4px;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.5rem;
}

.spNav__contactBtn:first-child {
    margin-top: none;
}

.spNav__contactText {
    font-size: 0.9375rem;
    padding-right: 1rem;
}

.spNav__contactIcon {
    width: 2.5rem;
}

.spNav__nav {
    margin: 2.5rem 0;
}

.spNav__list {
    border-top: 1px solid #D1D9E6;
    list-style: none;
}

.spNav__item {
    border-bottom: 1px solid #D1D9E6;
}

.spNav__title {
    font-size: 1rem;
    padding: 1.625rem 1rem;
    position: relative;
}

.spNav__title:before {
    content: "";
    width: 0.9375rem;
    height: 1px;
    background: #1E2533;
    position: absolute;
    right: 1rem;
    top: 50%;
}

.spNav__title:after {
    content: "";
    width: 1px;
    height: 0.9375rem;
    background: #1E2533;
    position: absolute;
    right: 1.4375rem;
    top: 50%;
    transform: translateY(-50%);
}

.spNav__title.-open:after {
    content: none;
}

.spNav__sub {
    list-style: none;
    height: 0;
    overflow: hidden;
    transition: all 0.5s ease;
}

.spNav__subItem a {
    font-size: 0.9375rem;
    display: block;
    padding: 1.5rem 2.75rem 1.5rem 2rem;
    position: relative;
}

@media only screen and (max-width: 480px) {
    .spNav__subItem a {
        line-height: 1.6;
        letter-spacing: 0;
        padding: 1.25rem 1.4375rem 1.25rem 1.75rem;
    }
}

.spNav__subItem a:after {
    content: "";
    width: 12px;
    height: 12px;
    background: url(../img/icon_arrow-right_blue.svg) no-repeat center/contain;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
}

.spNav__subItem--title {
    font-size: 0.9375rem;
    color: #4C6794;
    padding: 1rem 0 1rem 1.75rem;
    position: relative;
}

.spNav__subItem--title:before {
    content: "";
    height: 1px;
    background: #D1D9E6;
    position: absolute;
    top: 50%;
    left: 2rem;
    right: 0;
}

.spNav__subBg {
    background: #F5F7FA;
    padding-right: 1em;
    position: relative;
}

.spNav__btn {
    max-width: 15rem;
    margin: 0 auto;
}

.spNav__btnLink {
    background: #4C6794;
    border-radius: 2px;
    font-size: 0.875rem;
    color: #fff;
    display: block;
    padding: 1.375rem 3rem 1.375rem 2rem;
    position: relative;
}

.spNav__btnLink:hover {
    color: #fff;
}

.spNav__btnLink:hover .keyvisual__btnIcon {
    right: 1.25rem;
}

.spNav__btnIcon {
    width: 1rem;
    height: 0.5rem;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
}

.spNav__btnIcon svg {
    position: relative;
    top: -0.3125rem;
}

.pageTop {
    width: 5rem;
    position: fixed;
    right: 0;
    bottom: 0;
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
}

@media only screen and (max-width: 660px) {
    .pageTop {
        display: none;
    }
}

.loading {
    width: 100vw;
    height: 100vh;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 999;
}

.loading__item {
    width: 1.25rem;
    height: 1.25rem;
    border: 1px solid #4C6794;
    border-top: none;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    animation: loading 0.8s infinite linear;
}

@keyframes loading {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.spFooter {
    background: rgba(246, 249, 252, 0.95);
    border-radius: 0.625rem 0.625rem 0 0;
    width: 100%;
    padding: 0.5rem;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
}

.spFooter__text {
    font-size: 0.875rem;
    font-weight: 500;
    color: #4C6794;
    text-align: center;
    line-height: 1.6;
    margin-bottom: 0.5rem;
}

.spFooter__list {
    display: flex;
    justify-content: center;
    gap: 0 4px;
}

.spFooter__item {
    width: calc((100% - 8px) / 3);
}

.spFooter__link {
    background: #fff;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.3125rem;
    height: 100%;
}

.spFooter__linkIcon {
    width: 2rem;
}

.spFooter__linkText {
    font-size: 0.75rem;
    line-height: 1.6;
    padding-left: 0.5rem;
}

.numberedContent,
.numberedContent--2item {
    background: #F6F9FC;
    margin-top: 2rem;
    padding: 3rem;
}

@media only screen and (max-width: 660px) {

    .numberedContent,
    .numberedContent--2item {
        margin-top: 1.5rem;
        padding: 2rem;
    }
}

.numberedContent:first-child,
.numberedContent--2item:first-child {
    margin: 0;
}

.numberedContent:nth-of-type(1) .numberedContent__title:before,
.numberedContent--2item:nth-of-type(1) .numberedContent__title:before {
    content: "1";
}

.numberedContent:nth-of-type(2) .numberedContent__title:before,
.numberedContent--2item:nth-of-type(2) .numberedContent__title:before {
    content: "2";
}

.numberedContent:nth-of-type(3) .numberedContent__title:before,
.numberedContent--2item:nth-of-type(3) .numberedContent__title:before {
    content: "3";
}

.numberedContent--2item {
    width: calc((100% - 4rem) / 2);
    margin: 0;
}

@media only screen and (max-width: 1084px) {
    .numberedContent--2item {
        width: calc((100% - 2.5rem) / 2);
        padding: 2rem 1.5rem;
    }
}

@media only screen and (max-width: 834px) {
    .numberedContent--2item {
        width: 100%;
        margin-top: 1.5rem;
    }

    .numberedContent--2item:first-child {
        margin-top: 0;
    }
}

.numberedContent__contents,
.numberedContent--2item__contents {
    display: flex;
    gap: 0 2rem;
}

@media only screen and (max-width: 1084px) {

    .numberedContent__contents,
    .numberedContent--2item__contents {
        display: block;
    }
}

.numberedContent__left,
.numberedContent--2item__left {
    max-width: 12rem;
}

@media only screen and (max-width: 1084px) {

    .numberedContent__left,
    .numberedContent--2item__left {
        max-width: 100%;
        margin-bottom: 1.875rem;
    }
}

.numberedContent__left--flex1,
.numberedContent--2item__left--flex1 {
    flex: 1;
}

@media only screen and (max-width: 1084px) {

    .numberedContent__left--flex1,
    .numberedContent--2item__left--flex1 {
        max-width: 100%;
        margin-bottom: 1.875rem;
    }
}

.numberedContent__title,
.numberedContent--2item__title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    margin-bottom: 1.875rem;
    padding-top: 2.875rem;
    position: relative;
}

@media only screen and (max-width: 660px) {

    .numberedContent__title,
    .numberedContent--2item__title {
        font-size: 1rem;
        padding-top: 2.375rem;
        margin-bottom: 1.375rem;
    }
}

.numberedContent__title:before,
.numberedContent--2item__title:before {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 1.25rem;
    font-weight: 400;
    font-style: normal;
    color: #4C6794;
    position: absolute;
    left: 0;
    top: 0;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
}

.numberedContent__title:after,
.numberedContent--2item__title:after {
    content: "";
    width: 2rem;
    height: 1px;
    background: #A8B8D1;
    position: absolute;
    left: 1.6875rem;
    top: 0.375rem;
}

.numberedContent__right,
.numberedContent--2item__right {
    flex: 1;
}

.numberedContent__right--w160,
.numberedContent--2item__right--w160 {
    width: 10rem;
}

@media only screen and (max-width: 1084px) {

    .numberedContent__right--w160,
    .numberedContent--2item__right--w160 {
        margin: 0 auto;
    }
}

@media only screen and (max-width: 1084px) {

    .numberedContent__img,
    .numberedContent--2item__img {
        display: flex;
        justify-content: center;
    }
}

.numberedContent p,
.numberedContent--2item p {
    font-size: 0.875rem;
}

.stepContent,
.stepContent--2item {
    background: #F6F9FC;
    border-top: 1px solid #D1D9E6;
    padding: 2.5rem;
}

@media only screen and (max-width: 660px) {

    .stepContent,
    .stepContent--2item {
        padding: 1.5rem;
    }
}

.stepContent--2item {
    border: none;
    width: calc((100% - 4rem) / 2);
}

@media only screen and (max-width: 1084px) {
    .stepContent--2item {
        width: calc((100% - 2.5rem) / 2);
        padding: 2rem 1.5rem;
    }
}

@media only screen and (max-width: 834px) {
    .stepContent--2item {
        width: 100%;
        margin-top: 1.5rem;
    }

    .stepContent--2item:first-child {
        margin-top: 0;
    }
}

.stepContent__title,
.stepContent--2item__title {
    display: flex;
    align-items: center;
    gap: 0 1.5rem;
    margin-bottom: 1.25rem;
}

@media only screen and (max-width: 660px) {

    .stepContent__title,
    .stepContent--2item__title {
        gap: 0 1rem;
    }
}

.stepContent__num,
.stepContent--2item__num {
    background: #fff;
    border-radius: 4px;
    font-size: 0.8125rem;
    color: #4C6794;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding: 1rem;
    display: flex;
    align-items: flex-end;
    width: 5rem;
}

@media only screen and (max-width: 660px) {

    .stepContent__num,
    .stepContent--2item__num {
        width: 4.5rem;
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
}

.stepContent__numEn,
.stepContent--2item__numEn {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 1.5rem;
    font-weight: 400;
    font-style: normal;
    color: #4C6794;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding-left: 0.4375rem;
}

.stepContent__titleText,
.stepContent--2item__titleText {
    flex: 1;
    font-size: 1.125rem;
    font-weight: normal;
    color: #4C6794;
    line-height: 1.8;
}

@media only screen and (max-width: 660px) {

    .stepContent__titleText,
    .stepContent--2item__titleText {
        font-size: 1rem;
    }
}

.stepContent p,
.stepContent--2item p {
    font-size: 0.9375rem;
}

@media only screen and (max-width: 660px) {

    .stepContent p,
    .stepContent--2item p {
        font-size: 0.875rem;
    }
}

.stepContent__img,
.stepContent--2item__img {
    margin-top: 1.25rem;
}

@media only screen and (max-width: 834px) {

    .stepContent__img,
    .stepContent--2item__img {
        display: flex;
        justify-content: center;
    }
}

.card__list {
    display: flex;
    justify-content: center;
    gap: 3rem;
}

@media only screen and (max-width: 1084px) {
    .card__list {
        gap: 1.875rem;
    }
}

@media only screen and (max-width: 834px) {
    .card__list {
        display: block;
    }
}

.card__item {
    width: calc((100% - 6rem) / 3);
    background: #F6F9FC;
    position: relative;
}

@media only screen and (max-width: 1084px) {
    .card__item {
        width: calc((100% - 3.75rem) / 3);
    }
}

@media only screen and (max-width: 834px) {
    .card__item {
        width: 100%;
        margin-bottom: 1.5rem;
    }

    .card__item:last-child {
        margin-bottom: 0;
    }
}

.card__item:nth-child(1):after,
.card__item:nth-child(2):after {
    content: "";
    width: 3rem;
    height: 1px;
    background: #4C6794;
    position: absolute;
    right: -3rem;
    top: 50%;
}

@media only screen and (max-width: 834px) {

    .card__item:nth-child(1):after,
    .card__item:nth-child(2):after {
        content: none;
    }
}

.card__itemHead {
    display: flex;
    align-items: center;
    color: #4C6794;
}

.card__number {
    width: 6.25rem;
    padding: 1.75rem 0 1.25rem;
    text-align: center;
    border-bottom: 1px solid #D1D9E6;
    height: 6.875rem;
}

@media only screen and (max-width: 1084px) {
    .card__number {
        width: 5.625rem;
        height: 5.625rem;
        padding: 1.3125rem 0 0;
    }
}

.card__numText {
    font-size: 0.8125rem;
    display: block;
    margin-bottom: 0.5rem;
}

@media only screen and (max-width: 1084px) {
    .card__numText {
        font-size: 0.75rem;
    }
}

.card__num {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 2.5rem;
    font-weight: 400;
    font-style: normal;
}

@media only screen and (max-width: 1084px) {
    .card__num {
        font-size: 2rem;
    }
}

.card__title {
    flex: 1;
    height: 6.875rem;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #EAEDF4;
    padding-right: 1.875rem;
}

@media only screen and (max-width: 1084px) {
    .card__title {
        height: 5.625rem;
    }
}

.card__titleText {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.6;
    padding-left: 0.5rem;
}

@media only screen and (max-width: 1084px) {
    .card__titleText {
        font-size: 1rem;
    }
}

.card__itemBody {
    padding: 2rem 2rem 1.5625rem;
}

@media only screen and (max-width: 1084px) {
    .card__itemBody {
        padding: 1.5rem;
    }
}

.card__img {
    max-width: 19rem;
    margin: 0 auto 2.1875rem;
}

@media only screen and (max-width: 1084px) {
    .card__img {
        margin-bottom: 1.75rem;
    }
}

.card p {
    font-size: 0.875rem;
    line-height: 2;
}

.checkContents,
.checkContents--bgn {
    background: #F6F9FC;
    padding: 2.5rem;
}

@media only screen and (max-width: 660px) {

    .checkContents,
    .checkContents--bgn {
        padding: 2rem 1.5rem;
    }
}

.checkContents__title,
.checkContents--bgn__title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    margin-bottom: 1.5rem;
}

@media only screen and (max-width: 1084px) {

    .checkContents__title,
    .checkContents--bgn__title {
        font-size: 1rem;
    }
}

.checkContents__list,
.checkContents--bgn__list {
    margin-top: 1.5rem;
}

.checkContents__list:first-child,
.checkContents--bgn__list:first-child {
    margin: 0;
}

.checkContents__heading,
.checkContents--bgn__heading {
    font-size: 0.9375rem;
    color: #4C6794;
    line-height: 2;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding-left: 1.5rem;
    position: relative;
    margin-bottom: 1rem;
}

@media only screen and (max-width: 660px) {

    .checkContents__heading,
    .checkContents--bgn__heading {
        font-size: 0.875rem;
    }
}

.checkContents__heading:before,
.checkContents--bgn__heading:before {
    content: "";
    width: 0.75rem;
    height: 0.75rem;
    background: url(../images/icon/icon_check.svg) no-repeat center/contain;
    position: absolute;
    left: 0;
    top: 0;
}

.checkContents__text,
.checkContents--bgn__text {
    font-size: 0.875rem;
    line-height: 2;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
}

.checkContents--bgn,
.checkContents--bgn--bgn {
    background: #fff;
}

.orderListContents,
.orderListContents--bgn {
    background: #F6F9FC;
    padding: 2rem 1rem 1rem;
}

@media only screen and (max-width: 660px) {

    .orderListContents,
    .orderListContents--bgn {
        padding-top: 1.5rem;
    }
}

.orderListContents__title,
.role__title {
    font-size: 1.125rem;
    font-weight: 500;
    color: #4C6794;
    text-align: center;
    line-height: 1.3;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    margin-bottom: 1.5rem;
}

@media only screen and (max-width: 660px) {

    .orderListContents__title,
    .role__title {
        font-size: 1rem;
    }
}

.orderListContents__item,
.orderListContents__item--inversion {
    display: flex;
    align-items: center;
    gap: 0 1.875rem;
    background: #fff;
    border-radius: 4px;
    padding: 1rem;
    margin-top: 0.625rem;
}

@media only screen and (max-width: 1084px) {

    .orderListContents__item,
    .orderListContents__item--inversion {
        display: block;
    }
}

.orderListContents__item:first-child,
.orderListContents__item--inversion:first-child {
    margin-top: 0;
}

.orderListContents__item:nth-of-type(1) .orderListContents__textBlock:before,
.orderListContents__item--inversion:nth-of-type(1) .orderListContents__textBlock:before {
    content: "1";
}

.orderListContents__item:nth-of-type(2) .orderListContents__textBlock:before,
.orderListContents__item--inversion:nth-of-type(2) .orderListContents__textBlock:before {
    content: "2";
}

.orderListContents__item:nth-of-type(3) .orderListContents__textBlock:before,
.orderListContents__item--inversion:nth-of-type(3) .orderListContents__textBlock:before {
    content: "3";
}

.orderListContents__item:nth-of-type(4) .orderListContents__textBlock:before,
.orderListContents__item--inversion:nth-of-type(4) .orderListContents__textBlock:before {
    content: "4";
}

.orderListContents__item:nth-of-type(5) .orderListContents__textBlock:before,
.orderListContents__item--inversion:nth-of-type(5) .orderListContents__textBlock:before {
    content: "5";
}

.orderListContents__item:nth-of-type(6) .orderListContents__textBlock:before,
.orderListContents__item--inversion:nth-of-type(6) .orderListContents__textBlock:before {
    content: "6";
}

.orderListContents__item:nth-of-type(7) .orderListContents__textBlock:before,
.orderListContents__item--inversion:nth-of-type(7) .orderListContents__textBlock:before {
    content: "7";
}

.orderListContents__textBlock {
    flex: 1;
    font-size: 1rem;
    font-weight: 500;
    color: #4C6794;
    line-height: 1.8;
    padding-left: 2.875rem;
    position: relative;
}

@media only screen and (max-width: 660px) {
    .orderListContents__textBlock {
        font-size: 0.9375rem;
    }
}

.orderListContents__textBlock:before {
    width: 1.875rem;
    height: 1.875rem;
    background: #7992B7;
    border-radius: 50%;
    font-size: 0.875rem;
    color: #fff;
    line-height: 1.875rem;
    text-align: center;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.orderListContents__text,
.orderListContents__text--small {
    display: block;
    font-size: 0.875rem;
    font-weight: normal;
    line-height: 1.6;
}

@media only screen and (max-width: 660px) {

    .orderListContents__text,
    .orderListContents__text--small {
        font-size: 0.8125rem;
    }
}

.orderListContents__text--small {
    font-size: 0.8125rem;
}

.orderListContents__label {
    background: #BB787C;
    border-radius: 2.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #fff;
    line-height: 1.5625rem;
    display: table;
    margin-bottom: 0.375rem;
    padding: 0 0.75rem;
}

@media only screen and (max-width: 660px) {
    .orderListContents__label {
        font-size: 0.75rem;
    }
}

@media only screen and (max-width: 1084px) {
    .orderListContents__imgBlock {
        display: flex;
        justify-content: center;
        margin: 0.3125rem 0 0;
    }
}

.orderListContents__img img {
    min-width: 172px;
}

.orderListContents--bgn {
    background: none;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
}

.orderListContents__item--inversion {
    background: #F6F9FC;
}

.orderListContents__2col {
    display: flex;
    gap: 0.625rem;
}

@media only screen and (max-width: 660px) {
    .orderListContents__2col {
        display: block;
    }
}

.orderListContents__list {
    width: 100%;
}

.orderListContents__list--half {
    width: calc((100% - 0.625rem) / 2);
}

@media only screen and (max-width: 660px) {
    .orderListContents__list--half {
        width: 100%;
    }
}

.orderListContents__list--half.-second .orderListContents__item {
    min-height: 7rem;
}

.orderListContents__list--half.-second .orderListContents__item:nth-of-type(1) .orderListContents__textBlock:before {
    content: "5";
}

.orderListContents__list--half.-second .orderListContents__item:nth-of-type(2) .orderListContents__textBlock:before {
    content: "6";
}

.orderListContents__list--half.-second .orderListContents__item:nth-of-type(3) .orderListContents__textBlock:before {
    content: "7";
}

.orderListContents__list--half.-second .orderListContents__item:nth-of-type(1) {
    min-height: 14.6875rem;
}

@media only screen and (max-width: 660px) {
    .orderListContents__list--half.-second .orderListContents__item:nth-of-type(1) {
        min-height: auto;
        margin-top: 0.625rem;
    }
}

.orderListContents__list--half.-second .orderListContents__item:nth-of-type(2) .orderListContents__text--small {
    white-space: nowrap;
}

.orderListContents__listTitle {
    font-size: 0.9375rem;
}

.numberedTitle {
    display: flex;
    margin-bottom: 2.625rem;
}

@media only screen and (max-width: 660px) {
    .numberedTitle {
        display: block;
    }
}

.numberedTitle__num {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 1.5rem;
    font-weight: 400;
    font-style: normal;
    color: #4C6794;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    display: inline-block;
    padding-right: 3.875rem;
    position: relative;
}

.numberedTitle__num:after {
    content: "";
    width: 1.875rem;
    height: 1px;
    background: #D1D9E6;
    position: absolute;
    right: 1rem;
    top: 50%;
}

.numberedTitle__text {
    font-size: 1.125rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding-top: 2px;
}

@media only screen and (max-width: 660px) {
    .numberedTitle__text {
        display: block;
        font-size: 1rem;
        padding-top: 2rem;
    }
}

.colorBox,
.colorBox--wide {
    width: calc((100% - 3rem) / 2);
    background: #F6F9FC;
    padding: 2.5rem;
}

@media only screen and (max-width: 834px) {

    .colorBox,
    .colorBox--wide {
        width: 100%;
        margin-top: 2rem;
    }

    .colorBox:first-child,
    .colorBox--wide:first-child {
        margin-top: 0;
    }
}

@media only screen and (max-width: 660px) {

    .colorBox,
    .colorBox--wide {
        margin-top: 1.5rem;
        padding: 2rem 1.5rem;
    }
}

.colorBox__title,
.colorBox--wide__title {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
}

@media only screen and (max-width: 660px) {

    .colorBox__title,
    .colorBox--wide__title {
        display: block;
        margin-bottom: 1.25rem;
    }
}

.colorBox__titleNum,
.colorBox--wide__titleNum {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 1.375rem;
    font-weight: 400;
    font-style: normal;
    color: #4C6794;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    display: block;
    padding-right: 3.875rem;
    position: relative;
}

@media only screen and (max-width: 660px) {

    .colorBox__titleNum,
    .colorBox--wide__titleNum {
        display: inline-block;
    }
}

.colorBox__titleNum:after,
.colorBox--wide__titleNum:after {
    content: "";
    width: 1.875rem;
    height: 1px;
    background: #D1D9E6;
    position: absolute;
    right: 1rem;
    top: 50%;
}

.colorBox__titleText,
.colorBox__titleText--large,
.colorBox--wide__titleText,
.colorBox--wide__titleText--large {
    font-size: 1rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
}

@media only screen and (max-width: 660px) {

    .colorBox__titleText,
    .colorBox__titleText--large,
    .colorBox--wide__titleText,
    .colorBox--wide__titleText--large {
        display: block;
        padding-top: 1.5rem;
    }
}

.colorBox__titleText--large,
.colorBox--wide__titleText--large {
    font-size: 1.25rem;
}

@media only screen and (max-width: 1084px) {

    .colorBox__titleText--large,
    .colorBox--wide__titleText--large {
        font-size: 1.125rem;
    }
}

.colorBox__checkList,
.colorBox--wide__checkList {
    background: #fff;
    padding: 2rem 2.5rem;
}

@media only screen and (max-width: 660px) {

    .colorBox__checkList,
    .colorBox--wide__checkList {
        padding: 1.5625rem 1.5rem;
    }
}

.colorBox__text,
.colorBox--wide__text {
    font-size: 0.875rem;
}

.colorBox__text--large,
.colorBox--wide__text--large {
    font-size: 0.9375rem;
}

@media only screen and (max-width: 660px) {

    .colorBox__text--large,
    .colorBox--wide__text--large {
        font-size: 0.875rem;
    }
}

.colorBox__text--att,
.colorBox--wide__text--att {
    font-size: 0.75rem;
    color: #626670;
}

@media only screen and (max-width: 660px) {

    .colorBox__text--att,
    .colorBox--wide__text--att {
        margin-top: 1.125rem !important;
    }
}

.colorBox__text--strong,
.colorBox--wide__text--strong {
    background: #fff;
    color: #4C6794;
    line-height: 2;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding: 1.5rem;
    margin-top: 1.75rem;
}

@media only screen and (max-width: 660px) {

    .colorBox__text--strong,
    .colorBox--wide__text--strong {
        font-size: 0.8125rem;
    }

    .colorBox__text--strong br,
    .colorBox--wide__text--strong br {
        display: none;
    }
}

.colorBox__checkContents,
.colorBox--wide__checkContents {
    margin-top: 1.75rem;
}

.colorBox__boxList,
.colorBox--wide__boxList {
    margin-top: 1.75rem;
}

@media only screen and (max-width: 660px) {

    .colorBox__boxList,
    .colorBox--wide__boxList {
        margin-top: 1.25rem;
    }
}

.colorBox--wide {
    width: 100%;
    margin-bottom: 2rem;
}

@media only screen and (max-width: 660px) {
    .colorBox--wide {
        margin-bottom: 1.5rem;
    }
}

.colorBox--narrowGapItem {
    width: calc((100% - 2rem) / 2);
    background: #F6F9FC;
    padding: 2.5rem;
}

@media only screen and (max-width: 834px) {
    .colorBox--narrowGapItem {
        width: 100%;
        margin-top: 2rem;
    }

    .colorBox--narrowGapItem:first-child {
        margin-top: 0;
    }
}

@media only screen and (max-width: 660px) {
    .colorBox--narrowGapItem {
        margin-top: 1.5rem;
        padding: 2rem 1.5rem;
    }
}

.colorBox--narrowGapItem.-item3col {
    width: calc((100% - 4rem) / 3);
}

@media only screen and (max-width: 1084px) {
    .colorBox--narrowGapItem.-item3col {
        padding: 1.5rem;
    }
}

@media only screen and (max-width: 834px) {
    .colorBox--narrowGapItem.-item3col {
        width: 100%;
    }
}

.boxList {
    display: flex;
    gap: 2rem;
}

@media only screen and (max-width: 834px) {
    .boxList {
        display: block;
    }
}

.boxList__item {
    width: calc((100% - 4rem) / 2);
    background: #fff;
    padding: 2.5rem;
}

@media only screen and (max-width: 834px) {
    .boxList__item {
        width: 100%;
        margin-top: 2rem;
    }

    .boxList__item:first-child {
        margin-top: 0;
    }
}

@media only screen and (max-width: 660px) {
    .boxList__item {
        margin-top: 1rem;
        padding: 2rem 1.5rem 1.5625rem;
    }
}

.boxList__head {
    border-bottom: 1px solid #D1D9E6;
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
}

.boxList__title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #4C6794;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    margin-bottom: 1.25rem;
}

@media only screen and (max-width: 660px) {
    .boxList__title {
        font-size: 1rem;
    }
}

.boxList__text {
    font-size: 0.9375rem;
}

@media only screen and (max-width: 660px) {
    .boxList__text {
        font-size: 0.875rem;
    }
}

.table__head {
    background: #7992B7;
    color: #fff;
    line-height: 2;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding: 1.5rem 2.5rem;
    width: 50%;
}

@media only screen and (max-width: 660px) {
    .table__head {
        font-size: 0.8125rem;
        text-align: left;
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

.table__head+.table__head {
    border-left: 1px solid #D1D9E6;
}

.table__cell {
    line-height: 2;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding: 2.5rem;
}

@media only screen and (max-width: 660px) {
    .table__cell {
        font-size: 0.8125rem;
        padding: 2rem 1rem;
    }
}

.table__cell+.table__cell {
    border-left: 1px solid #D1D9E6;
}

.slick-slider {
    position: static;
}

.slick-dots {
    position: relative;
    bottom: auto;
    margin-top: 1.25rem;
}

@media only screen and (max-width: 834px) {
    .slick-dots {
        display: block !important;
    }
}

.slick-dots li {
    width: 0.75rem;
    height: 0.75rem;
    margin: 0 0.75rem;
}

.slick-dots li button {
    width: 0.75rem;
    height: 0.75rem;
    padding: 0;
}

.slick-dots li button:before {
    content: "";
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 0.375rem;
    background: #D1D9E6;
    opacity: 1;
}

.slick-dots li.slick-active button:before {
    background: #4C6794;
    opacity: 1;
}

.slick-dotted.slick-slider {
    margin-bottom: 0;
}

.flexible {
    max-width: 60rem;
    margin: 0 auto;
}

.flexible__catchCopy {
    font-size: 1.5rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
}

@media only screen and (max-width: 660px) {
    .flexible__catchCopy {
        font-size: 1.25rem;
    }
}

.flexible__checkList {
    background: #F6F9FC;
    padding: 2.5rem;
}

@media only screen and (max-width: 660px) {
    .flexible__checkList {
        padding: 2rem 1.5rem;
    }
}

.flexible__img img {
    margin: 0 auto;
}

.trouble {
    background: #F6F9FC;
    padding: 1.5rem 2.5rem 2.5rem;
}

@media only screen and (max-width: 660px) {
    .trouble {
        padding: 1.5rem 1rem 2.5rem;
    }
}

.trouble__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.trouble__icon {
    width: 4rem;
}

.trouble__titleText {
    font-size: 1.125rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
}

@media only screen and (max-width: 660px) {
    .trouble__titleText {
        font-size: 1rem;
    }
}

.trouble__list {
    background: #fff;
    display: flex;
    gap: 2rem;
    padding: 2.5rem;
}

@media only screen and (max-width: 660px) {
    .trouble__list {
        display: block;
        padding: 2rem 1.5rem;
    }
}

.trouble__listLeft,
.trouble__listRight {
    width: calc((100% - 2rem) / 2);
}

@media only screen and (max-width: 660px) {

    .trouble__listLeft,
    .trouble__listRight {
        width: 100%;
    }
}

@media only screen and (max-width: 660px) {
    .trouble__listRight {
        margin-top: 0.375rem;
    }
}

.trouble__text {
    text-align: center;
    margin-top: 2.5rem;
}

.role {
    background: #F6F9FC;
    padding: 2.5rem 1.5rem 1.5rem;
}

.role__contents {
    display: flex;
    gap: 0.625rem;
}

@media only screen and (max-width: 660px) {
    .role__contents {
        display: block;
    }
}

.role__item {
    width: calc((100% - 0.625rem) / 2);
    background: #fff;
    padding: 1.5rem;
}

@media only screen and (max-width: 660px) {
    .role__item {
        width: 100%;
        padding: 0;
    }

    .role__item:first-child {
        margin-bottom: 0.625rem;
    }
}

.role__itemHead {
    display: flex;
    align-items: center;
    gap: 1rem;
}

@media only screen and (max-width: 660px) {
    .role__itemHead {
        gap: 0.625rem;
        padding: 1.5rem 1rem 0;
    }
}

.role__itemMark {
    width: 4.375rem;
    height: 4.375rem;
    background: #7992B7;
    border-radius: 50%;
    font-size: 0.875rem;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

@media only screen and (max-width: 660px) {
    .role__itemMark {
        width: 4rem;
        height: 4rem;
    }
}

.role__num {
    font-size: 1.25rem;
    padding-top: 0.3125rem;
}

.role__itemText {
    flex: 1;
}

.role__itemTitle {
    font-size: 1.125rem;
    font-weight: 500;
    color: #4C6794;
}

@media only screen and (max-width: 660px) {
    .role__itemTitle {
        font-size: 1rem;
    }
}

.role__text {
    font-size: 0.875rem;
    color: #4C6794;
    margin-top: 1.25rem;
}

@media only screen and (max-width: 660px) {
    .role__text {
        font-size: 0.8125rem;
    }
}

.role__img {
    margin-top: 1.5rem;
}

@media only screen and (max-width: 660px) {
    .role__img {
        margin-top: 1.25rem;
    }
}

@media only screen and (max-width: 660px) {
    .role__img img {
        display: block;
        margin: 0 auto;
    }
}

.content1col {
    background: #F6F9FC;
    padding: 2.5rem;
}

@media only screen and (max-width: 834px) {
    .content1col {
        padding: 2rem 1.5rem;
    }
}

.content1col__title {
    font-size: 1.125rem;
    font-weight: 500;
    color: #4C6794;
    line-height: 1.6;
    border-bottom: 1px solid #D1D9E6;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
}

@media only screen and (max-width: 660px) {
    .content1col__title {
        font-size: 1rem;
    }
}

.content1col__contents p {
    padding-left: 1.5rem;
    position: relative;
}

.content1col__contents p:before {
    content: "";
    width: 0.75rem;
    height: 0.75rem;
    background: url(../images/icon/icon_check.svg) no-repeat center/contain;
    position: absolute;
    left: 0;
    top: 0;
}

.content2col {
    background: #F6F9FC;
    padding: 2.5rem 1.5rem 1.5rem;
}

@media only screen and (max-width: 660px) {
    .content2col {
        padding: 1.5rem 1rem 1rem;
    }
}

.content2col__title {
    font-size: 1.125rem;
    font-weight: 500;
    color: #4C6794;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 2rem;
}

@media only screen and (max-width: 660px) {
    .content2col__title {
        font-size: 1rem;
        margin-bottom: 1.5rem;
    }
}

.content2col__contents {
    display: flex;
    gap: 0.75rem;
}

@media only screen and (max-width: 660px) {
    .content2col__contents {
        display: block;
    }
}

.content2col__item {
    width: calc((100% - 0.75rem) / 2);
    background: #fff;
    padding: 1.5rem;
}

@media only screen and (max-width: 660px) {
    .content2col__item {
        width: 100%;
    }

    .content2col__item:first-child {
        margin-bottom: 0.75rem;
    }
}

.content2col__item h4 {
    color: #4C6794;
    font-weight: 600;
    text-align: center;
}

@media only screen and (max-width: 660px) {
    .content2col__item h4 span:first-child {
        font-size: 1rem !important;
    }
}

@media only screen and (max-width: 660px) {
    .content2col__item h4 span:nth-child(2) {
        font-size: 0.8125rem !important;
    }
}

.content2col__img {
    margin-top: 0.625rem;
}

.content2col__img img {
    margin: 0 auto;
}

.content2col__text,
.content2col__text--mt {
    font-size: 0.875rem;
    text-align: center;
    margin-top: 0.625rem;
}

.content2col__text--mt {
    margin-top: 1.5rem;
}

.content3col {
    background: #F6F9FC;
    padding: 2.5rem 1.5rem 1.5rem;
}

@media only screen and (max-width: 660px) {
    .content3col {
        padding: 1.5rem 1rem 1rem;
    }
}

.content3col__title {
    font-size: 1.125rem;
    font-weight: 500;
    color: #4C6794;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 2rem;
}

@media only screen and (max-width: 660px) {
    .content3col__title {
        font-size: 1rem;
        margin-bottom: 1.5rem;
    }
}

.content3col__contents {
    display: flex;
    gap: 0.75rem;
}

@media only screen and (max-width: 660px) {
    .content3col__contents {
        display: block;
    }
}

.content3col__item {
    width: calc((100% - 1.5rem) / 3);
    background: #fff;
    padding: 1.5rem;
}

@media only screen and (max-width: 660px) {
    .content3col__item {
        width: 100%;
        margin-top: 0.75rem;
    }
}

.content3col__item:first-child {
    margin-top: 0;
}

.content3col__itemTitle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-size: 1.125rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
}

@media only screen and (max-width: 660px) {
    .content3col__itemTitle {
        justify-content: flex-start;
    }
}

.content3col__itemNum {
    width: 1.875rem;
    height: 1.875rem;
    background: #7992B7;
    border-radius: 0.9375rem;
    font-size: 0.875rem;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.content3col__itemImg {
    margin-top: 1.5rem;
}

@media only screen and (max-width: 660px) {
    .content3col__itemImg {
        display: none;
    }
}

.content3col__itemImg img {
    margin: 0 auto;
}

.content3col__itemImg--sp {
    display: none;
}

@media only screen and (max-width: 660px) {
    .content3col__itemImg--sp {
        display: block;
        margin-top: 1rem;
    }
}

.content3col__itemImg--sp img {
    margin: 0 auto;
}

.content3col__itemText {
    font-size: 0.875rem;
    margin-top: 1.5rem;
}

@media only screen and (max-width: 660px) {
    .content3col__itemText {
        font-size: 0.8125rem;
        margin-top: 1rem;
    }
}

.content3col__itemCheck {
    font-size: 0.9375rem;
    color: #4C6794;
    margin-top: 1.5rem;
    padding-left: 1.25rem;
    position: relative;
}

@media only screen and (max-width: 660px) {
    .content3col__itemCheck {
        font-size: 0.875rem;
        margin-top: 1rem;
    }
}

.content3col__itemCheck:before {
    content: "";
    width: 0.75rem;
    height: 0.75rem;
    background: url(../images/icon/icon_check.svg) no-repeat center/contain;
    position: absolute;
    left: 0;
    top: -2px;
}

.content3col__itemBox {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: #F6F9FC;
    padding: 1.5rem 1rem;
    margin-top: 1.5rem;
}

@media only screen and (max-width: 834px) {
    .content3col__itemBox {
        display: grid;
    }
}

@media only screen and (max-width: 660px) {
    .content3col__itemBox {
        display: flex;
    }
}

.content3col__itemBox p {
    flex: 1;
    font-size: 0.75rem;
}

.content3col__itemEx {
    width: 2.5rem;
    margin: 0 auto;
}

.gtranslate_wrapper select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../images/icon/icon_arrow-under-blue.svg) no-repeat center right;
    width: 3.25rem;
    font-size: 0.8125rem;
    padding: 0.625rem 0 0.625rem 1rem;
}

.gtranslate_wrapper select::picker(select) {
    -webkit-appearance: base-select;
    -moz-appearance: base-select;
    appearance: base-select;
}

@media only screen and (min-width: 661px) {
    .gtranslate_wrapper select::picker(select) {
        background: #fff;
    }
}

.post * {
    line-height: 2;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
}

.post *:first-child {
    margin-top: 0;
}

.post h2,
.post h3,
.post h4,
.post h5,
.post h6 {
    line-height: 1.8;
}

.post h2 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #4C6794;
    margin: 5rem 0 3rem;
}

@media only screen and (max-width: 660px) {
    .post h2 {
        font-size: 1.25rem;
        margin: 4rem 0 2.5rem;
    }
}

.post p,
.post ul,
.post ol,
.post dl,
.post table {
    margin: 3rem 0 0;
}

@media only screen and (max-width: 660px) {

    .post p,
    .post ul,
    .post ol,
    .post dl,
    .post table {
        margin-top: 2.5rem;
    }
}

.post ul {
    list-style: disc;
}

.post ul li::marker {
    color: #A8B8D1;
}

.post ol {
    list-style: decimal;
}

.post ul,
.post ol {
    padding-left: 1.75rem;
}

@media only screen and (max-width: 660px) {

    .post ul,
    .post ol {
        padding-left: 1.125rem;
    }
}

.post li {
    margin-top: 1.25rem;
}

@media only screen and (max-width: 660px) {
    .post li {
        margin-top: 1.125rem;
    }
}

.post li:first-child {
    margin-top: 0;
}

.post a {
    text-decoration: underline;
}

.post a:hover {
    text-decoration: none;
}

.beautyMenu {
    max-width: 60rem;
    margin: 0 auto;
    padding-bottom: 7.5rem;
}

.beautyMenu * {
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
}

.beautyMenu :first-child {
    margin-top: 0;
}

.beautyMenu p+p {
    margin-top: 3em;
}

.beautyMenu__heading2 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    margin-top: 7.5rem;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    position: relative;
}

@media only screen and (max-width: 660px) {
    .beautyMenu__heading2 {
        font-size: 1.25rem;
        margin: 5rem 0 4rem;
    }
}

.beautyMenu__heading2:after {
    content: "";
    width: 2.5rem;
    height: 1px;
    background: #A8B8D1;
    position: absolute;
    left: 0;
    bottom: 0;
}

.beautyMenu__heading3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    margin-top: 5rem;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    position: relative;
}

@media only screen and (max-width: 660px) {
    .beautyMenu__heading3 {
        font-size: 1.125rem;
        margin-top: 4rem;
        padding-bottom: 2rem;
    }
}

.beautyMenu__heading3:after {
    content: "";
    width: 2.5rem;
    height: 1px;
    background: #A8B8D1;
    position: absolute;
    left: 0;
    bottom: 0;
}

.beautyMenu__heading4 {
    font-size: 1.125rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    margin-top: 5rem;
    margin-bottom: 2rem;
}

@media only screen and (max-width: 660px) {
    .beautyMenu__heading4 {
        font-size: 1rem;
        margin-top: 4rem;
    }
}

.beautyMenu__heading5 {
    font-size: 1rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    margin-top: 5rem;
    margin-bottom: 2rem;
}

@media only screen and (max-width: 660px) {
    .beautyMenu__heading5 {
        font-size: 0.9375rem;
        margin-top: 4rem;
    }
}

.beautyMenu__checkList,
.beautyMenu__list,
.beautyMenu__orderList,
.beautyMenu__listBox {
    margin: 2rem 0;
}

@media only screen and (max-width: 660px) {

    .beautyMenu__checkList,
    .beautyMenu__list,
    .beautyMenu__orderList,
    .beautyMenu__listBox {
        margin: 4rem 0;
    }
}

.beautyMenu__orderList {
    padding-left: 1rem;
}

.beautyMenu__listItem,
.beautyMenu__listItem--check,
.beautyMenu__listItem--order {
    font-size: 0.9375rem;
    line-height: 1.8;
    padding-left: 1.375rem;
    position: relative;
    margin-bottom: 1.5rem;
    letter-spacing: 0.01em;
}

@media only screen and (max-width: 1084px) {

    .beautyMenu__listItem,
    .beautyMenu__listItem--check,
    .beautyMenu__listItem--order {
        font-size: 0.875rem;
    }
}

.beautyMenu__listItem:last-child,
.beautyMenu__listItem--check:last-child,
.beautyMenu__listItem--order:last-child {
    margin-bottom: 0;
}

.beautyMenu__listItem:before,
.beautyMenu__listItem--check:before,
.beautyMenu__listItem--order:before {
    content: "・";
    color: #A8B8D1;
    line-height: 1;
    position: absolute;
    left: -2px;
    top: -3px;
}

.beautyMenu__listItem--check:before {
    content: "";
    width: 0.75rem;
    height: 0.75rem;
    background: url(../images/icon/icon_check.svg) no-repeat center/contain;
    position: absolute;
    left: 0;
    top: 0;
}

.beautyMenu__listItem--order {
    list-style: decimal;
    padding-left: 0.5rem;
}

.beautyMenu__listItem--order:before {
    content: none;
}

.beautyMenu__listItem--order::marker {
    color: #4C6794;
}

.beautyMenu__listBox {
    background: #F6F9FC;
    padding: 2.5rem;
}

@media only screen and (max-width: 834px) {
    .beautyMenu__listBox {
        padding: 2rem 1.5rem;
    }
}

.beautyMenu a {
    text-decoration: underline;
}

.beautyMenu .marker-under-red {
    background: linear-gradient(transparent 92%, #eedadb 8%);
}

.beautyMenu .marker-under-blue {
    background: linear-gradient(transparent 92%, #D1D9E6 8%);
}

.beautyMenu__att,
.beautyMenu__att--right {
    font-size: 0.75rem;
    color: #626670;
    margin-top: 4rem;
}

.beautyMenu__att--right {
    text-align: right;
    margin-top: 1.5rem;
}

.beautyMenu__table {
    border-bottom: 1px solid #D1D9E6;
    margin: 2rem 0 0;
}

.beautyMenu__heading {
    width: 33.333%;
    background: #7992B7;
    font-size: 0.875rem;
    color: #fff;
    text-align: center;
    line-height: 2;
    padding: 1.5rem;
}

@media only screen and (max-width: 834px) {
    .beautyMenu__heading {
        padding: 1.5rem 0.75rem;
    }
}

@media only screen and (max-width: 660px) {
    .beautyMenu__heading {
        font-size: 0.75rem;
    }
}

.beautyMenu__cell,
.beautyMenu__cell--right {
    font-size: 0.875rem;
    padding: 2rem 2.5rem;
}

@media only screen and (max-width: 834px) {

    .beautyMenu__cell,
    .beautyMenu__cell--right {
        padding: 1.5rem 0.75rem;
    }
}

@media only screen and (max-width: 660px) {

    .beautyMenu__cell,
    .beautyMenu__cell--right {
        font-size: 0.75rem;
    }
}

.beautyMenu__cell--right {
    text-align: right;
}

.beautyMenu__photo {
    background: #F6F9FC;
    display: flex;
    gap: 4rem;
    padding: 3rem;
    margin-top: 4rem;
    position: relative;
}

@media only screen and (max-width: 834px) {
    .beautyMenu__photo {
        padding: 1rem 0.75rem;
        gap: 2rem;
    }
}

@media only screen and (max-width: 660px) {
    .beautyMenu__photo+.beautyMenu__photo {
        margin-top: 1.5rem;
    }
}

.beautyMenu__photo:after {
    content: "";
    width: 1.5rem;
    height: 0.75rem;
    background: url(../images/icon/icon_arrow2_right.svg) no-repeat center/contain;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.beautyMenu__photo img {
    width: 100%;
}

.beautyMenu__before,
.beautyMenu__after {
    width: calc((100% - 4rem) / 2);
}

@media only screen and (max-width: 834px) {

    .beautyMenu__before,
    .beautyMenu__after {
        width: calc((100% - 2rem) / 2);
    }
}

.beautyMenu__caption {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 1rem;
    font-weight: 400;
    font-style: normal;
    color: #4C6794;
    margin-bottom: 1rem;
}

@media only screen and (max-width: 660px) {
    .beautyMenu__caption {
        font-size: 0.75rem;
        margin-bottom: 0.5rem;
    }
}

.beautyMenu__flow {
    margin-top: 2rem;
}

.beautyMenu__flowTitle {
    font-size: 1.125rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    margin: 4rem 0 2rem !important;
    padding-left: 4.6875rem;
    position: relative;
}

@media only screen and (max-width: 660px) {
    .beautyMenu__flowTitle {
        font-size: 1rem;
        margin: 3rem 0 2rem !important;
        padding-left: 0;
        padding-top: 3.125rem;
    }
}

.beautyMenu__flowTitle:after {
    content: "";
    width: 1.875rem;
    height: 1px;
    background: #D1D9E6;
    position: absolute;
    left: 1.875rem;
    top: 50%;
}

@media only screen and (max-width: 660px) {
    .beautyMenu__flowTitle:after {
        top: 0.375rem;
    }
}

.beautyMenu__flowNum {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 1.5rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    position: absolute;
    left: 0;
    top: -2px;
}

.keyvisual {
    height: 100vh;
    position: relative;
}

.keyvisual__img {
    width: 50%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background: url(../images/top/main_img.jpg) no-repeat center/cover;
    background: url(../images/top/main_img.webp) no-repeat center/cover;
}

@media only screen and (max-width: 834px) {
    .keyvisual__img {
        width: calc(100% - 10.25rem);
        background: url(../images/top/main_img_sp.jpg) no-repeat center/cover;
        background: url(../images/top/main_img_sp.webp) no-repeat center/cover;
        height: calc(100vh - 5rem);
        top: auto;
        bottom: 0;
    }
}

@media only screen and (max-width: 660px) {
    .keyvisual__img {
        width: calc(100% - 4rem);
    }
}

.keyvisual__img:after {
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    position: absolute;
    right: 0;
    top: 0;
    transition: all 0.65s cubic-bezier(0.025, 0.58, 0.16, 0.885);
}

.keyvisual__img.-show:after {
    right: -100%;
}

.keyvisual__logo {
    max-width: 5.4375rem;
    width: auto;
    position: absolute;
    right: 0;
    bottom: 0;
}

@media only screen and (max-width: 834px) {
    .keyvisual__logo {
        max-width: 2.953125rem;
    }
}

.keyvisual__logo img {
    max-height: 86.91vh;
    height: auto;
}

.keyvisual__wrap {
    height: 100vh;
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 660px) {
    .keyvisual__wrap {
        display: block;
    }
}

.keyvisual__content {
    max-width: 40rem;
    padding: 3.75rem 5rem 0;
    position: relative;
}

@media only screen and (max-width: 1084px) {
    .keyvisual__content {
        padding: 1.875rem 0 0 0.5rem;
    }
}

@media only screen and (max-width: 660px) {
    .keyvisual__content {
        padding-top: 7.5rem;
    }
}

.keyvisual__title {
    max-width: 25rem;
    margin-bottom: 3.5rem;
}

@media only screen and (max-width: 660px) {
    .keyvisual__title {
        max-width: 20rem;
        margin-bottom: 1.875rem;
    }
}

@media only screen and (max-width: 480px) {
    .keyvisual__title {
        max-width: 16.25rem;
    }
}

.keyvisual__text {
    font-size: 0.9375rem;
    line-height: 1.9;
}

@media only screen and (max-width: 660px) {
    .keyvisual__text {
        font-size: 0.75rem;
        max-width: 11.25rem;
    }
}

.keyvisual__btn {
    max-width: 16.4375rem;
    margin-top: 3.5rem;
}

@media only screen and (max-width: 660px) {
    .keyvisual__btn {
        margin-top: 1.25rem;
    }
}

.keyvisual__btnLink {
    background: #4C6794;
    border-radius: 2px;
    font-size: 0.9375rem;
    color: #fff;
    display: block;
    padding: 1.875rem 3.5rem 1.875rem 2rem;
    position: relative;
}

@media only screen and (max-width: 660px) {
    .keyvisual__btnLink {
        font-size: 0.875rem;
        padding: 1.375rem 3rem 1.375rem 1.5rem;
    }
}

.keyvisual__btnLink:hover {
    color: #fff;
}

.keyvisual__btnLink:hover .keyvisual__btnIcon {
    right: 1.25rem;
}

.keyvisual__btnIcon {
    width: 1rem;
    height: 0.5rem;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
}

.keyvisual__btnIcon svg {
    position: relative;
    top: -0.3125rem;
}

.scroll {
    width: 5rem;
    padding: 0 2.1875rem;
    position: absolute;
    left: 0;
    bottom: 2.5rem;
}

@media only screen and (max-width: 660px) {
    .scroll {
        display: none;
    }
}

.scroll__text {
    font-size: 0.9375rem;
    transform: rotate(90deg);
    position: absolute;
    left: 0.5625rem;
    top: -3rem;
}

.scroll__img {
    height: 2.8125rem;
    overflow: hidden;
}

.scroll__icon {
    display: block;
    transform: translateY(-100%);
}

.topProblem__text {
    font-size: 1rem;
    text-align: center;
    line-height: 2;
}

@media only screen and (max-width: 660px) {
    .topProblem__text {
        font-size: 0.875rem;
        text-align: left;
    }
}

.problem {
    margin-bottom: 3rem;
}

.problem__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 3rem;
}

@media only screen and (max-width: 1320px) {
    .problem__list {
        gap: 0 1.5rem;
    }
}

@media only screen and (max-width: 834px) {
    .problem__list {
        display: block;
    }
}

.problem__item {
    width: calc((100% - 6rem) / 3);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0 1rem 1.5rem;
}

@media only screen and (max-width: 1320px) {
    .problem__item {
        width: calc((100% - 3rem) / 3);
        padding-left: 1rem;
    }
}

@media only screen and (max-width: 1084px) {
    .problem__item {
        width: calc((100% - 3rem) / 2);
        padding-left: 1.5rem;
    }
}

@media only screen and (max-width: 834px) {
    .problem__item {
        width: 100%;
        max-width: 25rem;
        margin: 0 auto 0.5rem;
    }
}

@media only screen and (max-width: 480px) {
    .problem__item {
        max-width: 20.5rem;
        padding: 0 1.5rem;
    }
}

.problem__text {
    flex: 1;
    font-size: 1.125rem;
    line-height: 2;
}

@media only screen and (max-width: 834px) {
    .problem__text {
        font-size: 1rem;
    }
}

@media only screen and (max-width: 480px) {
    .problem__text {
        font-size: 0.9375rem;
    }
}

.problem__img {
    width: 10rem;
}

@media only screen and (max-width: 480px) {
    .problem__img {
        width: 7.5rem;
    }
}

.topCellRevival__contents {
    display: flex;
    justify-content: space-between;
}

@media only screen and (max-width: 834px) {
    .topCellRevival__contents {
        display: block;
    }
}

.topCellRevival__head {
    flex: 1;
    padding: 4.625rem 1.875rem 0 4rem;
    position: relative;
}

@media only screen and (max-width: 1084px) {
    .topCellRevival__head {
        padding-left: 0;
    }
}

@media only screen and (max-width: 834px) {
    .topCellRevival__head {
        padding: 0 0 4.375rem;
    }
}

.topCellRevival__head:before {
    content: "";
    width: 37.5rem;
    height: 40.625rem;
    background: url(../images/top/top_bg_2.png) no-repeat center/contain;
    position: absolute;
    top: -8.75rem;
    left: -11.25rem;
}

.topCellRevival__body {
    width: 100%;
    max-width: 35rem;
}

@media only screen and (max-width: 1084px) {
    .topCellRevival__body {
        width: 50%;
    }
}

@media only screen and (max-width: 834px) {
    .topCellRevival__body {
        width: 100%;
        max-width: 100%;
        position: relative;
    }
}

.topCellRevival__body p {
    line-height: 1.9;
}

.topCellRevival__img {
    margin: 2.5rem 0;
}

@media only screen and (max-width: 834px) {
    .topCellRevival__img {
        max-width: 35rem;
        margin-left: auto;
        margin-right: auto;
    }
}

@media only screen and (max-width: 660px) {
    .topCellRevival__img {
        margin: 1.875rem 0;
    }
}

.topCellRevival__under {
    margin-top: 4.375rem;
}

.tablePrp__caption {
    font-size: 1.125rem;
    font-weight: 500;
    color: #4C6794;
    text-align: center;
    line-height: 1.3;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding: 1.5rem 0;
}

.tablePrp__head {
    background: #4C6794;
    border-left: 1px solid #D1D9E6 !important;
    font-size: 0.875rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    line-height: 1.8;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding: 1.5rem 1rem;
}

@media only screen and (max-width: 1084px) {
    .tablePrp__head {
        font-size: 0.8125rem;
        padding: 1.25rem 0.5rem;
    }
}

.tablePrp__head:first-child {
    border: none !important;
    border-top-left-radius: 4px;
    width: 8.125rem;
}

@media only screen and (max-width: 1084px) {
    .tablePrp__head:first-child {
        width: 29.0519877676%;
    }
}

.tablePrp__head:last-child {
    border-top-right-radius: 4px;
    width: 10.625rem;
}

@media only screen and (max-width: 1084px) {
    .tablePrp__head:last-child {
        width: 28.1345565749%;
    }
}

.tablePrp tr:nth-child(even) {
    background: #F6F9FC;
}

.tablePrp__cell {
    border-left: 1px solid #D1D9E6 !important;
    padding: 2.5rem 1rem;
}

@media only screen and (max-width: 1084px) {
    .tablePrp__cell {
        font-size: 0.75rem;
        padding: 1.25rem 0.625rem;
    }
}

.tablePrp__cell:first-child {
    border: none !important;
    font-size: 0.875rem;
    line-height: 1.6;
    text-align: center;
}

.tablePrp__en {
    font-size: 1rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    display: block;
    margin-bottom: 0.625rem;
    padding-top: 0.625rem;
}

@media only screen and (max-width: 1084px) {
    .tablePrp__en {
        font-size: 0.9375rem;
        padding-top: 0.375rem;
    }
}

.faqNav {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 0;
}

@media only screen and (max-width: 660px) {
    .faqNav {
        gap: 0.5rem 0;
    }
}

.faqNav__item {
    width: 25%;
    border-right: 1px solid #D1D9E6;
    padding: 0 0.5rem;
}

@media only screen and (max-width: 660px) {
    .faqNav__item {
        width: 50%;
    }
}

.faqNav__item:nth-child(4n+1) {
    border-left: 1px solid #D1D9E6;
}

@media only screen and (max-width: 660px) {
    .faqNav__item:nth-child(4n+1) {
        border-left: none;
    }
}

@media only screen and (max-width: 660px) {
    .faqNav__item:nth-child(2n+1) {
        display: flex;
        align-items: center;
        justify-content: center;
        border-left: 1px solid #D1D9E6;
    }
}

.faqNav__link {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 4.75rem;
    background: #fff;
    border-radius: 4px;
    font-weight: 500;
    color: #4C6794;
    line-height: 1.6;
    text-align: center;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding: 0.625rem;
}

@media only screen and (max-width: 834px) {
    .faqNav__link {
        font-size: 0.8125rem;
    }
}

@media only screen and (max-width: 660px) {
    .faqNav__link {
        width: 100%;
        height: 100%;
        padding: 1rem 0.6875rem;
    }
}

.faqNav__link:hover {
    background: #4C6794;
    color: #fff;
    opacity: 1;
}

.faqList__section {
    padding-top: 7.625rem;
}

@media only screen and (max-width: 660px) {
    .faqList__section {
        padding-top: 5rem;
    }
}

.faqList__title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    margin-bottom: 3rem;
}

@media only screen and (max-width: 660px) {
    .faqList__title {
        font-size: 1.125rem;
        margin-bottom: 2rem;
    }
}

.contact__text,
.contact__formText,
.contact__formTitle,
.contact__linkText {
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
}

.contact__links {
    background: #F6F9FC;
    margin: 4rem 0;
    padding: 2rem;
}

@media only screen and (max-width: 834px) {
    .contact__links {
        padding: 1.5rem;
    }
}

@media only screen and (max-width: 660px) {
    .contact__links {
        margin: 3rem 0;
    }
}

.contact__list {
    display: flex;
    gap: 0.625rem;
}

@media only screen and (max-width: 834px) {
    .contact__list {
        display: block;
    }
}

.contact__item {
    width: calc((100% - 1.25rem) / 3);
}

@media only screen and (max-width: 834px) {
    .contact__item {
        width: 100%;
        margin-top: 0.625rem;
    }

    .contact__item:first-child {
        margin-top: 0;
    }
}

.contact__link {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 4px 8px rgba(168, 184, 209, 0.4);
    padding: 1.5rem 1rem;
}

.contact__linkText {
    padding-right: 1rem;
}

@media only screen and (max-width: 660px) {
    .contact__linkText {
        font-size: 1rem;
    }
}

.contact__linkIcon {
    width: 2.5rem;
}

.contact__form {
    background: #F6F9FC;
    margin: 5rem 0 0;
    padding: 5rem;
}

@media only screen and (max-width: 834px) {
    .contact__form {
        padding: 3rem 1.5rem;
    }
}

@media only screen and (max-width: 660px) {
    .contact__form {
        margin-top: 3rem;
    }
}

.contact__formTitle {
    font-size: 1.5rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    margin-bottom: 3rem;
}

@media only screen and (max-width: 660px) {
    .contact__formTitle {
        font-size: 1.25rem;
        margin-bottom: 2rem;
    }
}

.contact__formText {
    font-size: 0.875rem;
}

.contact__formText--red {
    color: #BB787C;
}

.contactform {
    margin-top: 3rem;
}

.contactform__label {
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    margin: 2.5rem 0 1.5rem;
}

@media only screen and (max-width: 660px) {
    .contactform__label {
        margin: 2rem 0 1rem;
    }
}

.contactform__label--red {
    color: #BB787C;
    padding-left: 0.3rem;
}

.contactform__parts--3col {
    display: flex;
    justify-content: space-between;
    margin-left: -1rem;
}

@media only screen and (max-width: 660px) {
    .contactform__parts--3col {
        margin-left: -0.375rem;
    }
}

.contactform__item {
    width: 33.3333%;
    padding-left: 1rem;
}

@media only screen and (max-width: 660px) {
    .contactform__item {
        padding-left: 0.375rem;
    }
}

.contactform__item input {
    width: calc(100% - 1.5rem);
    margin-right: 0.375rem;
}

.contactform input,
.contactform textarea {
    padding: 1.5rem 2rem;
}

@media only screen and (max-width: 660px) {

    .contactform input,
    .contactform textarea {
        padding: 1.25rem 1rem;
    }
}

.contactform label {
    display: flex;
    align-items: center;
}

.contactform input[type=radio] {
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 0.3125rem;
    position: relative;
}

.contactform input[type=radio]:checked:before {
    background: url(../images/form/radio_on.png) no-repeat center/contain;
}

.contactform input[type=radio]:before {
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    background: url(../images/form/radio_off.png) no-repeat center/contain;
    position: absolute;
    left: 0;
    top: 0;
    cursor: pointer;
}

.contactform input[name=your-year],
.contactform input[name=your-month],
.contactform input[name=your_day] {
    text-align: right;
}

.contactform__text {
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    margin-top: 3rem;
}

@media only screen and (max-width: 660px) {
    .contactform__text {
        margin-top: 2rem;
    }
}

.contactform__text a {
    text-decoration: underline;
}

.contactform__text a:hover {
    text-decoration: none;
}

.contactform__btn {
    max-width: 15rem;
    height: 3.6875rem;
    background: url(../images/form/btn_submit.png) no-repeat center/contain;
    margin: 3rem auto 0;
    transition: opacity 0.3s ease;
}

@media only screen and (max-width: 660px) {
    .contactform__btn {
        margin-top: 2rem;
    }
}

.contactform__btn:hover {
    opacity: 0.8;
}

.contactform__btn input {
    height: 3.6875rem;
    opacity: 0;
    padding: 0;
}

.accessTitle {
    font-size: 1.25rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    margin: 0 0 3rem;
}

@media only screen and (max-width: 660px) {
    .accessTitle {
        font-size: 1.125rem;
        margin-bottom: 1.5rem;
    }
}

.root {
    position: relative;
}

.root__list {
    max-width: 70rem;
    margin: 0 auto;
}

@media only screen and (max-width: 480px) {
    .root__img img {
        width: 100%;
    }
}

.root__item {
    padding: 0 1rem;
}

@media only screen and (max-width: 480px) {
    .root__item {
        padding: 0 2.5rem;
    }
}

.root__desc {
    margin-top: 1.5rem;
}

.root__title {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 1rem;
    font-weight: 400;
    font-style: normal;
    color: #4C6794;
    line-height: 1.8;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    margin-bottom: 1.5rem;
}

.root__num {
    font-size: 1.875rem;
    padding-left: 0.3125rem;
}

.root__text {
    font-size: 0.875rem;
    line-height: 2;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding-bottom: 2px;
}

.root__prev,
.root__next {
    width: 0.9375rem;
    height: 0.9375rem;
    border-left: 1px solid #1E2533;
    border-bottom: 1px solid #1E2533;
    position: absolute;
    top: 50%;
    margin-top: -1.5rem;
    cursor: pointer;
}

.root__prev {
    transform: rotate(45deg);
    left: 0;
}

.root__next {
    transform: rotate(-135deg);
    right: 0;
}

.schedule {
    border-top: 1px solid #D1D9E6;
    margin-bottom: 1.5rem;
}

.schedule__head {
    width: 10rem;
    font-weight: normal;
}

@media only screen and (max-width: 660px) {
    .schedule__head {
        width: 6.875rem;
    }
}

.schedule__head,
.schedule__cell,
.schedule__cell--holiday {
    border-bottom: 1px solid #D1D9E6 !important;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding: 1.25rem 1rem;
}

@media only screen and (max-width: 660px) {

    .schedule__head,
    .schedule__cell,
    .schedule__cell--holiday {
        font-size: 0.8125rem;
        padding: 1.25rem 0.625rem;
    }
}

@media only screen and (max-width: 660px) {

    .schedule__cell,
    .schedule__cell--holiday {
        padding: 1.25rem 0;
        text-align: center;
    }
}

.schedule__cell--holiday {
    color: #BB787C;
}

.schedule__att {
    font-size: 0.875rem;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
}

@media only screen and (max-width: 480px) {
    .schedule__att {
        font-size: 0.75rem;
    }
}

.schedule__att br {
    display: none;
}

.info__text {
    margin-top: 0 !important;
}

.flowContent,
.flowContent--reverse {
    display: flex;
}

@media only screen and (max-width: 834px) {

    .flowContent,
    .flowContent--reverse {
        display: block;
    }
}

@media only screen and (max-width: 660px) {

    .flowContent,
    .flowContent--reverse {
        margin: 0 -1.5rem;
    }
}

.flowContent__content {
    width: 50%;
    background: #F6F9FC;
    padding: 4rem;
}

@media only screen and (max-width: 1320px) {
    .flowContent__content {
        padding: 2.5rem;
    }
}

@media only screen and (max-width: 834px) {
    .flowContent__content {
        width: 100%;
    }
}

@media only screen and (max-width: 660px) {
    .flowContent__content {
        padding: 4rem 1.5rem;
    }
}

.flowContent__number {
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    color: #4C6794;
    position: relative;
    margin-bottom: 2.5rem;
}

.flowContent__number:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #D1D9E6;
    position: absolute;
    left: 5.625rem;
    bottom: 2px;
}

.flowContent__numberText {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    padding-right: 0.5rem;
}

.flowContent__num {
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 2.5rem;
    font-weight: 400;
    font-style: normal;
    line-height: 0.76;
}

.flowContent__text,
.flowContent__priceItem,
.flowContent__priceTitle,
.flowContent__rowTitle,
.flowContent__contactText,
.flowContent__title,
.flowContent__text--small,
.flowContent__text--att {
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    letter-spacing: 1px;
}

.flowContent__text--small {
    display: block;
    font-size: 0.875rem;
    margin: 2.5rem 0;
}

@media only screen and (max-width: 660px) {
    .flowContent__text--small {
        font-size: 0.8125rem;
    }
}

.flowContent__text--att {
    font-size: 0.8125rem;
    color: #626670;
    margin-top: 2.5rem !important;
}

.flowContent__title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    margin-bottom: 2.5rem;
}

@media only screen and (max-width: 660px) {
    .flowContent__title {
        font-size: 1.125rem;
    }
}

.flowContent__contact {
    display: flex;
    gap: 0.5rem;
    margin: 2.5rem 0;
}

@media only screen and (max-width: 660px) {
    .flowContent__contact {
        display: block;
    }
}

.flowContent__contactItem {
    width: calc((100% - 1rem) / 3);
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 4px 8px rgba(168, 184, 209, 0.4);
    text-align: center;
    padding: 1rem 1rem 1.5rem;
}

@media only screen and (max-width: 660px) {
    .flowContent__contactItem {
        width: 100%;
        border-radius: 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: row-reverse;
        gap: 1rem;
        padding: 1rem;
        margin-top: 0.5rem;
    }

    .flowContent__contactItem:first-child {
        margin-top: 0;
    }
}

.flowContent__contactIcon {
    width: 2.5rem;
    margin: 0 auto 1rem;
}

@media only screen and (max-width: 660px) {
    .flowContent__contactIcon {
        margin: 0;
    }
}

.flowContent__contactText {
    font-size: 0.875rem;
}

@media only screen and (max-width: 660px) {
    .flowContent__contactText {
        font-size: 0.9375rem;
    }
}

.flowContent__rowTitle {
    font-size: 1.125rem;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    margin: 2.5rem 0 1rem;
}

.flowContent__price {
    display: flex;
    gap: 1rem;
    background: #fff;
    padding: 1.5rem;
}

@media only screen and (max-width: 660px) {
    .flowContent__price {
        display: block;
    }
}

.flowContent__priceDetail {
    width: calc((100% - 1rem) / 2);
}

@media only screen and (max-width: 660px) {
    .flowContent__priceDetail {
        width: 100%;
        margin-top: 1.5rem;
    }

    .flowContent__priceDetail:first-child {
        margin-top: 0;
    }
}

.flowContent__priceTitle {
    font-size: 0.875rem;
    font-weight: 500;
    color: #4C6794;
    margin-bottom: 1.5rem;
}

.flowContent__priceItem {
    font-size: 0.875rem;
    margin-top: 1.125rem;
    padding-left: 1.5rem;
    position: relative;
}

.flowContent__priceItem:first-child {
    margin-top: 0;
}

.flowContent__priceItem:before {
    content: "";
    width: 4px;
    height: 4px;
    background: #A8B8D1;
    border-radius: 2px;
    position: absolute;
    left: 4px;
    top: 3px;
}

.flowContent__img {
    width: 50%;
}

@media only screen and (max-width: 834px) {
    .flowContent__img {
        width: 100%;
    }
}

.flowContent__img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

@media only screen and (max-width: 834px) {
    .flowContent__img img {
        width: 100%;
    }
}

.flowContent p a,
.flowContent--reverse p a {
    text-decoration: underline;
}

.flowContent p a:hover,
.flowContent--reverse p a:hover {
    text-decoration: none;
}

.flowContent--reverse {
    flex-direction: row-reverse;
}

.beautyMenuContents {
    margin-top: 6rem;
}

@media only screen and (max-width: 660px) {
    .beautyMenuContents {
        margin-top: 4rem;
    }
}

.beautyMenuContents:first-child {
    margin: 0;
}

.beautyMenuContents__title {
    margin-bottom: 2.5rem;
}

@media only screen and (max-width: 660px) {
    .beautyMenuContents__title {
        margin-bottom: 2rem;
    }
}

.beautyMenuContents__list {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

@media only screen and (max-width: 660px) {
    .beautyMenuContents__list {
        display: block;
    }
}

.beautyMenuContents__listItem {
    width: calc((100% - 3rem) / 4);
}

@media only screen and (max-width: 1084px) {
    .beautyMenuContents__listItem {
        width: calc((100% - 2rem) / 3);
    }
}

@media only screen and (max-width: 834px) {
    .beautyMenuContents__listItem {
        width: calc((100% - 1rem) / 2);
    }
}

@media only screen and (max-width: 660px) {
    .beautyMenuContents__listItem {
        width: 100%;
        margin-top: 0.5rem;
    }

    .beautyMenuContents__listItem:first-child {
        margin-top: 0;
    }
}

.beautyMenuContents__listItem--3col {
    width: calc((100% - 2rem) / 3);
}

@media only screen and (max-width: 834px) {
    .beautyMenuContents__listItem--3col {
        width: calc((100% - 1rem) / 2);
    }
}

@media only screen and (max-width: 660px) {
    .beautyMenuContents__listItem--3col {
        width: 100%;
        margin-top: 0.5rem;
    }

    .beautyMenuContents__listItem--3col:first-child {
        margin-top: 0;
    }
}

.beautyMenuContents__listAnchor,
.beautyMenuContents__listAnchor--dummy {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F6F9FC;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
    padding: 2rem 2.75rem 2rem 1.5rem;
    position: relative;
    height: 5.375rem;
    line-height: 1.4;
}

@media only screen and (max-width: 660px) {

    .beautyMenuContents__listAnchor,
    .beautyMenuContents__listAnchor--dummy {
        padding: 1.5625rem 2.25rem 1.5625rem 1rem;
        height: auto;
    }
}

.beautyMenuContents__listAnchor:after,
.beautyMenuContents__listAnchor--dummy:after {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-top: 1px solid #A8B8D1;
    border-right: 1px solid #A8B8D1;
    position: absolute;
    right: 1.875rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.beautyMenuContents__listAnchor:hover,
.beautyMenuContents__listAnchor--dummy:hover {
    background: #7992B7;
    color: #fff;
}

.beautyMenuContents__listAnchor--dummy:hover {
    background: #F6F9FC;
    color: #1E2533;
}

.beautyMenuContents--narrow {
    max-width: 60rem;
    margin: 0 auto;
}

.-mt0 {
    margin-top: 0;
}

.-mb40 {
    margin-bottom: 2.5rem;
}

.-marginNon {
    margin: 0;
}

/*# sourceMappingURL=style.css.map */





/* 追加 */
.column .pageContents {
    max-width: 70rem;
    margin: 0 auto 3rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.newPost {}

.newPost .ttl {
    font-size: 28px;
    font-weight: 600;
    color: #4C6794;
    line-height: 1.8;
    padding-bottom: 16px;
    margin-bottom: 32px;
    position: relative;
    text-align: center;
}

.newPost .ttl:after {
    content: "";
    width: 2.5rem;
    height: 1px;
    background: #A8B8D1;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

.pageContents .posts_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px 20px;
    margin-top: 0;
}

.post-image {
    margin-bottom: 8px;
}

.posts_list-ttl {
    line-height: 1.4;
    font-weight: bold;
}


.column .pagination {
    max-width: 78rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin: 0 auto;
}

.column ul.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 40px;
}

.column .page-numbers li a,
.column .page-numbers li span:not(.dots) {
    display: flex;
    align-items: center;
    justify-content: center;
    /* padding: 10px 14px; */
    width: 37px;
    height: 42px;
    background: #f6f9fc;
    border: 1px solid #D1D9E6;
}

.column .page-numbers li span.current {
    background: #4c6794;
    color: #fff;
}

.wp-contents {
    max-width: calc(60rem + 3rem);
    margin: 0 auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    line-height: 1.6;
}

#bread {
    max-width: 78rem;
    margin: 0 auto;
    margin-bottom: 80px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    line-height: 1.6;
    font-size: 14px;
}

.column #bread {
    margin-bottom: 26px;
}

.pankuz-list {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
    color: #A8B8D1;
    white-space: nowrap;
    overflow-x: auto;
}

.pankuz-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}

.pankuz-list li::before {
    display: inline-block;
    content: ">";
    font-size: 1em;
    color: #4C6794;
}

.pankuz-list li:first-of-type::before {
    display: none;
}

.pankuz-list .home a {
    display: block;
    flex-shrink: 0;
    width: 1em;
    aspect-ratio: 1 / 1;
    background: url(../img/home.png) center center / contain no-repeat;
}

.pankuz-list li a,
.pankuz-list li span {
    color: #4C6794;
}

.wp-contents textarea {
    width: 100%;
    height: 160px;
    border: 1px solid #000;
}

.wp-contents img {
    display: block;
    width: 100%;
    height: auto;
}

.wp-contents a {
    color: #1A0DAB;
    text-decoration: underline;
}

.wp-contents a:hover {
    opacity: .6;
}

.wp-contents h2 {
    padding: 14px 14px 14px 18px;
    margin: 4rem auto 2rem;
    border-left: 4px solid #4C6794;
    font-size: 22px;
    background: #f6f9fc;
    font-weight: bold;
}

.wp-contents h3 {
    font-size: 20px;
    font-weight: 600;
    color: #4C6794;
    margin: 2.4rem 0 1.75rem;
    padding-bottom: 1rem;
    position: relative;
    font-weight: bold;
}

.wp-contents h3::after {
    content: "";
    width: 2.5rem;
    height: 1px;
    background: #A8B8D1;
    position: absolute;
    left: 0;
    bottom: 0;
}

.wp-contents h4 {
    font-size: 18px;
    margin: 1.8rem 0 1.16rem;
}

.wp-contents h2:has(+ h3),
.wp-contents h3:has(+ h4) {
    margin-bottom: 0;
}

.wp-contents h2+h3,
.wp-contents h3+h4 {
    margin-top: 1.8rem;
}

.subTitle {
    position: relative;
    font-size: 18px;
    margin: 1.8rem 0 0.6rem;
    padding-left: 1.2em;
    font-weight: bold;
    color: #4c6794;
}

.subTitle::before {
    position: absolute;
    left: 0.2em;
    top: 0.6em;
    content: "";
    display: block;
    width: .6em;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #4c6794;
}

.wp-contents p {
    margin-bottom: 20px;
}

.pink,
.red {
    color: #a55d62;
    font-weight: bold;
}

.blue {
    color: #456eb1;
    font-weight: bold;
}

.caution {
    display: inline-block;
    font-size: 12px;
    margin-bottom: 30px;
}

.wp-contents *:has(+.caution) {
    margin-bottom: 4px;
}

.wp-contents p .caution,
.wp-contents li .caution,
.wp-contents th .caution {
    display: inline-block;
    margin-bottom: 0;
}

.bold {
    font-weight: bold;
}

.marker {
    background: linear-gradient(transparent 70%, #f5d9d9 70%);
    font-weight: bold;
}

.table {
    width: 100%;
    border-collapse: collapse;
    word-break: break-all;
    table-layout: fixed;
    margin-bottom: 26px;
}

.table,
.table td,
.table th {
    box-sizing: border-box;
    border: 1px solid #D1D9E6;
}

.table thead {
    background: #4C6794;
    color: #fff;
}

.table thead a {
    color: #fff;
}

.table thead th,
.table tbody th {
    font-weight: bold;
    text-align: center;
}

.table tbody th {
    background: #f6f9fc;
}

.table th,
.table td {
    padding: 14px;
    text-align: center;
}

.table td ul:not([class]),
.table td ol:not([class]) {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
}

.table td ul:not([class]) li,
.table td ol:not([class]) li {
    text-align-last: left;
}

.wp-contents .table td>:last-child {
    margin-bottom: 0;
}

.table img {
    margin: 0 auto;
}

.table-logo {
    margin-bottom: 10px;
}


.table .c-btn01 a,
.table .c-btn02 a {
    margin: 0 auto;
    width: 100%;
    font-size: 16px;
    min-width: auto;
}

.normalBox {
    background: #F6F9FC;
    padding: 26px;
    margin-bottom: 26px;
}

.normalBox:has(+.normalBox) {
    margin-bottom: 12px;
}

.wp-contents .normalBox>:last-child {
    margin-bottom: 0;
}

.wp-contents .normalBox>:first-child {
    margin-top: 0;
}

/* 
div[data-type="yellow"] {
    background: #f7f6e5;
} */

.box-ttl {
    font-weight: bold;
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 12px;
}

.box-ttl:has(.num-c) {
    position: relative;
    padding-left: 40px;
}

.num-c {
    position: absolute;
    left: 0;
    top: -0.1em;
    font-weight: bold;
    font-size: 18px;
    width: 32px;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #4C6794;
    color: #fff;
}

.checkBox {
    margin-bottom: 26px;
    background: #f6f9fc;
    padding: 24px 40px 40px;
}

.wp-contents .checkBox>:last-child {
    margin-bottom: 0;
}

.checkBox-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.checkBox-title::before {
    content: "";
    display: inline-block;
    width: 64px;
    aspect-ratio: 1 / 1;
    background: url(../img/checkBox_icon.png) center center / contain no-repeat;
    flex-shrink: 0;
}

.checkBox-title p {
    font-size: 18px;
    font-weight: 600;
    color: #4C6794;
    margin-bottom: 0;
}

.checkBox-list {
    background: #fff;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 2rem;
    padding: 2.5rem;
    margin-top: 0;
}

.checkBox-list li {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-left: 1.375rem;
    margin-bottom: 0.375rem;
}

.checkBox-list li::before {
    display: inline-block;
    content: "";
    width: 0.75rem;
    height: 0.75rem;
    background: url(../img/checkList-icon.svg) center center / contain no-repeat;
    position: absolute;
    left: 0;
    top: 0.5625rem;
}

.wp-contents ul:not([class]) {
    margin-bottom: 26px;
    line-height: 1.6;
}

.wp-contents ul:not([class]) li {
    position: relative;
    line-height: 1.5;
    margin-bottom: 10px;
    padding-left: 1.2em;
}

.wp-contents ul:not([class]) li::before {
    content: "";
    position: absolute;
    display: block;
    background: #B6B6B6;
    width: .6em;
    aspect-ratio: 1 / 1;
    top: 0.6em;
    left: 2px;
    border-radius: 50%;
    flex-shrink: 0;
}

.wp-contents ol:not([class]) {
    list-style-type: decimal;
    padding: 0 0 0 20px;
    margin-bottom: 26px;
    line-height: 1.6;
}

.wp-contents ol:not([class]) li {
    margin-bottom: 10px;
}

.checkList {
    margin-bottom: 26px;
}

.checkList li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 24px;
}

.checkList li::before {
    position: absolute;
    left: 0;
    top: .4em;
    content: '';
    display: block;
    width: 1em;
    aspect-ratio: 1 / 1;
    background: url(../img/checkList-icon.svg) center center / contain no-repeat;
}

.grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 26px;
}

.grid img {
    width: 100%;
    height: auto;
}

.float {
    margin-bottom: 26px;
}

.float img {
    float: left;
    max-width: 48%;
    margin: 0 14px 10px 0;
}

.float-txt::after {
    content: "";
    display: table;
    clear: both;
}

.wp-contents .flex-txt>:last-child,
.wp-contents .float-txt>:last-child {
    margin-bottom: 0;
}

.arrow-down {
    clip-path: polygon(50% 100%, 100% 0, 0 0);
    aspect-ratio: 1 / cos(55deg);
    width: 50px;
    margin: 26px auto;
    background-color: #4C6794;
}

.full-img {
    width: 100%;
    margin-bottom: 26px;
}

.full-img img {
    display: block;
    width: 100%;
    height: 100%;
}

.quoteBox {
    position: relative;
    padding: 24px 50px 20px 56px;
    margin-bottom: 26px;
    box-sizing: border-box;
    font-style: italic;
    background: #fbfbfb;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14);
}

.quoteBox:before {
    display: inline-block;
    position: absolute;
    top: 20px;
    left: 15px;
    content: "\f10d";
    font-family: "Font Awesome 5 Free";
    color: #adadad;
    font-size: 26px;
    line-height: 1;
    font-weight: 900;
}

.quoteBox .full-img {
    margin-bottom: 16px;
}

.wp-contents .quoteBox>:last-child {
    margin-bottom: 0;
}

.fukidashi {
    background: #4C6794;
    font-size: 18px;
    padding: 12px 10px;
    margin-bottom: 30px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    line-height: 1.5;
    position: relative;
}

.fukidashi::after {
    position: absolute;
    content: "";
    border-top: 20px solid #4C6794;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    left: 50%;
    bottom: -15px;
    z-index: 1;
    margin-left: -20px;
}

.matomeBox {
    margin-bottom: 26px;
    margin-top: 40px;
    background: #faf6f5;
    padding: 26px;
}

.matomeBox-title {
    position: relative;
    font-size: 1.25rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.matomeBox-title::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    display: block;
    width: 100px;
    height: 2px;
    background: #cd7075;
}

.wp-contents .matomeBox>:last-child,
.wp-contents .matomeBox-innner>:last-child,
.wp-contents .matomeBox-inner>:last-child {
    margin-bottom: 0;
}

.surveyBox {
    padding: 26px;
    box-sizing: border-box;
    margin-bottom: 26px;
    background: #f6f9fc;
}

.wp-contents .surveyBox>:last-child {
    margin-bottom: 0;
}

.surveyBox-title {
    font-size: 18px;
    text-align: center;
    line-height: 1.4;
    position: relative;
    margin-bottom: 26px;
    overflow: hidden;
    letter-spacing: 0.1em;
    font-weight: bold;
    color: #4C6794;
    padding-bottom: 12px;
    border-bottom: 2px dashed #4C6794;
    letter-spacing: 0.1em;
}

.hosokuBox {
    box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.18);
    border-top: 3px solid #4C6794;
    padding: 26px;
    margin-bottom: 26px;
    background: #fbfbfb;
    font-size: 14px;
}

.hosokuBox-title {
    position: relative;
    font-weight: bold;
    margin-bottom: 8px;
    font-size: 16px;
    padding-left: 20px;
}

.hosokuBox-title::before {
    position: absolute;
    top: .5em;
    left: 0;
    content: "";
    display: block;
    background: #4C6794;
    width: 13px;
    height: 13px;
}

.wp-contents .hosokuBox-txt>:last-child {
    margin-bottom: 0;
}

.c-btn01,
.c-btn02 {
    width: 100%;
}

.c-btn01 a,
.c-btn02 a {
    display: block;
    width: fit-content;
    max-width: 100%;
    min-width: 300px;
    font-size: 18px;
    letter-spacing: 0.1em;
    padding: 16px 20px;
    box-sizing: border-box;
    border-radius: 10px;
    position: relative;
    margin: 26px auto 40px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    box-shadow: inset 0 -8px 5px -5px rgba(0, 0, 0, 0.6);
}

.c-btn01 a {
    background: #4C6794;
}

.c-btn02 a {
    background: #cd7075;
}

.taglist {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-content: center;
    margin-bottom: 26px;
}

.taglist .tag {
    background: #f6f9fc;
    border-radius: 4px;
    border: 1px solid #D1D9E6;
    color: #545657;
    font-size: 12px;
    display: inline-block;
    padding: 6px 14px;
    margin-bottom: 0;
    min-width: 60px;
    text-align: center;
}

.tag.on {
    background: #4C6794;
    color: #fff;
}

.scrolltable {
    overflow-x: auto;
    line-height: 1.8;
    margin-bottom: 26px;
}

.scrolltable .table {
    width: 110%;
    margin-right: 2px;
    margin-bottom: 0;
    table-layout: fixed;
}

.scrolltable .table th,
.scrolltable .table td {
    text-align: center;
}


.scrolltable .table thead th {
    width: 220px;
}

.scrolltable .table thead th:first-of-type {
    width: 180px;
}


.stickytable-top thead {
    position: sticky;
    top: 123px;
    left: 0;
    z-index: 10;
    color: #fff;
}

@media only screen and (max-width: 1084px) {
    .stickytable-top thead {
        top: 94px;
    }
}

.stickytable-top thead th:not(:last-of-type) {
    position: relative;
}

.stickytable-top thead th:not(:last-of-type):after {
    position: absolute;
    top: 0;
    right: -1px;
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background: #D1D9E6;
}

.scrolltable .stickytable-left {
    min-width: 110%;
}

.stickytable-left {
    will-change: transform;
}

.stickytable-left thead th {
    background: #f6f9fc;
    min-width: 160px;
    color: #1E2533;
}

.stickytable-left tbody th,
.stickytable-left thead th:first-child {
    position: sticky;
    top: 0;
    left: 0;
    background: #4C6794;
    z-index: 1;
    color: #fff;
}

.stickytable-left tbody th::before,
.stickytable-left thead th:first-child::before {
    position: absolute;
    top: 0;
    left: -1px;
    content: "";
    display: block;
    height: 100%;
    width: 1px;
    background: #D1D9E6;
}

.scrolltable .stickytable-left thead th {
    width: 196px;
}

.stickytable-left tbody th a,
.stickytable-left thead th:first-child a {
    color: #fff;
}

.jumplist {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    line-height: 1.2;
    letter-spacing: 0.1em;
    margin-bottom: 26px;
}

li.jump {
    text-align: center;
    margin-bottom: 0;
}

.jumplist a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 2rem 2.75rem 2rem 1.5rem;
    color: #1E2533;
    background: #F6F9FC;
    position: relative;
    box-sizing: border-box;
    text-decoration: none;
}

.jumplist a:after {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-top: 1px solid #A8B8D1;
    border-right: 1px solid #A8B8D1;
    position: absolute;
    right: 1.875rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.jumplist a:hover {
    background: #7992B7;
    color: #fff;
    opacity: 1;
}

.numlist {
    counter-reset: number 0;
    margin-bottom: 1.5rem;
}

.numlist p {
    margin-bottom: 8px;
}

.numlist .numlist-title {
    position: relative;
    padding-left: 60px;
    margin: 1.8rem 0 0.6rem;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.7;
    letter-spacing: 0.1em;
}

.numlist-num {
    position: absolute;
    top: 0.8em;
    left: 6px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.numlist-num::before {
    content: counter(number);
    counter-increment: number 1;
    color: #4C6794;
    font-size: 20px;
}

.numlist-num::after {
    content: "";
    width: 1.2rem;
    height: 2px;
    background: #D1D9E6;
    position: absolute;
    left: 1.5rem;
    top: 50%;
}

.wp-contents .numlist-block>:last-child {
    margin-bottom: 0;
}

.picup {
    position: relative;
    font-size: 1.25rem;
    padding: .9rem;
    margin: 2.4rem 0 1rem;
    font-weight: bold;
    background: #faf6f5;
    border-top: 3px solid #cd7075;
}

.picup span {
    font-size: 12px;
    display: block;
    margin-bottom: 4px;
    font-weight: normal;
}

.ranking-i {
    margin-bottom: 26px;
}

.ranking {
    font-size: 1.25rem;
    font-weight: bold;
}

.ranking-inner {
    font-size: 1.25em;
}

.ranking-catch {
    display: block;
    font-size: 12px;
    font-weight: normal;
}

.ranking-icon-block {
    position: relative;
    padding: .9rem .9rem .9rem 74px;
    margin: 2.4rem 0 1rem;
    border-top: 3px solid #cd7075;
    background: #faf6f5;
}

.ranking-icon {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: bold;
    background: url(../img/rank-04.svg) center center / contain no-repeat;
    width: 40px;
    aspect-ratio: 1 / 1;
}

.ranking-icon-block .ranking-icon_01 {
    background: url(../img/rank-01.svg) center center / contain no-repeat;
}

.ranking-icon-block .ranking-icon_02 {
    background: url(../img/rank-02.svg) center center / contain no-repeat;
}

.ranking-icon-block .ranking-icon_03 {
    background: url(../img/rank-03.svg) center center / contain no-repeat;
}

.flow-wrap {
    margin-bottom: 26px;
    counter-reset: number 0;
    color: #57460F;
}

.flow {
    position: relative;
    padding: 26px;
    box-sizing: border-box;
    background: #f6f9fc;
    margin-bottom: 50px;
}

.flow-wrap .flow:not(:last-of-type)::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    content: "";
    display: block;
    width: 1px;
    height: 50px;
    background: #4C6794;
}

.flow-wrap .flow:last-of-type {
    margin-bottom: 0;
}

.flow-text>:last-child {
    margin-bottom: 0;
}

.flow-title {
    position: relative;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.7;
    padding: 18px 0 18px 70px;
    margin-bottom: 16px;
    border-bottom: 1px solid #c4cad8;
    letter-spacing: 0.1em;
    color: #4C6794;
}

.flow-num {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    aspect-ratio: 1 / 1;
    font-family: "Cardo", serif;
    font-optical-sizing: auto;
    font-size: 2.5rem;
    font-weight: 400;
    font-style: normal;
}

.flow-num::before {
    content: counter(number);
    counter-increment: number 1;
    letter-spacing: 0em;
}

.flow-text p {
    margin-bottom: 8px;
}

.relatedpost {
    margin: 40px 0;
}

.relatedpost-title {
    background: #4C6794;
    font-size: 20px;
    text-align: center;
    padding: 10px;
    line-height: 1.3;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.15em;
    margin-bottom: 10px;
}

.relatedpost-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.relatedpost-post .image_wrap {
    width: 100%;
    margin-bottom: 8px;
}

.relatedpost-post .image_wrap img {
    display: block;
    width: 100%;
    height: auto;
}

.relatedpost-post .relatedpost-post-ttl {
    margin-bottom: 0;
}

.faq_wrap {
    margin-bottom: 26px;
}

.faq {
    border-top: 1px solid #d1d9e6;
    border-bottom: 1px solid #d1d9e6;
}

.faqQ {
    position: relative;
    cursor: pointer;
    padding: 1.5rem 5rem 1.5rem 2rem;
    font-size: 18px;
}

.faqQ::before {
    position: absolute;
    top: 50%;
    right: 1.875rem;
    transform: translate(50%, -50%);
    content: "";
    display: block;
    width: 1.5rem;
    height: 1px;
    background: #1E2533;
}

.faqQ::after {
    position: absolute;
    top: 50%;
    right: 1.875rem;
    transform: translate(50%, -50%);
    content: "";
    display: block;
    height: 1.5rem;
    width: 1px;
    background: #1E2533;
}

.faqQ.action::after {
    display: none;
}

.faqQ p {
    position: relative;
    padding-left: 2.3125rem;
    margin-bottom: 0;
}

.faqQ p::before {
    content: "Q";
    font-size: 1rem;
    color: rgb(76, 103, 148);
    position: absolute;
    left: 0px;
    top: 2px;
}

.faqA {
    display: none;
    padding: 0 4.3rem 1.2rem;
}

.faqA>:last-child {
    margin-bottom: 0;
}

.search-container table {
    max-width: 100%;
    word-break: break-all;
}

.search-container table thead th:nth-child(2) {
    width: 15%;
}


.wp-contents .right-link {
    display: block;
    width: fit-content;
    margin: 0 0 26px auto;
    font-size: 14px;
}

.right-link .caution {
    display: block;
    margin-bottom: 0;
    font-size: 14px;
}

.wp-contents *:has(+.right-link) {
    margin-bottom: 8px;
}

.right-link-icon {
    width: fit-content;
    margin: auto 0 auto auto;
    font-size: 14px;
}

.right-link-icon a {
    position: relative;
    padding-left: 1.2rem;
}

.right-link-icon a::before {
    content: '';
    position: absolute;
    top: 0.8em;
    left: 0;
    transform: translateY(-50%);
    display: block;
    background-image: url(../img/ico-link-arrow.svg);
    width: 14px;
    height: 14px;
    background-repeat: no-repeat;
    background-size: contain;
}

.right-link:has(+ .right-link),
.right-link:has(+ .right-link-icon),
.right-link-icon:has(+ .right-link-icon),
.right-link-icon:has(+ .right-link) {
    margin-bottom: 8px;
}

.imgScrollBox {
    width: 100%;
    background: #f6f9fc;
    padding: 20px 20px 10px 20px;
    box-sizing: border-box;
    overflow-x: auto;
    white-space: nowrap;
    margin-bottom: 30px;
}

.imgScrollBox-wrap {
    width: fit-content;
    display: flex;
    justify-content: center;
    padding-bottom: 10px;
}

.imgScrollBox-list {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
}

.imgScrollBox-list li {
    flex: 0 0 calc(33.33% - 16px);
    max-width: calc(33.33% - 16px);
    box-sizing: border-box;
    margin: 0 8px;
    text-align: center;
    position: relative;
}

.imgScrollBox-list li:last-child::after {
    content: "";
    position: absolute;
    top: 0;
    left: 100%;
    height: 1px;
    width: 26px;
    background-color: transparent;
}

.imgScrollBox-list img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 8px;
}

.imgScrollBox-list .caption {
    display: block;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: break-word;
    text-align: left;
}

.imgBox-center li {
    width: 33.33%;
}

.imgBox-center .imgScrollBox-list {
    justify-content: center;
    gap: 16px;
}

.imgBox-center .imgScrollBox-list li:last-child::after {
    display: none;
}

.rankBox {
    margin-top: 40px;
    margin-bottom: 30px;
}

.rankBox .title {
    background: #4C6794;
    font-size: 20px;
    text-align: center;
    padding: 10px;
    line-height: 1.3;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.15em;
    margin-bottom: 22px;
}

.rankBox .item {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 26px;
}

@media screen and (max-width: 1024px) {
    .rankBox .item {
        flex-direction: column;
    }
}

.rankBox .block {
    width: 100%;
    border-top: 2px solid #4C6794;
}

@media screen and (max-width: 1024px) {
    .rankBox .leftblock {
        border-top: none;
    }
}

.rankBox .catch {
    text-align: center;
    color: #AFB7BE;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px dashed #AFB7BE;
    padding: 0.5rem 0;
    line-height: 1.5;
}

.rankBox .name {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    padding-top: 1rem;
    padding-bottom: 1.25rem;
    padding-right: 10px;
    border-bottom: 1px dashed #AFB7BE;
}

.wp-contents .rankBox .name img {
    width: 140px;
    padding: 0;
}

.rankBox .name a {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.6;
}

.rankBox .tag-pricearea {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1.25rem;
}

.rankBox .tagarea {
    width: 60%;
}

.rankBox .tagarea .list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr 1fr;
    gap: 6px;
    margin: 0;
}

.rankBox .tagarea .list li {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f6f9fc;
    padding: 6px;
    border-radius: 20px;
    text-align: center;
    color: #8b9195;
    font-size: 12px;
    line-height: 1.6;
    border: 1px solid #D1D9E6;
}

.rankBox .tagarea .list .on {
    background: #4C6794;
    color: #fff;
}

.rankBox .pricearea {
    width: fit-content;
    margin-right: 10px;
}

.pricearea .course {
    width: fit-content;
    margin-left: 15px;
}

.pricearea .price {
    width: fit-content;
}

.pricearea .price:before {
    display: inline-block;
    font-family: "Font Awesome 5 free";
    content: "\f157";
    color: #ccb774;
    margin-right: 4px;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    font-size: 18px;
    line-height: 1;
    vertical-align: baseline;
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke-width: 1px
}

.rankBox .leftblock ul {
    margin-top: 2.7rem;
}

@media screen and (max-width: 1024px) {
    .rankBox .leftblock ul {
        margin-top: 1.6rem;
    }

}

.rankBox .item .c-btn02 a {
    max-width: 250px;
    margin-top: 26px;
    margin-bottom: 0;
}

@media screen and (max-width: 1024px) {
    .rankBox .item .c-btn02 a {
        margin-top: 0px;
    }
}


.tabarea {
    margin-bottom: 26px;
}

.tab-list {
    display: flex;
    gap: 4px;
    margin-bottom: 0;

}

.tab-nav {
    display: flex;
    justify-content: space-between;
    margin-top: 24px;
    gap: 5px;
    border-bottom: 2px solid #ccb774;
    padding: 0 20px;
    margin: 24px 0 10px;
}

.tab.active {
    background-color: #fff;
    position: relative;
}

.tab {
    border-radius: 5px 5px 0 0;
    flex: auto;
    text-align: center;
    border: 2px solid #4C6794;
    border-bottom: none;
    background-color: #f6f9fc;
    cursor: pointer;
    width: 100%;
    min-height: 50px;
    padding: 4px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.4;
    font-size: 14px;
}

.tab-wrap {
    display: none;
    padding: 20px;
    border: 2px solid #4C6794;
    border-top: none;
}

.wp-contents .tab-wrap>:last-child {
    margin-bottom: 0;
}

.tab-wrap.show {
    display: block;
}


.meritdemerit {
    margin-bottom: 26px;
}

.meritdemerit:has(+.meritdemerit) {
    margin-bottom: 10px;
}

.meritdemerit[data-type="merit"] {
    border: 2px solid #cd7075;
}

.meritdemerit[data-type="merit"] .meritdemerit-ttl {
    background: #cd7075;
    border-bottom: 2px solid #cd7075;
    color: #fff;
}

.meritdemerit[data-type="demerit"] {
    border: 2px solid #bfbbbe;
}

.meritdemerit[data-type="demerit"] .meritdemerit-ttl {
    background: #f8f8f8;
    border-bottom: 2px solid #bfbbbe;
}

.meritdemerit-ttl {
    padding: 14px 20px;
    font-weight: bold;
    font-size: 18px;
}

.meritdemerit-list {
    position: relative;
    padding: 16px 20px;
    margin: 0;
}

.meritdemerit-list li {
    padding-left: 16px;
    position: relative;
    margin-bottom: 10px;
}

.meritdemerit-list li:last-child {
    margin-bottom: 0;
}

.meritdemerit-list li:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 8px;
    height: 8px;
    border-radius: 100px;
}

.meritdemerit[data-type="merit"]>.meritdemerit-list li:before {
    background-color: #cd7075;
}

.meritdemerit[data-type="demerit"]>.meritdemerit-list li:before {
    background-color: #1E2533;
}

.review-scroll {
    overflow-x: scroll;
    display: flex;
    gap: 16px;
    margin-bottom: 26px;
}

.review-wrap {
    width: 100%;
    min-width: 66%;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    align-items: center;
    -webkit-align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    background: #f3f3f3;
    padding: 26px;
    border: 1px solid #e9e2d2;
    white-space: normal;
    overflow: hidden;
    scroll-snap-align: center;
}

.review-top {
    width: 100%;
    margin-bottom: 0;
}

.review-profile {
    width: 100%;
    display: flex;
    gap: 10px;
    justify-content: start;
    align-items: center;
    margin-bottom: 10px;
}

.review-icon img {
    display: block;
    max-width: 65px;
    height: auto;
    margin: 0;
    margin-right: 10px;
}

.review-icon-w,
.review-icon-m {
    display: block;
    width: 50px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
}

.review-icon-w {
    background: #fff url(../img/review-icon-woman.svg) center center / contain no-repeat;
}

.review-icon-m {
    background: #fff url(../img/review-icon-man.svg) center center / contain no-repeat;
}

.review-name {
    font-weight: 700;
}

.review-course {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    list-style: none;
    margin-left: 0;
    padding-left: 0;
    margin-bottom: 16px;
}

.review-course span {
    display: inline-block;
    padding: 4px 6px;
    border-radius: 10px;
    margin-right: 8px;
    background: #4C6794;
    color: #fff;
    font-weight: bold;
    font-size: 12px;
}

.review-bottom {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.review-bottom img {
    width: 40%;
    height: auto;
}

.map {
    margin-bottom: 26px;
}

.map-ttl {
    font-size: 18px;
    padding: 12px 16px;
    margin: 30px auto 28px;
    border-radius: 7px;
    font-weight: bold;
    text-align: center;
    width: fit-content;
    max-width: 100%;
    line-height: 1.5;
    position: relative;
    border: 2px solid #1E2533;
}


.map-ttl::before {
    content: "";
    position: absolute;
    bottom: -23px;
    left: 50%;
    transform: translateX(-50%);
    border: 12px solid transparent;
    border-top: 12px solid #FFF;
    z-index: 2;
}

.map-ttl::after {
    content: "";
    position: absolute;
    bottom: -27px;
    left: 50%;
    transform: translateX(-50%);
    border: 14px solid transparent;
    border-top: 14px solid #1E2533;
    z-index: 1;
}

.addressAco {
    margin-bottom: 26px;
}

.addressAco-ttl {
    position: relative;
    cursor: pointer;
    font-weight: 500;
    border: 1px solid #d1d9e6;
    line-height: 1.8;
    margin: 0;
    padding: 12px 45px 12px 20px;
    position: relative;
    background: #fff;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    font-weight: bold;
}

.addressAco-ttl.action {
    background: #f6f9fc;
}

.addressAco-info {
    display: none;
}

.addressAco-cont {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 15px 20px 15px;
}

.addressAco-subttl {
    flex-shrink: 0;
    font-weight: bold;
}

.Aco-btn {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    display: block;
    width: 20px;
    aspect-ratio: 1 / 1;
}

.Aco-btn::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #4C6794;
}

.Aco-btn::after {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: '';
    width: 1px;
    height: 100%;
    background: #4C6794;
}

.addressAco-ttl.action .Aco-btn::after {
    display: none;
}

/* ポジショニングマップ */
.posMap {
    margin-bottom: 26px;
}

.posMap-head {
    margin-bottom: 10px;
}

.posMap-subttl {
    font-weight: bold;
    text-align: center;
}

.posMap-notes {
    font-size: 12px;
    text-align: right;
    margin-top: 2px;
}

.posMap-ttl {
    background: #4C6794;
    font-size: 20px;
    text-align: center;
    padding: 10px;
    line-height: 1.3;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.15em;
}

.posMap-contents {
    background: repeating-linear-gradient(90deg, #e2e2e2, #e2e2e2 1px, transparent 1px, transparent 32px),
        repeating-linear-gradient(0deg, #e2e2e2, #e2e2e2 1px, #fff 1px, #fff 32px);
    background-size: 32px 32px;
    background-position: 50% 50%;
    width: 64%;
    margin: 0 auto;
    aspect-ratio: 3 / 4;
    position: relative;
}

.posMap-contents::before {
    content: "";
    display: inline-block;
    background: #cd7075;
    border-radius: 50%;
    width: 38%;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 4%;
    right: 2%;
}

.posMap-bg {
    display: inline-block;
    width: 70%;
    height: 100%;
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/posMap-bg.png) center center / contain no-repeat;
}

.posMap-label,
.posMap-subLabel {
    position: absolute;
    z-index: 2;
}

.posMap-subLabel {
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    top: 2%;
    left: 50%;
    transform: translateX(-50%);
}

.posMap-label_01,
.posMap-label_02 {
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

.posMap-label_01 {
    background: #cd7075;
    top: 4.5%;
    left: 50%;
    transform: translateX(-50%);
}

.posMap-label_02 {
    background: #707F89;
    top: 92%;
    left: 50%;
    transform: translateX(-50%);
}

.posMap-label_03,
.posMap-label_04 {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.17;
    color: #fff;
    text-align: center;
    display: inline-block;
    padding: 8px;
}

.posMap-label_03 {
    background: #cd7075;
    top: 54.8%;
    transform: translateY(-50%);
    right: 20px;
}

.posMap-label_04 {
    background: #707F89;
    top: 54.8%;
    transform: translateY(-50%);
    left: 20px;
}

.wp-contents .posMap-item-logo {
    width: auto;
    height: max(2vw, 20px);
}

.posMap-item {
    display: inline-block;
    background: #fff;
    border: 1px solid #707F89;
    border-radius: 4px;
    box-shadow: 0 4px #707F89;
    padding: 6px 12px;
    position: absolute;
    z-index: 1;
}

a.posMap-item {
    text-decoration: none;
}

.posMap-item-catch {
    font-size: 1rem;
    margin: 6px 0 0;
    color: #333;
}

.posMap-item_02 {
    border-color: #862c32;
    box-shadow: 0 4px #862c32;
    padding: 10px 12px 6px;
    z-index: 1;
    top: 29%;
    right: 11%;
}

.posMap-item-link {
    display: block;
}

.contact_btn {
    text-align: center;
    width: fit-content;
    min-width: 270px;
    margin: 0 auto 30px;
}

.contact_btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 60px;
    background: #fff;
    border: 2px solid #F3DB8E;
    color: #57460F;
    padding: 10px 14px;
    font-weight: bold;
    font-size: 18px;
    box-sizing: border-box;
    transition: .2s;
}

.contact_btn a:hover {
    background: #4C6794;
    border-color: #4C6794;
    color: #fff;
    opacity: 1;
}

.privacy-policy {
    display: block;
    font-size: 14px;
    margin-bottom: 30px;
}

.privacy-policy a {
    text-decoration: underline;
    display: block;
    width: fit-content;
    margin: 0 auto;
    color: #F3DB8E;
    transition: .2s;
}

.privacy-policy a:hover {
    text-decoration: none;
    opacity: .8;
}

.copyright {
    display: block;
    text-align: center;
}


/* シミュレーションパーツ */
.simulation {
    position: relative;
    padding: 3%;
    border: 2px solid #4C6794;
    border-radius: 10px;
    margin-bottom: 26px;
}

.simulation .ttl {
    background: #f6f9fc;
    color: #fff;
    position: relative;
    background-image: linear-gradient(0deg, transparent calc(100% - 1px), #e8e8e8 calc(100% - 1px)),
        linear-gradient(90deg, transparent calc(100% - 1px), #e8e8e8 calc(100% - 1px));
    background-size: 16px 16px;
    background-repeat: repeat;
    background-position: center center;
    margin: -1% -1% 20px !important;
    padding: 1em;
    text-align: center;
    border-radius: 5px;
    box-shadow: #4C6794 1px 1px 5px;
    letter-spacing: .08rem;
}

.simulation .ttl .sub {
    color: #4C6794;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.2em;
    margin-bottom: 8px !important;
}

.simulation .ttl .main {
    display: block;
    font-weight: bold;
    font-size: 26px;
    line-height: 1.2em;
    color: #1E2533;
}

.simulation dl {
    margin: 0;
    padding: 0;
}

.simulation dl dt {
    position: relative;
    background: #4C6794;
    color: #fff;
    padding: .5em 2em;
    margin: 0;
    line-height: 1.2em;
    border-radius: 30px;
    font-weight: bold;
}

.simulation dl dt span,
.simulation .ttl span {
    display: inline-block;
}

.simulation dl dd+dt {
    margin-top: .8em;
}

.simulation dl dd {
    border: 0;
    padding: .8em 0px;
    position: relative;
    display: flex;
    gap: 2%;
    font-size: 15px;
}

.simulation dl dd>label {
    position: relative;
    padding: 10px 12px;
    background: #fff;
    border-radius: 30px;
    color: #4C6794;
    font-weight: bold;
    width: 23.5%;
    line-height: 1.2em;
    border: 1px solid #4C6794;
    border-radius: 40px;
    cursor: pointer;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.5s linear;
    box-shadow: rgba(0, 0, 0, 0.3) 1px 2px 3px;
    box-sizing: border-box;
}

.simulation dl dd>label:has(input[type="checkbox"]) input[type="checkbox"] {
    margin-right: .8em;
    transform: scale(1.5, 1.5);
    box-shadow: #fff 0 0 1px 1px;
}

.simulation dl dd>label:hover,
.simulation dl dd>label:has(input[type="radio"]:checked),
.simulation dl dd>label:has(input[type="checkbox"]:checked) {
    background: #1E2533;
    color: #fff;
    transition: all 0.2s linear;
}

.simulation dl dd label input[type="radio"],
.simulation .sim-result>label input[name="result"] {
    display: none;
}

.simulation dl dd>label:has(:not(input[type="radio"]:checked)):hover {
    top: -2px;
    left: -1px;
    box-shadow: rgba(0, 0, 0, 0.3) 2px 4px 3px;
    transition: all 0.2s linear;
}

.simulation dl dd>p.fukidasi strong {
    font-size: 120%;
    color: #fb3;
}

.simulation dl dd nav,
.simulation .sim-result nav {
    text-align: center;
    margin: .8em auto 0;
    padding: 0;
    width: 100%;
}

.simulation .sim-result nav {
    margin: 1.4em auto 0;
}

.simulation dl dd nav>label,
.simulation .sim-result nav a {
    box-sizing: border-box;
    display: inline-block;
    padding: .4em 1em;
    min-width: 15em;
    background: #ccb774;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.3em;
    border-radius: 100px;
    border: 1px solid #333;
    box-shadow: rgba(0, 0, 0, 0.3) -1px -3px 1px 2px inset, rgba(255, 255, 255, 0.4) 1px 2px 1px 2px inset;
    text-shadow: rgba(0, 0, 0, 0.7) -1px -1px 1px;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    max-width: 100%;
    transition: opacity 0.5s linear;
}

.simulation .sim-result nav a {
    background: #cd7075;
    text-decoration: none !important;
    color: #fff !important;
}

/* result */
.simulation .sim-result div[id*="sim-result-"] {
    display: none;
}

.simulation:has(input[name="other_conditions"][value="0"]:checked) .sim-result div#sim-result-1,
.simulation:has(input[name="other_conditions"][value="1"]:checked) .sim-result div#sim-result-2,
.simulation:has(input[name="other_conditions"][value="2"]:checked) .sim-result div#sim-result-3 {
    display: block;
}

.simulation .sim-result {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10000;
    overflow: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.simulation .sim-result.show {
    visibility: visible;
    opacity: 1;
}

.simulation .sim-result:has(input[name="result"]:checked) {
    z-index: -10;
    opacity: 0;
    top: -100%;
    left: 100%;
    width: 0;
    height: 0;
    transition: opacity 0.5s linear;
}

.simulation .sim-result>label:has(input[name="result"]) {
    position: absolute;
    right: 2%;
    top: 2%;
    color: #fff;
    font-size: 60px;
    line-height: 60px;
    font-weight: bold;
    cursor: pointer;
}

.simulation .sim-result .sim-result-inner {
    width: 60%;
    max-width: 600px;
    position: absolute;
    left: 50%;
    top: 0%;
    transform: translate(-50%, -100%);
    background: #fff;
    padding: 1.2em;
    text-align: center;
    border-radius: 10px;
    opacity: 0;
    transition: transform 1s ease;
    overflow-y: auto;
}

.simulation .sim-result.show .sim-result-inner {
    opacity: 1;
    top: 50%;
    transform: translate(-50%, -50%);
    max-height: 90vh;

}

.sim-result-inner p {
    margin-bottom: 12px;
}

.simulation .sim-result:has(input[name="result"]:checked) .sim-result-inner {
    top: -10%;
    opacity: 0;
    transition: all 0.7s ease-out;
}


.sim-result-inner .banner {
    width: 80%;
    margin: 0 auto 15px;
}

.sim-result-ttl {
    position: relative;
    margin: 0 auto 15px;
    padding: 0 30px;
    width: fit-content;
    max-width: 100%;
    font-size: 1.25rem;
    font-weight: bold;
    z-index: 1;
    /* background: linear-gradient(transparent 70%, #f5d9d9 70%); */
}

.sim-result-ttl::before,
.sim-result-ttl::after {
    position: absolute;
    content: "";
    height: 100%;
    max-height: 30px;
    width: 1px;
    background: #1e2533;
}

.sim-result-ttl::before {
    top: 50%;
    left: 14px;
    transform: rotate(-35deg) translateY(-50%);
}

.sim-result-ttl::after {
    top: 50%;
    right: 14px;
    transform: rotate(35deg) translateY(-50%);
}

.sim-result-ttl span {
    display: inline-block;
}

.sim-result-ttl>span {
    vertical-align: middle;
    max-width: calc(100% - 60px);
}

.sim-result-ttl.name {
    font-size: 24px;
    color: #FE6060;
}

.sim-result-ttl.name::before,
.sim-result-ttl.name::after {
    display: none;
}

.simulation .sim-result {
    line-height: 1.4em;
}

.simulation .sim-result p {
    margin-bottom: .8em;
}

.simulation .sim-result p b {
    display: inline-block;
    margin: 0 5px;
    font-size: 115%;
    color: #cd7075;
}

.simulation .sim-result p i {
    display: inline-block;
    padding: 3px 5px;
    background: #777;
    color: #fff;
    font-weight: bold;
    font-style: normal;
    margin: 0 5px;
    vertical-align: middle;
    border-radius: 3px;
}

.simulation .sim-result p.average {
    font-size: 160%;
    font-weight: bold;
    line-height: 1.4em;
}

.simulation .sim-result p.average em {
    display: inline-block;
    padding: 3px 5px;
    background: #faeff0;
    color: #FE6060;
    font-size: 120%;
    font-style: normal;
    margin: 0 5px;
    border: 1px solid #cd7075;
    border-radius: 3px;
}

@media (max-width: 767px) {
    .simulation .sim-result .sim-result-inner {
        padding: 1em .8em;
        width: 90%;
    }
}


.sim-result .close-modal {
    position: absolute;
    right: 2%;
    top: 2%;
    color: #fff;
    font-size: 60px;
    line-height: 60px;
    cursor: pointer;
}

.sim-result-item {
    display: none;
}


@media screen and (max-width: 767px) {
    .sim-result-ttl {
        font-size: 18px;
    }

    .sim-result-ttl.name {
        font-size: 22px;
    }
}

.post-thumbnail {
    margin-bottom: 10px;
}

.post-info {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 30px;
}

.pr-mark {
    display: inline-block;
    font-size: 13px;
    line-height: 1;
    border: 1px solid #1E2533;
    padding: 4px 8px;
}

.post-info .date {
    font-size: 14px;
    margin-bottom: 0;
}