@charset "UTF-8";
/* ---------------------------------------------
*   l-header
--------------------------------------------- */
.l-header {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 500;
    display: block;
    width: 100%;
    height: calc(var(--fixed-header-height) * 1px);
    box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1);
}
.l-header__container {
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    background-color: var(--color-white-1);
}
.l-header__logo-wrap {
    display: flex;
    align-items: center;
    -moz-column-gap: 35px;
         column-gap: 35px;
    padding-left: 35px;
}
@media screen and (max-width: 1000px) {
    .l-header__logo-wrap {
        -moz-column-gap: 24px;
             column-gap: 24px;
    }
}
@media screen and (max-width: 767px) {
    .l-header__logo-wrap {
        -moz-column-gap: 8px;
             column-gap: 8px;
        padding-left: 16px;
    }
}
.l-header__logo {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .l-header__logo {
        transition: opacity var(--hover-duration);
    }
    .l-header__logo:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header__logo img {
    display: block;
    width: 100%;
    height: auto;
}
.l-header__logo--1 {
    width: 147px;
}
@media screen and (max-width: 1000px) {
    .l-header__logo--1 {
        width: 100px;
    }
}
@media screen and (max-width: 767px) {
    .l-header__logo--1 {
        width: 95px;
    }
}
.l-header__logo--2 {
    width: 270px;
}
@media screen and (max-width: 1000px) {
    .l-header__logo--2 {
        width: 220px;
    }
}
@media screen and (max-width: 767px) {
    .l-header__logo--2 {
        width: 190px;
    }
}

/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
.l-contents {
    padding-top: calc(var(--fixed-header-height) * 1px);
}

/* ---------------------------------------------
*   l-container
--------------------------------------------- */
.l-container {
    margin-inline: auto;
    width: min(1263 / var(--design-width) * 100%, 1180px);
}
@media screen and (max-width: 767px) {
    .l-container {
        width: calc(342 / var(--design-width) * 100%);
    }
}

/* ---------------------------------------------
*   l-footer
--------------------------------------------- */
.l-footer {
    background-color: var(--color-white-1);
}
.l-footer__top {
    padding-block: 48px;
}
@media screen and (max-width: 767px) {
    .l-footer__top {
        padding-block: 40px;
    }
}
.l-footer__top-ttl {
    font-family: var(--ff-inter);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 25px;
}
@media screen and (max-width: 767px) {
    .l-footer__top-ttl {
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}
.l-footer__list {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}
.l-footer__item {
    display: flex;
    gap: 3px;
}
.l-footer__item::before {
    content: "・";
    display: block;
    margin-left: 3px;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 900;
}
@media screen and (max-width: 767px) {
    .l-footer__item::before {
        line-height: 1.2;
    }
}
.l-footer__item-txt {
    font-family: var(--ff-noto);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
    .l-footer__item-txt {
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}
.l-footer__foot {
    position: relative;
    padding-block: 32px 80px;
}
.l-footer__foot-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 18px;
}
@media screen and (max-width: 767px) {
    .l-footer__foot-inner {
        gap: 22px;
    }
}
.l-footer__logo {
    display: block;
    width: 216px;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer__logo {
        transition: opacity var(--hover-duration);
    }
    .l-footer__logo:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 767px) {
    .l-footer__logo {
        width: 160px;
    }
}
.l-footer__copyright {
    text-align: center;
}
.l-footer__copyright-txt {
    display: block;
    color: var(--color-black-1);
    text-align: center;
    font-family: var(--ff-inter);
    font-size: calc(11.25 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 12px;
}
@media screen and (max-width: 767px) {
    .l-footer__copyright-txt {
        text-align: center;
        font-size: calc(10.313 / var(--root-fz) * 1rem);
        line-height: 11px;
    }
}
.l-footer__pagetop {
    position: absolute;
    right: 32px;
    top: 32px;
    display: block;
    width: 34px;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer__pagetop {
        transition: opacity var(--hover-duration);
    }
    .l-footer__pagetop:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 767px) {
    .l-footer__pagetop {
        width: 32px;
    }
}

/* ---------------------------------------------
*   p-top-kv
--------------------------------------------- */
.p-top-kv__container {
    padding-top: 54px;
}
@media screen and (max-width: 767px) {
    .p-top-kv__container {
        padding-top: 38px;
    }
}
.p-top-kv__head {
    padding-inline: 20px;
}
@media screen and (max-width: 767px) {
    .p-top-kv__head {
        padding-inline: min(16 / var(--design-width) * 100vw, 16px);
    }
}
.p-top-kv__logos {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px 30px;
}
@media print, screen and (min-width: 768px) {
    .p-top-kv__logos {
        padding-inline: 50px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-kv__logos {
        flex-direction: column;
        gap: 5px;
    }
}
.p-top-kv__label {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 7px 56px 8px;
    background-color: var(--color-white-1);
    border: 3px solid var(--color-orange-1);
    border-radius: 999px;
    box-sizing: border-box;
}
@media screen and (max-width: 767px) {
    .p-top-kv__label {
        padding: 4px 29px 3px;
        border-width: 2px;
    }
}
.p-top-kv__label-txt {
    color: var(--color-orange-1);
    text-align: center;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3.6px;
}
@media screen and (max-width: 767px) {
    .p-top-kv__label-txt {
        font-size: calc(14 / var(--root-fz) * 1rem);
        letter-spacing: 2.8px;
    }
}
.p-top-kv__logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 17px;
}
@media screen and (max-width: 767px) {
    .p-top-kv__logo-wrap {
        flex-direction: column;
        gap: 0;
    }
}
.p-top-kv__logo-img {
    width: 100%;
}
@media print, screen and (min-width: 768px) {
    .p-top-kv__logo-img {
        max-width: 331px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-kv__logo-img {
        max-width: 236px;
    }
}
.p-top-kv__logo-txt {
    color: var(--color-gray-2);
    text-align: center;
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
    .p-top-kv__logo-txt {
        font-size: calc(15 / var(--root-fz) * 1rem);
        letter-spacing: 1.5px;
    }
}
.p-top-kv__ttl {
    margin: 22px auto 0;
    width: 100%;
    max-width: 966px;
}
@media screen and (max-width: 767px) {
    .p-top-kv__ttl {
        margin-top: 5px;
        max-width: 357px;
    }
}
.p-top-kv__slider {
    margin-top: -16px;
}
@media screen and (max-width: 767px) {
    .p-top-kv__slider {
        margin-top: -5px;
    }
}
.p-top-kv__txt {
    color: var(--color-gray-1);
    text-align: center;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-style: normal;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 3.52px;
}
@media screen and (max-width: 767px) {
    .p-top-kv__txt {
        margin-top: -2px;
        font-size: calc(15 / var(--root-fz) * 1rem);
        line-height: 1.3;
        letter-spacing: 2.4px;
    }
}
.p-top-kv__txt--orange {
    position: relative;
    color: var(--color-orange-1);
    font-size: calc(26 / var(--root-fz) * 1rem);
    letter-spacing: 4.16px;
}
@media screen and (max-width: 767px) {
    .p-top-kv__txt--orange {
        font-size: calc(18 / var(--root-fz) * 1rem);
        letter-spacing: 2.88dpx;
    }
}
.p-top-kv__txt--orange::after {
    content: "";
    position: absolute;
    bottom: -12px;
    left: -5px;
    width: 165px;
    height: 13px;
    background: url(../img/icoon_line.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
    .p-top-kv__txt--orange::after {
        width: 105px;
        height: 7px;
    }
}

/* ---------------------------------------------
*   p-top-kv-slider
--------------------------------------------- */
.p-top-kv-slider {
    display: flex;
    overflow: hidden;
}
.p-top-kv-slider__img-wrap {
    display: flex;
}
.p-top-kv-slider__img-wrap--1 {
    animation: mvslide1 140s -70s linear infinite;
}
.p-top-kv-slider__img-wrap--2 {
    animation: mvslide2 140s linear infinite;
}
.p-top-kv-slider__img {
    width: min(411 / var(--design-width) * 100vw, 411px);
    overflow: hidden;
    margin-left: max(-56 / var(--design-width) * 100vw, -56px);
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .p-top-kv-slider__img {
        width: calc(300 / var(--design-width) * 100vw);
        margin-left: max(-28 / var(--design-width) * 100vw, -28px);
    }
}
@keyframes mvslide1 {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
}
@keyframes mvslide2 {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
}

/* ---------------------------------------------
*   p-top-about
--------------------------------------------- */
.p-top-about {
    margin-top: 105px;
    padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
    .p-top-about {
        margin-top: 56px;
        padding-bottom: 40px;
    }
}
.p-top-about__container {
    padding: 110px min(100 / 1180 * 100%, 100px) 100px;
}
@media screen and (max-width: 767px) {
    .p-top-about__container {
        padding: 48px 20px 40px;
    }
}
.p-top-about__inner {
    border-radius: 24px;
    /* 影専用のレイヤー */
}
@media screen and (max-width: 767px) {
    .p-top-about__inner {
        border-radius: 16px;
    }
}
.p-top-about__inner::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    border-radius: inherit;
    background-color: rgba(255, 255, 255, 0.4);
    filter: drop-shadow(0 0 36px rgba(0, 0, 0, 0.1));
    mix-blend-mode: multiply;
}
@media screen and (max-width: 767px) {
    .p-top-about__inner::before {
        filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.2));
    }
}
.p-top-about__ttl {
    display: flex;
    align-items: end;
    justify-content: center;
    gap: 10px;
    margin: 48px auto 0;
}
@media screen and (max-width: 767px) {
    .p-top-about__ttl {
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 32px;
    }
}
.p-top-about__ttl-img {
    width: 100%;
    max-width: 395px;
}
@media screen and (max-width: 767px) {
    .p-top-about__ttl-img {
        max-width: 233px;
    }
}
.p-top-about__ttl-txt {
    color: var(--color-gray-1);
    text-align: center;
    font-size: calc(34 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3px;
}
@media screen and (max-width: 767px) {
    .p-top-about__ttl-txt {
        font-size: calc(20 / var(--root-fz) * 1rem);
        letter-spacing: 2.25px;
    }
}
.p-top-about__lead {
    margin-top: 22px;
    text-align: center;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 2;
}
@media screen and (max-width: 767px) {
    .p-top-about__lead {
        margin-top: 18px;
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 1.8;
    }
}
.p-top-about__lead + .p-top-about__lead {
    margin-top: 4px;
}
@media screen and (max-width: 767px) {
    .p-top-about__lead + .p-top-about__lead {
        margin-top: 8px;
        letter-spacing: -0.42px;
    }
}
.p-top-about__body {
    margin-top: 56px;
}
@media screen and (max-width: 767px) {
    .p-top-about__body {
        margin-top: 42px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-about__body-pc {
        display: none;
    }
}
@media print, screen and (min-width: 768px) {
    .p-top-about__body-sp {
        display: none;
    }
}
.p-top-about__img {
    width: 100%;
}
.p-top-about__img img {
    display: block;
    width: 100%;
    height: auto;
}
.p-top-about__column {
    display: flex;
    gap: 40px;
    margin-top: 40px;
}
.p-top-about__column-item {
    width: calc(50% - 20px);
}
.p-top-about__txt {
    text-align: justify;
}
@media print, screen and (min-width: 768px) {
    .p-top-about__txt {
        margin-inline: auto;
        width: calc(390 / 470 * 100%);
    }
}
@media screen and (max-width: 767px) {
    .p-top-about__txt {
        margin-top: 20px;
    }
}
.p-top-about__txt.c-txt-1 {
    line-height: 1.65;
}
.p-top-about__txt sup {
    position: relative;
    top: 1px;
    font-size: calc(9 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 767px) {
    .p-top-about__txt sup {
        top: 2px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-about__txt--small {
        margin-inline: auto;
        width: calc(282 / 302 * 100%);
    }
}
.p-top-about__note {
    margin: 10px auto 0;
}
@media print, screen and (min-width: 768px) {
    .p-top-about__note {
        margin-top: 8px;
        width: calc(390 / 470 * 100%);
    }
}
.p-top-about__note-item {
    color: var(--color-gray-2);
    text-align: justify;
}
@media screen and (max-width: 767px) {
    .p-top-about__arw {
        display: block;
        margin: 10px auto;
        width: 23px;
        line-height: 1;
    }
    .p-top-about__arw img {
        display: block;
        width: 100%;
        height: auto;
    }
}

/* ---------------------------------------------
*   p-top-about-more
--------------------------------------------- */
.p-top-about-more {
    margin-top: 80px;
}
@media screen and (max-width: 767px) {
    .p-top-about-more {
        margin-top: 48px;
    }
}
.p-top-about-more__ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
@media screen and (max-width: 767px) {
    .p-top-about-more__ttl {
        gap: 6px;
    }
}
.p-top-about-more__ttl-accent {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--color-orange-1);
    text-align: center;
    font-size: calc(24 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1.44px;
}
@media screen and (max-width: 767px) {
    .p-top-about-more__ttl-accent {
        gap: 8px;
        font-size: calc(18 / var(--root-fz) * 1rem);
        letter-spacing: 1.08px;
    }
}
.p-top-about-more__ttl-accent::before, .p-top-about-more__ttl-accent::after {
    content: "";
    display: block;
    width: 15px;
    height: 19px;
}
@media screen and (max-width: 767px) {
    .p-top-about-more__ttl-accent::before, .p-top-about-more__ttl-accent::after {
        width: 12px;
        height: 15px;
    }
}
.p-top-about-more__ttl-accent::before {
    background: url(../img/icon_more_left_orange.png) no-repeat center center/contain;
}
.p-top-about-more__ttl-accent::after {
    background: url(../img/icon_more_right_orange.png) no-repeat center center/contain;
}
.p-top-about-more__ttl-txt {
    color: var(--color-gray-2);
    text-align: center;
    font-size: calc(36 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.44px;
}
@media screen and (max-width: 767px) {
    .p-top-about-more__ttl-txt {
        font-size: calc(24 / var(--root-fz) * 1rem);
        letter-spacing: 0.96px;
    }
}
.p-top-about-more__body {
    margin-top: 56px;
}
@media screen and (max-width: 767px) {
    .p-top-about-more__body {
        margin-top: 24px;
    }
}
.p-top-about-more__img {
    margin-inline: auto;
    max-width: 847px;
}
.p-top-about-more__txt {
    margin-top: 40px;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .p-top-about-more__txt {
        margin-top: 24px;
        text-align: justify;
    }
}
.p-top-about-more__note {
    margin-top: 10px;
    text-align: center;
    color: var(--color-gray-2);
}
@media screen and (max-width: 767px) {
    .p-top-about-more__note {
        margin-top: 8px;
        text-align: justify;
    }
}

/* ---------------------------------------------
*   p-top-about-aside
--------------------------------------------- */
.p-top-about-aside {
    margin-top: 120px;
}
@media screen and (max-width: 767px) {
    .p-top-about-aside {
        margin-top: 64px;
    }
}
.p-top-about-aside__container {
    padding: 56px 48px 64px 48px;
    border-radius: 16px;
    background-color: var(--color-white-3);
}
@media screen and (max-width: 767px) {
    .p-top-about-aside__container {
        padding: 40px 16px 20px 16px;
        border-radius: 8px;
    }
}
.p-top-about-aside__head {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 24px;
}
@media screen and (max-width: 767px) {
    .p-top-about-aside__head {
        gap: 18px;
    }
}
.p-top-about-aside__ttl {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 24px;
}
@media screen and (max-width: 767px) {
    .p-top-about-aside__ttl {
        gap: 18px;
    }
}
.p-top-about-aside__ttl-label {
    width: 216px;
}
@media screen and (max-width: 767px) {
    .p-top-about-aside__ttl-label {
        width: 162px;
    }
}
.p-top-about-aside__ttl-txt {
    color: var(--color-gray-4);
    text-align: center;
    font-size: calc(32 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3px;
}
@media screen and (max-width: 767px) {
    .p-top-about-aside__ttl-txt {
        font-size: calc(20 / var(--root-fz) * 1rem);
        letter-spacing: 2.25px;
    }
}
.p-top-about-aside__lead {
    text-align: center;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 2;
}
@media screen and (max-width: 767px) {
    .p-top-about-aside__lead {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.p-top-about-aside__body {
    margin-top: 48px;
}
@media screen and (max-width: 767px) {
    .p-top-about-aside__body {
        margin-top: 36px;
    }
}
.p-top-about-aside__acc + .p-top-about-aside__acc {
    margin-top: 32px;
}
@media screen and (max-width: 767px) {
    .p-top-about-aside__acc + .p-top-about-aside__acc {
        margin-top: 24px;
    }
}

/* ---------------------------------------------
*   p-top-about-acc
--------------------------------------------- */
.p-top-about-acc__column {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    align-self: stretch;
}
@media screen and (max-width: 1000px) {
    .p-top-about-acc__column {
        flex-direction: column;
    }
}
@media screen and (min-width: 1001px) {
    .p-top-about-acc__column {
        min-height: 300px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-about-acc__column {
        gap: 16px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-about-acc__column--2 {
        gap: 28px;
    }
}
.p-top-about-acc__column-item:first-of-type {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    flex: 1 0 0;
    width: calc(344 / 800 * 100%);
}
@media screen and (max-width: 1000px) {
    .p-top-about-acc__column-item:first-of-type {
        gap: 8px;
        width: 100%;
    }
}
.p-top-about-acc__column-item:last-of-type {
    width: calc(420 / 800 * 100%);
}
@media screen and (max-width: 1000px) {
    .p-top-about-acc__column-item:last-of-type {
        width: 100%;
    }
}
.p-top-about-acc__icon {
    width: 50px;
}
@media screen and (max-width: 767px) {
    .p-top-about-acc__icon {
        width: 32px;
    }
}
.p-top-about-acc__txt {
    color: var(--color-gray-2);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
    .p-top-about-acc__txt {
        font-size: calc(13 / var(--root-fz) * 1rem);
        margin-top: 4px;
    }
}
.p-top-about-acc__note-item {
    color: var(--color-gray-2);
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.6;
}
@media screen and (max-width: 767px) {
    .p-top-about-acc__note-item {
        font-size: calc(9 / var(--root-fz) * 1rem);
    }
}
.p-top-about-acc__img {
    width: 100%;
}
.p-top-about-acc__img img {
    display: block;
    width: 100%;
    height: auto;
}
@media screen and (max-width: 767px) {
    .p-top-about-acc__img--1 {
        margin-block: 5px 11px;
    }
}
.p-top-about-acc__img--2 {
    margin-inline: auto;
    width: calc(354 / 420 * 100%);
}
@media screen and (max-width: 1000px) {
    .p-top-about-acc__img--2 {
        width: calc(222 / 238 * 100%);
    }
}
.p-top-about-acc__caption {
    margin: 10px auto 0;
    width: calc(354 / 420 * 100%);
    color: var(--color-gray-2);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 1%;
}
@media screen and (max-width: 1000px) {
    .p-top-about-acc__caption {
        width: calc(222 / 238 * 100%);
    }
}
@media screen and (max-width: 767px) {
    .p-top-about-acc__caption {
        padding-bottom: 10px;
        font-size: calc(12 / var(--root-fz) * 1rem);
        line-height: 1.8;
        letter-spacing: 0;
    }
}

/* ---------------------------------------------
*   p-top-point
--------------------------------------------- */
.p-top-point {
    position: relative;
    padding-block: min(280 / var(--design-width) * 100vw, 280px) 100px;
    background-color: var(--color-orange-4);
}
@media screen and (max-width: 767px) {
    .p-top-point {
        padding-block: 83px 48px;
    }
}
.p-top-point::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    aspect-ratio: 1440/128;
    background: url(../img/bg_yellow.png) no-repeat center center/cover;
}
.p-top-point__ttl-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.p-top-point__bubble {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
    padding: 13px 38px 15px 38px;
    background-color: var(--color-orange-1);
    border-radius: 34px;
}
@media screen and (max-width: 767px) {
    .p-top-point__bubble {
        margin-top: 28px;
        padding: 10px 30px 11px;
        border-radius: 26px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-point__foot .p-top-point__bubble {
        width: calc(362 / 342 * 100%);
        transform: translateX(-8px);
    }
}
.p-top-point__bubble::after {
    content: "";
    position: absolute;
    bottom: 1px;
    left: 50%;
    transform: translate(-50%, 100%);
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 7.5px 0 7.5px;
    border-color: #E76B2B transparent transparent transparent;
}
@media screen and (max-width: 767px) {
    .p-top-point__bubble::after {
        border-width: 8px 5.5px 0 5.5px;
    }
}
.p-top-point__bubble-txt {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--color-white-1);
    text-align: center;
    font-size: calc(24 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1.44px;
}
@media screen and (max-width: 767px) {
    .p-top-point__bubble-txt {
        gap: 8px;
        font-size: calc(18 / var(--root-fz) * 1rem);
        letter-spacing: 1.08px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-point__foot .p-top-point__bubble-txt {
        letter-spacing: 0.54px;
    }
}
.p-top-point__bubble-txt::before, .p-top-point__bubble-txt::after {
    content: "";
    display: block;
    width: 15px;
    height: 19px;
}
@media screen and (max-width: 767px) {
    .p-top-point__bubble-txt::before, .p-top-point__bubble-txt::after {
        width: 12px;
        height: 15px;
    }
}
.p-top-point__bubble-txt::before {
    background: url(../img/icon_more_left_white.png) no-repeat center center/contain;
}
.p-top-point__bubble-txt::after {
    background: url(../img/icon_more_right_white.png) no-repeat center center/contain;
}
.p-top-point__ttl-main {
    margin-top: 14px;
    padding-inline: 20px;
    width: 100%;
    max-width: 900px;
}
@media screen and (max-width: 767px) {
    .p-top-point__ttl-main {
        margin-top: 18px;
        padding-inline: 10px;
        max-width: 343px;
    }
}
.p-top-point__body {
    margin-top: 64px;
}
@media screen and (max-width: 767px) {
    .p-top-point__body {
        margin-top: 32px;
    }
}
.p-top-point__foot {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 17px;
    margin-top: 80px;
}
@media screen and (max-width: 1060px) {
    .p-top-point__foot {
        gap: 25px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-point__foot {
        display: block;
        margin-top: 48px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-point__foot-head {
        margin-inline: auto;
        width: -moz-fit-content;
        width: fit-content;
    }
}
.p-top-point__contents {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
}
@media screen and (max-width: 767px) {
    .p-top-point__contents {
        flex-direction: column;
        gap: 24px;
        margin-top: 30px;
    }
}
.p-top-point__icon {
    flex-shrink: 0;
    width: 184px;
}
@media screen and (max-width: 767px) {
    .p-top-point__icon {
        width: 164px;
    }
}
.p-top-point__txt-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}
@media screen and (max-width: 767px) {
    .p-top-point__txt-wrap {
        gap: 8px;
    }
}
.p-top-point__txt {
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
    .p-top-point__txt {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.p-top-point__note-item {
    color: var(--color-gray-2);
}

/* ---------------------------------------------
*   p-top-point-block
--------------------------------------------- */
.p-top-point-block + .p-top-point-block {
    margin-top: 64px;
}
@media screen and (max-width: 767px) {
    .p-top-point-block + .p-top-point-block {
        margin-top: 32px;
    }
}
@media screen and (max-width: 767px) {
    .mac.safari .p-top-point-block + .p-top-point-block {
        margin-top: 35px;
    }
}

.p-top-point-block__container {
    position: relative;
    padding: 80px 56px 70px;
}
@media screen and (max-width: 767px) {
    .p-top-point-block__container {
        padding: 40px 20px 32px;
    }
}
.p-top-point-block__inner {
    border-radius: 24px;
    /* 影専用のレイヤー */
}
@media screen and (max-width: 767px) {
    .p-top-point-block__inner {
        border-radius: 16px;
    }
}
.p-top-point-block__inner::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background-color: #ffdda2;
    filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.1));
    mix-blend-mode: color-burn;
}
.p-top-point-block__column {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 64px;
    border-radius: 24px;
}
@media screen and (max-width: 1000px) {
    .p-top-point-block__column {
        flex-direction: column;
    }
}
@media screen and (max-width: 767px) {
    .p-top-point-block__column {
        gap: 15px;
    }
}
.p-top-point-block:nth-of-type(2n) .p-top-point-block__column {
    flex-direction: row-reverse;
}
@media screen and (max-width: 1000px) {
    .p-top-point-block:nth-of-type(2n) .p-top-point-block__column {
        flex-direction: column;
    }
}
.p-top-point-block__item {
    width: calc(502 / 1068 * 100%);
}
@media screen and (max-width: 1000px) {
    .p-top-point-block__item {
        width: 100%;
    }
}
.p-top-point-block__item:first-of-type {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    flex: 1 0 0;
}
@media screen and (max-width: 1000px) {
    .p-top-point-block__item:first-of-type {
        gap: 16px;
    }
}
.p-top-point-block__point--1 {
    width: 89px;
}
@media screen and (max-width: 767px) {
    .p-top-point-block__point--1 {
        width: 67px;
    }
}
.p-top-point-block__point--2 {
    width: 98px;
}
@media screen and (max-width: 767px) {
    .p-top-point-block__point--2 {
        width: 74px;
    }
}
.p-top-point-block__point--3 {
    width: 99px;
}
@media screen and (max-width: 767px) {
    .p-top-point-block__point--3 {
        width: 74px;
    }
}
.p-top-point-block__point--4 {
    width: 100px;
}
@media screen and (max-width: 767px) {
    .p-top-point-block__point--4 {
        width: 75px;
    }
}
.p-top-point-block__point--5 {
    width: 98px;
}
@media screen and (max-width: 767px) {
    .p-top-point-block__point--5 {
        width: 74px;
    }
}
.p-top-point-block__ttl {
    color: var(--color-gray-4);
    font-size: calc(26 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.04px;
}
@media screen and (max-width: 767px) {
    .p-top-point-block__ttl {
        font-size: calc(18 / var(--root-fz) * 1rem);
        letter-spacing: 0.72px;
    }
}
.p-top-point-block__line {
    width: 100%;
    height: 2px;
}
.p-top-point-block__txt {
    text-align: justify;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
    .p-top-point-block__txt {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   p-top-point-box
--------------------------------------------- */
.p-top-point-box {
    position: relative;
    z-index: 2;
    margin-top: 64px;
}
@media screen and (max-width: 767px) {
    .p-top-point-box {
        margin-top: 32px;
    }
}
.p-top-point-box__column {
    display: flex;
    padding: 40px;
    align-items: center;
    gap: 64px;
    background-color: var(--color-white-3);
}
@media screen and (max-width: 767px) {
    .p-top-point-box__column {
        padding: 35px 16px 32px 16px;
        flex-direction: column;
        justify-content: center;
        gap: 24px;
        border-radius: 8px;
    }
}
.p-top-point-box__item:first-of-type {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 24px;
    flex-shrink: 0;
}
@media print, screen and (min-width: 768px) {
    .p-top-point-box__item:first-of-type {
        width: calc(290 / 988 * 100%);
        transform: translateY(-9px);
    }
}
@media screen and (max-width: 767px) {
    .p-top-point-box__item:first-of-type {
        gap: 18px;
    }
}
@media print, screen and (min-width: 768px) {
    .p-top-point-box__item:last-of-type {
        flex-grow: 1;
    }
}
.p-top-point-box__label {
    width: 100%;
    max-width: 216px;
}
@media screen and (max-width: 767px) {
    .p-top-point-box__label {
        max-width: 162px;
    }
}
.p-top-point-box__main-txt {
    color: var(--color-gray-4);
    text-align: center;
    font-size: calc(32 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3px;
}
@media screen and (max-width: 767px) {
    .p-top-point-box__main-txt {
        font-size: calc(20 / var(--root-fz) * 1rem);
        letter-spacing: 2.25px;
    }
}
.p-top-point-box__ex {
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 1 0 0;
}
.p-top-point-box__ex-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.p-top-point-box__ex-ttl {
    display: flex;
    padding: 8px 24px 9px 24px;
    align-items: center;
    gap: 12px;
    color: var(--color-gray-4);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1.28px;
    background-color: var(--color-white-1);
    border-radius: 60px;
}
@media screen and (max-width: 767px) {
    .p-top-point-box__ex-ttl {
        padding: 5px 20px 6px 20px;
        gap: 8px;
        font-size: calc(15 / var(--root-fz) * 1rem);
        letter-spacing: 1.2px;
    }
}
.p-top-point-box__ex-ttl::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: url(../img/icon_circle_check.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
    .p-top-point-box__ex-ttl::before {
        width: 20px;
        height: 20px;
    }
}
.p-top-point-box__ex-txt {
    color: var(--color-gray-2);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
    .p-top-point-box__ex-txt {
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   p-top-plan
--------------------------------------------- */
.p-top-plan {
    position: relative;
    padding-block: min(280 / var(--design-width) * 100vw, 280px) 120px;
    background-color: var(--color-blue-2);
}
@media screen and (max-width: 767px) {
    .p-top-plan {
        padding-block: calc(98 / var(--design-width) * 100vw) 48px;
    }
}
.p-top-plan::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    aspect-ratio: 1440/128;
    background: url(../img/bg_orange.png) no-repeat center center/cover;
}
.p-top-plan__head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
    padding: 35px 180px 30px;
    width: 100%;
    max-width: 896px;
    background-color: var(--color-white-1);
    border-radius: 20px;
    border: 5px solid var(--color-blue-1);
}
@media screen and (max-width: 767px) {
    .p-top-plan__head {
        padding: 15px 50px;
        border-radius: 15px;
        border-width: 3px;
    }
}
.p-top-plan__head::before, .p-top-plan__head::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    aspect-ratio: 2;
}
@media screen and (max-width: 767px) {
    .p-top-plan__head::before, .p-top-plan__head::after {
        aspect-ratio: 1.8;
    }
}
.p-top-plan__head::before {
    bottom: -26px;
    height: 26px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #7DA6D5;
}
@media screen and (max-width: 767px) {
    .p-top-plan__head::before {
        bottom: -20px;
        height: 20px;
    }
}
.p-top-plan__head::after {
    bottom: -19px;
    height: 20px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: var(--color-white-1);
}
@media screen and (max-width: 767px) {
    .p-top-plan__head::after {
        bottom: -15px;
        height: 17px;
    }
}
.p-top-plan__icon {
    position: absolute;
}
.p-top-plan__icon--1 {
    bottom: -12px;
    left: 21px;
    width: 124px;
}
@media screen and (max-width: 767px) {
    .p-top-plan__icon--1 {
        bottom: -38px;
        left: -14px;
        width: 75px;
    }
}
.p-top-plan__icon--2 {
    bottom: 0;
    right: 16px;
    width: 81px;
}
@media screen and (max-width: 767px) {
    .p-top-plan__icon--2 {
        bottom: 0;
        right: 10px;
        width: 45px;
    }
}
.p-top-plan__ttl-wrap {
    position: relative;
    z-index: 20;
    text-align: center;
}
.p-top-plan__ttl {
    text-align: center;
    font-size: calc(28 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.4px;
}
@media screen and (max-width: 767px) {
    .p-top-plan__ttl {
        font-size: calc(18 / var(--root-fz) * 1rem);
        letter-spacing: 0.9px;
    }
}
.p-top-plan__body {
    margin-top: 60px;
}
@media screen and (max-width: 767px) {
    .p-top-plan__body {
        margin-top: 56px;
    }
}

/* ---------------------------------------------
*   p-top-plan-block
--------------------------------------------- */
.p-top-plan-block {
    position: relative;
    z-index: 2;
    border-radius: 24px;
    /* 影専用のレイヤー */
}
@media screen and (max-width: 767px) {
    .p-top-plan-block {
        border-radius: 16px;
    }
}
.p-top-plan-block::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background-color: #e9f4f7;
    filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.1));
    mix-blend-mode: color-burn;
    z-index: -1;
}
@media screen and (max-width: 767px) {
    .p-top-plan-block::before {
        filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.1));
    }
}
.p-top-plan-block__head {
    display: flex;
    padding: 24px 24px 20px 24px;
    justify-content: center;
    align-items: center;
    gap: 24px;
    background-color: var(--color-blue-1);
    border-radius: 24px 24px 0 0;
}
@media screen and (max-width: 767px) {
    .p-top-plan-block__head {
        padding: 20px 16px 18px 16px;
        gap: 16px;
        border-radius: 16px 16px 0 0;
    }
}
.p-top-plan-block__head-icon {
    width: 54px;
}
@media screen and (max-width: 767px) {
    .p-top-plan-block__head-icon {
        width: 27px;
    }
}
.p-top-plan-block__ttl {
    color: var(--color-white-1);
    text-align: center;
    font-size: calc(34 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 2.72px;
}
@media screen and (max-width: 767px) {
    .p-top-plan-block__ttl {
        font-size: calc(21 / var(--root-fz) * 1rem);
        letter-spacing: 1.68px;
    }
}
.p-top-plan-block__body {
    background-color: var(--color-white-1);
    padding: 64px 80px 80px 80px;
    border-radius: 0 0 24px 24px;
}
@media screen and (max-width: 767px) {
    .p-top-plan-block__body {
        padding: 32px 20px;
        border-radius: 0 0 16px 16px;
    }
}
.p-top-plan-block__column {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row-reverse;
    gap: 64px;
}
@media screen and (max-width: 1000px) {
    .p-top-plan-block__column {
        flex-direction: column;
    }
}
@media screen and (max-width: 767px) {
    .p-top-plan-block__column {
        gap: 24px;
    }
}
@media print, screen and (min-width: 1001px) {
    .p-top-plan-block__item:first-of-type {
        width: calc(416 / 1020 * 100%);
    }
}
.p-top-plan-block__item:last-of-type {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 50px;
    flex: 1 0 0;
}
@media print, screen and (min-width: 1001px) {
    .p-top-plan-block__item:last-of-type {
        width: calc(540 / 1020 * 100%);
    }
}
@media screen and (max-width: 767px) {
    .p-top-plan-block__item:last-of-type {
        gap: 24px;
    }
}
.p-top-plan-block__img img {
    display: block;
    width: 100%;
    height: auto;
}
.p-top-plan-block__txt {
    text-align: justify;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
    .p-top-plan-block__txt {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.p-top-plan-block__main-ttl, .p-top-plan-block__main-txt {
    width: 100%;
}
.p-top-plan-block__main-ttl img, .p-top-plan-block__main-txt img {
    display: block;
    width: 100%;
    height: auto;
}
.p-top-plan-block__main-txt {
    margin-top: 16px;
}
@media screen and (max-width: 767px) {
    .p-top-plan-block__main-txt {
        margin-top: 8px;
    }
}
.p-top-plan-block__note {
    margin-top: 16px;
}
@media screen and (max-width: 767px) {
    .p-top-plan-block__note {
        margin-top: 12px;
    }
}
.p-top-plan-block__note-item {
    color: var(--color-gray-2);
}

/* ---------------------------------------------
*   p-top-flow
--------------------------------------------- */
.p-top-flow {
    position: relative;
    padding-block: min(210 / var(--design-width) * 100vw, 210px) 100px;
    background-color: var(--color-white-4);
    overflow: hidden;
}
@media screen and (max-width: 767px) {
    .p-top-flow {
        padding-block: calc(83 / var(--design-width) * 100vw) 40px;
    }
}
.p-top-flow::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    aspect-ratio: 1440/128;
    background: url(../img/bg_blue.png) no-repeat center center/cover;
}
.p-top-flow__body {
    margin-top: 42px;
}
@media screen and (max-width: 767px) {
    .p-top-flow__body {
        margin-top: 32px;
    }
}

/* ---------------------------------------------
*   p-top-flow-block
--------------------------------------------- */
.p-top-flow-block + .p-top-flow-block {
    margin-top: 35px;
}
@media screen and (max-width: 767px) {
    .p-top-flow-block + .p-top-flow-block {
        margin-top: 0;
    }
}
.p-top-flow-block__ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-inline: auto;
    padding: 14px 16px 16px 16px;
    width: 450px;
    color: var(--color-white-1);
    text-align: center;
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 1px;
    background-color: var(--color-orange-5);
    border-radius: 200px;
}
@media screen and (max-width: 767px) {
    .p-top-flow-block__ttl {
        width: 100%;
        padding: 11.5px 12px 12px 12px;
        padding: calc(12 / var(--design-width) * 100vw) 12px;
        font-size: calc(15 / var(--root-fz) * 1rem);
        letter-spacing: 0.75px;
    }
}
.p-top-flow-block__flow-img {
    margin-left: calc((100% - 1276 / 1180 * 100%) / 2);
    width: calc(1276 / 1180 * 100%);
}
@media screen and (max-width: 767px) {
    .p-top-flow-block__flow-img {
        margin-top: -17px;
        margin-left: calc((100% - 438 / 342 * 100%) / 2);
        width: calc(438 / 342 * 100%);
    }
}
.p-top-flow-block__contents {
    margin-top: 48px;
}
@media screen and (max-width: 767px) {
    .p-top-flow-block__contents {
        margin-top: 32px;
    }
}
.p-top-flow-block__txt {
    color: var(--color-gray-4);
    text-align: center;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 1.8px;
}
@media screen and (max-width: 767px) {
    .p-top-flow-block__txt {
        font-size: calc(16 / var(--root-fz) * 1rem);
        letter-spacing: 1.6px;
    }
}
.p-top-flow-block__list {
    margin: 24px auto 0;
    max-width: 926px;
    border-radius: 16px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 767px) {
    .p-top-flow-block__list {
        padding-block: 4px;
        border-radius: 8px;
    }
}
.p-top-flow-block__item {
    display: flex;
    padding: 19px 40px;
    align-items: flex-start;
    gap: 16px;
}
@media screen and (max-width: 767px) {
    .p-top-flow-block__item {
        padding: 16px;
    }
}
@media screen and (max-width: 767px) {
    .windows.chrome .p-top-flow-block__item, .windows.edge .p-top-flow-block__item {
        padding: 16px 25px;
    }
}

.p-top-flow-block__item::before {
    content: "";
    flex-shrink: 0;
    display: block;
    margin-top: 9px;
    width: 14px;
    height: 11px;
    background: url(../img/icon_check.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
    .p-top-flow-block__item::before {
        margin-top: 6px;
    }
}
.p-top-flow-block__item + .p-top-flow-block__item {
    border-top: 1px solid var(--color-white-4);
}
.p-top-flow-block__item-txt {
    text-align: justify;
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
    .p-top-flow-block__item-txt {
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   p-top-contact
--------------------------------------------- */
.p-top-contact {
    position: relative;
    padding-block: min(210 / var(--design-width) * 100vw, 210px) 90px;
    background-color: var(--color-orange-6);
}
@media screen and (max-width: 767px) {
    .p-top-contact {
        padding-block: calc(60 / var(--design-width) * 100vw) 48px;
    }
}
.p-top-contact::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    aspect-ratio: 1440/128;
    background: url(../img/bg_orange_2.png) no-repeat center center/cover;
}
.p-top-contact__container {
    position: relative;
    padding: 116px 9% 96px;
    background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 60%, rgba(255, 255, 255, 0) 61%, rgba(0, 0, 0, 0) 100%);
    border-radius: 0 0 5px 5px;
    fill: var(--color-white-1);
    filter: drop-shadow(0 0 48px rgba(0, 0, 0, 0.1));
    overflow: hidden;
}
@media screen and (max-width: 767px) {
    .p-top-contact__container {
        padding: 49px 26px 35px;
    }
}
.p-top-contact__container::before {
    content: "";
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 1065px;
    background: url(../img/bg_contact.png) no-repeat top center/contain;
    z-index: 0;
}
@media screen and (max-width: 767px) {
    .p-top-contact__container::before {
        background-image: url(../img/sp/bg_contact.png);
        height: calc(753 / var(--design-width) * 100vw);
    }
}
.p-top-contact__head {
    position: relative;
    z-index: 10;
}
.p-top-contact__icon {
    display: block;
    margin-inline: auto;
    width: 32px;
}
@media screen and (max-width: 767px) {
    .p-top-contact__icon {
        width: 19px;
    }
}
.p-top-contact__ttl {
    margin-top: 64px;
}
@media screen and (max-width: 767px) {
    .p-top-contact__ttl {
        margin-top: 20px;
    }
}
.p-top-contact__body {
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 70px;
    margin-top: 40px;
}
@media screen and (max-width: 767px) {
    .p-top-contact__body {
        margin-top: 32px;
        gap: 32px;
    }
}
.p-top-contact__txt-wrap {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 48px;
}
@media screen and (max-width: 767px) {
    .p-top-contact__txt-wrap {
        gap: 16px;
    }
}
.p-top-contact__main-txt {
    color: var(--color-gray-4);
    text-align: center;
    font-size: calc(36 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 2.88px;
}
@media screen and (max-width: 767px) {
    .p-top-contact__main-txt {
        font-size: calc(18 / var(--root-fz) * 1rem);
        letter-spacing: 1.44px;
    }
}
@media print and (min-width: 1120px), screen and (min-width: 1120px) {
    .p-top-contact__main-txt--br {
        display: none !important;
    }
}
.p-top-contact__txt {
    text-align: center;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
    .p-top-contact__txt {
        font-size: calc(13 / var(--root-fz) * 1rem);
        line-height: 1.6;
    }
}
.p-top-contact__btn {
    width: 100%;
    max-width: 500px;
}
@media screen and (max-width: 767px) {
    .p-top-contact__btn {
        max-width: 290px;
    }
}

/* ---------------------------------------------
*   p-top-contact-box
--------------------------------------------- */
.p-top-contact-box {
    display: flex;
    align-items: center;
    margin: 48px auto 0;
    padding: 40px 56px;
    gap: 48px;
    border-radius: 16px;
    background: var(--color-white-4);
}
@media screen and (max-width: 767px) {
    .p-top-contact-box {
        flex-direction: column;
        margin-top: 32px;
        width: calc(282 / 290 * 100%);
        padding: 24px 20px 20px;
        gap: 13px;
        border-radius: 8px;
    }
}
.p-top-contact-box__icon {
    flex-shrink: 0;
    width: 122px;
}
@media screen and (max-width: 767px) {
    .p-top-contact-box__icon {
        width: 68px;
    }
}
.p-top-contact-box__contents {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}
@media screen and (max-width: 767px) {
    .p-top-contact-box__contents {
        align-items: center;
        gap: 8px;
    }
}
.p-top-contact-box__ttl-wrap {
    width: 100%;
}
.p-top-contact-box__ttl {
    display: block;
    color: var(--color-orange-1);
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 1.76px;
}
@media screen and (max-width: 767px) {
    .p-top-contact-box__ttl {
        text-align: center;
        font-size: calc(14 / var(--root-fz) * 1rem);
        letter-spacing: 1.12px;
    }
}
.p-top-contact-box__line {
    display: block;
    margin-top: 13px;
    width: 100%;
    height: 2px;
}
@media screen and (max-width: 767px) {
    .p-top-contact-box__line {
        margin-top: 6px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-contact-box__line.c-line {
        background-size: 2px 0.5px;
    }
}
.p-top-contact-box__txt {
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
    .p-top-contact-box__txt {
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   p-top-faq
--------------------------------------------- */
.p-top-faq {
    padding-block: 120px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 767px) {
    .p-top-faq {
        padding-block: 62px 48px;
    }
}
.p-top-faq__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
}
.p-top-faq__ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}
@media screen and (max-width: 767px) {
    .p-top-faq__ttl {
        gap: 22px;
    }
}
.p-top-faq__lead {
    text-align: center;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
    .p-top-faq__lead {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.p-top-faq__body {
    width: 100%;
}
.p-top-faq__sub-ttl {
    display: flex;
    align-items: center;
    gap: 16px;
}
.p-top-faq__icon {
    display: block;
    width: 50px;
    height: 50px;
}
@media screen and (max-width: 767px) {
    .p-top-faq__icon {
        width: 40px;
        height: 40px;
    }
}
.p-top-faq__sub-ttl-txt {
    color: var(--color-gray-4);
    text-align: center;
    font-size: calc(26 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 2.6px;
}
@media screen and (max-width: 767px) {
    .p-top-faq__sub-ttl-txt {
        font-size: calc(20 / var(--root-fz) * 1rem);
        letter-spacing: 2px;
    }
}
.p-top-faq__contents + .p-top-faq__contents {
    margin-top: 80px;
}
@media screen and (max-width: 767px) {
    .p-top-faq__contents + .p-top-faq__contents {
        margin-top: 64px;
    }
}
.p-top-faq__list {
    margin-top: 48px;
}
@media screen and (max-width: 767px) {
    .p-top-faq__list {
        margin-top: 24px;
    }
}
.p-top-faq__item + .p-top-faq__item {
    margin-top: 48px;
}
@media screen and (max-width: 767px) {
    .p-top-faq__item + .p-top-faq__item {
        margin-top: 24px;
    }
}

/* ---------------------------------------------
*   p-top-faq-acc
--------------------------------------------- */
.p-top-faq-acc {
    display: flex;
    justify-content: flex-start;
    gap: 24px;
    width: 100%;
}
@media screen and (max-width: 767px) {
    .p-top-faq-acc {
        flex-direction: column;
        gap: 12px;
    }
}
@media print, screen and (min-width: 768px) {
    .p-top-faq-acc--center {
        align-items: center;
    }
}
.p-top-faq-acc__icon {
    flex-shrink: 0;
    width: 50px;
}
@media screen and (max-width: 767px) {
    .p-top-faq-acc__icon {
        width: 32px;
    }
}
.p-top-faq-acc__txt {
    color: var(--color-gray-2);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.64px;
}
@media screen and (max-width: 767px) {
    .p-top-faq-acc__txt {
        font-size: calc(13 / var(--root-fz) * 1rem);
        letter-spacing: 0;
    }
}
.p-top-faq-acc__contents {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
@media screen and (max-width: 767px) {
    .p-top-faq-acc__contents {
        gap: 12px;
    }
}
.p-top-faq-acc__more-ttl {
    color: var(--color-gray-2);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-style: normal;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.64px;
}
@media screen and (max-width: 767px) {
    .p-top-faq-acc__more-ttl {
        font-size: calc(14 / var(--root-fz) * 1rem);
        letter-spacing: 0.56px;
    }
}
.p-top-faq-acc__more-ttl--icon {
    color: var(--color-orange-1);
    font-weight: 500;
}
.p-top-faq-acc__more-ttl--link {
    color: var(--color-blue-3);
    font-weight: 500;
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .p-top-faq-acc__more-ttl--link:hover {
        text-decoration: none;
    }
}
@media screen and (max-width: 767px) {
    .p-top-faq-acc__more-ttl--link {
        font-size: min(13 / var(--design-width) * 100vw, 13px);
        letter-spacing: 0.3px;
    }
}

/* ---------------------------------------------
*   p-top-modal
--------------------------------------------- */
.p-top-modal__container {
    padding: 50px 56px;
    border-radius: 24px;
    background: var(--color-white-2);
}
@media screen and (max-width: 767px) {
    .p-top-modal__container {
        padding: 32px 20px;
        border-radius: 12px;
    }
}
.p-top-modal__ttl {
    color: var(--color-gray-4);
    text-align: center;
    font-size: calc(28 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 2.24px;
}
@media screen and (max-width: 767px) {
    .p-top-modal__ttl {
        font-size: calc(18 / var(--root-fz) * 1rem);
        line-height: 1.6;
        letter-spacing: 0;
    }
}
.p-top-modal__body {
    margin-top: 32px;
}
@media screen and (max-width: 767px) {
    .p-top-modal__body {
        margin-top: 16px;
    }
}

/* ---------------------------------------------
*   p-top-modal-block
--------------------------------------------- */
.p-top-modal-block {
    display: flex;
    padding: 40px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 48px;
}
@media screen and (max-width: 767px) {
    .p-top-modal-block {
        padding: 24px 12px;
        gap: 32px;
    }
}
.p-top-modal-block.c-bg-1 {
    box-shadow: none;
}
@media screen and (max-width: 767px) {
    .p-top-modal-block.c-bg-1 {
        border-radius: 8px;
    }
}
.p-top-modal-block__more {
    display: flex;
    align-items: center;
    gap: 40px;
}
@media screen and (max-width: 767px) {
    .p-top-modal-block__more {
        gap: 16px;
    }
}
.p-top-modal-block__il {
    flex-shrink: 0;
    width: 150px;
}
@media screen and (max-width: 767px) {
    .p-top-modal-block__il {
        width: 100px;
    }
}
.p-top-modal-block__more-txt {
    color: var(--color-orange-1);
    text-align: center;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 1.76px;
}
@media screen and (max-width: 767px) {
    .p-top-modal-block__more-txt {
        font-size: calc(14 / var(--root-fz) * 1rem);
        letter-spacing: 1.12px;
    }
}
.p-top-modal-block__btn {
    width: 100%;
    max-width: 500px;
}
@media screen and (max-width: 767px) {
    .p-top-modal-block__btn {
        max-width: 290px;
    }
}

/* ---------------------------------------------
*   p-top-modal-contact
--------------------------------------------- */
.p-top-modal-contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    margin-top: 33px;
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact {
        margin-top: 24px;
        gap: 17px;
    }
}
.p-top-modal-contact__ttl {
    color: var(--color-gray-4);
    text-align: center;
    font-family: var(--ff-noto);
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.6;
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact__ttl {
        font-size: calc(16 / var(--root-fz) * 1rem);
        line-height: 1.4;
    }
}
.p-top-modal-contact__list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 17px 48px;
    margin-inline: auto;
    width: 100%;
}
@media screen and (max-width: 1100px) {
    .p-top-modal-contact__list {
        grid-template-columns: 1fr 1fr;
        gap: 16px 24px;
        margin-top: 5px;
        max-width: 520px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact__list {
        grid-template-columns: 1fr;
        max-width: 230px;
    }
}
.p-top-modal-contact__tell-wrap {
    display: flex;
    align-items: center;
    gap: 15px;
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact__tell-wrap {
        gap: 20px;
    }
}
.p-top-modal-contact__label {
    flex-shrink: 0;
    color: var(--color-gray-4);
    font-family: var(--ff-noto);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.2;
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact__label {
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}
.p-top-modal-contact__tell {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--color-gray-4);
    font-family: var(--ff-poppins);
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.2;
}
@media (hover: hover) and (pointer: fine) {
    .p-top-modal-contact__tell {
        transition: opacity var(--hover-duration);
    }
    .p-top-modal-contact__tell:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact__tell {
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
.p-top-modal-contact__tell::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background: url(../img/icon_Tel.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact__tell::before {
        width: 14px;
        height: 14px;
    }
}
.p-top-modal-contact__tell--ls2 {
    letter-spacing: 0.2px;
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact__tell--ls2 {
        letter-spacing: 0.18px;
    }
}
.p-top-modal-contact__tell--ls4 {
    letter-spacing: 0.4px;
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact__tell--ls4 {
        letter-spacing: 0.36px;
    }
}
.p-top-modal-contact__tell--ls8 {
    letter-spacing: 0.8px;
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact__tell--ls8 {
        letter-spacing: 0.72px;
    }
}
.p-top-modal-contact__txt-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact__txt-wrap {
        flex-direction: column;
        gap: 0;
    }
}
.p-top-modal-contact__txt {
    color: var(--color-gray-4);
    text-align: center;
    font-family: var(--ff-noto);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.6;
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact__txt {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.p-top-modal-contact__note {
    color: var(--color-gray-4);
    text-align: center;
    font-family: var(--ff-noto);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.6;
}
@media screen and (max-width: 767px) {
    .p-top-modal-contact__note {
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-acc
--------------------------------------------- */
.c-acc {
    border: 2px solid var(--color-orange-1);
    border-radius: 10px;
    background-color: var(--color-white-1);
    overflow: hidden;
}
@media screen and (max-width: 767px) {
    .c-acc {
        border-width: 1.5px;
        border-radius: 8px;
    }
}
.c-acc__head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 25px;
    padding: 28px 100px 28px 40px;
    width: 100%;
}
@media screen and (max-width: 767px) {
    .c-acc__head {
        gap: 12px;
        padding: 13px 40px 13px 18px;
    }
}
.p-top-faq .c-acc__head {
    background-color: var(--color-white-5);
}
@media print, screen and (min-width: 768px) {
    .p-top-faq .c-acc__head {
        gap: 24px;
    }
}

.c-acc__head::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 38px;
    transform: translateY(-50%) rotate(180deg);
    width: 12px;
    height: 12px;
    background: url(../img/icon_arw_acc.png) no-repeat center center/contain;
    transition: transform 0.3s;
}
@media screen and (max-width: 767px) {
    .c-acc__head::after {
        right: 20px;
        width: 9px;
        height: 9px;
    }
}
.c-acc.is-open .c-acc__head::after {
    transform: translateY(-50%);
}
.c-acc__head-icon {
    flex-shrink: 0;
    display: block;
    width: 50px;
}
@media screen and (max-width: 767px) {
    .c-acc__head-icon {
        width: 32px;
    }
}
.c-acc__head-txt {
    text-align: left;
    color: var(--color-base-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.9px;
}
@media screen and (max-width: 767px) {
    .c-acc__head-txt {
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 1.5;
        letter-spacing: 0.675px;
    }
}
.p-top-faq .c-acc__head-txt {
    letter-spacing: 1.44px;
}
@media screen and (max-width: 767px) {
    .p-top-faq .c-acc__head-txt {
        letter-spacing: 0;
    }
}

.c-acc__body-inner {
    padding: 38px 40px;
    border-top: 2px solid var(--color-orange-1);
}
@media screen and (max-width: 767px) {
    .c-acc__body-inner {
        padding: 19px 18px;
        border-width: 1.5px;
    }
}

/* ---------------------------------------------
*   c-bg-1
--------------------------------------------- */
.c-bg-1 {
    position: relative;
    background-color: var(--color-white-1);
    border-radius: 24px;
}
@media screen and (max-width: 767px) {
    .c-bg-1 {
        border-radius: 16px;
    }
}
.c-bg-1::before, .c-bg-1::after {
    content: "";
    position: absolute;
    top: 20px;
    width: 14px;
    height: 16px;
}
@media screen and (max-width: 767px) {
    .c-bg-1::before, .c-bg-1::after {
        top: 14px;
        width: 10px;
        height: 11px;
    }
}
.c-bg-1::before {
    left: 20px;
    background: url(../img/icon_pin_left.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
    .c-bg-1::before {
        left: 14px;
    }
}
.c-bg-1::after {
    right: 20px;
    background: url(../img/icon_pin_right.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
    .c-bg-1::after {
        right: 14px;
    }
}

/* ---------------------------------------------
*   c-btn-1
--------------------------------------------- */
.c-btn-1 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 26px 40px 24px;
    width: 100%;
    text-align: center;
    color: var(--color-white-1);
    font-family: var(--ff-noto);
    font-size: calc(24 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.2;
    border-radius: 50px;
    background: var(--color-gray-3);
}
@media screen and (max-width: 767px) {
    .c-btn-1 {
        padding: 15px;
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
.c-btn-1--disabled {
    pointer-events: none;
}
.c-btn-1__soon {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 190px;
}
@media screen and (max-width: 767px) {
    .c-btn-1__soon {
        width: 100%;
        max-width: 114px;
    }
}

/* ---------------------------------------------
*   c-line
--------------------------------------------- */
.c-line {
    background: url(../img/bg_line.png) repeat-x left center/5px 2px;
}

/* ---------------------------------------------
/*  c-modal
--------------------------------------------- */
.c-modal {
    display: none;
}
.c-modal.is-open {
    display: block;
}
.c-modal__overlay {
    position: fixed;
    inset: 0;
    overflow-y: auto;
    overscroll-behavior-y: none;
    scrollbar-width: none;
    z-index: 911;
}
.c-modal__overlay::-webkit-scrollbar {
    display: none;
}
.c-modal__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(100% + 1px);
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.6);
}
.c-modal__container {
    position: relative;
    width: min(90%, 940px);
    max-height: 95dvh;
    box-sizing: border-box;
    overflow-y: auto;
}
@media screen and (max-width: 767px) {
    .c-modal__container {
        width: calc(354 / 390 * 100%);
    }
}
.c-modal__content {
    margin-top: 16px;
}
.c-modal__close-btn {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: 20px;
    width: 34px;
    height: 34px;
    aspect-ratio: 1/1;
    cursor: pointer;
    z-index: 911;
}
@media (hover: hover) and (pointer: fine) {
    .c-modal__close-btn {
        transition: opacity var(--hover-duration);
    }
    .c-modal__close-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 767px) {
    .c-modal__close-btn {
        width: 25px;
        height: 25px;
    }
}
.c-modal__close-btn::before, .c-modal__close-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    border-radius: 5px;
    background-color: var(--color-white-1);
    transform-origin: center;
}
@media screen and (max-width: 767px) {
    .c-modal__close-btn::before, .c-modal__close-btn::after {
        height: min(2 / var(--design-width) * 100vw, 2px);
    }
}
.c-modal__close-btn::before {
    transform: translateY(-50%) rotate(45deg);
}
.c-modal__close-btn::after {
    transform: translateY(-50%) rotate(-45deg);
}
.c-modal__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 276px;
    height: 100%;
    background: var(--color-orange-1);
    will-change: opacity;
}
@media (hover: hover) and (pointer: fine) {
    .c-modal__btn {
        transition: opacity var(--hover-duration);
    }
    .c-modal__btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 767px) {
    .c-modal__btn {
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 800;
        width: 100%;
        height: 56px;
        gap: 8px;
    }
}
.c-modal__btn-txt {
    color: var(--color-white-1);
    font-weight: 700;
    font-family: var(--ff-inter);
    font-size: calc(18 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-modal__btn-txt {
        font-size: calc(15.875 / var(--root-fz) * 1rem);
    }
}
.c-modal__btn-txt--free {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px 10px 5px;
    border-radius: 4px;
    background-color: var(--color-orange-2);
    font-size: calc(16 / var(--root-fz) * 1rem);
    letter-spacing: 1.6px;
    font-family: var(--ff-noto);
    line-height: 1;
}
@media screen and (max-width: 767px) {
    .c-modal__btn-txt--free {
        padding: 3px 9px 4px;
        font-size: calc(12 / var(--root-fz) * 1rem);
        letter-spacing: 1.2px;
    }
}

/* Modal Animation Style　(アニメーション不要の場合は削除)
--------------------------------------------- */
.c-modal[aria-hidden=false] .c-modal__overlay {
    animation: mmfadeIn 0.5s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal[aria-hidden=false] .c-modal__container {
    animation: mmslideIn 0.5s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal[aria-hidden=true] .c-modal__overlay {
    animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal[aria-hidden=true] .c-modal__container {
    animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal__overlay, .c-modal__container {
    will-change: transform;
}

@keyframes mmfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes mmfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@keyframes mmslideIn {
    from {
        transform: translateY(15%);
    }
    to {
        transform: translateY(0);
    }
}
@keyframes mmslideOut {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(15%);
    }
}
/* ---------------------------------------------
*   c-ttl-en
--------------------------------------------- */
.c-ttl-en {
    display: block;
    margin-inline: auto;
}
.c-ttl-en--about {
    width: 152px;
}
@media screen and (max-width: 767px) {
    .c-ttl-en--about {
        width: 83px;
    }
}
.c-ttl-en--contact {
    width: 186px;
}
@media screen and (max-width: 767px) {
    .c-ttl-en--contact {
        width: 142px;
    }
}
.c-ttl-en--faq {
    width: 153px;
}
@media screen and (max-width: 767px) {
    .c-ttl-en--faq {
        width: 83px;
    }
}
.c-ttl-en--flow {
    width: 155px;
}
@media screen and (max-width: 767px) {
    .c-ttl-en--flow {
        width: 83px;
    }
}
.c-ttl-en--point {
    width: 155px;
}
@media screen and (max-width: 767px) {
    .c-ttl-en--point {
        width: 83px;
    }
}

/* ---------------------------------------------
*   c-txt-1
--------------------------------------------- */
.c-txt-1 {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.6;
}
@media screen and (max-width: 767px) {
    .c-txt-1 {
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-txt-2
--------------------------------------------- */
.c-txt-2 {
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.6;
}
@media screen and (max-width: 767px) {
    .c-txt-2 {
        font-size: calc(11 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   background-color
--------------------------------------------- */
.bg-white {
    background-color: var(--color-white-1) !important;
}

/* ---------------------------------------------
*   font-wight
--------------------------------------------- */
.fw-normal {
    font-weight: 500 !important;
}

.fw-bold {
    font-weight: 700 !important;
}

/* ---------------------------------------------
*   text-align
--------------------------------------------- */
.txt-al-center {
    text-align: center !important;
}

.txt-al-right {
    text-align: right !important;
}

.txt-al-left {
    text-align: left !important;
}

/* ---------------------------------------------
*   font-color
--------------------------------------------- */
.fc-orange {
    color: var(--color-orange-1) !important;
}

.js-acc-target {
    --acc-body-height: 0px;
    height: 0;
    overflow: hidden;
}
.js-acc-scope.is-close .js-acc-target {
    animation: closeAccAnim 0.5s forwards;
}

.js-acc-scope.is-open .js-acc-target {
    animation: openAccAnim 0.5s forwards;
}

@keyframes openAccAnim {
    0% {
        height: 0px;
        visibility: hidden;
    }
    99% {
        height: var(--acc-body-height);
        visibility: visible;
    }
    100% {
        height: auto;
    }
}
@keyframes closeAccAnim {
    0% {
        height: var(--acc-body-height);
    }
    99% {
        visibility: visible;
    }
    100% {
        height: 0px;
        visibility: hidden;
    }
}

@media print and (min-width: 768px), screen and (min-width: 768px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (min-width: 1025px), screen and (min-width: 1025px) {
    .pc-only-hide {
        display: none !important;
    }
}
@media print and (max-width: 1024px), screen and (max-width: 1024px) {
    .tb-hide {
        display: none !important;
    }
}
@media print and (max-width: 767px), screen and (max-width: 767px) {
    .sp-hide {
        display: none !important;
    }
}
@media print and (min-width: 375px), screen and (min-width: 375px) {
    .sp-hide-2 {
        display: none !important;
    }
}
/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
    margin-top: 0 !important;
}

.mgt-pc--5 {
    margin-top: 5px !important;
}

.mgt-pc--10 {
    margin-top: 10px !important;
}

.mgt-pc--15 {
    margin-top: 15px !important;
}

.mgt-pc--20 {
    margin-top: 20px !important;
}

.mgt-pc--25 {
    margin-top: 25px !important;
}

.mgt-pc--30 {
    margin-top: 30px !important;
}

.mgt-pc--35 {
    margin-top: 35px !important;
}

.mgt-pc--40 {
    margin-top: 40px !important;
}

.mgt-pc--45 {
    margin-top: 45px !important;
}

.mgt-pc--50 {
    margin-top: 50px !important;
}

.mgt-pc--55 {
    margin-top: 55px !important;
}

.mgt-pc--60 {
    margin-top: 60px !important;
}

.mgt-pc--65 {
    margin-top: 65px !important;
}

.mgt-pc--70 {
    margin-top: 70px !important;
}

.mgt-pc--75 {
    margin-top: 75px !important;
}

.mgt-pc--80 {
    margin-top: 80px !important;
}

.mgt-pc--85 {
    margin-top: 85px !important;
}

.mgt-pc--90 {
    margin-top: 90px !important;
}

.mgt-pc--95 {
    margin-top: 95px !important;
}

.mgt-pc--100 {
    margin-top: 100px !important;
}

.mgt-pc--105 {
    margin-top: 105px !important;
}

.mgt-pc--110 {
    margin-top: 110px !important;
}

.mgt-pc--115 {
    margin-top: 115px !important;
}

.mgt-pc--120 {
    margin-top: 120px !important;
}

.mgt-pc--125 {
    margin-top: 125px !important;
}

.mgt-pc--130 {
    margin-top: 130px !important;
}

.mgt-pc--135 {
    margin-top: 135px !important;
}

.mgt-pc--140 {
    margin-top: 140px !important;
}

.mgt-pc--145 {
    margin-top: 145px !important;
}

.mgt-pc--150 {
    margin-top: 150px !important;
}

.mgt-pc--155 {
    margin-top: 155px !important;
}

.mgt-pc--160 {
    margin-top: 160px !important;
}

.mgt-pc--165 {
    margin-top: 165px !important;
}

.mgt-pc--170 {
    margin-top: 170px !important;
}

.mgt-pc--175 {
    margin-top: 175px !important;
}

.mgt-pc--180 {
    margin-top: 180px !important;
}

.mgt-pc--185 {
    margin-top: 185px !important;
}

.mgt-pc--190 {
    margin-top: 190px !important;
}

.mgt-pc--195 {
    margin-top: 195px !important;
}

.mgt-pc--200 {
    margin-top: 200px !important;
}

.mgt-pc--205 {
    margin-top: 205px !important;
}

.mgt-pc--210 {
    margin-top: 210px !important;
}

.mgt-pc--215 {
    margin-top: 215px !important;
}

.mgt-pc--220 {
    margin-top: 220px !important;
}

.mgt-pc--225 {
    margin-top: 225px !important;
}

.mgt-pc--230 {
    margin-top: 230px !important;
}

.mgt-pc--235 {
    margin-top: 235px !important;
}

.mgt-pc--240 {
    margin-top: 240px !important;
}

.mgt-pc--245 {
    margin-top: 245px !important;
}

.mgt-pc--250 {
    margin-top: 250px !important;
}

@media screen and (max-width: 767px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: calc(5 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--10 {
        margin-top: calc(10 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--15 {
        margin-top: calc(15 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--20 {
        margin-top: calc(20 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--25 {
        margin-top: calc(25 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--30 {
        margin-top: calc(30 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--35 {
        margin-top: calc(35 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--40 {
        margin-top: calc(40 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--45 {
        margin-top: calc(45 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--50 {
        margin-top: calc(50 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--55 {
        margin-top: calc(55 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--60 {
        margin-top: calc(60 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--65 {
        margin-top: calc(65 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--70 {
        margin-top: calc(70 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--75 {
        margin-top: calc(75 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--80 {
        margin-top: calc(80 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--85 {
        margin-top: calc(85 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--90 {
        margin-top: calc(90 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--95 {
        margin-top: calc(95 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--100 {
        margin-top: calc(100 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--105 {
        margin-top: calc(105 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--110 {
        margin-top: calc(110 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--115 {
        margin-top: calc(115 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--120 {
        margin-top: calc(120 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--125 {
        margin-top: calc(125 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--130 {
        margin-top: calc(130 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--135 {
        margin-top: calc(135 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--140 {
        margin-top: calc(140 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--145 {
        margin-top: calc(145 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--150 {
        margin-top: calc(150 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--155 {
        margin-top: calc(155 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--160 {
        margin-top: calc(160 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--165 {
        margin-top: calc(165 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--170 {
        margin-top: calc(170 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--175 {
        margin-top: calc(175 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--180 {
        margin-top: calc(180 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--185 {
        margin-top: calc(185 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--190 {
        margin-top: calc(190 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--195 {
        margin-top: calc(195 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--200 {
        margin-top: calc(200 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--205 {
        margin-top: calc(205 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--210 {
        margin-top: calc(210 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--215 {
        margin-top: calc(215 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--220 {
        margin-top: calc(220 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--225 {
        margin-top: calc(225 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--230 {
        margin-top: calc(230 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--235 {
        margin-top: calc(235 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--240 {
        margin-top: calc(240 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--245 {
        margin-top: calc(245 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--250 {
        margin-top: calc(250 / var(--design-width) * 100vw) !important;
    }
}
/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
    margin-bottom: 0 !important;
}

.mgb-pc--5 {
    margin-bottom: 5px !important;
}

.mgb-pc--10 {
    margin-bottom: 10px !important;
}

.mgb-pc--15 {
    margin-bottom: 15px !important;
}

.mgb-pc--20 {
    margin-bottom: 20px !important;
}

.mgb-pc--25 {
    margin-bottom: 25px !important;
}

.mgb-pc--30 {
    margin-bottom: 30px !important;
}

.mgb-pc--35 {
    margin-bottom: 35px !important;
}

.mgb-pc--40 {
    margin-bottom: 40px !important;
}

.mgb-pc--45 {
    margin-bottom: 45px !important;
}

.mgb-pc--50 {
    margin-bottom: 50px !important;
}

.mgb-pc--55 {
    margin-bottom: 55px !important;
}

.mgb-pc--60 {
    margin-bottom: 60px !important;
}

.mgb-pc--65 {
    margin-bottom: 65px !important;
}

.mgb-pc--70 {
    margin-bottom: 70px !important;
}

.mgb-pc--75 {
    margin-bottom: 75px !important;
}

.mgb-pc--80 {
    margin-bottom: 80px !important;
}

.mgb-pc--85 {
    margin-bottom: 85px !important;
}

.mgb-pc--90 {
    margin-bottom: 90px !important;
}

.mgb-pc--95 {
    margin-bottom: 95px !important;
}

.mgb-pc--100 {
    margin-bottom: 100px !important;
}

.mgb-pc--105 {
    margin-bottom: 105px !important;
}

.mgb-pc--110 {
    margin-bottom: 110px !important;
}

.mgb-pc--115 {
    margin-bottom: 115px !important;
}

.mgb-pc--120 {
    margin-bottom: 120px !important;
}

.mgb-pc--125 {
    margin-bottom: 125px !important;
}

.mgb-pc--130 {
    margin-bottom: 130px !important;
}

.mgb-pc--135 {
    margin-bottom: 135px !important;
}

.mgb-pc--140 {
    margin-bottom: 140px !important;
}

.mgb-pc--145 {
    margin-bottom: 145px !important;
}

.mgb-pc--150 {
    margin-bottom: 150px !important;
}

.mgb-pc--155 {
    margin-bottom: 155px !important;
}

.mgb-pc--160 {
    margin-bottom: 160px !important;
}

.mgb-pc--165 {
    margin-bottom: 165px !important;
}

.mgb-pc--170 {
    margin-bottom: 170px !important;
}

.mgb-pc--175 {
    margin-bottom: 175px !important;
}

.mgb-pc--180 {
    margin-bottom: 180px !important;
}

.mgb-pc--185 {
    margin-bottom: 185px !important;
}

.mgb-pc--190 {
    margin-bottom: 190px !important;
}

.mgb-pc--195 {
    margin-bottom: 195px !important;
}

.mgb-pc--200 {
    margin-bottom: 200px !important;
}

.mgb-pc--205 {
    margin-bottom: 205px !important;
}

.mgb-pc--210 {
    margin-bottom: 210px !important;
}

.mgb-pc--215 {
    margin-bottom: 215px !important;
}

.mgb-pc--220 {
    margin-bottom: 220px !important;
}

.mgb-pc--225 {
    margin-bottom: 225px !important;
}

.mgb-pc--230 {
    margin-bottom: 230px !important;
}

.mgb-pc--235 {
    margin-bottom: 235px !important;
}

.mgb-pc--240 {
    margin-bottom: 240px !important;
}

.mgb-pc--245 {
    margin-bottom: 245px !important;
}

.mgb-pc--250 {
    margin-bottom: 250px !important;
}

@media screen and (max-width: 767px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: calc(5 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--10 {
        margin-bottom: calc(10 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--15 {
        margin-bottom: calc(15 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--20 {
        margin-bottom: calc(20 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--25 {
        margin-bottom: calc(25 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--30 {
        margin-bottom: calc(30 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--35 {
        margin-bottom: calc(35 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--40 {
        margin-bottom: calc(40 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--45 {
        margin-bottom: calc(45 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--50 {
        margin-bottom: calc(50 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--55 {
        margin-bottom: calc(55 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--60 {
        margin-bottom: calc(60 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--65 {
        margin-bottom: calc(65 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--70 {
        margin-bottom: calc(70 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--75 {
        margin-bottom: calc(75 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--80 {
        margin-bottom: calc(80 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--85 {
        margin-bottom: calc(85 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--90 {
        margin-bottom: calc(90 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--95 {
        margin-bottom: calc(95 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--100 {
        margin-bottom: calc(100 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--105 {
        margin-bottom: calc(105 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--110 {
        margin-bottom: calc(110 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--115 {
        margin-bottom: calc(115 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--120 {
        margin-bottom: calc(120 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--125 {
        margin-bottom: calc(125 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--130 {
        margin-bottom: calc(130 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--135 {
        margin-bottom: calc(135 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--140 {
        margin-bottom: calc(140 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--145 {
        margin-bottom: calc(145 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--150 {
        margin-bottom: calc(150 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--155 {
        margin-bottom: calc(155 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--160 {
        margin-bottom: calc(160 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--165 {
        margin-bottom: calc(165 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--170 {
        margin-bottom: calc(170 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--175 {
        margin-bottom: calc(175 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--180 {
        margin-bottom: calc(180 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--185 {
        margin-bottom: calc(185 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--190 {
        margin-bottom: calc(190 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--195 {
        margin-bottom: calc(195 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--200 {
        margin-bottom: calc(200 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--205 {
        margin-bottom: calc(205 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--210 {
        margin-bottom: calc(210 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--215 {
        margin-bottom: calc(215 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--220 {
        margin-bottom: calc(220 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--225 {
        margin-bottom: calc(225 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--230 {
        margin-bottom: calc(230 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--235 {
        margin-bottom: calc(235 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--240 {
        margin-bottom: calc(240 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--245 {
        margin-bottom: calc(245 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--250 {
        margin-bottom: calc(250 / var(--design-width) * 100vw) !important;
    }
}