@charset "UTF-8";
/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
/* ---------------------------------------------
*   l-header
--------------------------------------------- */
.l-header {
    height: calc(var(--fixed-header-height) * 1px);
}

/* ---------------------------------------------
*   l-footer
--------------------------------------------- */
/* ---------------------------------------------
*   c-acc-faq
--------------------------------------------- */
.c-acc-faq {
    margin-inline: auto;
    max-width: 980px;
}
.c-acc-faq__item {
    position: relative;
    background-color: var(--color-gray-1);
    text-align: justify;
    border-radius: 10px;
    transition: background-color ease-out 0.3s;
}
.c-acc-faq__item + .c-acc-faq__item {
    margin-top: 10px;
}
.c-acc-faq__item:has(.c-acc-faq__head:hover) {
    background-color: var(--color-white-4);
}
.c-acc-faq__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 30px;
    width: 100%;
    transition: background-color ease-out 0.3s;
    border-radius: 10px 10px 0 0;
}
@media screen and (max-width: 1023px) {
    .c-acc-faq__head {
        gap: 18px;
        padding: 18px 12px 18px 15px;
    }
}
.c-acc-faq__head-left {
    display: flex;
    align-items: center;
    gap: 10px;
}
@media screen and (max-width: 1023px) {
    .c-acc-faq__head-left {
        gap: 7px;
    }
}
.c-acc-faq__head-q {
    flex-shrink: 0;
    color: var(--color-green-1);
    font-family: var(--ff-ls-eb);
    font-size: calc(30 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-acc-faq__head-q {
        font-size: calc(24 / var(--root-fz) * 1rem);
    }
}
.c-acc-faq__head-txt {
    display: block;
    color: var(--color-black-1);
    text-align: left;
    font-family: var(--ff-ls-b);
    font-size: calc(18 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-acc-faq__head-txt {
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 1.5714285714;
    }
}
.c-acc-faq__head-arw {
    flex-shrink: 0;
    width: 20px;
    height: 11px;
    background: url(../img/icon_arw_faq.svg) no-repeat center center/contain;
    transition: transform 0.3s;
    transform: rotate(180deg);
}
@media screen and (max-width: 1023px) {
    .c-acc-faq__head-arw {
        width: 13px;
        height: 7px;
    }
}
.c-acc-faq__item.is-open .c-acc-faq__head-arw {
    transform: rotate(0);
}
.c-acc-faq__body {
    margin-top: -5px;
}
.c-acc-faq__body-inner {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 55px 25px 30px;
}
@media screen and (max-width: 1023px) {
    .c-acc-faq__body-inner {
        gap: 10px;
        padding: 6px 40px 16px 15px;
    }
}
.c-acc-faq__body-a {
    flex-shrink: 0;
    color: var(--color-red-1);
    font-family: var(--ff-ls-eb);
    font-size: calc(30 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-acc-faq__body-a {
        font-size: calc(24 / var(--root-fz) * 1rem);
    }
}
.c-acc-faq__body-txt {
    font-size: calc(14 / var(--root-fz) * 1rem);
    line-height: 1.5714285714;
}

/* ---------------------------------------------
*   c-block-1
--------------------------------------------- */
.c-block-1__slider {
    margin-top: 20px;
    padding-block: 20px;
}
@media screen and (max-width: 1023px) {
    .c-block-1__slider {
        margin-top: 6px;
        padding-block: 17px;
    }
}
.c-block-1__txt-wrap {
    margin-top: 8px;
    text-align: center;
}
@media screen and (max-width: 1023px) {
    .c-block-1__txt-wrap {
        margin-top: 10px;
    }
}
.c-block-1__txt {
    font-family: var(--ff-ls-b);
    font-size: calc(26 / var(--root-fz) * 1rem);
    line-height: 1.9230769231;
}
@media screen and (max-width: 1023px) {
    .c-block-1__txt {
        font-size: calc(18 / var(--root-fz) * 1rem);
        line-height: 1.8333333333;
        letter-spacing: -0.36px;
    }
}
.c-block-1__txt--green {
    color: var(--color-green-1);
    font-family: var(--ff-ls-eb);
}
.c-block-1__txt--large {
    font-size: calc(42 / var(--root-fz) * 1rem);
    line-height: 1.1904761905;
}
@media screen and (max-width: 1023px) {
    .c-block-1__txt--large {
        font-size: calc(26 / var(--root-fz) * 1rem);
        line-height: 1.2692307692;
        letter-spacing: -0.52px;
    }
}
@media screen and (max-width: 1023px) {
    .c-block-1__txt--large-sp {
        font-size: calc(26 / var(--root-fz) * 1rem);
        line-height: 1.2692307692;
        letter-spacing: -0.52px;
    }
}
.c-block-1__txt sup {
    position: relative;
    top: 9px;
    font-size: calc(17 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-block-1__txt sup {
        top: -2px;
        font-size: calc(8 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-block-data
--------------------------------------------- */
.c-block-data {
    display: flex;
    gap: 4.1666666667%;
}
.c-block-data + .c-block-data {
    margin-top: 100px;
}
@media screen and (max-width: 1023px) {
    .c-block-data + .c-block-data {
        margin-top: 40px;
    }
}
@media screen and (max-width: 1023px) {
    .c-block-data {
        flex-direction: column;
        gap: 23px;
    }
}
@media print, screen and (min-width: 1024px) {
    .c-block-data:first-of-type {
        flex-direction: row-reverse;
    }
}
@media print, screen and (min-width: 1024px) {
    .c-block-data__txt-wrap {
        max-width: 430px;
    }
}
@media screen and (max-width: 1023px) {
    .c-block-data__txt-wrap {
        margin-inline: auto;
        padding-inline: calc(var(--contents-side-padding) * 1px);
        width: 100%;
        max-width: 800px;
    }
}
@media screen and (max-width: 1240px) {
    .c-block-data__txt--br {
        display: none;
    }
}
.c-block-data__ttl {
    color: var(--color-green-1);
    font-family: var(--ff-ls-b);
    font-size: calc(24 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-block-data__ttl {
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
@media print, screen and (min-width: 1024px) {
    .c-block-data__img {
        padding-top: 5px;
        max-width: 720px;
    }
}
@media screen and (max-width: 1023px) {
    .c-block-data__img {
        margin-inline: auto;
    }
}
.c-block-data__img img {
    display: block;
    height: auto;
}

/* ---------------------------------------------
*   c-bnr-1
--------------------------------------------- */
.c-bnr-1 {
    margin: 90px auto 0;
    padding: 0 min(var(--contents-side-padding) * 1px, 4.861%) 80px;
    max-width: 1320px;
}
@media screen and (max-width: 1023px) {
    .c-bnr-1 {
        margin-top: 30px;
        padding-bottom: 0;
        max-width: 800px;
        padding-inline: calc(var(--contents-side-padding) * 1px);
    }
}
.c-bnr-1__inner {
    display: grid;
    place-content: center;
    padding-block: 60px 73px;
    background: url(../img/img_bnr_bg_01.png) no-repeat center center/cover;
    border-radius: 12px;
}
@media screen and (max-width: 1023px) {
    .c-bnr-1__inner {
        display: block;
        padding: 40px calc(var(--contents-side-padding) * 1px);
        background-image: url(../img/sp/img_bnr_bg_01.png);
    }
}
.c-bnr-1__ttl {
    color: var(--color-white-1);
    text-align: center;
    font-family: var(--ff-ls-eb);
    font-size: calc(36 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-bnr-1__ttl {
        font-size: calc(28 / var(--root-fz) * 1rem);
        line-height: 1.5;
    }
}
.c-bnr-1__btn-wrap {
    display: flex;
    margin-top: 23px;
    align-items: center;
    justify-content: center;
    gap: 30px;
}
@media screen and (max-width: 1023px) {
    .c-bnr-1__btn-wrap {
        flex-direction: column;
        gap: 16px;
        margin-top: 26px;
    }
}
.c-bnr-1__btn {
    width: 340px;
    height: 70px;
}
@media screen and (max-width: 1023px) {
    .c-bnr-1__btn {
        width: 100%;
        max-width: 280px;
        height: 62px;
    }
}

/* ---------------------------------------------
*   c-bnr-2
--------------------------------------------- */
.c-bnr-2 {
    margin: 90px auto 0;
    padding-inline: min(var(--contents-side-padding) * 1px, 4.861%);
    max-width: 1320px;
}
@media screen and (max-width: 1023px) {
    .c-bnr-2 {
        margin-top: 40px;
        max-width: 800px;
        padding-inline: calc(var(--contents-side-padding) * 1px);
    }
}
.c-bnr-2__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 84px 9.17%;
    background: url(../img/img_bnr_bg_02.png) no-repeat center center/cover;
    border-radius: 16px;
}
@media screen and (max-width: 1023px) {
    .c-bnr-2__inner {
        flex-direction: column;
        padding: 40px calc(var(--contents-side-padding) * 1px);
        background-image: url(../img/sp/img_bnr_bg_02.png);
    }
}
@media screen and (max-width: 375px) {
    .c-bnr-2__inner {
        padding-inline: min(20px, 5.3333333333%);
    }
}
.c-bnr-2__ttl {
    color: var(--color-white-1);
    font-family: var(--ff-ls-eb);
    font-size: calc(44 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-bnr-2__ttl {
        font-size: calc(26 / var(--root-fz) * 1rem);
        text-align: center;
        line-height: 1.6153846154;
    }
}
.c-bnr-2__ttl--small {
    display: block;
    font-size: calc(28 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-bnr-2__ttl--small {
        font-size: calc(22 / var(--root-fz) * 1rem);
        line-height: 1.9090909091;
    }
}
.c-bnr-2__txt {
    margin-top: 4px;
    color: var(--color-white-1);
    font-family: var(--ff-ls-b);
    font-size: calc(24 / var(--root-fz) * 1rem);
    line-height: 1.625;
}
@media screen and (max-width: 1023px) {
    .c-bnr-2__txt {
        margin-top: 11px;
        text-align: center;
        font-size: calc(16 / var(--root-fz) * 1rem);
        line-height: 1.8125;
    }
}
.c-bnr-2__btn {
    width: 360px;
    height: 80px;
}
@media screen and (max-width: 1023px) {
    .c-bnr-2__btn {
        margin-top: 24px;
        width: 280px;
        height: 62px;
    }
}

/* ---------------------------------------------
*   c-bnr-3
--------------------------------------------- */
.c-bnr-3 {
    margin: 80px auto 0;
    padding-inline: min(var(--contents-side-padding) * 1px, 4.861%);
    max-width: 1320px;
}
@media screen and (max-width: 1023px) {
    .c-bnr-3 {
        margin-top: 60px;
        max-width: 800px;
        padding-inline: calc(var(--contents-side-padding) * 1px);
    }
}
.c-bnr-3__inner {
    padding: 40px 9.17%;
    background-color: var(--color-black-3);
    border: 1px solid var(--color-black-1);
    border-radius: 16px;
}
@media screen and (max-width: 1023px) {
    .c-bnr-3__inner {
        flex-direction: column;
        padding: 40px calc(var(--contents-side-padding) * 1px);
    }
}
@media screen and (max-width: 375px) {
    .c-bnr-3__inner {
        padding-inline: min(20px, 5.3333333333%);
    }
}
.c-bnr-3__ttl {
    display: block;
    color: var(--color-white-1);
    text-align: center;
    font-family: var(--ff-ls-eb);
    font-size: calc(36 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-bnr-3__ttl {
        font-size: calc(28 / var(--root-fz) * 1rem);
        line-height: 1.5;
    }
}
.c-bnr-3__contents-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto auto auto;
    gap: 30px 6.12%;
    margin-top: 35px;
}
@media screen and (max-width: 1023px) {
    .c-bnr-3__contents-wrap {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(6, auto);
        gap: 40px;
        margin-top: 20px;
    }
}
.c-bnr-3__contents {
    display: grid;
    grid-row: span 3;
    grid-template-rows: subgrid;
    gap: 30px;
}
@media screen and (max-width: 1023px) {
    .c-bnr-3__contents {
        gap: 20px;
    }
}
.c-bnr-3__img img {
    display: block;
    width: 100%;
    height: auto;
}
.c-bnr-3__txt-main {
    color: var(--color-white-1);
    text-align: center;
    font-family: var(--ff-ls-eb);
    font-size: calc(28 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-bnr-3__txt-main {
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
.c-bnr-3__txt {
    margin-top: 10px;
    color: var(--color-white-1);
    text-align: center;
    font-family: var(--ff-ls-b);
    font-size: calc(18 / var(--root-fz) * 1rem);
    line-height: 1.6666666667;
}
@media screen and (max-width: 1023px) {
    .c-bnr-3__txt {
        margin-top: 5px;
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 1.7857142857;
    }
}
.c-bnr-3__btn {
    margin-inline: auto;
    width: 340px;
    height: 70px;
}
@media screen and (max-width: 1023px) {
    .c-bnr-3__btn {
        width: 100%;
        max-width: 280px;
        height: 62px;
    }
}

/* ---------------------------------------------
*   c-box
--------------------------------------------- */
/* ---------------------------------------------
*   c-btn-1
--------------------------------------------- */
.c-btn-1 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 5px;
    height: 100%;
    color: var(--color-white-1);
    font-family: var(--ff-ls-b);
    font-size: calc(20 / var(--root-fz) * 1rem);
    background: var(--color-green-1);
    border: 4px solid var(--color-white-1);
    border-radius: 122px;
    transition: background-color 0.3s ease-out, transform 0.3s ease-out, color 0.3s;
    box-shadow: 6px 6px 10px rgba(6, 199, 85, 0.2);
}
@media print, screen and (min-width: 1024px) {
    .c-btn-1--large {
        font-size: calc(22 / var(--root-fz) * 1rem);
    }
}
.c-bnr-1 .c-btn-1, .c-bnr-2 .c-btn-1 {
    box-shadow: none;
}

@media screen and (max-width: 1023px) {
    .c-btn-1 {
        padding-right: 0;
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
.c-btn-1::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 19px;
    display: block;
    width: 10px;
    height: 16px;
    background: url(../img/icon_arw_white.svg) no-repeat center center/contain;
    transform: translateY(-50%);
}
@media screen and (max-width: 1023px) {
    .c-btn-1::after {
        right: 16px;
        width: 8px;
        height: 12px;
    }
}
.c-btn-1:hover {
    background: var(--color-white-1);
    border: 4px solid var(--color-green-1);
    color: var(--color-green-1);
    text-decoration: none;
}
.c-btn-1:hover::after {
    background: url(../img/icon_arw_green.svg) no-repeat center center/contain;
}

/* ---------------------------------------------
*   c-btn-2
--------------------------------------------- */
.c-btn-2 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 5px;
    height: 100%;
    color: var(--color-black-3);
    font-family: var(--ff-ls-b);
    font-size: calc(22 / var(--root-fz) * 1rem);
    background: var(--color-white-1);
    border-radius: 122px;
    transition: background-color 0.3s ease-out, transform 0.3s ease-out, color 0.3s;
    box-sizing: border-box;
}
@media screen and (max-width: 1023px) {
    .c-btn-2 {
        padding-right: 0;
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
@media print, screen and (min-width: 1024px) {
    .c-btn-2--large {
        font-size: calc(26 / var(--root-fz) * 1rem);
    }
}
.c-btn-2::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 23px;
    display: block;
    width: 10px;
    height: 16px;
    background: url(../img/icon_arw_navy.svg) no-repeat center center/contain;
    transform: translateY(-50%);
}
@media screen and (max-width: 1023px) {
    .c-btn-2::after {
        background: url(../img/icon_arw_navy-2.svg) no-repeat center center/contain;
        right: 20px;
        width: 8px;
        height: 14px;
    }
}
@media print, screen and (min-width: 1024px) {
    .c-btn-2--large::after {
        right: 30px;
        width: 13px;
        height: 21px;
        background: url(../img/icon_arw_navy-2.svg) no-repeat center center/contain;
    }
}
.c-btn-2:hover {
    background: var(--color-black-3);
    border: 4px solid var(--color-white-1);
    color: var(--color-white-1);
    text-decoration: none;
}
.c-btn-2:hover::after {
    right: 19px;
    background: url(../img/icon_arw_white.svg) no-repeat center center/contain;
}
@media screen and (max-width: 1023px) {
    .c-btn-2:hover::after {
        right: 16px;
    }
}
.c-btn-2--large:hover::after {
    content: "";
    position: absolute;
    right: 19px;
    background: url(../img/icon_arw_white-2.svg) no-repeat center center/contain;
}

/* ---------------------------------------------
*   c-btn-back
--------------------------------------------- */
.c-btn-back-wrap {
    margin: 80px auto 90px;
}
@media print, screen and (min-width: 1024px) {
    .c-btn-back-wrap {
        width: 214px;
        height: 50px;
    }
}

.c-btn-back {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
    padding: 3px 30px 3px 0;
    height: 100%;
    text-decoration: none;
    background: linear-gradient(135deg, #00003e 50%, #fff 50%) 100% center/300%;
    border: 3px solid var(--color-black-5);
    -o-border-image: initial;
    border-image: initial;
    border-radius: 40px;
    transition: 0.6s ease-in-out;
}
@media screen and (max-width: 1023px) {
    .c-btn-back {
        background: linear-gradient(135deg, #fff 50%, #00003e 50%) 100% center/300%;
        padding-right: 20px;
    }
}
.c-btn-back--service {
    padding: 12px 13px 12px 28px;
    border-width: 2px;
}
@media print, screen and (min-width: 1024px) {
    .c-btn-back--service {
        justify-content: flex-start;
    }
}
@media screen and (max-width: 1023px) {
    .c-btn-back--service {
        max-width: 300px;
        min-height: 50px;
        padding: 3px 0;
        background: linear-gradient(135deg, #00003e 50%, #fff 50%) 100% center/300%;
    }
}
.c-btn-back--large {
    border-radius: 122px;
}
@media screen and (max-width: 1023px) {
    .c-btn-back--green {
        background: linear-gradient(135deg, #fff 50%, #06C755 50%) 100% center/300%;
        border: 2px solid var(--color-green-1);
    }
}
.c-btn-back__arrow01 {
    color: var(--color-black-5);
    font-family: var(--ff-ls-b);
    font-size: calc(20 / var(--root-fz) * 1rem);
    line-height: 1.35;
    text-align: center;
    transition: 0.6s;
}
@media screen and (max-width: 1023px) {
    .c-btn-back__arrow01 {
        color: var(--color-white-1);
        font-size: calc(16 / var(--root-fz) * 1rem);
        line-height: 1.3125;
    }
}
.c-btn-back--service .c-btn-back__arrow01 {
    font-family: YakuHanJP, UD新ゴ M, sans-serif;
}
@media print, screen and (min-width: 1024px) {
    .c-btn-back--service .c-btn-back__arrow01 {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
@media screen and (max-width: 1023px) {
    .c-btn-back--service .c-btn-back__arrow01 {
        color: var(--color-black-5);
    }
}
.c-btn-back svg {
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.5s;
}
@media screen and (max-width: 1023px) {
    .c-btn-back svg {
        right: 9px;
    }
}
.c-btn-back--service svg {
    right: 13px;
    width: 21px;
    height: 21px;
}
@media screen and (max-width: 1023px) {
    .c-btn-back--service svg {
        width: 17px;
        height: 17px;
    }
}
.c-btn-back--large svg {
    right: 12px;
    width: 40px;
    height: 40px;
}
@media screen and (max-width: 1023px) {
    .c-btn-back--large svg {
        right: 9px;
    }
}
.c-btn-back svg path, .c-btn-back svg circle {
    transition: 0.5s;
}
@media screen and (max-width: 1023px) {
    .c-btn-back svg path {
        stroke: var(--color-black-5);
    }
}
@media screen and (max-width: 1023px) {
    .c-btn-back--green svg path {
        stroke: var(--color-green-1);
    }
}
@media screen and (max-width: 1023px) {
    .c-btn-back--service svg path {
        stroke: var(--color-white-1);
    }
}
@media screen and (max-width: 1023px) {
    .c-btn-back svg circle {
        fill: var(--color-white-1);
    }
}
@media screen and (max-width: 1023px) {
    .c-btn-back--service svg circle {
        fill: var(--color-black-5);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-back:hover {
        background-position: 0 center;
        text-decoration: none;
    }
    .c-btn-back:hover .c-btn-back__arrow01 {
        color: var(--color-white-1);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 1023px) {
    .c-btn-back:hover .c-btn-back__arrow01 {
        color: var(--color-black-5);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 1023px) {
    .c-btn-back--green:hover .c-btn-back__arrow01 {
        color: var(--color-green-1);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 1023px) {
    .c-btn-back--service:hover .c-btn-back__arrow01 {
        color: var(--color-white-1);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-back:hover svg path {
        stroke: var(--color-black-5);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 1023px) {
    .c-btn-back:hover svg path {
        stroke: var(--color-white-1);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 1023px) {
    .c-btn-back--service:hover svg path {
        stroke: var(--color-black-5);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-back:hover svg circle {
        fill: var(--color-white-1);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 1023px) {
    .c-btn-back:hover svg circle {
        fill: var(--color-black-5);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 1023px) {
    .c-btn-back--green:hover svg circle {
        fill: var(--color-green-1);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 1023px) {
    .c-btn-back--service:hover svg circle {
        fill: var(--color-white-1);
    }
}

/* ---------------------------------------------
*   c-card-1
--------------------------------------------- */
@media print, screen and (min-width: 1024px) {
    .c-card-1 {
        border: 1px solid var(--color-gray-3);
        background-color: var(--color-white-1);
        border-radius: 12px;
    }
}
@media screen and (max-width: 1023px) {
    .c-card-1 + .c-card-1 {
        margin-top: 34px;
    }
}
.c-card-1__img {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-top: 30px;
}
@media screen and (max-width: 1023px) {
    .c-card-1__img {
        display: none;
    }
}
@media print, screen and (min-width: 1024px) {
    .c-card-1__body {
        padding: 30px;
        border-top: 1px solid var(--color-gray-3);
        background-color: var(--color-white-1);
        border-radius: 0 0 12px 12px;
    }
}
@media screen and (max-width: 1023px) {
    .c-card-1__ttl {
        margin-inline: auto;
        width: 100%;
        background-color: var(--color-gray-2);
    }
}
.c-card-1__ttl-txt {
    color: var(--color-green-1);
    font-family: var(--ff-ls-b);
    font-size: calc(20 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-card-1__ttl-txt {
        position: relative;
        display: block;
        margin-inline: auto;
        padding: 14px 40px 13px;
        width: 100%;
        max-width: 800px;
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
@media screen and (max-width: 1023px) {
    .c-card-1__ttl-txt::after {
        content: "";
        position: absolute;
        bottom: 0;
        right: 40px;
        width: 55px;
        height: 76px;
        aspect-ratio: 55/76;
    }
}
@media screen and (max-width: 1023px) {
    .c-card-1--1 .c-card-1__ttl-txt::after {
        background: url(../img/img_sp_01.png) no-repeat center center/contain;
    }
}
@media screen and (max-width: 1023px) {
    .c-card-1--2 .c-card-1__ttl-txt::after {
        background: url(../img/img_sp_02.png) no-repeat center center/contain;
    }
}
@media screen and (max-width: 1023px) {
    .c-card-1--3 .c-card-1__ttl-txt::after {
        background: url(../img/img_sp_03.png) no-repeat center center/contain;
    }
}
@media screen and (max-width: 1023px) {
    .c-card-1--4 .c-card-1__ttl-txt::after {
        background: url(../img/img_sp_04.png) no-repeat center center/contain;
    }
}
@media screen and (max-width: 1023px) {
    .c-card-1--5 .c-card-1__ttl-txt::after {
        background: url(../img/img_sp_05.png) no-repeat center center/contain;
    }
}
@media screen and (max-width: 1023px) {
    .c-card-1--6 .c-card-1__ttl-txt::after {
        background: url(../img/img_sp_06.png) no-repeat center center/contain;
    }
}
.c-card-1__txt {
    margin-top: 6px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1.875;
}
@media screen and (max-width: 1023px) {
    .c-card-1__txt {
        margin: 16px auto 0;
        padding-inline: 40px;
        max-width: 800px;
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 2;
    }
}

/* ---------------------------------------------
*   c-card-example
--------------------------------------------- */
.c-card-example {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 12px;
    border: 1px solid var(--color-gray-3);
    transition: box-shadow 0.3s;
}
@media screen and (max-width: 1023px) {
    .c-card-example {
        border-radius: 13px;
    }
}
.c-card-example:hover {
    text-decoration: none;
    box-shadow: 2px 2px 8px rgba(90, 90, 90, 0.32);
}
.c-card-example__img {
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 11px 11px 0 0;
}
@media screen and (max-width: 1023px) {
    .c-card-example__img {
        border-radius: 12 12 0 0;
    }
}
.c-card-example__img img {
    transition: transform 0.3s;
}
.c-card-example:hover .c-card-example__img img {
    transform: scale(1.05);
}
.c-card-example__contents {
    display: flex;
    flex-direction: column;
    padding: 24px 30px 35px;
    height: 100%;
}
@media screen and (max-width: 1023px) {
    .c-card-example__contents {
        padding: 16px 20px 23px;
    }
}
.c-card-example__label-wrap {
    display: flex;
    align-items: center;
}
.c-card-example__label {
    padding: 5px 8px 4px;
    width: -moz-fit-content;
    width: fit-content;
    color: var(--color-black-3);
    font-family: var(--ff-ls-b);
    font-size: calc(13 / var(--root-fz) * 1rem);
    background-color: var(--color-gray-1);
    border-radius: 4px;
}
@media screen and (max-width: 1023px) {
    .c-card-example__label {
        padding: 6px 8px 5px;
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}
.c-card-example__ttl {
    display: block;
    margin-top: 10px;
    min-height: 86px;
    font-family: var(--ff-ls-b);
    font-size: calc(18 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-card-example__ttl {
        margin-top: 9px;
        min-height: 0;
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 1.6428571429;
    }
}
.c-card-example__name {
    display: block;
    margin-top: 12px;
    min-height: 42px;
    color: var(--color-gray-4);
    font-family: var(--ff-ls-b);
    font-size: calc(13 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-card-example__name {
        margin-top: 9px;
        min-height: 0;
        font-size: calc(10 / var(--root-fz) * 1rem);
    }
}
.c-card-example__label2-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}
@media screen and (max-width: 1023px) {
    .c-card-example__label2-wrap {
        margin-top: 12px;
    }
}
.c-card-example__label2 {
    padding: 8px 16px 6px;
    width: -moz-fit-content;
    width: fit-content;
    color: var(--color-white-1);
    font-family: var(--ff-ls-b);
    font-size: calc(14 / var(--root-fz) * 1rem);
    background-color: var(--color-black-3);
    border-radius: 40px;
}
@media screen and (max-width: 1023px) {
    .c-card-example__label2 {
        padding: 6px 12px 5px;
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-card-info
--------------------------------------------- */
.c-card-info {
    margin-top: 13px;
}
@media screen and (max-width: 1023px) {
    .c-card-info {
        margin-top: calc(10 / var(--design-width) * 100vw);
    }
}
.c-card-info__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 12px;
    border: 1px solid var(--color-gray-3);
    transition: box-shadow 0.3s;
}
.c-card-info__inner:hover {
    text-decoration: none;
    box-shadow: 2px 2px 8px rgba(90, 90, 90, 0.32);
}
.c-card-info__img {
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 11px 11px 0 0;
}
.c-card-info__img img {
    width: 100%;
    transition: transform 0.3s;
}
.c-card-info__inner:hover .c-card-info__img img {
    transform: scale(1.05);
}
.c-card-info__detail {
    display: flex;
    flex-direction: column;
    padding: 30px;
}
@media screen and (max-width: 1023px) {
    .c-card-info__detail {
        padding: 20px;
    }
}
.c-card-info__txt {
    font-family: var(--ff-ls-b);
    font-size: calc(18 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-card-info__txt {
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-cassette-1
--------------------------------------------- */
.c-cassette-1 {
    display: grid;
    grid-template-rows: auto auto 1fr auto auto;
    gap: 30px;
}
@media screen and (max-width: 1023px) {
    .c-cassette-1 {
        display: block;
        padding: 22px 20px 25px;
        background-color: var(--color-gray-2);
        border-radius: 12px;
    }
}
.c-cassette-1__ttl {
    color: var(--color-white-1);
    text-align: center;
    font-family: var(--ff-ls-b);
    font-size: calc(24 / var(--root-fz) * 1rem);
}
@media print, screen and (min-width: 1024px) {
    .c-cassette-1__ttl {
        padding-block: 7px;
        background-color: var(--color-green-1);
        border-radius: 8px;
    }
}
@media screen and (max-width: 1023px) {
    .c-cassette-1__ttl {
        color: var(--color-green-1);
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
@media screen and (max-width: 1023px) {
    .c-cassette-1__img {
        display: none;
    }
}
.c-cassette-1__img img {
    display: block;
    width: 100%;
    height: auto;
}
.c-cassette-1__txt {
    text-align: center;
    font-family: var(--ff-ls-b);
    font-size: calc(16 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-cassette-1__txt {
        font-family: var(--ff-root);
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 2;
    }
}
.c-cassette-1__icon {
    margin-inline: auto;
    width: 24px;
    height: 18px;
}
@media screen and (max-width: 1023px) {
    .c-cassette-1__icon {
        display: none;
    }
}
.c-cassette-1__icon img {
    display: block;
    width: 100%;
    height: auto;
}
.c-cassette-1__btn {
    width: 100%;
    height: 90px;
}
@media screen and (max-width: 1023px) {
    .c-cassette-1__btn {
        margin: 16px auto 0;
        width: 280px;
        height: 62px;
    }
}

/* ---------------------------------------------
*   c-figure
--------------------------------------------- */
/* ---------------------------------------------
*   c-form
--------------------------------------------- */
/* ---------------------------------------------
*   c-img
--------------------------------------------- */
/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
.l-wrapper.line-mini-app .c-kv__container {
    position: relative;
    margin-inline: auto;
    width: 100%;
    max-width: 1400px;
}
@media print, screen and (min-width: 1024px) {
    .l-wrapper.line-mini-app .c-kv__container {
        padding-inline: min(120px, 8.33%) min(40px, 2.78%);
    }
}
.l-wrapper.line-mini-app .c-kv__breadcrumb {
    padding-block: 10px 5px;
    max-width: 1320px;
    margin-inline: auto;
}
@media screen and (max-width: 1023px) {
    .l-wrapper.line-mini-app .c-kv__breadcrumb {
        display: none;
    }
}
.l-wrapper.line-mini-app .c-kv__content {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 4.93%;
    margin-inline: auto;
    max-width: 1320px;
}
@media screen and (max-width: 1023px) {
    .l-wrapper.line-mini-app .c-kv__content {
        flex-direction: column;
        gap: 32px;
    }
}
.l-wrapper.line-mini-app .c-kv__img-wrap {
    position: relative;
}
@media print, screen and (min-width: 1024px) {
    .l-wrapper.line-mini-app .c-kv__img {
        max-width: 670px;
    }
}
.l-wrapper.line-mini-app .c-kv__img img {
    display: block;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
}
.l-wrapper.line-mini-app .c-kv__txt-wrap {
    flex: 1;
}
@media screen and (max-width: 1023px) {
    .l-wrapper.line-mini-app .c-kv__txt-wrap {
        padding-inline: calc(var(--contents-side-padding) * 1px);
        text-align: center;
    }
}
.l-wrapper.line-mini-app .c-kv__ttl-small {
    font-family: var(--ff-ls-eb);
    font-size: calc(24 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .l-wrapper.line-mini-app .c-kv__ttl-small {
        font-size: calc(16 / var(--root-fz) * 1rem);
    }
}
.l-wrapper.line-mini-app .c-kv__ttl-main {
    display: flex;
    align-items: center;
    gap: 33px;
    margin-top: 15px;
}
@media screen and (max-width: 1023px) {
    .l-wrapper.line-mini-app .c-kv__ttl-main {
        justify-content: center;
        margin-top: 10px;
        gap: 21px;
    }
}
.l-wrapper.line-mini-app .c-kv__ttl-main::before {
    content: "";
    display: block;
    width: 75px;
    height: 62px;
    background: url(../img/icon_mini.svg) no-repeat center center/contain;
}
@media screen and (max-width: 1023px) {
    .l-wrapper.line-mini-app .c-kv__ttl-main::before {
        width: 48px;
        height: 40px;
    }
}
.l-wrapper.line-mini-app .c-kv__ttl-main img {
    display: block;
    width: 378px;
    height: auto;
}
@media screen and (max-width: 1023px) {
    .l-wrapper.line-mini-app .c-kv__ttl-main img {
        width: 244px;
    }
}
.l-wrapper.line-mini-app .c-kv__txt {
    margin-top: 20px;
    font-family: var(--ff-ls-b);
    font-size: calc(18 / var(--root-fz) * 1rem);
    line-height: 1.6666666667;
}
@media screen and (max-width: 1023px) {
    .l-wrapper.line-mini-app .c-kv__txt {
        margin-top: 15px;
        text-align: center;
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 1.7142857143;
    }
}
.l-wrapper.line-mini-app .c-kv__txt--green {
    color: var(--color-green-1);
}
.l-wrapper.line-mini-app .c-kv__btn-wrap {
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 1023px) {
    .l-wrapper.line-mini-app .c-kv__btn-wrap {
        margin-inline: auto;
    }
}
.l-wrapper.line-mini-app .c-kv__btn {
    margin-top: 36px;
    width: 340px;
    height: 70px;
}
@media screen and (max-width: 1023px) {
    .l-wrapper.line-mini-app .c-kv__btn {
        margin-top: 21px;
        width: 280px;
        height: 62px;
    }
}
.l-wrapper.line-mini-app .c-kv sup {
    position: relative;
    top: 1px;
}
@media screen and (max-width: 1023px) {
    .l-wrapper.line-mini-app .c-kv sup {
        top: 2px;
        font-size: 0.85rem;
    }
}

/* ---------------------------------------------
*   p-kvList
--------------------------------------------- */
.l-wrapper.line-mini-app .p-kvList {
    display: flex;
    gap: 24px;
}
.l-wrapper.line-mini-app .p-kvList__item {
    position: relative;
    display: inline-block;
    font-size: 12px;
}
.l-wrapper.line-mini-app .p-kvList__item:not(:first-of-type)::before {
    border-right: 1px solid var(--color-black-2);
    border-top: 1px solid var(--color-black-2);
    content: "";
    display: block;
    height: 4px;
    left: -15px;
    position: absolute;
    top: 6px;
    transform: rotate(45deg);
    width: 4px;
}
.l-wrapper.line-mini-app .p-kvList__item:last-of-type .p-kvList__txt {
    font-family: var(--ff-ls-b);
}
.l-wrapper.line-mini-app .p-kvList__txt {
    color: var(--color-black-2);
    font-family: var(--ff-ls-r);
}

/* ---------------------------------------------
*   c-link-1
--------------------------------------------- */
.c-link-1 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    color: #000;
    font-size: calc(16 / var(--root-fz) * 1rem);
    text-align: center;
    font-family: var(--ff-ls-b);
}
@media (hover: hover) and (pointer: fine) {
    .c-link-1:hover {
        text-decoration: underline;
    }
}
@media screen and (max-width: 1023px) {
    .c-link-1 {
        margin-top: 20px;
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.c-link-1::after {
    content: "";
    display: block;
    margin-left: 10px;
    width: 6px;
    height: 9px;
    background: url(../img/icon_arw_green.svg) no-repeat center center/contain;
}
@media screen and (max-width: 1023px) {
    .c-link-1::after {
        margin-left: 8px;
    }
}

/* ---------------------------------------------
*   c-link-2
--------------------------------------------- */
.c-link-2 {
    color: var(--color-blue-1);
    text-decoration: underline;
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .c-link-2:hover {
        text-decoration: none;
    }
}

/* ---------------------------------------------
*   c-list-1
--------------------------------------------- */
.c-list-1__item {
    position: relative;
    background: var(--color-gray-2);
    border-radius: 12px;
}
.c-list-1__item + .c-list-1__item {
    margin-top: 40px;
}
@media screen and (max-width: 1023px) {
    .c-list-1__item + .c-list-1__item {
        margin-top: 30px;
    }
}
.c-list-1__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: min(20px, 1.6666666667%);
    margin-inline: auto;
    padding-inline: 20px;
    max-width: 1020px;
}
@media screen and (max-width: 1023px) {
    .c-list-1__inner {
        flex-direction: column;
    }
}
.c-list-1__txt-wrap {
    padding-block: 50px;
    max-width: 580px;
}
@media screen and (max-width: 1023px) {
    .c-list-1__txt-wrap {
        padding-block: 33px 0;
    }
}
.c-list-1__ttl {
    display: flex;
    gap: 11px;
    font-family: var(--ff-ls-b);
    font-size: calc(20 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-list-1__ttl {
        gap: 14px;
        font-size: calc(16 / var(--root-fz) * 1rem);
    }
}
.c-list-1__ttl-num {
    display: block;
    flex-shrink: 0;
    font-family: var(--ff-ls-b);
    color: var(--color-green-1);
}
.c-list-1__img {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    justify-content: center;
}
@media screen and (max-width: 1023px) {
    .c-list-1__item--2 .c-list-1__img {
        padding-block: 20px 20px;
    }
}
.c-list-1__item--3 .c-list-1__img {
    padding-top: 24px;
}
@media screen and (max-width: 1023px) {
    .c-list-1__item--3 .c-list-1__img {
        padding-top: 28px;
    }
}
@media screen and (max-width: 1023px) {
    .c-list-1__item--4 .c-list-1__img {
        padding-block: 31px;
    }
}
.c-list-1__item--5 .c-list-1__img {
    padding-block: 25px;
}
@media screen and (max-width: 1023px) {
    .c-list-1__item--5 .c-list-1__img {
        padding: 26px 0;
    }
}

/* ---------------------------------------------
*   c-list-2
--------------------------------------------- */
.c-list-2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px 3%;
}
@media screen and (max-width: 1023px) {
    .c-list-2 {
        display: block;
    }
}
.c-list-2__item {
    display: contents;
}
@media screen and (max-width: 1023px) {
    .c-list-2__item {
        display: block;
    }
}
@media screen and (max-width: 1023px) {
    .c-list-2__item + .c-list-2__item {
        margin-top: 35px;
    }
}

/* ---------------------------------------------
*   c-list-3
--------------------------------------------- */
.c-list-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3%;
}
@media screen and (max-width: 1023px) {
    .c-list-3 {
        display: block;
    }
}
@media print, screen and (min-width: 1024px) {
    .c-list-3__item {
        display: contents;
    }
}
@media screen and (max-width: 1023px) {
    .c-list-3__item + .c-list-3__item {
        margin-top: 20px;
    }
}

/* ---------------------------------------------
*   c-list-4
--------------------------------------------- */
.c-list-4 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto auto;
    -moz-column-gap: 3%;
         column-gap: 3%;
}
@media screen and (max-width: 1023px) {
    .c-list-4 {
        display: block;
        gap: 50px;
    }
}
.c-list-4__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
}
@media screen and (max-width: 1023px) {
    .c-list-4__item + .c-list-4__item {
        margin-top: 50px;
    }
}
.c-list-4__ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-column-gap: 15px;
         column-gap: 15px;
    color: var(--color-black-4);
    font-family: var(--ff-ls-b);
    font-size: calc(26 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-list-4__ttl {
        justify-content: flex-start;
        -moz-column-gap: calc(8 / var(--root-fz) * 1rem);
             column-gap: calc(8 / var(--root-fz) * 1rem);
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
.c-list-4__ttl::before, .c-list-4__ttl::after {
    color: var(--color-gray-5);
    content: "■";
    font-size: calc(9 / var(--root-fz) * 1rem);
    line-height: 1;
    transform: rotate(45deg);
}
.c-list-4__btn {
    margin: 30px auto 0;
    width: 290px;
    height: 70px;
}
@media screen and (max-width: 1023px) {
    .c-list-4__btn {
        width: 280px;
        height: 62px;
    }
}

/* ---------------------------------------------
*   c-list-note
--------------------------------------------- */
.c-list-note {
    margin-top: 10px;
}
.c-list-note__item {
    color: var(--color-gray-4);
    font-size: calc(12 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-list-note__item {
        font-size: calc(10 / var(--root-fz) * 1rem);
    }
}
.c-list-note__item::before {
    content: "※";
    display: inline-block;
}
.c-block-1 .c-list-note {
    margin-top: 5px;
}
@media screen and (max-width: 1023px) {
    .c-block-1 .c-list-note {
        margin-top: 6px;
        line-height: 1.8;
        letter-spacing: 0.1px;
    }
}

/* ---------------------------------------------
*   追従メニュー　既存より抜粋
--------------------------------------------- */
.c-menu {
    animation-duration: 0.5s;
    position: fixed;
    top: 24vh;
    right: 0;
    z-index: 999;
    background: var(--color-gray-2);
    border-top: 2px solid var(--color-black-4);
    border-left: 2px solid var(--color-black-4);
    border-bottom: 2px solid var(--color-black-4);
    border-bottom-left-radius: 6px;
    border-top-left-radius: 6px;
    text-align: center;
}

@media screen and (max-width: 1023px) {
    .c-menu {
        display: none;
    }
}
.c-menu__title {
    background: var(--color-white-1);
    border: 2px solid var(--color-black-4);
    border-radius: 22px;
    display: inline-block;
    font-family: var(--ff-ls-b);
    font-size: 1.2rem;
    margin-top: 28px;
    padding: 4px 15px;
}

.c-menu__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px 24px 26px;
    text-align: left;
}

.c-menu__item {
    font-family: var(--ff-ls-b);
    font-size: 1.4rem;
}

.c-menu__item a {
    color: var(--color-black-4);
    font-family: var(--ff-ls-b);
}

.c-menu__close {
    border-top: 1px solid var(--color-black-4);
    font-family: var(--ff-ls-b);
    padding-block: 12px;
    text-align: center;
}

.c-menu__item a.is-current {
    color: var(--color-green-1);
    position: relative;
}

.c-menu__close {
    cursor: pointer;
}

.c-menu-2 {
    animation-duration: 0.5s;
    position: fixed;
    right: 0;
    top: calc(385px + 26vh);
    z-index: 999;
    display: block;
    padding: 13px 24px 13px 22px;
    background-color: var(--color-green-1);
    border-top: 2px solid var(--color-black-4);
    border-left: 2px solid var(--color-black-4);
    border-bottom: 2px solid var(--color-black-4);
    border-bottom-left-radius: 6px;
    border-top-left-radius: 6px;
    transition: background-color 0.3s ease-out, transform 0.3s ease-out, color 0.3s;
}

@media screen and (max-width: 1023px) {
    .c-menu-2 {
        display: none;
    }
}
.c-menu-2__txt {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    color: var(--color-white-1);
    font-family: var(--ff-ls-b);
    font-size: calc(15 / var(--root-fz) * 1rem);
    transition: color 0.3s;
}

.c-menu-2__txt::after {
    content: "";
    display: block;
    margin-bottom: 7px;
    width: 6px;
    height: 10px;
    background: url(../img/icon_arw_white.svg) no-repeat center center/contain;
    transition: background-color 0.3s ease-out, transform 0.3s ease-out;
    will-change: auto;
}

.c-menu-2:hover {
    background-color: var(--color-white-1);
    text-decoration: none;
}

.c-menu-2:hover .c-menu-2__txt {
    color: var(--color-green-1);
}

.c-menu-2:hover .c-menu-2__txt::after {
    background-image: url(../img/icon_arw_green.svg);
}

@media screen and (max-width: 1023px) {
    .sp-menu-wrap--clone {
        display: none;
    }
}
@media screen and (min-width: 1024px) {
    .c-spMenu {
        display: none;
    }
}
@media screen and (max-width: 1023px) {
    .c-spMenu {
        align-items: center;
        background: var(--color-white-1);
        bottom: 0;
        display: flex;
        height: 59px;
        opacity: 0;
        position: fixed;
        transform: translateY(150px);
        transition: all 0.5s;
        visibility: hidden;
        width: 100%;
        z-index: 999;
        box-shadow: 0 -2px 8px 0 rgba(0, 0, 0, 0.15);
    }
    .c-spMenu > ul {
        display: flex;
        flex: 1 0 0;
        gap: 0 5px;
        margin: 0 5px;
    }
    .c-spMenu > ul li {
        width: 100%;
    }
    .c-spMenu__dl {
        align-items: center;
        border-radius: 999em;
        color: var(--color-white-1);
        display: flex;
        font-family: var(--ff-ls-eb);
        font-size: 1.3rem;
        height: 47px;
        justify-content: center;
        width: 100%;
    }
    .c-spMenu__dl:hover {
        text-decoration: none;
    }
    .c-spMenu__dl--blue {
        background: var(--color-blue-1);
    }
    .c-spMenu__dl--orange {
        background: var(--color-orange-1);
    }
    .c-spMenu__contents {
        align-items: center;
        background: #e4e8f0;
        display: flex;
        height: 59px;
        justify-content: center;
        margin-left: auto;
        width: 73px;
    }
    .is-active {
        opacity: 1;
        transform: translateY(0);
        visibility: visible;
    }
}
.backBtn a {
    font-family: var(--ff-ls-b);
    font-size: 1.7rem;
    padding-block: 13px 12px;
    padding-inline: 29px 70px;
}

.backBtn__arrow01:before {
    right: 29px;
}

@media screen and (max-width: 1023px) {
    .backBtn__arrow01:before {
        right: 29px;
    }
}
.scrollUp {
    opacity: 0;
    transform: translateY(1px);
    transition: opacity 1s, transform 1s;
}

.scrollUp.is-show {
    opacity: 1;
    transform: translateY(0px);
}

/* ---------------------------------------------
*   c-movie
--------------------------------------------- */
.c-movie__youtube {
    position: relative;
    aspect-ratio: 1.7819/1;
}
@media (hover: hover) and (pointer: fine) {
    .c-movie__youtube:has(.c-movie__btn:hover) {
        transition: opacity var(--hover-duration);
    }
    .c-movie__youtube:has(.c-movie__btn:hover):hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-movie__btn {
    cursor: pointer;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.c-movie__img img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1.7819/1;
}
.c-movie__txt {
    margin-top: 20px;
    text-align: center;
    color: var(--color-white-1);
    font-family: var(--ff-ls-b);
    font-size: min(16 / var(--root-fz) * 1rem, 21 / var(--design-width) * 100vw);
    line-height: 1.615385;
}
@media screen and (max-width: 1023px) {
    .c-movie__txt {
        margin-top: 17px;
        font-size: calc(13 / var(--design-width) * 100vw);
    }
}
.c-movie__txt--ls {
    letter-spacing: -0.03em;
}

/* ---------------------------------------------
*   c-section-about
--------------------------------------------- */
.c-section-about {
    margin-top: 42px;
    background-color: var(--color-gray-2);
    /* 2枚目：33%から主役 */
    /* 3枚目：66%から主役 */
    /* 3枚目：66%から主役 */
}
@media screen and (max-width: 1023px) {
    .c-section-about {
        margin-top: 28px;
    }
}
.c-section-about__container {
    padding-top: 70px;
}
@media screen and (max-width: 1023px) {
    .c-section-about__container {
        padding-top: 40px;
    }
}
.c-section-about__head {
    display: flex;
    justify-content: space-between;
    gap: 6.04%;
    margin-inline: auto;
    padding-inline: min(var(--contents-side-padding) * 1px, 4.861%);
    max-width: 1320px;
}
@media screen and (max-width: 1023px) {
    .c-section-about__head {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 40px;
        padding-inline: calc(var(--contents-side-padding) * 1px);
        max-width: 800px;
    }
}
.c-section-about__txt-wrap {
    flex: 1;
}
@media print, screen and (min-width: 1024px) {
    .c-section-about__txt-wrap {
        width: 48.79%;
        max-width: 605px;
    }
}
@media print, screen and (min-width: 1024px) {
    .c-section-about__img {
        margin-top: 10px;
        max-width: 486px;
    }
}
@media screen and (max-width: 1023px) {
    .c-section-about__img {
        margin-inline: auto;
    }
}
.c-section-about__img img {
    display: block;
    width: 100%;
    height: auto;
}
.c-section-about__body {
    position: relative;
    margin-top: 77px;
    height: 507px;
}
@media screen and (max-width: 1023px) {
    .c-section-about__body {
        margin-top: calc(45 / var(--design-width) * 100vw);
        height: calc(380 / var(--design-width) * 100vw);
    }
}
.c-section-about__body-bg-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.c-section-about__body-bg {
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    width: 100%;
    height: 100%;
    opacity: 0;
    animation: 18s infinite fade1;
    -webkit-animation: 18s infinite fade1;
}
.c-section-about__body-bg:nth-of-type(2) {
    animation: 18s infinite fade2;
    -webkit-animation: 18s infinite fade2;
}
.c-section-about__body-bg:nth-of-type(3) {
    animation: 18s infinite fade3;
    -webkit-animation: 18s infinite fade3;
}
.c-section-about__body-bg img {
    display: block;
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-section-about__body-inner {
    padding-top: 40px;
    z-index: 3;
    width: 100%;
}
@media print, screen and (min-width: 1024px) {
    .c-section-about__body-inner {
        margin-inline: auto;
        padding-inline: min(var(--contents-side-padding) * 1px, 4.861%);
        max-width: 1320px;
    }
}
@media screen and (max-width: 1023px) {
    .c-section-about__body-inner {
        padding-top: calc(30 / var(--design-width) * 100vw);
    }
}
.c-section-about__main-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.c-section-about__main-inner::before, .c-section-about__main-inner::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 1023px) {
    .c-section-about__main-inner::before, .c-section-about__main-inner::after {
        display: none;
    }
}
.c-section-about__cm {
    flex-shrink: 0;
    display: block;
    padding-left: 5px;
    color: var(--color-white-1);
    font-family: var(--ff-ls-eb);
    font-size: calc(32 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-section-about__cm {
        font-size: calc(28 / var(--design-width) * 100vw);
    }
}
.c-section-about__icon {
    flex-shrink: 0;
    width: 126px;
}
@media screen and (max-width: 1023px) {
    .c-section-about__icon {
        width: calc(90 / var(--design-width) * 100vw);
    }
}
@keyframes fade1 {
    0% {
        opacity: 1;
    }
    25% {
        opacity: 1;
    } /* 4.5秒まで表示 */
    33% {
        opacity: 0;
    } /* 6秒地点で消える */
    92% {
        opacity: 0;
    } /* 16.5秒まで消えている */
    100% {
        opacity: 1;
    } /* 18秒で復活（ループの繋ぎ目） */
}
@keyframes fade2 {
    0% {
        opacity: 0;
    }
    25% {
        opacity: 0;
    } /* 最初は消えている */
    33% {
        opacity: 1;
    } /* 6秒地点で出現 */
    58% {
        opacity: 1;
    } /* 10.5秒まで表示 */
    66% {
        opacity: 0;
    } /* 12秒地点で消える */
    100% {
        opacity: 0;
    }
}
@keyframes fade3 {
    0% {
        opacity: 0;
    }
    58% {
        opacity: 0;
    } /* 10.5秒まで消えている */
    66% {
        opacity: 1;
    } /* 12秒地点で出現 */
    92% {
        opacity: 1;
    } /* 16.5秒まで表示 */
    100% {
        opacity: 0;
    } /* 18秒で消える（1枚目にバトンタッチ） */
}

/* ---------------------------------------------
*   c-section-features
--------------------------------------------- */
.c-section-features__container {
    margin-inline: auto;
    padding: 80px min(var(--contents-side-padding) * 1px, 4.861%) 10px;
    max-width: 1320px;
}
@media screen and (max-width: 1023px) {
    .c-section-features__container {
        padding-top: calc(40 / var(--design-width) * 100vw);
        padding-inline: calc(var(--contents-side-padding) * 1px);
        max-width: 800px;
    }
}
.c-section-features__body {
    margin-top: 40px;
}
@media screen and (max-width: 1023px) {
    .c-section-features__body {
        margin-top: 37px;
    }
}

/* ---------------------------------------------
*   c-section-data
--------------------------------------------- */
.c-section-data__container {
    margin-inline: auto;
    padding: 70px min(var(--contents-side-padding) * 1px, 4.861%) 10px;
    max-width: 1320px;
}
@media screen and (max-width: 1023px) {
    .c-section-data__container {
        padding-top: 50px;
        padding-inline: 0;
    }
}
@media screen and (max-width: 1023px) {
    .c-section-data__head {
        margin-inline: auto;
        padding-inline: calc(var(--contents-side-padding) * 1px);
        max-width: 800px;
    }
}
.c-section-data__body {
    margin-top: 40px;
}
@media screen and (max-width: 1023px) {
    .c-section-data__body {
        margin-top: 40px;
    }
}

/* ---------------------------------------------
*   c-section-possibility
--------------------------------------------- */
@media print, screen and (min-width: 1024px) {
    .c-section-possibility {
        background-color: var(--color-gray-2);
    }
}
.c-section-possibility__container {
    margin-inline: auto;
}
@media print, screen and (min-width: 1024px) {
    .c-section-possibility__container {
        padding: 80px min(var(--contents-side-padding) * 1px, 4.861%);
        max-width: 1320px;
    }
}
@media screen and (max-width: 1023px) {
    .c-section-possibility__container {
        padding-top: 40px;
    }
}
@media screen and (max-width: 1023px) {
    .c-section-possibility__head {
        margin-inline: auto;
        padding-inline: calc(var(--contents-side-padding) * 1px);
        max-width: 800px;
    }
}
.c-section-possibility__body {
    margin-top: 33px;
}

/* ---------------------------------------------
*   c-section-howto
--------------------------------------------- */
.c-section-howto__container {
    margin-inline: auto;
    padding: 80px min(var(--contents-side-padding) * 1px, 4.861%) 0;
    max-width: 1320px;
}
@media screen and (max-width: 1023px) {
    .c-section-howto__container {
        padding-top: 40px;
        padding-inline: calc(var(--contents-side-padding) * 1px);
        max-width: 800px;
    }
}
.c-section-howto__body {
    margin-top: 24px;
}
@media screen and (max-width: 1023px) {
    .c-section-howto__body {
        margin-top: 20px;
    }
}

/* ---------------------------------------------
*   c-section-example
--------------------------------------------- */
.c-section-example__container {
    margin-inline: auto;
}
.c-section-example__head {
    margin-inline: auto;
    padding: 100px min(var(--contents-side-padding) * 1px, 4.861%) 0;
    max-width: 1320px;
}
@media screen and (max-width: 1023px) {
    .c-section-example__head {
        padding-top: 40px;
        padding-inline: calc(var(--contents-side-padding) * 1px);
        max-width: 800px;
    }
}
.c-section-example__body {
    margin-top: 20px;
}
@media screen and (max-width: 1023px) {
    .c-section-example__body {
        margin-top: 10px;
    }
}
.c-section-example__btn {
    margin: 116px auto 0;
    width: 290px;
    height: 70px;
}
@media screen and (max-width: 1023px) {
    .c-section-example__btn {
        margin-top: 70px;
        width: 280px;
        height: 62px;
    }
}

/* ---------------------------------------------
*   c-section-info
--------------------------------------------- */
.c-section-info__container {
    margin-inline: auto;
    padding: 83px min(var(--contents-side-padding) * 1px, 4.861%) 0;
    max-width: 1320px;
}
@media screen and (max-width: 1023px) {
    .c-section-info__container {
        padding-top: 60px;
        padding-inline: calc(var(--contents-side-padding) * 1px);
        max-width: 800px;
    }
}
.c-section-info__body {
    margin-top: 25px;
}
@media screen and (max-width: 1023px) {
    .c-section-info__body {
        margin-top: 20px;
    }
}

/* ---------------------------------------------
*   c-section-faq
--------------------------------------------- */
.c-section-faq__container {
    margin-inline: auto;
    padding: 82px min(var(--contents-side-padding) * 1px, 4.861%) 0;
    max-width: 1320px;
}
@media screen and (max-width: 1023px) {
    .c-section-faq__container {
        padding-top: 60px;
        padding-inline: calc(var(--contents-side-padding) * 1px);
        max-width: 800px;
    }
}
.c-section-faq__body {
    margin-top: 40px;
}
@media screen and (max-width: 1023px) {
    .c-section-faq__body {
        margin-top: 20px;
    }
}

/* ---------------------------------------------
*   既存splide （logo loop）
--------------------------------------------- */
.l-wrapper.line-mini-app .c-slider-1__list {
    height: auto;
}
.l-wrapper.line-mini-app .c-slider-1__slide {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    height: 90px;
    justify-content: center;
    margin-right: 40px !important;
    width: -moz-fit-content;
    width: fit-content;
}
.l-wrapper.line-mini-app .c-slider-1__slide img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: auto;
}

/* ---------------------------------------------
*   youtube movie splide
--------------------------------------------- */
.c-slider-2 {
    margin-top: 35px;
}
@media screen and (max-width: 1023px) {
    .c-slider-2 {
        margin-top: calc(20 / var(--design-width) * 100vw);
    }
}
@media print, screen and (min-width: 1024px) {
    .c-slider-2 {
        visibility: visible;
    }
}
.c-slider-2__wrapper {
    position: relative;
}
@media print, screen and (min-width: 1024px) {
    .c-slider-2__list {
        gap: 3%;
    }
}
@media print, screen and (min-width: 1024px) {
    .splide.is-initialized:not(.is-active) .c-slider-2__list {
        display: flex;
        justify-content: center;
        gap: 35px;
        transform: none !important;
        width: auto !important;
    }
}

.c-slider-2__slide[role=tabpanel] {
    opacity: 1 !important;
    display: block !important;
    animation: none !important;
}
@media print, screen and (min-width: 1024px) {
    .c-slider-2__slide {
        flex-shrink: initial;
        width: 33% !important;
        max-width: 376px;
        margin-right: 0 !important;
    }
}
.c-slider-2 .splide__slide {
    transform: translate3d(0, 0, 0);
}
.c-slider-2 .splide__pagination {
    margin-top: calc(20 / var(--design-width) * 100vw);
    gap: calc(20 / var(--design-width) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
}
@media print, screen and (min-width: 1024px) {
    .c-slider-2 .splide__pagination {
        display: none !important;
    }
}
.c-slider-2 .splide__pagination li {
    font-size: 0;
    list-style: none;
}
.c-slider-2 .splide__pagination li:nth-child(n+4) {
    display: none !important;
}
.c-slider-2 .splide__pagination__page {
    width: calc(10 / var(--design-width) * 100vw);
    height: calc(10 / var(--design-width) * 100vw);
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    touch-action: manipulation;
    cursor: pointer;
    border: none;
    padding: 0;
}
.c-slider-2 .splide__pagination__page.is-active {
    background-color: #fff;
    opacity: 1;
}
.c-slider-2 .splide__pagination__page:focus-visible {
    outline: 3px solid #b4e900;
    outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
    .c-slider-2 .splide__pagination__page {
        transition: opacity 0.3s;
    }
    .c-slider-2 .splide__pagination__page:hover {
        opacity: 0.8;
    }
}
.c-slider-2__img img {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* ---------------------------------------------
*   c-slider-3
--------------------------------------------- */
.c-slider-3__container {
    position: relative;
    margin-inline: auto;
    max-width: 1320px;
}
@media screen and (max-width: 1023px) {
    .c-slider-3__container {
        max-width: none;
    }
}
.c-slider-3__wrapper {
    padding-inline: min(var(--contents-side-padding) * 1px, 4.861%);
}
@media screen and (max-width: 1023px) {
    .c-slider-3__wrapper {
        padding-inline: 0;
    }
}
.c-slider-3__slide {
    padding-block: 10px;
}
.c-slider-3__slide[role=tabpanel] {
    opacity: 1 !important;
    display: block !important;
    animation: none !important;
}
.c-slider-3 .splide__slide {
    transform: translate3d(0, 0, 0);
}
.c-slider-3 .splide__arrow {
    --arrow-pos-x: 0.8%;
    position: absolute;
    top: 50%;
    z-index: 1;
    translate: 0 -50%;
    display: grid;
    place-items: center;
    width: 3.4722222222%;
    box-sizing: border-box;
    touch-action: manipulation;
    cursor: pointer;
    overflow: hidden;
}
@media screen and (max-width: 1023px) {
    .c-slider-3 .splide__arrow {
        width: calc(22 / var(--design-width) * 100vw);
        --arrow-pos-x: 2.666%;
    }
}
.c-slider-3 .splide__arrow:focus-visible {
    outline: 3px solid #b4e900;
    outline-offset: 3px;
}
.c-slider-3 .splide__arrow--prev {
    left: var(--arrow-pos-x);
}
.c-slider-3 .splide__arrow--next {
    right: var(--arrow-pos-x);
}
@media (hover: hover) and (pointer: fine) {
    .c-slider-3 .splide__arrow {
        transition: opacity 0.3s;
    }
    .c-slider-3 .splide__arrow:hover {
        opacity: 0.8;
    }
}
@media screen and (min-width: 1340px) {
    .c-slider-3 .splide__arrow {
        --arrow-pos-x: 0.4%;
    }
}
@media screen and (min-width: 1420px) {
    .c-slider-3 .splide__arrow {
        --arrow-pos-x: -30px;
        width: 60px;
    }
}
.c-slider-3 .splide__pagination {
    position: absolute;
    inset: auto 0 -60px 0;
    gap: 46px;
}
@media screen and (max-width: 1023px) {
    .c-slider-3 .splide__pagination {
        inset: auto 0 -35px 0;
        gap: 20px;
    }
}
.c-slider-3 .splide__pagination li {
    font-size: 0;
}
.c-slider-3 .splide__pagination__page {
    width: 16px;
    height: 16px;
    background-color: rgba(0, 0, 72, 0.2);
    border-radius: 50%;
    touch-action: manipulation;
    cursor: pointer;
}
@media screen and (max-width: 1023px) {
    .c-slider-3 .splide__pagination__page {
        width: 10px;
        height: 10px;
    }
}
.c-slider-3 .splide__pagination__page.is-active {
    background-color: var(--color-black-3);
}
.c-slider-3 .splide__pagination__page:focus-visible {
    outline: 3px solid #b4e900;
    outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
    .c-slider-3 .splide__pagination__page {
        transition: opacity 0.3s;
    }
    .c-slider-3 .splide__pagination__page:hover {
        opacity: 0.8;
    }
}
.c-slider-3__img img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* ---------------------------------------------
*   導入事例　swiper
--------------------------------------------- */
.articleCarousel {
    position: relative;
}

.articleCarousel__inner {
    position: relative;
    overflow: hidden;
    display: block;
    color: #fff;
}

.articleCarousel__inner:hover .articleCarousel__img {
    transform: scale(1.05);
}

.articleCarousel__img {
    padding-top: 80%;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all 0.4s ease;
}

.articleCarousel__img:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    box-shadow: 0 -13em 8em -8em rgba(34, 56, 76, 0.6) inset;
    z-index: 6;
}

.articleCarousel__txt {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 15px 20px;
    line-height: 1.4;
    font-family: "UD新ゴ B";
    z-index: 7;
}

.articleCarousel .swiper-button-prev, .articleCarousel .swiper-button-next {
    display: block;
    background: rgba(64, 64, 64, 0.65);
    width: 50px;
    height: 89px;
    top: 50%;
    left: 5%;
    margin-top: 0;
    transform: translateY(-50%);
    border-radius: 100px;
    z-index: 15;
}

.articleCarousel .swiper-button-prev {
    left: 30px;
}

.articleCarousel .swiper-button-prev:before, .articleCarousel .swiper-button-next:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: calc(50% - 5px);
    left: calc(50% - 4px);
    width: 6px;
    height: 10px;
    background: url(/static/jp/common/img/ico_leftArrow02.png) 0 0 no-repeat;
    background-size: cover;
    vertical-align: middle;
}

.articleCarousel .swiper-button-next {
    left: auto;
    right: 30px;
}

.articleCarousel .swiper-button-next:before {
    left: calc(50% - 2px);
    background-image: url(/static/jp/common/img/ico_rightArrow02.png);
}

.articleCarousel .swiper-pagination-bullets {
    bottom: 0;
    width: 100%;
}

.articleCarousel .swiper-pagination-bullets > .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin-inline: 16px;
}

.articleCarousel .swiper-pagination-bullet-active {
    background-color: #000048;
}

.articleCarousel .swiper-container {
    padding-bottom: 50px;
}

.articleCarousel .js-articleCarousel--column {
    overflow: visible;
}

.carouseSWPanelList .swiper-slide {
    max-width: initial;
}

@media screen and (max-width: 1023px) {
    .articleCarousel .swiper-pagination-bullets > .swiper-pagination-bullet {
        margin-inline: 11px;
    }
    .articleCarousel .swiper-container {
        padding-bottom: 45px;
    }
    .articleCarousel .swiper-button-prev,
    .articleCarousel .swiper-button-next {
        width: 22px;
        height: 66px;
        border-radius: 100px;
    }
    .articleCarousel .swiper-button-prev {
        left: 0;
    }
    .articleCarousel .swiper-button-next {
        left: auto;
        right: 0;
    }
}
/* ---------------------------------------------
*   c-table
--------------------------------------------- */
/* ---------------------------------------------
*   c-tile
--------------------------------------------- */
/* ---------------------------------------------
*   c-ttl-1
--------------------------------------------- */
.c-ttl-1 {
    position: relative;
    padding-left: 25px;
    font-family: var(--ff-ls-b);
    font-size: calc(32 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1023px) {
    .c-ttl-1 {
        padding-left: 20px;
        font-size: calc(26 / var(--root-fz) * 1rem);
        line-height: 1.5384615385;
    }
}
@media screen and (max-width: 1023px) {
    .c-section-data > .c-ttl-1, .c-section-howto > .c-ttl-1 {
        margin-top: 12px;
    }
}

.c-ttl-1::before {
    content: "";
    position: absolute;
    top: -3px;
    bottom: 0;
    left: 0;
    margin: auto 0;
    width: 10px;
    height: 10px;
    background: var(--color-green-1);
    border-radius: 50%;
}
@media screen and (max-width: 1023px) {
    .c-ttl-1::before {
        top: 15px;
        margin: 0;
        width: 8px;
        height: 8px;
    }
}
.c-ttl-1--sp-only {
    display: none;
}
.iphone .c-ttl-1--sp-only, .android .c-ttl-1--sp-only {
    display: block;
}

/* ---------------------------------------------
*   c-txt-1
--------------------------------------------- */
.c-txt-1 {
    margin-top: 18px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 2.125;
}
@media screen and (max-width: 1023px) {
    .c-txt-1 {
        margin-top: 20px;
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 2;
    }
}
.c-txt-1 + .c-txt-1 {
    margin-top: 35px;
}
@media screen and (max-width: 1023px) {
    .c-txt-1 + .c-txt-1 {
        margin-top: 30px;
    }
}
.c-txt-1 sup {
    position: relative;
    top: 1px;
}
@media screen and (max-width: 1023px) {
    .c-txt-1 sup {
        top: 2px;
        font-size: 0.85rem;
    }
}

/* ---------------------------------------------
*   c-txt-2
--------------------------------------------- */
.c-txt-2 {
    margin-top: 16px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 2;
}
@media screen and (max-width: 1023px) {
    .c-txt-2 {
        margin-top: 14px;
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 2;
    }
}
.c-txt-2 + .c-txt-2 {
    margin-top: 35px;
}
@media screen and (max-width: 1023px) {
    .c-txt-2 + .c-txt-2 {
        margin-top: 34px;
    }
}
@media screen and (max-width: 1023px) {
    .c-block-data > .c-txt-2 {
        margin-top: 10px;
    }
}

.c-txt-2--small {
    color: var(--color-gray-4);
    font-size: calc(12 / var(--root-fz) * 1rem);
    line-height: 2.6666666667;
}
@media screen and (max-width: 1023px) {
    .c-txt-2--small {
        display: block;
        font-size: calc(10 / var(--root-fz) * 1rem);
        line-height: 2.8;
    }
}
.c-txt-2 sup {
    position: relative;
    top: 1px;
}
@media screen and (max-width: 1023px) {
    .c-txt-2 sup {
        top: 2px;
        font-size: 0.85rem;
    }
}

/* ---------------------------------------------
*   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;
}

/* ---------------------------------------------
*   ページトップボタン
--------------------------------------------- */
@media screen and (max-width: 1023px) {
    .lyb-fixed-pagetop {
        display: none !important;
    }
}
.js-acc-faq-target {
    --acc-body-height: 0px;
    height: 0;
    overflow: hidden;
}
.js-acc-faq-scope.is-close .js-acc-faq-target {
    animation: closeAccAnim 0.5s forwards;
}

.js-acc-faq-scope.is-open .js-acc-faq-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: 1024px), screen and (min-width: 1024px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (max-width: 1023px), screen and (max-width: 1023px) {
    .sp-hide {
        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: 1023px) {
    .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: 1023px) {
    .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;
    }
}