@charset "UTF-8";
/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
.l-wrapper {
    background-color: var(--color-black-1);
    overflow-y: scroll;
    min-height: 100vh;
    height: 100%;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
@media screen and (max-width: 1024px) {
    .l-wrapper {
        min-height: initial;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
}
.l-wrapper.is-noscroll {
    overflow-y: hidden;
}
@media screen and (max-width: 1024px) {
    .l-wrapper.is-noscroll {
        overflow-y: scroll;
    }
}
.l-wrapper.is-noscroll * {
    pointer-events: none;
}
@media screen and (max-width: 1024px) {
    .l-wrapper.is-noscroll * {
        pointer-events: all;
    }
}

/* ---------------------------------------------
*   l-header
--------------------------------------------- */
.l-header {
    position: fixed;
    top: 0;
    left: 0;
    padding: 15px 20px 15px 40px;
    background: rgba(0, 0, 0, 0.3);
    z-index: 999;
    width: 100%;
}
@media screen and (max-width: 1300px) {
    .l-header {
        padding: calc(15 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw) calc(15 / var(--design-width) * 100vw) calc(40 / var(--design-width) * 100vw);
    }
}
.l-header__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.l-header__logo {
    width: 388px;
    transition: opacity 0.3s ease, width 0.3s ease;
}
@media screen and (max-width: 1300px) {
    .l-header__logo {
        width: calc(388 / var(--design-width) * 100vw);
    }
}
.is-narrow .l-header__logo {
    width: 300px;
}
@media screen and (max-width: 1300px) {
    .is-narrow .l-header__logo {
        width: calc(300 / var(--design-width) * 100vw);
    }
}

@media (hover: hover) and (pointer: fine) {
    .l-header__logo:hover {
        opacity: 0.8;
    }
}

/* ---------------------------------------------
*   l-header-nav
--------------------------------------------- */
.l-header-nav__list {
    display: flex;
    margin-inline: 20px 10px;
}
@media screen and (max-width: 1300px) {
    .l-header-nav__list {
        margin-inline: calc(20 / var(--design-width) * 100vw) calc(10 / var(--design-width) * 100vw);
    }
}
.l-header-nav__item:not(:first-of-type) {
    position: relative;
    margin-left: 40px;
}
@media screen and (max-width: 1300px) {
    .l-header-nav__item:not(:first-of-type) {
        margin-left: calc(40 / var(--design-width) * 100vw);
    }
}
.l-header-nav__item:not(:first-of-type)::before {
    position: absolute;
    top: 0;
    left: -27px;
    content: "｜";
    font-size: calc(16 / var(--root-fz) * 1rem);
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .l-header-nav__item:not(:first-of-type)::before {
        left: calc(-27 / var(--design-width) * 100vw);
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
.l-header-nav__link {
    font-size: calc(16 / var(--root-fz) * 1rem);
    color: var(--color-white-1);
    transition: opacity 0.3s ease, font-size 0.3s ease;
}
@media screen and (max-width: 1300px) {
    .l-header-nav__link {
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
.is-narrow .l-header-nav__link {
    font-size: calc(18 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1300px) {
    .is-narrow .l-header-nav__link {
        font-size: calc(18 / var(--design-width) * 100vw);
    }
}

@media (hover: hover) and (pointer: fine) {
    .l-header-nav__link:hover {
        opacity: 0.8;
    }
}

/* ---------------------------------------------
*   l-global-nav
--------------------------------------------- */
/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
.l-contents {
    overflow-x: clip;
}

/* ---------------------------------------------
*   l-breadcrumb
--------------------------------------------- */
.l-breadcrumb {
    padding-top: 15px;
}
@media screen and (max-width: 1300px) {
    .l-breadcrumb {
        padding-top: calc(15 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .l-breadcrumb {
        padding-top: calc(10 / var(--design-width) * 100vw);
    }
}
.l-breadcrumb__list {
    display: flex;
}
.l-breadcrumb__item {
    line-height: 1;
}
.l-breadcrumb__item:not(:first-of-type)::before {
    content: ">";
    margin-right: 0.25em;
    margin-left: 0.25em;
    color: var(--color-white-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 1300px) {
    .l-breadcrumb__item:not(:first-of-type)::before {
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .l-breadcrumb__item:not(:first-of-type)::before {
        font-size: calc(22 / var(--design-width) * 100vw);
    }
}
.l-breadcrumb__txt {
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 2.1428571429;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .l-breadcrumb__txt {
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .l-breadcrumb__txt {
        font-size: calc(22 / var(--design-width) * 100vw);
        line-height: 1.2727272727;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-breadcrumb__txt[href] {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .l-breadcrumb__txt[href]:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}

/* ---------------------------------------------
*   l-footer
--------------------------------------------- */
.l-footer {
    padding-bottom: 100px;
}
@media screen and (max-width: 1300px) {
    .l-footer {
        padding-bottom: calc(100 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .l-footer {
        padding-bottom: calc(100 / var(--design-width) * 100vw);
    }
}
.l-footer__container {
    margin-inline: auto;
    padding-inline: 100px;
    max-width: 1300px;
}
@media screen and (max-width: 1300px) {
    .l-footer__container {
        padding-inline: calc(100 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .l-footer__container {
        position: relative;
        padding-inline: 6.6666666667%;
        padding-bottom: calc(235 / var(--design-width) * 100vw);
    }
}
.l-footer__wrap {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--color-gray-3);
}
@media screen and (max-width: 1300px) {
    .l-footer__wrap {
        padding-bottom: calc(15 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .l-footer__wrap {
        justify-content: center;
        padding-bottom: calc(22 / var(--design-width) * 100vw);
    }
}
.l-footer__logo-link {
    display: inline-block;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer__logo-link {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .l-footer__logo-link:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
.l-footer__logo-link:active {
    filter: brightness(0.5);
}
.l-footer__logo-img {
    width: 162px;
}
@media screen and (max-width: 1300px) {
    .l-footer__logo-img {
        width: calc(162 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .l-footer__logo-img {
        position: absolute;
        bottom: calc(45 / var(--design-width) * 100vw);
        left: 50%;
        transform: translateX(-50%);
        width: calc(243 / var(--design-width) * 100vw);
    }
    .l-footer__logo-img img {
        display: block;
        width: 100%;
    }
}
.l-footer__copyright {
    margin-top: 17px;
    margin-inline: auto 0;
    width: 163px;
}
@media screen and (max-width: 1300px) {
    .l-footer__copyright {
        margin-top: calc(17 / var(--design-width) * 100vw);
        width: calc(163 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .l-footer__copyright {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: calc(273 / var(--design-width) * 100vw);
    }
    .l-footer__copyright img {
        display: block;
        width: 100%;
    }
}

/* ---------------------------------------------
*   l-footer-nav
--------------------------------------------- */
.l-footer-nav__list {
    display: flex;
    -moz-column-gap: 33px;
         column-gap: 33px;
}
@media screen and (max-width: 1300px) {
    .l-footer-nav__list {
        -moz-column-gap: calc(33 / var(--design-width) * 100vw);
             column-gap: calc(33 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .l-footer-nav__list {
        justify-content: center;
        -moz-column-gap: calc(55 / var(--design-width) * 100vw);
             column-gap: calc(55 / var(--design-width) * 100vw);
    }
}
.l-footer-nav__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-nav__link {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .l-footer-nav__link:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
.l-footer-nav__link:active {
    filter: brightness(0.5);
}
.l-footer-nav__link--1 {
    width: 76px;
}
@media screen and (max-width: 1300px) {
    .l-footer-nav__link--1 {
        width: calc(76 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .l-footer-nav__link--1 {
        width: calc(117 / var(--design-width) * 100vw);
    }
    .l-footer-nav__link--1 img {
        display: block;
        width: 100%;
    }
}
.l-footer-nav__link--2 {
    width: 136px;
}
@media screen and (max-width: 1300px) {
    .l-footer-nav__link--2 {
        width: calc(136 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .l-footer-nav__link--2 {
        width: calc(207 / var(--design-width) * 100vw);
    }
    .l-footer-nav__link--2 img {
        display: block;
        width: 100%;
    }
}
.l-footer-nav__link--3 {
    width: 89px;
}
@media screen and (max-width: 1300px) {
    .l-footer-nav__link--3 {
        width: calc(89 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .l-footer-nav__link--3 {
        width: calc(138 / var(--design-width) * 100vw);
    }
    .l-footer-nav__link--3 img {
        display: block;
        width: 100%;
    }
}

/* ---------------------------------------------
*   c-block-01
--------------------------------------------- */
.c-block-01-wrap {
    margin-top: 50px;
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 992px;
}
@media screen and (max-width: 1300px) {
    .c-block-01-wrap {
        margin-top: calc(50 / var(--design-width) * 100vw);
        width: calc(992 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-01-wrap {
        margin-top: 0;
        flex-direction: column;
        width: 100%;
    }
}

.c-block-01 {
    width: 476px;
    z-index: 1;
}
@media screen and (max-width: 1300px) {
    .c-block-01 {
        width: calc(476 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-01 {
        width: 100%;
    }
}
@media screen and (max-width: 1024px) {
    .c-block-01:nth-of-type(1) {
        margin-top: calc(95 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-01:nth-of-type(2) {
        margin-top: calc(85 / var(--design-width) * 100vw);
    }
}
.c-block-01__img-01 {
    width: 100%;
}
@media screen and (max-width: 1024px) {
    .c-block-01__img-01 {
        margin-inline: auto;
        width: calc(554 / var(--design-width) * 100vw);
    }
}
.c-block-01__img-01 img {
    display: block;
    width: 100%;
}
.c-block-01__img-02 {
    margin-top: 12px;
    margin-inline: auto;
}
@media screen and (max-width: 1300px) {
    .c-block-01__img-02 {
        margin-top: calc(12 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-01__img-02 {
        margin-top: calc(30 / var(--design-width) * 100vw);
    }
}
.c-block-01__img-02--1 {
    width: 137px;
}
@media screen and (max-width: 1300px) {
    .c-block-01__img-02--1 {
        width: calc(137 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-01__img-02--1 {
        width: calc(178 / var(--design-width) * 100vw);
    }
}
.c-block-01__img-02--2 {
    width: 157px;
}
@media screen and (max-width: 1300px) {
    .c-block-01__img-02--2 {
        width: calc(157 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-01__img-02--2 {
        width: calc(204 / var(--design-width) * 100vw);
    }
}
.c-block-01__img-02 img {
    display: block;
    width: 100%;
}
.c-block-01__text {
    margin-top: 10px;
    padding-inline: 20px;
    text-align: center;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8571428571;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-block-01__text {
        margin-top: calc(10 / var(--design-width) * 100vw);
        padding-inline: calc(20 / var(--design-width) * 100vw);
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-01__text {
        margin-top: calc(20 / var(--design-width) * 100vw);
        padding-inline: 0;
        text-align: center;
        font-size: calc(22 / var(--design-width) * 100vw);
        line-height: 1.8181818182;
        font-feature-settings: "palt" 1;
    }
}

/* ---------------------------------------------
*   c-block-02
--------------------------------------------- */
.c-block-02 {
    z-index: 3;
    /* margin-top: 50px; */
    margin-top: 20px;
    margin-inline: auto;
    width: 992px;
}
@media screen and (max-width: 1300px) {
    .c-block-02 {
        /* margin-top: calc(50 / var(--design-width) * 100vw); */
        margin-top: calc(20 / var(--design-width) * 100vw);
        width: calc(992 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-02 {
        margin-top: calc(95 / var(--design-width) * 100vw);
        width: 100%;
    }
}
.c-block-02__img-01 {
    width: 100%;
    opacity: 1;
}
.c-block-02__img-01 img {
    display: block;
    width: 100%;
}
.c-block-02__img-02 {
    width: 100%;
    display: none;
}
.c-block-02__text {
    margin-top: 18px;
    padding-inline: 60px;
    text-align: center;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.75;
    color: var(--color-white-1);
    transition: opacity 0.75s ease-out;
    transition-delay: 0.75s;
}
@media screen and (max-width: 1300px) {
    .c-block-02__text {
        margin-top: calc(18 / var(--design-width) * 100vw);
        padding-inline: calc(60 / var(--design-width) * 100vw);
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-02__text {
        margin-top: calc(35 / var(--design-width) * 100vw);
        padding-inline: 0;
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 1.6666666667;
    }
}
.windows .c-block-02__text {
    letter-spacing: -0.03em;
}

/* ---------------------------------------------
*   c-block-03
--------------------------------------------- */
.c-block-03 {
    position: relative;
    /* margin-top: -90px; */
    margin-top: -135px;
    margin-inline: auto;
    width: 1258px;
    height: 601px;
}
@media screen and (max-width: 1300px) {
    .c-block-03 {
        /* margin-top: calc(-90 / var(--design-width) * 100vw); */
        margin-top: calc(-135 / var(--design-width) * 100vw);
        width: calc(1258 / var(--design-width) * 100vw);
        height: calc(601 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-03 {
        margin-top: 0;
        width: 100%;
        height: calc(650 / var(--design-width) * 100vw);
    }
}
.c-block-03__img-01, .c-block-03__img-03 {
    position: absolute;
    bottom: 0;
    display: grid;
    place-items: center;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 772px;
    height: 601px;
}
@media screen and (max-width: 1300px) {
    .c-block-03__img-01, .c-block-03__img-03 {
        width: calc(772 / var(--design-width) * 100vw);
        height: calc(601 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-03__img-01, .c-block-03__img-03 {
        position: static;
    }
}
.c-block-03__img-01 {
    left: 0;
}
.c-block-03__img-01.is-visible {
    z-index: 1;
}
.c-block-03__img-02 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(calc(-50% - 234px), calc(-50% + 18px));
    width: 397px;
    z-index: 3;
}
@media screen and (max-width: 1300px) {
    .c-block-03__img-02 {
        transform: translate(calc(-50% - 234 / var(--design-width) * 100vw), calc(-50% + 18 / var(--design-width) * 100vw));
        width: calc(397 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-03__img-02 {
        position: absolute;
        top: calc(-100 / var(--design-width) * 100vw);
        transform: translateX(-50%);
        width: calc(694 / var(--design-width) * 100vw);
    }
}
.c-block-03__img-02 img {
    display: block;
    width: 100%;
}
.c-block-03__img-03 {
    right: 0;
}
.c-block-03__img-03.is-visible {
    z-index: 2;
}
.c-block-03__img-04 {
    position: absolute;
    top: 50%;
    right: 50%;
    transform: translate(calc(50% + 255px), calc(-50% + 9px));
    width: 311px;
    z-index: 3;
}
@media screen and (max-width: 1300px) {
    .c-block-03__img-04 {
        transform: translate(calc(50% + 255 / var(--design-width) * 100vw), calc(-50% + 9 / var(--design-width) * 100vw));
        width: calc(311 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-03__img-04 {
        position: absolute;
        top: calc(165 / var(--design-width) * 100vw);
        right: initial;
        left: 50%;
        transform: translateX(-50%);
        width: calc(694 / var(--design-width) * 100vw);
    }
}
.c-block-03__img-04 img {
    display: block;
    width: 100%;
}

/* ---------------------------------------------
*   c-block-04
--------------------------------------------- */
.c-block-04 {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(calc(-50% - 203px), calc(-50% + 38px));
    width: 690px;
    height: 591px;
}
@media screen and (max-width: 1300px) {
    .c-block-04 {
        transform: translate(calc(-50% - 203 / var(--design-width) * 100vw), calc(-50% + 38 / var(--design-width) * 100vw));
        width: calc(690 / var(--design-width) * 100vw);
        height: calc(591 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-04 {
        position: static;
        transform: initial;
        width: 100%;
        height: initial;
    }
}
.c-block-04__img {
    position: absolute;
}
@media screen and (max-width: 1024px) {
    .c-block-04__img {
        position: static;
    }
}
.c-block-04__img--1, .c-block-04__img--4, .c-block-04__img--5 {
    width: 689px;
}
@media screen and (max-width: 1300px) {
    .c-block-04__img--1, .c-block-04__img--4, .c-block-04__img--5 {
        width: calc(689 / var(--design-width) * 100vw);
    }
}
.c-block-04__img--1 {
    top: 294px;
    left: -2px;
    transform: translateY(-50%);
    z-index: 5;
}
@media screen and (max-width: 1300px) {
    .c-block-04__img--1 {
        top: calc(294 / var(--design-width) * 100vw);
        left: calc(-2 / var(--design-width) * 100vw);
    }
}
.c-block-04__img--2-1 {
    position: relative;
    top: 0;
    left: 212px;
    width: 287px;
    z-index: 4;
}
@media screen and (max-width: 1300px) {
    .c-block-04__img--2-1 {
        left: calc(212 / var(--design-width) * 100vw);
        width: calc(287 / var(--design-width) * 100vw);
    }
}
.c-block-04__img--2-2 {
    position: absolute;
    top: 334px;
    left: 278px;
    width: 129px;
    z-index: 6;
}
@media screen and (max-width: 1300px) {
    .c-block-04__img--2-2 {
        top: calc(334 / var(--design-width) * 100vw);
        left: calc(278 / var(--design-width) * 100vw);
        width: calc(129 / var(--design-width) * 100vw);
    }
}
.c-block-04__img--3 {
    top: 81px;
    right: 20px;
    width: 647px;
    z-index: 3;
}
@media screen and (max-width: 1300px) {
    .c-block-04__img--3 {
        top: calc(81 / var(--design-width) * 100vw);
        right: calc(20 / var(--design-width) * 100vw);
        width: calc(647 / var(--design-width) * 100vw);
    }
}
.c-block-04__img--4 {
    left: -2px;
    bottom: 115px;
    z-index: 2;
}
@media screen and (max-width: 1300px) {
    .c-block-04__img--4 {
        left: calc(-2 / var(--design-width) * 100vw);
        bottom: calc(115 / var(--design-width) * 100vw);
    }
}
.c-block-04__img--5 {
    left: -2px;
    bottom: 0;
    z-index: 1;
}
@media screen and (max-width: 1300px) {
    .c-block-04__img--5 {
        left: calc(-2 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-04__img--6 {
        margin-top: calc(40 / var(--design-width) * 100vw);
        margin-inline: auto;
        width: calc(647 / var(--design-width) * 100vw);
    }
}
.c-block-04__img img {
    display: block;
    width: 100%;
}

/* ---------------------------------------------
*   c-block-05
--------------------------------------------- */
.c-block-05 {
    position: absolute;
    border: 2px solid var(--color-black-1);
    border-radius: 10px;
    top: 55%;
    right: 50%;
    transform: translate(calc(50% + 367px), calc(-50% + 14px));
    background-color: var(--color-white-1);
    width: 362px;
    height: 521px;
}
@media screen and (max-width: 1300px) {
    .c-block-05 {
        border-radius: calc(10 / var(--design-width) * 100vw);
        transform: translate(calc(50% + 367 / var(--design-width) * 100vw), calc(-50% + 14 / var(--design-width) * 100vw));
        width: calc(362 / var(--design-width) * 100vw);
        height: calc(521 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-05 {
        position: relative;
        top: 0;
        right: 0;
        transform: initial;
        border-radius: calc(10 / var(--design-width) * 100vw);
        width: 100%;
        height: initial;
        overflow: hidden;
    }
}
.c-block-05::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "";
    display: block;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 60px;
    height: 52px;
}
@media screen and (max-width: 1300px) {
    .c-block-05::before {
        width: calc(60 / var(--design-width) * 100vw);
        height: calc(52 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-05::before {
        top: calc(22 / var(--design-width) * 100vw);
        left: calc(18 / var(--design-width) * 100vw);
        transform: initial;
        width: calc(60 / var(--design-width) * 100vw);
        height: calc(52 / var(--design-width) * 100vw);
        pointer-events: none;
    }
}
@media screen and (max-width: 1024px) and (hover: hover) and (pointer: fine) {
    .c-block-05::before {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-block-05::before:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
.c-block-05__head {
    padding-block: 43px;
    border-radius: 8px 8px 0 0;
}
@media screen and (max-width: 1300px) {
    .c-block-05__head {
        padding-block: calc(43 / var(--design-width) * 100vw);
        border-radius: calc(8 / var(--design-width) * 100vw) calc(8 / var(--design-width) * 100vw) 0 0;
    }
}
@media screen and (max-width: 1024px) {
    .c-block-05__head {
        position: relative;
        padding-block: calc(32 / var(--design-width) * 100vw) calc(29 / var(--design-width) * 100vw);
        border-radius: calc(8 / var(--design-width) * 100vw);
        cursor: pointer;
    }
}
@media screen and (max-width: 1024px) and (hover: hover) and (pointer: fine) {
    .c-block-05__head {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-block-05__head:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1024px) {
    .c-block-05__head::after {
        position: absolute;
        top: calc(23 / var(--design-width) * 100vw);
        right: calc(18 / var(--design-width) * 100vw);
        content: "";
        display: block;
        background: url(../img/ico_arrow-01.png) 0 0 no-repeat;
        background-size: 100% auto;
        width: calc(43 / var(--design-width) * 100vw);
        height: calc(43 / var(--design-width) * 100vw);
    }
}
.c-block-05__title {
    text-align: center;
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.05;
    color: var(--color-white-1);
    font-feature-settings: "palt" 1;
}
@media screen and (max-width: 1300px) {
    .c-block-05__title {
        font-size: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-05__title {
        position: relative;
        font-size: calc(28 / var(--design-width) * 100vw);
        line-height: 1;
        z-index: 1;
    }
}
.c-block-05__img {
    position: absolute;
    top: 85px;
    left: 50%;
    transform: translateX(-50%);
    width: 306px;
    height: 166px;
}
@media screen and (max-width: 1300px) {
    .c-block-05__img {
        top: calc(85 / var(--design-width) * 100vw);
        width: calc(306 / var(--design-width) * 100vw);
        height: calc(166 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-05__img {
        position: relative;
        top: 0;
        left: 50%;
        transform: translate(-50%, 0);
        width: calc(513 / var(--design-width) * 100vw);
        height: calc(279 / var(--design-width) * 100vw);
        z-index: 1;
    }
}
.c-block-05__img img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
}
.c-block-05__list {
    position: absolute;
    top: 261px;
    left: 35px;
}
@media screen and (max-width: 1300px) {
    .c-block-05__list {
        top: calc(261 / var(--design-width) * 100vw);
        left: calc(35 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-05__list {
        position: static;
        padding-block: calc(40 / var(--design-width) * 100vw) calc(50 / var(--design-width) * 100vw);
        padding-inline: calc(66 / var(--design-width) * 100vw);
    }
}
.c-block-05__item {
    position: relative;
    padding-block: 3px;
    padding-left: 16px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    font-feature-settings: "palt" 1;
}
@media screen and (max-width: 1300px) {
    .c-block-05__item {
        padding-block: calc(3 / var(--design-width) * 100vw);
        padding-left: calc(16 / var(--design-width) * 100vw);
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-05__item {
        padding-left: calc(24 / var(--design-width) * 100vw);
        font-size: calc(26 / var(--design-width) * 100vw);
    }
}
.c-block-05__item::before {
    position: absolute;
    left: 0;
    top: 13px;
    content: "";
    display: block;
    border: 1px solid var(--color-black-1);
    width: 6px;
    aspect-ratio: 1;
    rotate: 45deg;
}
@media screen and (max-width: 1300px) {
    .c-block-05__item::before {
        top: calc(13 / var(--design-width) * 100vw);
        width: calc(6 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-05__item::before {
        top: calc(19 / var(--design-width) * 100vw);
        width: calc(10 / var(--design-width) * 100vw);
    }
}
.c-block-05__btn {
    position: absolute;
    bottom: 19px;
    left: 50%;
    transform: translateX(-50%);
}
@media screen and (max-width: 1300px) {
    .c-block-05__btn {
        bottom: calc(19 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-05__btn {
        position: static;
        transform: initial;
        margin-top: calc(18 / var(--design-width) * 100vw);
        margin-inline: auto;
    }
}
.c-block-05__btn:has(.c-block-05__btn-inner) {
    padding: 0;
}
.c-block-05__btn--2 .c-btn-01__text::before {
    border-color: transparent transparent transparent var(--color-item-2-1);
}
.c-block-05__btn--3 .c-btn-01__text::before {
    border-color: transparent transparent transparent var(--color-item-3-2);
}
.c-block-05__btn--4 .c-btn-01__text::before {
    border-color: transparent transparent transparent var(--color-item-4-3);
}
.c-block-05__btn--5 .c-btn-01__text::before {
    border-color: transparent transparent transparent var(--color-item-5-3);
}
.c-block-05--1 {
    border-color: var(--color-item-1-1);
}
@media screen and (max-width: 1024px) {
    .c-block-05--1 {
        margin-top: calc(95 / var(--design-width) * 100vw);
    }
}
.c-block-05--1::before {
    background-image: url(../img/ico_01.png);
}
@media screen and (max-width: 1024px) {
    .c-block-05--1::before {
        z-index: 1;
    }
}
.c-block-05--1 .c-block-05__head {
    background: linear-gradient(0deg, var(--color-item-1-1) 0%, var(--color-black-1) 100%);
}
@media screen and (max-width: 1024px) {
    .c-block-05--1 .c-block-05__head {
        background: initial;
        position: relative;
    }
    .c-block-05--1 .c-block-05__head::before {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        content: "";
        display: block;
        border-radius: calc(8 / var(--design-width) * 100vw) calc(8 / var(--design-width) * 100vw) 0 0;
        background: linear-gradient(0deg, var(--color-item-1-1) 0%, var(--color-black-1) 100%);
        height: calc(140 / var(--design-width) * 100vw);
    }
}
.c-block-05--1 .c-btn-01__text::before {
    border-color: transparent transparent transparent var(--color-item-1-1);
}
.c-block-05--2 {
    border-color: var(--color-item-2-1);
}
@media screen and (max-width: 1024px) {
    .c-block-05--2 {
        margin-top: calc(63 / var(--design-width) * 100vw);
    }
}
.c-block-05--2::before {
    background-image: url(../img/ico_02.png);
}
@media screen and (max-width: 1024px) {
    .c-block-05--2::before {
        z-index: 1;
    }
}
.c-block-05--2 .c-block-05__head {
    background: linear-gradient(0deg, var(--color-item-2-2) 0%, var(--color-black-1) 100%);
}
@media screen and (max-width: 1024px) {
    .c-block-05--2 .c-block-05__head {
        background: initial;
        position: relative;
    }
    .c-block-05--2 .c-block-05__head::before {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        content: "";
        display: block;
        border-radius: calc(8 / var(--design-width) * 100vw) calc(8 / var(--design-width) * 100vw) 0 0;
        background: linear-gradient(0deg, var(--color-item-2-1) 0%, var(--color-black-1) 100%);
        height: calc(140 / var(--design-width) * 100vw);
    }
}
.c-block-05--2 .c-btn-01__text::before {
    border-color: transparent transparent transparent var(--color-item-2-1);
}
.c-block-05--3 {
    border-color: var(--color-item-3-1);
}
@media screen and (max-width: 1024px) {
    .c-block-05--3 {
        margin-top: calc(63 / var(--design-width) * 100vw);
        border-color: var(--color-item-3-2);
    }
}
.c-block-05--3::before {
    background-image: url(../img/ico_03.png);
}
@media screen and (max-width: 1024px) {
    .c-block-05--3::before {
        z-index: 1;
    }
}
.c-block-05--3 .c-block-05__head {
    background: linear-gradient(0deg, var(--color-item-3-1) 0%, var(--color-black-1) 100%);
}
@media screen and (max-width: 1024px) {
    .c-block-05--3 .c-block-05__head {
        background: initial;
        position: relative;
    }
    .c-block-05--3 .c-block-05__head::before {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        content: "";
        display: block;
        border-radius: calc(8 / var(--design-width) * 100vw) calc(8 / var(--design-width) * 100vw) 0 0;
        background: linear-gradient(0deg, var(--color-item-3-3) 0%, var(--color-black-1) 100%);
        height: calc(140 / var(--design-width) * 100vw);
    }
}
.c-block-05--3 .c-btn-01__text::before {
    border-color: transparent transparent transparent var(--color-item-3-1);
}
.c-block-05--4 {
    border-color: var(--color-item-4-1);
}
@media screen and (max-width: 1024px) {
    .c-block-05--4 {
        margin-top: calc(63 / var(--design-width) * 100vw);
        border-color: var(--color-item-4-2);
    }
}
.c-block-05--4::before {
    background-image: url(../img/ico_04.png);
}
@media screen and (max-width: 1024px) {
    .c-block-05--4::before {
        z-index: 1;
    }
}
.c-block-05--4 .c-block-05__head {
    background: linear-gradient(0deg, var(--color-item-4-1) 0%, var(--color-black-1) 100%);
}
@media screen and (max-width: 1024px) {
    .c-block-05--4 .c-block-05__head {
        background: initial;
        position: relative;
    }
    .c-block-05--4 .c-block-05__head::before {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        content: "";
        display: block;
        border-radius: calc(8 / var(--design-width) * 100vw) calc(8 / var(--design-width) * 100vw) 0 0;
        background: linear-gradient(0deg, var(--color-item-4-3) 0%, var(--color-black-1) 100%);
        height: calc(140 / var(--design-width) * 100vw);
    }
}
.c-block-05--4 .c-btn-01__text::before {
    border-color: transparent transparent transparent var(--color-item-4-1);
}
.c-block-05--5 {
    border-color: var(--color-item-5-1);
}
@media screen and (max-width: 1024px) {
    .c-block-05--5 {
        margin-top: calc(63 / var(--design-width) * 100vw);
        border-color: var(--color-item-5-3);
    }
}
.c-block-05--5::before {
    background-image: url(../img/ico_05.png);
}
@media screen and (max-width: 1024px) {
    .c-block-05--5::before {
        z-index: 1;
    }
}
.c-block-05--5 .c-block-05__head {
    background: linear-gradient(0deg, var(--color-item-5-2) 0%, var(--color-black-1) 100%);
}
@media screen and (max-width: 1024px) {
    .c-block-05--5 .c-block-05__head {
        background: initial;
        position: relative;
    }
    .c-block-05--5 .c-block-05__head::before {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        content: "";
        display: block;
        border-radius: calc(8 / var(--design-width) * 100vw) calc(8 / var(--design-width) * 100vw) 0 0;
        background: linear-gradient(0deg, var(--color-item-5-1) 0%, var(--color-black-1) 100%);
        height: calc(140 / var(--design-width) * 100vw);
    }
}
.c-block-05--5 .c-btn-01__text::before {
    border-color: transparent transparent transparent var(--color-item-5-2);
}

/* ---------------------------------------------
*   c-block-anchor-01
--------------------------------------------- */
.c-block-anchor-01 {
    position: absolute;
    right: 50%;
    top: 55%;
    transform: translate(calc(50% + 369px), calc(-50% + 313px));
    padding-inline: 40px;
    width: 306px;
}
@media screen and (max-width: 1300px) {
    .c-block-anchor-01 {
        transform: translate(calc(50% + 369 / var(--design-width) * 100vw), calc(-50% + 313 / var(--design-width) * 100vw));
        padding-inline: calc(40 / var(--design-width) * 100vw);
        width: calc(306 / var(--design-width) * 100vw);
    }
}
.c-block-anchor-01__list {
    display: flex;
    -moz-column-gap: 6px;
         column-gap: 6px;
}
@media screen and (max-width: 1300px) {
    .c-block-anchor-01__list {
        -moz-column-gap: calc(6 / var(--design-width) * 100vw);
             column-gap: calc(6 / var(--design-width) * 100vw);
    }
}
.c-block-anchor-01__item + .c-block-anchor-01__item {
    position: relative;
    padding-left: 9px;
}
@media screen and (max-width: 1300px) {
    .c-block-anchor-01__item + .c-block-anchor-01__item {
        padding-left: calc(9 / var(--design-width) * 100vw);
    }
}
.c-block-anchor-01__item + .c-block-anchor-01__item::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2.5px 0 2.5px 4px;
    border-color: transparent transparent transparent #FFFFFF;
}
@media screen and (max-width: 1300px) {
    .c-block-anchor-01__item + .c-block-anchor-01__item::before {
        border-width: calc(2.5 / var(--design-width) * 100vw) 0 calc(2.5 / var(--design-width) * 100vw) calc(4 / var(--design-width) * 100vw);
    }
}
.c-block-anchor-01__btn {
    width: 33px;
    height: 28px;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-anchor-01__btn {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-block-anchor-01__btn:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-block-anchor-01__btn {
        width: calc(33 / var(--design-width) * 100vw);
        height: calc(28 / var(--design-width) * 100vw);
    }
}
.c-block-anchor-01__prev-btn, .c-block-anchor-01__next-btn {
    position: absolute;
    top: 50%;
    width: 21px;
    aspect-ratio: 1;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-anchor-01__prev-btn, .c-block-anchor-01__next-btn {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-block-anchor-01__prev-btn:hover, .c-block-anchor-01__next-btn:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-block-anchor-01__prev-btn, .c-block-anchor-01__next-btn {
        width: calc(21 / var(--design-width) * 100vw);
    }
}
.c-block-anchor-01__prev-btn {
    left: 0;
    transform: translateY(50%);
    rotate: 180deg;
}
.c-block-anchor-01__next-btn {
    right: 0;
    transform: translateY(-50%);
}
@media screen and (max-width: 1300px) {
    .c-block-anchor-01__next-btn {
        transform: translateY(-64%);
    }
}

/* ---------------------------------------------
*   c-block-06
--------------------------------------------- */
.c-block-06 {
    margin-inline: auto;
    border-radius: 10px;
    border: 2px solid var(--color-black-1);
    width: 725px;
    overflow: hidden;
}
@media screen and (max-width: 1300px) {
    .c-block-06 {
        border-radius: calc(10 / var(--design-width) * 100vw);
        width: calc(725 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06 {
        border-radius: calc(10 / var(--design-width) * 100vw);
        width: 100%;
    }
}
.c-block-06__head {
    padding: 30px 22px 24px;
}
@media screen and (max-width: 1300px) {
    .c-block-06__head {
        padding: calc(30 / var(--design-width) * 100vw) calc(22 / var(--design-width) * 100vw) calc(24 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__head {
        padding: calc(33 / var(--design-width) * 100vw) calc(16 / var(--design-width) * 100vw) calc(28 / var(--design-width) * 100vw);
    }
}
.c-block-06__title {
    position: relative;
    padding-left: 86px;
    font-size: calc(28 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.2142857143;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-block-06__title {
        padding-left: calc(86 / var(--design-width) * 100vw);
        font-size: calc(28 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__title {
        padding-left: calc(125 / var(--design-width) * 100vw);
        font-size: calc(28 / var(--design-width) * 100vw);
        font-feature-settings: "palt" 1;
    }
}
.c-block-06__title::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    content: "";
    display: block;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 60px;
    height: 52px;
}
@media screen and (max-width: 1300px) {
    .c-block-06__title::before {
        width: calc(60 / var(--design-width) * 100vw);
        height: calc(52 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__title::before {
        width: calc(63 / var(--design-width) * 100vw);
        height: calc(55 / var(--design-width) * 100vw);
    }
}
.c-block-06__container {
    padding: 23px 20px;
}
@media screen and (max-width: 1300px) {
    .c-block-06__container {
        padding: calc(23 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__container {
        padding: calc(39 / var(--design-width) * 100vw) calc(36 / var(--design-width) * 100vw);
    }
}
.c-block-06__container + .c-block-06__container {
    margin-top: 3px;
}
@media screen and (max-width: 1300px) {
    .c-block-06__container + .c-block-06__container {
        margin-top: calc(3 / var(--design-width) * 100vw);
    }
}
.c-block-06__container-head {
    position: relative;
    padding-bottom: 40px;
}
@media screen and (max-width: 1300px) {
    .c-block-06__container-head {
        padding-bottom: calc(40 / var(--design-width) * 100vw);
    }
}
.c-block-06__container-head::after {
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    display: block;
    background: url(../img/ico_arrow-04.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 121px;
    height: 95px;
}
@media screen and (max-width: 1300px) {
    .c-block-06__container-head::after {
        width: calc(121 / var(--design-width) * 100vw);
        height: calc(95 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__container-head::after {
        bottom: calc(-65 / var(--design-width) * 100vw);
        width: calc(166 / var(--design-width) * 100vw);
        height: calc(131 / var(--design-width) * 100vw);
    }
}
.c-block-06__container-title {
    padding-block: 1px 2px;
    text-align: center;
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.7;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-block-06__container-title {
        padding-block: calc(1 / var(--design-width) * 100vw) calc(2 / var(--design-width) * 100vw);
        font-size: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__container-title {
        padding-block: calc(8 / var(--design-width) * 100vw) calc(4 / var(--design-width) * 100vw);
        font-size: calc(26 / var(--design-width) * 100vw);
    }
}
.c-block-06__text-01 {
    margin-top: 18px;
    margin-inline: auto;
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.7;
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 1300px) {
    .c-block-06__text-01 {
        margin-top: calc(18 / var(--design-width) * 100vw);
        font-size: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__text-01 {
        margin-top: calc(16 / var(--design-width) * 100vw);
        font-size: calc(28 / var(--design-width) * 100vw);
        line-height: 1.7857142857;
        letter-spacing: -0.006em;
        font-feature-settings: "palt" 1;
    }
}
.c-block-06__container-body {
    padding: 20px 30px;
    background-color: var(--color-gray-4);
}
@media screen and (max-width: 1300px) {
    .c-block-06__container-body {
        padding: calc(20 / var(--design-width) * 100vw) calc(30 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__container-body {
        margin-top: calc(140 / var(--design-width) * 100vw);
        padding: calc(31 / var(--design-width) * 100vw) calc(58 / var(--design-width) * 100vw);
        position: relative;
    }
}
.c-block-06__text-02 {
    text-align: center;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5454545455;
    color: var(--color-orange-1);
    white-space: nowrap;
    font-feature-settings: "palt" 1;
}
@media screen and (max-width: 1300px) {
    .c-block-06__text-02 {
        font-size: calc(22 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__text-02 {
        position: absolute;
        top: calc(-119 / var(--design-width) * 100vw);
        left: 50%;
        transform: translateX(-50%);
        width: calc(610 / var(--design-width) * 100vw);
        font-size: calc(33 / var(--design-width) * 100vw);
        line-height: 1.5454545455;
        white-space: initial;
    }
}
.c-block-06__list {
    margin-top: 15px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
@media screen and (max-width: 1300px) {
    .c-block-06__list {
        margin-top: calc(15 / var(--design-width) * 100vw);
        gap: calc(10 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__list {
        display: block;
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__item + .c-block-06__item {
        margin-top: calc(14 / var(--design-width) * 100vw);
    }
}
.c-block-06__link {
    position: relative;
    display: flex;
    align-items: center;
    padding-block: 21px 23px;
    padding-inline: 48px 35px;
    background-color: var(--color-black-1);
    height: 100%;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-06__link {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-block-06__link:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-block-06__link {
        padding-block: calc(21 / var(--design-width) * 100vw) calc(23 / var(--design-width) * 100vw);
        padding-inline: calc(48 / var(--design-width) * 100vw) calc(35 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__link {
        border-radius: calc(3 / var(--design-width) * 100vw);
        padding-block: calc(21 / var(--design-width) * 100vw) calc(29 / var(--design-width) * 100vw);
        padding-inline: calc(60 / var(--design-width) * 100vw) calc(52 / var(--design-width) * 100vw);
    }
}
.c-block-06__link::before {
    position: absolute;
    left: 21px;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 8px;
    border-color: transparent transparent transparent var(--color-yellow-1);
}
@media screen and (max-width: 1300px) {
    .c-block-06__link::before {
        left: calc(21 / var(--design-width) * 100vw);
        border-width: calc(5 / var(--design-width) * 100vw) 0 calc(5 / var(--design-width) * 100vw) calc(8 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__link::before {
        left: calc(32 / var(--design-width) * 100vw);
        border-width: calc(6 / var(--design-width) * 100vw) 0 calc(6 / var(--design-width) * 100vw) calc(12 / var(--design-width) * 100vw);
    }
}
.c-block-06__link::after {
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    display: block;
    background: url(../img/ico_new.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 16px;
    height: 12px;
}
@media screen and (max-width: 1300px) {
    .c-block-06__link::after {
        right: calc(17 / var(--design-width) * 100vw);
        width: calc(16 / var(--design-width) * 100vw);
        height: calc(12 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__link::after {
        right: calc(27 / var(--design-width) * 100vw);
        background-image: url(../img/sp/ico_new.png);
        width: calc(24 / var(--design-width) * 100vw);
        height: calc(18 / var(--design-width) * 100vw);
    }
}
.c-block-06__link--no-link {
    transition: none !important;
    pointer-events: none !important;
}
.c-block-06__link--no-link::after {
    content: none;
}
.c-block-06__link-text {
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-block-06__link-text {
        font-size: calc(15 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-06__link-text {
        font-size: calc(24 / var(--design-width) * 100vw);
        font-feature-settings: "palt" 1;
    }
}
.c-block-06--1 {
    border-color: var(--color-item-1-1);
}
.c-block-06--1 .c-block-06__head {
    background: linear-gradient(0deg, var(--color-item-1-1) 0%, var(--color-black-1) 100%);
}
.c-block-06--1 .c-block-06__title::before {
    background-image: url(../img/ico_01.png);
}
.c-block-06--1 .c-block-06__container-title {
    background: linear-gradient(0deg, var(--color-item-1-1) 0%, var(--color-black-1) 60%);
}
.c-block-06--1 .c-block-06__link::before {
    border-color: transparent transparent transparent var(--color-item-1-1);
}
.c-block-06--2 {
    border-color: var(--color-item-2-1);
}
.c-block-06--2 .c-block-06__head {
    background: linear-gradient(0deg, var(--color-item-2-2) 0%, var(--color-black-1) 100%);
}
.c-block-06--2 .c-block-06__title::before {
    background-image: url(../img/ico_02.png);
}
.c-block-06--2 .c-block-06__container-title {
    background: linear-gradient(0deg, var(--color-item-2-2) 0%, var(--color-black-1) 60%);
}
.c-block-06--2 .c-block-06__link::before {
    border-color: transparent transparent transparent var(--color-item-2-2);
}
.c-block-06--3 {
    border-color: var(--color-item-3-1);
}
.c-block-06--3 .c-block-06__head {
    background: linear-gradient(0deg, var(--color-item-3-1) 0%, var(--color-black-1) 100%);
}
.c-block-06--3 .c-block-06__title::before {
    background-image: url(../img/ico_03.png);
}
.c-block-06--3 .c-block-06__container-title {
    background: linear-gradient(0deg, var(--color-item-3-1) 0%, var(--color-black-1) 60%);
}
.c-block-06--3 .c-block-06__link::before {
    border-color: transparent transparent transparent var(--color-item-3-1);
}
.c-block-06--4 {
    border-color: var(--color-item-4-1);
}
.c-block-06--4 .c-block-06__head {
    background: linear-gradient(0deg, var(--color-item-4-1) 0%, var(--color-black-1) 100%);
}
.c-block-06--4 .c-block-06__title::before {
    background-image: url(../img/ico_04.png);
}
.c-block-06--4 .c-block-06__container-title {
    background: linear-gradient(0deg, var(--color-item-4-1) 0%, var(--color-black-1) 60%);
}
.c-block-06--4 .c-block-06__link::before {
    border-color: transparent transparent transparent var(--color-item-4-1);
}
.c-block-06--5 {
    border-color: var(--color-item-5-1);
}
.c-block-06--5 .c-block-06__head {
    background: linear-gradient(0deg, var(--color-item-5-2) 0%, var(--color-black-1) 100%);
}
.c-block-06--5 .c-block-06__title::before {
    background-image: url(../img/ico_05.png);
}
.c-block-06--5 .c-block-06__container-title {
    background: linear-gradient(0deg, var(--color-item-5-2) 0%, var(--color-black-1) 60%);
}
.c-block-06--5 .c-block-06__link::before {
    border-color: transparent transparent transparent var(--color-item-5-2);
}

/* ---------------------------------------------
*   c-block-select
--------------------------------------------- */
.c-block-select {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    -moz-column-gap: 18px;
         column-gap: 18px;
    margin-inline: auto 0;
    width: 203px;
}
@media screen and (max-width: 1300px) {
    .c-block-select {
        -moz-column-gap: calc(18 / var(--design-width) * 100vw);
             column-gap: calc(18 / var(--design-width) * 100vw);
        width: calc(203 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-select {
        align-items: center;
        -moz-column-gap: calc(32 / var(--design-width) * 100vw);
             column-gap: calc(32 / var(--design-width) * 100vw);
        width: calc(305 / var(--design-width) * 100vw);
    }
}
.c-block-select__img {
    width: 70px;
}
@media screen and (max-width: 1300px) {
    .c-block-select__img {
        width: calc(70 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-select__img {
        width: calc(102 / var(--design-width) * 100vw);
    }
}
.c-block-select__img img {
    width: 100%;
    display: block;
}
.c-block-select__select-wrap {
    position: relative;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-select__select-wrap {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-block-select__select-wrap:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
.c-block-select__select-wrap::after {
    position: absolute;
    top: 50%;
    right: 9px;
    transform: translateY(-50%);
    content: "";
    display: block;
    background: url(../img/event_news/img_arrow-01.svg) 0 0 no-repeat;
    background-size: 100% auto;
    width: 7px;
    aspect-ratio: 1;
    pointer-events: none;
}
@media screen and (max-width: 1300px) {
    .c-block-select__select-wrap::after {
        right: calc(9 / var(--design-width) * 100vw);
        width: calc(7 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-select__select-wrap::after {
        top: 53%;
        right: calc(16 / var(--design-width) * 100vw);
        width: calc(11 / var(--design-width) * 100vw);
    }
}
.c-block-select__select {
    width: 113px;
    height: 32px;
    border: 1px solid var(--color-white-1);
    padding-bottom: 2px;
    padding-inline: 30px 40px;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.4261111111;
    color: var(--color-white-1);
    background: linear-gradient(180deg, rgba(94, 94, 94, 0.7) 0%, rgba(0, 0, 0, 0.7) 100%);
    outline: none;
}
@media screen and (max-width: 1300px) {
    .c-block-select__select {
        width: calc(113 / var(--design-width) * 100vw);
        height: calc(32 / var(--design-width) * 100vw);
        padding-bottom: calc(2 / var(--design-width) * 100vw);
        padding-inline: calc(30 / var(--design-width) * 100vw) calc(40 / var(--design-width) * 100vw);
        font-size: calc(18 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-select__select {
        width: calc(170 / var(--design-width) * 100vw);
        height: calc(48 / var(--design-width) * 100vw);
        font-size: calc(26 / var(--design-width) * 100vw);
        padding-inline: calc(47 / var(--design-width) * 100vw) calc(60 / var(--design-width) * 100vw);
        padding-bottom: calc(4 / var(--design-width) * 100vw);
    }
}
.firefox .c-block-select__select {
    padding-inline: 30px;
}
@media screen and (max-width: 1300px) {
    .firefox .c-block-select__select {
        padding-inline: calc(30 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .firefox .c-block-select__select {
        padding-inline: calc(47 / var(--design-width) * 100vw) calc(60 / var(--design-width) * 100vw);
    }
}

.c-block-select__select option {
    color: var(--color-black-1);
}

/* ---------------------------------------------
*   c-block-scroll-btn
--------------------------------------------- */
.c-block-scroll-btn {
    position: absolute;
    top: 50%;
    right: 50%;
    transform: translate(calc(-50% + 630px), calc(-50% + 12px));
    display: flex;
    flex-direction: column;
    row-gap: 58px;
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 1300px) {
    .c-block-scroll-btn {
        transform: translate(calc(-50% + 630 / var(--design-width) * 100vw), calc(-50% + 12 / var(--design-width) * 100vw));
        row-gap: calc(58 / var(--design-width) * 100vw);
    }
}
.c-block-scroll-btn::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "";
    display: block;
    background-color: var(--color-gray-6);
    width: 2px;
    height: 60px;
}
@media screen and (max-width: 1300px) {
    .c-block-scroll-btn::after {
        width: calc(2 / var(--design-width) * 100vw);
        height: calc(60 / var(--design-width) * 100vw);
    }
}
.c-block-scroll-btn__btn {
    width: 37px;
    aspect-ratio: 1;
    pointer-events: all;
}
@media screen and (max-width: 1300px) {
    .c-block-scroll-btn__btn {
        width: calc(37 / var(--design-width) * 100vw);
    }
}
.c-block-scroll-btn__btn:nth-of-type(1) {
    rotate: 180deg;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-scroll-btn__btn {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-block-scroll-btn__btn:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}

/* ---------------------------------------------
*   c-block-light
--------------------------------------------- */
.c-block-light {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    place-items: center;
    filter: brightness(0.9);
    z-index: -1;
}
.c-block-light__img-01 {
    width: 114px;
}
@media screen and (max-width: 1300px) {
    .c-block-light__img-01 {
        width: calc(114 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-light__img-01 {
        width: calc(114 / var(--design-width) * 100vw);
    }
}
.c-block-light__img-02 {
    margin-top: -10px;
    width: 93px;
}
@media screen and (max-width: 1300px) {
    .c-block-light__img-02 {
        margin-top: calc(-10 / var(--design-width) * 100vw);
        width: calc(93 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-light__img-02 {
        width: calc(93 / var(--design-width) * 100vw);
    }
}
.c-block-light--red {
    translate: calc(-50% + 275px) calc(-50% - 340px);
    animation: blinking 2s ease-in-out infinite alternate, rotate 10s linear infinite;
    transform-origin: center 114px;
}
@media screen and (max-width: 1300px) {
    .c-block-light--red {
        translate: calc(-50% + 275 / var(--design-width) * 100vw) calc(-50% - 340 / var(--design-width) * 100vw);
        transform-origin: center calc(114 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-light--red {
        translate: initial;
        top: 0;
        right: calc(-200 / var(--design-width) * 100vw);
    }
}
.c-block-light--blue {
    translate: calc(-50% - 325px) calc(-50% - 260px);
    animation-delay: 1s;
    animation: blinking 3s ease-in-out infinite alternate, rotate 12s linear infinite;
    transform-origin: center 60px;
}
@media screen and (max-width: 1300px) {
    .c-block-light--blue {
        translate: calc(-50% - 325 / var(--design-width) * 100vw) calc(-50% - 260 / var(--design-width) * 100vw);
        transform-origin: center calc(60 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-light--blue {
        translate: initial;
        top: 0;
        right: initial;
        left: calc(140 / var(--design-width) * 100vw);
    }
}
.c-block-light--green {
    translate: calc(-50% + 520px) calc(-50% - 180px);
    animation-delay: 2s;
    animation: blinking 1s ease-in-out infinite alternate, rotate 15s linear infinite;
    transform-origin: center 150px;
}
@media screen and (max-width: 1300px) {
    .c-block-light--green {
        translate: calc(-50% + 520 / var(--design-width) * 100vw) calc(-50% - 180 / var(--design-width) * 100vw);
        transform-origin: center calc(150 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-light--green {
        translate: initial;
        top: calc(620 / var(--design-width) * 100vw);
        right: calc(-330 / var(--design-width) * 100vw);
    }
}
.c-block-light--yellow {
    translate: calc(-50% - 535px) calc(-50% - 15px);
    animation-delay: -2s;
    animation: blinking 2s ease-in-out infinite alternate, rotate 18s linear infinite;
    transform-origin: center bottom;
}
@media screen and (max-width: 1300px) {
    .c-block-light--yellow {
        translate: calc(-50% - 535 / var(--design-width) * 100vw) calc(-50% - 15 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-light--yellow {
        translate: initial;
        top: calc(60 / var(--design-width) * 100vw);
        right: initial;
        left: calc(30 / var(--design-width) * 100vw);
    }
}
.c-block-light--purple {
    translate: calc(-50% + 440px) calc(-50% + 410px);
    animation-delay: -1s;
    animation: blinking 2s ease-in-out infinite alternate, rotate 20s linear infinite;
    transform-origin: center 20px;
}
@media screen and (max-width: 1300px) {
    .c-block-light--purple {
        translate: calc(-50% + 440 / var(--design-width) * 100vw) calc(-50% + 410 / var(--design-width) * 100vw);
        transform-origin: center calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-light--purple {
        translate: initial;
        top: calc(1170 / var(--design-width) * 100vw);
        right: initial;
        left: calc(-50 / var(--design-width) * 100vw);
    }
}
@keyframes blinking {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes rotate {
    0% {
        rotate: 0deg;
    }
    100% {
        rotate: 360deg;
    }
}

/* ---------------------------------------------
*   c-block-07
--------------------------------------------- */
.c-block-07 {
    padding: 40px 48px 30px;
    border: 1px solid var(--color-blue-1);
    border-radius: 10px;
    background-color: var(--color-white-4);
}
@media screen and (max-width: 1300px) {
    .c-block-07 {
        padding: calc(40 / var(--design-width) * 100vw) calc(48 / var(--design-width) * 100vw) calc(30 / var(--design-width) * 100vw);
        border-radius: calc(10 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-07 {
        padding: calc(60 / var(--design-width) * 100vw) calc(45 / var(--design-width) * 100vw) calc(40 / var(--design-width) * 100vw);
        border-radius: calc(15 / var(--design-width) * 100vw);
    }
}
.c-block-07__head {
    padding-bottom: 22px;
    border-bottom: 1px dashed var(--color-black-1);
}
@media screen and (max-width: 1300px) {
    .c-block-07__head {
        padding-bottom: calc(22 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-07__head {
        padding-bottom: calc(36 / var(--design-width) * 100vw);
    }
}
.c-block-07__title {
    position: relative;
    padding-left: 28px;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.6363636364;
}
@media screen and (max-width: 1300px) {
    .c-block-07__title {
        padding-left: calc(28 / var(--design-width) * 100vw);
        font-size: calc(22 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-07__title {
        font-size: calc(32 / var(--design-width) * 100vw);
        line-height: 1.5;
    }
}
.c-block-07__title::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(calc(-50% + 2px));
    content: "";
    display: block;
    width: 6px;
    height: 77.7777777778%;
    min-height: 56px;
    background-color: var(--color-blue-2);
}
@media screen and (max-width: 1300px) {
    .c-block-07__title::before {
        width: calc(6 / var(--design-width) * 100vw);
        min-height: calc(56 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-07__title::before {
        width: calc(9 / var(--design-width) * 100vw);
        height: 90.9722222222%;
        min-height: calc(84 / var(--design-width) * 100vw);
    }
}
.c-block-07__body {
    margin-top: 28px;
}
@media screen and (max-width: 1300px) {
    .c-block-07__body {
        margin-top: calc(28 / var(--design-width) * 100vw);
    }
}
.c-block-07__text {
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 2.2857142857;
    font-feature-settings: "palt" 1;
}
@media screen and (max-width: 1300px) {
    .c-block-07__text {
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-07__text {
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 2;
    }
}

/* ---------------------------------------------
*   c-block-08
--------------------------------------------- */
.c-block-08 {
    display: flex;
    margin-inline: auto;
    width: 800px;
}
@media screen and (max-width: 1300px) {
    .c-block-08 {
        width: 800px;
    }
}
@media screen and (max-width: 1024px) {
    .c-block-08 {
        width: 100%;
        display: block;
    }
}
.c-block-08 + .c-block-08 {
    margin-top: 90px;
}
@media screen and (max-width: 1300px) {
    .c-block-08 + .c-block-08 {
        margin-top: calc(90 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-08 + .c-block-08 {
        margin-top: calc(70 / var(--design-width) * 100vw);
    }
}
.c-block-08__head {
    flex-shrink: 0;
}
.c-block-08__title {
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 2;
}
@media screen and (max-width: 1300px) {
    .c-block-08__title {
        font-size: calc(18 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-08__title {
        font-size: calc(28 / var(--design-width) * 100vw);
        line-height: 1.9285714286;
    }
}
.c-block-08__list {
    margin-top: 10px;
}
@media screen and (max-width: 1300px) {
    .c-block-08__list {
        margin-top: calc(10 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-08__list {
        margin-top: calc(20 / var(--design-width) * 100vw);
    }
}
.c-block-08__list--mt-20 {
    margin-top: 20px;
}
@media screen and (max-width: 1300px) {
    .c-block-08__list--mt-20 {
        margin-top: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-08__list--mt-20 {
        margin-top: calc(20 / var(--design-width) * 100vw);
    }
}
.c-block-08__item {
    position: relative;
    padding-left: 1em;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 2.2857142857;
    font-feature-settings: "palt" 1;
}
@media screen and (max-width: 1300px) {
    .c-block-08__item {
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-08__item {
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 2;
    }
}
.c-block-08__item::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "・";
    font-size: calc(14 / var(--root-fz) * 1rem);
    line-height: 2.2857142857;
}
@media screen and (max-width: 1300px) {
    .c-block-08__item::before {
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-08__item::before {
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 2;
    }
}
.c-block-08__img {
    width: 360px;
}
@media screen and (max-width: 1300px) {
    .c-block-08__img {
        width: calc(360 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-08__img {
        margin-inline: auto;
        width: calc(540 / var(--design-width) * 100vw);
    }
    .c-block-08__img img {
        width: 100%;
        display: block;
    }
}
.c-block-08__img--1 {
    margin-top: -55px;
}
@media screen and (max-width: 1300px) {
    .c-block-08__img--1 {
        margin-top: calc(-55 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-08__img--1 {
        margin-top: calc(30 / var(--design-width) * 100vw);
    }
}
.c-block-08__img--2 {
    margin-top: -100px;
}
@media screen and (max-width: 1300px) {
    .c-block-08__img--2 {
        margin-top: calc(-100 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-08__img--2 {
        margin-top: calc(-15 / var(--design-width) * 100vw);
    }
}
.c-block-08:nth-of-type(1) {
    -moz-column-gap: 110px;
         column-gap: 110px;
}
@media screen and (max-width: 1300px) {
    .c-block-08:nth-of-type(1) {
        -moz-column-gap: calc(110 / var(--design-width) * 100vw);
             column-gap: calc(110 / var(--design-width) * 100vw);
    }
}
.c-block-08:nth-of-type(2) {
    -moz-column-gap: 30px;
         column-gap: 30px;
}
@media screen and (max-width: 1300px) {
    .c-block-08:nth-of-type(2) {
        -moz-column-gap: calc(30 / var(--design-width) * 100vw);
             column-gap: calc(30 / var(--design-width) * 100vw);
    }
}
.c-block-08:nth-of-type(2) .c-block-08__head {
    order: 1;
}

/* ---------------------------------------------
*   c-block-09
--------------------------------------------- */
.c-block-09 {
    margin-top: 90px;
    margin-inline: auto;
    width: 800px;
}
@media screen and (max-width: 1300px) {
    .c-block-09 {
        margin-top: calc(90 / var(--design-width) * 100vw);
        width: calc(800 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-09 {
        width: 100%;
    }
}
.c-block-09__title {
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 2;
}
@media screen and (max-width: 1300px) {
    .c-block-09__title {
        font-size: calc(18 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-09__title {
        font-size: calc(28 / var(--design-width) * 100vw);
        line-height: 1.9285714286;
    }
}
.c-block-09__text {
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 2.2857142857;
    font-feature-settings: "palt" 1;
}
@media screen and (max-width: 1300px) {
    .c-block-09__text {
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-09__text {
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 2;
    }
}
.c-block-09__btn {
    margin-block: 40px 55px;
    margin-inline: auto;
}
@media screen and (max-width: 1300px) {
    .c-block-09__btn {
        margin-block: calc(40 / var(--design-width) * 100vw) calc(55 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-block-09__btn {
        margin-block: calc(40 / var(--design-width) * 100vw) calc(60 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-box
--------------------------------------------- */
/* ---------------------------------------------
*   c-btn-01
--------------------------------------------- */
.c-btn-01 {
    padding-block: 14px 10px;
    border-radius: 3px;
    background-color: var(--color-black-1);
    width: 305px;
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-01 {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-btn-01:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-btn-01 {
        padding-block: calc(14 / var(--design-width) * 100vw) calc(10 / var(--design-width) * 100vw);
        border-radius: calc(3 / var(--design-width) * 100vw);
        width: calc(305 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-btn-01 {
        padding-block: calc(20 / var(--design-width) * 100vw) calc(18 / var(--design-width) * 100vw);
        border: 1px solid var(--color-gray-7);
        border-radius: calc(4.5 / var(--design-width) * 100vw);
        width: calc(417 / var(--design-width) * 100vw);
        display: block;
    }
}
.c-btn-01__text {
    position: relative;
    padding-left: 20px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-btn-01__text {
        padding-left: calc(20 / var(--design-width) * 100vw);
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-btn-01__text {
        padding-left: calc(30 / var(--design-width) * 100vw);
        font-size: calc(24 / var(--design-width) * 100vw);
        font-weight: 500;
    }
}
.c-btn-01__text::before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 8px;
    border-color: transparent transparent transparent var(--color-yellow-1);
}
@media screen and (max-width: 1300px) {
    .c-btn-01__text::before {
        border-width: calc(5 / var(--design-width) * 100vw) 0 calc(5 / var(--design-width) * 100vw) calc(8 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-btn-01__text::before {
        border-width: calc(7 / var(--design-width) * 100vw) 0 calc(7 / var(--design-width) * 100vw) calc(11 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-btn-page-top
--------------------------------------------- */
.c-btn-page-top {
    position: absolute;
    display: block;
    right: 100px;
    bottom: -140px;
    transform: translateY(50%);
    display: block;
    width: 60px;
    aspect-ratio: 1;
    z-index: 1;
    background-color: var(--color-black-1);
}
@media screen and (max-width: 1300px) {
    .c-btn-page-top {
        right: 7.6923076923%;
        bottom: calc(-140 / var(--design-width) * 100vw);
        width: calc(60 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-btn-page-top {
        right: 6.6666666667%;
        bottom: calc(-180 / var(--design-width) * 100vw);
        width: calc(90 / var(--design-width) * 100vw);
    }
    .c-btn-page-top img {
        display: block;
        width: 100%;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-page-top img {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-btn-page-top img:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
.c-btn-page-top:has(.c-btn-page-top__text) {
    bottom: -100px;
    width: initial;
    aspect-ratio: initial;
    background-color: transparent;
}
@media screen and (max-width: 1024px) {
    .c-btn-page-top:has(.c-btn-page-top__text) {
        bottom: calc(-100 / var(--design-width) * 100vw);
    }
}
.c-btn-page-top__text {
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1;
    color: var(--color-white-1);
    text-decoration: underline;
}
@media screen and (max-width: 1024px) {
    .c-btn-page-top__text {
        font-size: calc(18 / var(--design-width) * 100vw);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-page-top__text:hover {
        text-decoration: none;
    }
}
.c-btn-page-top--lower {
    bottom: 0;
}
.c-btn-page-top--lower:has(.c-btn-page-top__text) {
    bottom: 40px;
}
@media screen and (max-width: 1024px) {
    .c-btn-page-top--lower:has(.c-btn-page-top__text) {
        bottom: calc(40 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-btn-02
--------------------------------------------- */
.c-btn-02 {
    display: block;
    background-color: var(--color-blue-1);
    padding-block: 9px 12px;
    padding-inline: 72px 50px;
    border-radius: 3px;
    width: 305px;
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-02 {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-btn-02:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-btn-02 {
        padding-block: calc(9 / var(--design-width) * 100vw) calc(12 / var(--design-width) * 100vw);
        padding-inline: calc(72 / var(--design-width) * 100vw) calc(50 / var(--design-width) * 100vw);
        border-radius: calc(3 / var(--design-width) * 100vw);
        width: calc(305 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-btn-02 {
        padding-block: calc(7 / var(--design-width) * 100vw) calc(13 / var(--design-width) * 100vw);
        padding-inline: calc(110 / var(--design-width) * 100vw) calc(100 / var(--design-width) * 100vw);
        width: calc(457 / var(--design-width) * 100vw);
    }
}
.c-btn-02__text {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-btn-02__text {
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-btn-02__text {
        font-size: calc(24 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   logo
--------------------------------------------- */
.logo-card {
    margin-top: 40px;
    margin-bottom: -20px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-items: center;
    align-items: center;
}

.logo-card-img {
    margin-top: 10px;
    margin-bottom: 10px;
}

.hover-comment {
    display: grid;
    width: 200px;
    padding: 4px;
    border-radius: 5px;
    background: transparent;
    color: transparent;
    font-weight: bold;
    text-align: center;
    z-index: 1;
    justify-self: center;
    align-self: flex-end;
    font-size: 15px;
}

.logo-card-img:hover + .hover-comment {
    display: grid;
    width: 200px;
    padding: 4px;
    border-radius: 5px;
    background: rgba(38, 71, 178, 0.9490196078);
    color: #fff;
    font-weight: bold;
    text-align: center;
    z-index: 1;
    justify-self: center;
    align-self: flex-end;
    font-size: 15px;
}

.logo-card-img:nth-of-type(1) {
    grid-column: 1/1;
    grid-row: 1/1;
}

.logo-card-img:nth-of-type(2) {
    grid-column: 2/2;
    grid-row: 1/1;
}

.logo-card-img:nth-of-type(3) {
    grid-column: 3/3;
    grid-row: 1/1;
}

.logo-card-img:nth-of-type(4) {
    grid-column: 4/4;
    grid-row: 1/1;
}

.logo-card-img:nth-of-type(5) {
    grid-column: 1/1;
    grid-row: 3/3;
}

.logo-card-img:nth-of-type(6) {
    grid-column: 2/2;
    grid-row: 3/3;
}

.logo-card-img:nth-of-type(7) {
    grid-column: 3/3;
    grid-row: 3/3;
}

.logo-card-img:nth-of-type(8) {
    grid-column: 4/4;
    grid-row: 3/3;
}

.hover-comment:nth-of-type(1) {
    grid-column: 1/1;
    grid-row: 2/2;
}

.hover-comment:nth-of-type(2) {
    grid-column: 2/2;
    grid-row: 2/2;
}

.hover-comment:nth-of-type(3) {
    grid-column: 3/3;
    grid-row: 2/2;
}

.hover-comment:nth-of-type(4) {
    grid-column: 4/4;
    grid-row: 2/2;
}

.hover-comment:nth-of-type(5) {
    grid-column: 1/1;
    grid-row: 4/4;
}

.hover-comment:nth-of-type(6) {
    grid-column: 2/2;
    grid-row: 4/4;
}

.hover-comment:nth-of-type(7) {
    grid-column: 3/3;
    grid-row: 4/4;
}

.hover-comment:nth-of-type(8) {
    grid-column: 4/4;
    grid-row: 4/4;
}

@media screen and (max-width: 1024px) {
    .logo-card {
        margin-top: 40px;
        margin-bottom: 40px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        -moz-column-gap: 10px;
             column-gap: 10px;
        justify-items: center;
        align-items: center;
    }
    .logo-card-img {
        margin-top: 10px;
        margin-bottom: 10px;
    }
    .hover-comment {
        display: grid;
        width: auto;
        padding: 2px;
        border-radius: 5px;
        background: transparent;
        color: transparent;
        font-weight: bold;
        text-align: center;
        font-size: calc(20 / var(--design-width) * 100vw);
    }
    .logo-card-img:hover + .hover-comment {
        display: grid;
        width: auto;
        padding: 2px;
        border-radius: 5px;
        background: rgba(38, 71, 178, 0.9490196078);
        color: #fff;
        font-weight: bold;
        text-align: center;
        font-size: calc(20 / var(--design-width) * 100vw);
    }
    .logo-card-img:nth-of-type(1) {
        grid-column: 1/1;
        grid-row: 1/1;
    }
    .logo-card-img:nth-of-type(2) {
        grid-column: 2/2;
        grid-row: 1/1;
    }
    .logo-card-img:nth-of-type(3) {
        grid-column: 1/1;
        grid-row: 3/3;
    }
    .logo-card-img:nth-of-type(4) {
        grid-column: 2/2;
        grid-row: 3/3;
    }
    .logo-card-img:nth-of-type(5) {
        grid-column: 1/1;
        grid-row: 5/5;
    }
    .logo-card-img:nth-of-type(6) {
        grid-column: 2/2;
        grid-row: 5/5;
    }
    .logo-card-img:nth-of-type(7) {
        grid-column: 1/1;
        grid-row: 7/7;
    }
    .logo-card-img:nth-of-type(8) {
        grid-column: 2/2;
        grid-row: 7/7;
    }
    .hover-comment:nth-of-type(1) {
        grid-column: 1/1;
        grid-row: 2/2;
    }
    .hover-comment:nth-of-type(2) {
        grid-column: 2/2;
        grid-row: 2/2;
    }
    .hover-comment:nth-of-type(3) {
        grid-column: 1/1;
        grid-row: 4/4;
    }
    .hover-comment:nth-of-type(4) {
        grid-column: 2/2;
        grid-row: 4/4;
    }
    .hover-comment:nth-of-type(5) {
        grid-column: 1/1;
        grid-row: 6/6;
    }
    .hover-comment:nth-of-type(6) {
        grid-column: 2/2;
        grid-row: 6/6;
    }
    .hover-comment:nth-of-type(7) {
        grid-column: 1/1;
        grid-row: 8/8;
    }
    .hover-comment:nth-of-type(8) {
        grid-column: 2/2;
        grid-row: 8/8;
    }
}
/* ---------------------------------------------
*   c-card-01
--------------------------------------------- */
.c-card-01-wrap {
    margin-top: 30px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 40px;
         column-gap: 40px;
}
@media screen and (max-width: 1300px) {
    .c-card-01-wrap {
        margin-top: calc(30 / var(--design-width) * 100vw);
        -moz-column-gap: calc(40 / var(--design-width) * 100vw);
             column-gap: calc(40 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-01-wrap {
        display: flex;
        margin-top: 0;
        -moz-column-gap: 0;
             column-gap: 0;
    }
}

@media screen and (max-width: 1024px) {
    .c-card-01 {
        width: 100%;
        flex-shrink: 0;
    }
}
.c-card-01:nth-of-type(1) {
    margin-top: 0;
}
@media screen and (max-width: 1300px) {
    .c-card-01:nth-of-type(1) {
        margin-top: calc(0 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-01:nth-of-type(1) {
        margin-top: 0;
    }
}
.c-card-01:nth-of-type(3) {
    margin-top: 0;
    z-index: 1;
}
@media screen and (max-width: 1300px) {
    .c-card-01:nth-of-type(3) {
        margin-top: calc(0 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-01:nth-of-type(3) {
        margin-top: 0;
    }
}
.c-card-01__img {
    width: 100%;
}
@media screen and (max-width: 1024px) {
    .c-card-01__img {
        border-radius: calc(15 / var(--design-width) * 100vw);
        overflow: hidden;
    }
}
.c-card-01__img img {
    width: 100%;
    aspect-ratio: 340/407; /*事例画像の縦横指定*/
    -o-object-fit: cover;
       object-fit: cover;
}
.c-card-01__title {
    margin-top: 28px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-gray-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-card-01__title {
        margin-top: calc(28 / var(--design-width) * 100vw);
        padding-bottom: calc(12 / var(--design-width) * 100vw);
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-01__title {
        margin-top: calc(40 / var(--design-width) * 100vw);
        padding-bottom: calc(18 / var(--design-width) * 100vw);
        font-size: calc(24 / var(--design-width) * 100vw);
    }
}
.c-card-01__link {
    position: relative;
    display: block;
    margin-top: 18px;
    padding-right: 40px;
}
@media screen and (max-width: 1300px) {
    .c-card-01__link {
        margin-top: calc(18 / var(--design-width) * 100vw);
        padding-right: calc(40 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-01__link {
        padding-right: calc(80 / var(--design-width) * 100vw);
        line-height: 1;
    }
}
.c-card-01__link::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: "";
    display: block;
    background: url(../img/common/ico_arrow-01.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 24px;
    aspect-ratio: 1;
}
@media screen and (max-width: 1300px) {
    .c-card-01__link::after {
        width: calc(24 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-01__link::after {
        background-image: url(../img/common/sp/ico_arrow-01.png);
        width: calc(36 / var(--design-width) * 100vw);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-01__link {
        transition: opacity 0.3s;
    }
    .c-card-01__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-card-01__link-text {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-orange-1);
}
@media screen and (max-width: 1300px) {
    .c-card-01__link-text {
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-01__link-text {
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 1.5;
    }
}
.c-card-01__text {
    margin-top: 10px;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8571428571;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-card-01__text {
        margin-top: calc(10 / var(--design-width) * 100vw);
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-01__text {
        margin-top: calc(12 / var(--design-width) * 100vw);
        font-size: calc(22 / var(--design-width) * 100vw);
        line-height: 1.7727272727;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

/* ---------------------------------------------
*   c-card-02
--------------------------------------------- */
.c-card-02-wrap {
    position: relative;
    margin-top: 65px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    z-index: 1;
}
@media screen and (max-width: 1300px) {
    .c-card-02-wrap {
        margin-top: calc(65 / var(--design-width) * 100vw);
        gap: calc(22 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-02-wrap {
        display: flex;
        gap: 0;
        margin-top: 0;
    }
}
@media screen and (max-width: 1024px) {
    .c-card-02-wrap--lower {
        display: block;
        margin-top: calc(70 / var(--design-width) * 100vw);
    }
}

.c-card-02 {
    padding: 28px 24px 43px;
}
@media screen and (max-width: 1300px) {
    .c-card-02 {
        padding: calc(28 / var(--design-width) * 100vw) calc(24 / var(--design-width) * 100vw) calc(43 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-02 {
        padding: calc(60 / var(--design-width) * 100vw) calc(36 / var(--design-width) * 100vw);
        width: 100%;
        flex-shrink: 0;
    }
}
.c-card-02:nth-of-type(3n + 1) {
    background: url(../img/common/bg_card-01.png) 0 0 no-repeat;
    background-size: 100% auto;
}
.c-card-02:nth-of-type(3n + 2) {
    background: url(../img/common/bg_card-02.png) 0 0 no-repeat;
    background-size: 100% auto;
}
.c-card-02:nth-of-type(3n + 3) {
    background: url(../img/common/bg_card-03.png) 0 0 no-repeat;
    background-size: 100% auto;
}
.c-card-02__img {
    width: 100%;
}
.c-card-02__img img {
    width: 100%;
    aspect-ratio: 304/212;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-card-02__title {
    margin-top: 45px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--color-gray-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-card-02__title {
        margin-top: calc(45 / var(--design-width) * 100vw);
        padding-bottom: calc(18 / var(--design-width) * 100vw);
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-02__title {
        margin-top: calc(65 / var(--design-width) * 100vw);
        padding-bottom: calc(30 / var(--design-width) * 100vw);
        font-size: calc(24 / var(--design-width) * 100vw);
    }
}
.c-card-02__link {
    position: relative;
    display: block;
    margin-top: 18px;
    padding-right: 40px;
}
@media screen and (max-width: 1300px) {
    .c-card-02__link {
        margin-top: calc(18 / var(--design-width) * 100vw);
        padding-right: calc(40 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-02__link {
        margin-top: calc(28 / var(--design-width) * 100vw);
        padding-right: calc(80 / var(--design-width) * 100vw);
        line-height: 1;
    }
}
.c-card-02__link::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: "";
    display: block;
    background: url(../img/common/ico_arrow-01.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 24px;
    aspect-ratio: 1;
}
@media screen and (max-width: 1300px) {
    .c-card-02__link::after {
        width: calc(24 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-02__link::after {
        background-image: url(../img/common/sp/ico_arrow-01.png);
        width: calc(36 / var(--design-width) * 100vw);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-02__link {
        transition: opacity 0.3s;
    }
    .c-card-02__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-card-02__link-text {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-orange-1);
}
@media screen and (max-width: 1300px) {
    .c-card-02__link-text {
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-02__link-text {
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 1.5;
    }
}
.c-card-02__text {
    margin-top: 10px;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8571428571;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-card-02__text {
        margin-top: calc(10 / var(--design-width) * 100vw);
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-02__text {
        margin-top: calc(20 / var(--design-width) * 100vw);
        font-size: calc(22 / var(--design-width) * 100vw);
        line-height: 1.7727272727;
    }
}
@media screen and (max-width: 1024px) {
    .c-card-02-wrap--lower .c-card-02 {
        padding: calc(65 / var(--design-width) * 100vw) calc(70 / var(--design-width) * 100vw) calc(50 / var(--design-width) * 100vw);
    }
    .c-card-02-wrap--lower .c-card-02:nth-of-type(n + 2) {
        margin-top: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-02-wrap--lower .c-card-02 .c-card-02__img {
        border-radius: calc(15 / var(--design-width) * 100vw);
        overflow: hidden;
    }
}
.c-card-02-wrap--lower .c-card-02 .c-card-02__title {
    margin-top: calc(40 / var(--design-width) * 100vw);
    padding-bottom: calc(18 / var(--design-width) * 100vw);
}
.c-card-02-wrap--lower .c-card-02 .c-card-02__link {
    margin-top: calc(25 / var(--design-width) * 100vw);
}

/* ---------------------------------------------
*   c-card-03
--------------------------------------------- */
.c-card-03-wrap {
    position: relative;
    margin-top: 30px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    z-index: 1;
}

@media screen and (max-width: 1300px) {
    .c-card-03-wrap {
        margin-top: calc(30 / var(--design-width) * 100vw);
        gap: calc(22 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-03-wrap {
        display: flex;
        gap: 0;
        margin-top: 0;
    }
}
@media screen and (max-width: 1024px) {
    .c-card-03-wrap--lower {
        display: block;
        margin-top: calc(35 / var(--design-width) * 100vw);
    }
}
.c-card-03 {
    background-color: rgb(215, 221, 221);
    background-size: 100% auto;
    padding: 28px 24px 43px;
}

@media screen and (max-width: 1300px) {
    .c-card-03 {
        padding: calc(28 / var(--design-width) * 100vw) calc(24 / var(--design-width) * 100vw) calc(43 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-03 {
        padding: calc(60 / var(--design-width) * 100vw) calc(36 / var(--design-width) * 100vw);
        width: 100%;
        flex-shrink: 0;
    }
}

.c-card-03__img {
    width: 100%;
}

.c-card-03__img img {
    width: 100%;
    aspect-ratio: 304/212;
    -o-object-fit: cover;
    object-fit: cover;
}

.c-card-03__title {
    margin-top: 45px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--color-gray-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1;
    color: var(--color-white-1);
}

@media screen and (max-width: 1300px) {
    .c-card-03__title {
        margin-top: calc(45 / var(--design-width) * 100vw);
        padding-bottom: calc(18 / var(--design-width) * 100vw);
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-03__title {
        margin-top: calc(65 / var(--design-width) * 100vw);
        padding-bottom: calc(30 / var(--design-width) * 100vw);
        font-size: calc(24 / var(--design-width) * 100vw);
    }
}
.c-card-03__link {
    position: relative;
    display: block;
    margin-top: 18px;
    padding-right: 40px;
}

@media screen and (max-width: 1300px) {
    .c-card-03__link {
        margin-top: calc(18 / var(--design-width) * 100vw);
        padding-right: calc(40 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-03__link {
        margin-top: calc(28 / var(--design-width) * 100vw);
        padding-right: calc(80 / var(--design-width) * 100vw);
        line-height: 1;
    }
}
.c-card-03__link::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: "";
    display: block;
    background: url(../img/common/ico_arrow-01.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 24px;
    aspect-ratio: 1;
}

@media screen and (max-width: 1300px) {
    .c-card-03__link::after {
        width: calc(24 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-03__link::after {
        background-image: url(../img/common/sp/ico_arrow-01.png);
        width: calc(36 / var(--design-width) * 100vw);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-03__link {
        transition: opacity 0.3s;
    }
    .c-card-03__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-card-03__link-text {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-orange-1);
}

@media screen and (max-width: 1300px) {
    .c-card-03__link-text {
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-03__link-text {
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 1.5;
    }
}
.c-card-03__text {
    margin-top: 10px;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8571428571;
    /* color: #000; */
}

@media screen and (max-width: 1300px) {
    .c-card-03__text {
        margin-top: calc(10 / var(--design-width) * 100vw);
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-03__text {
        margin-top: calc(20 / var(--design-width) * 100vw);
        font-size: calc(22 / var(--design-width) * 100vw);
        line-height: 1.7727272727;
    }
}
@media screen and (max-width: 1024px) {
    .c-card-03-wrap--lower .c-card-03 {
        padding: calc(65 / var(--design-width) * 100vw) calc(70 / var(--design-width) * 100vw) calc(50 / var(--design-width) * 100vw);
    }
    .c-card-03-wrap--lower .c-card-03:nth-of-type(n + 2) {
        margin-top: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-card-03-wrap--lower .c-card-03 .c-card-03__img {
        border-radius: calc(15 / var(--design-width) * 100vw);
        overflow: hidden;
    }
}
.c-card-03-wrap--lower .c-card-03 .c-card-03__title {
    margin-top: calc(40 / var(--design-width) * 100vw);
    padding-bottom: calc(18 / var(--design-width) * 100vw);
}

.c-card-03-wrap--lower .c-card-03 .c-card-03__link {
    margin-top: calc(25 / var(--design-width) * 100vw);
}

/* ---------------------------------------------
*   c-cassette
--------------------------------------------- */
.c-cassette-01__btn {
    margin-top: 31px;
    margin-inline: auto;
}
@media screen and (max-width: 1300px) {
    .c-cassette-01__btn {
        margin-top: calc(31 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-cassette-01__btn {
        margin-top: calc(50 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-cassette-02
--------------------------------------------- */
.c-cassette-02 {
    margin-top: 97px;
    margin-inline: auto;
    width: 800px;
}
@media screen and (max-width: 1300px) {
    .c-cassette-02 {
        margin-top: calc(97 / var(--design-width) * 100vw);
        width: calc(800 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-cassette-02 {
        margin-top: calc(145 / var(--design-width) * 100vw);
        width: 100%;
    }
}
.c-cassette-02 + .c-cassette-02 {
    margin-top: 90px;
}
@media screen and (max-width: 1300px) {
    .c-cassette-02 + .c-cassette-02 {
        margin-top: calc(90 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-cassette-02 + .c-cassette-02 {
        margin-top: calc(105 / var(--design-width) * 100vw);
    }
}
.c-cassette-02__title {
    position: relative;
    padding-left: 28px;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.6363636364;
}
@media screen and (max-width: 1300px) {
    .c-cassette-02__title {
        font-size: calc(22 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-cassette-02__title {
        font-size: calc(32 / var(--design-width) * 100vw);
        line-height: 1.6875;
    }
}
.c-cassette-02__title::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(calc(-50% + 2px));
    content: "";
    display: block;
    width: 6px;
    height: 77.7777777778%;
    min-height: 56px;
    background-color: var(--color-blue-2);
}
@media screen and (max-width: 1300px) {
    .c-cassette-02__title::before {
        width: calc(6 / var(--design-width) * 100vw);
        min-height: calc(56 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-cassette-02__title::before {
        width: calc(9 / var(--design-width) * 100vw);
        height: 90.9722222222%;
        min-height: calc(84 / var(--design-width) * 100vw);
    }
}
.c-cassette-02__body {
    margin-top: 40px;
}
@media screen and (max-width: 1300px) {
    .c-cassette-02__body {
        margin-top: calc(40 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-figure
--------------------------------------------- */
/* ---------------------------------------------
*   c-form
--------------------------------------------- */
/* ---------------------------------------------
*   c-img
--------------------------------------------- */
/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
.c-kv {
    position: relative;
    width: 100%;
    height: 100dvh;
}
@media screen and (max-width: 1024px) {
    .c-kv {
        min-height: initial;
        height: calc(410 / var(--design-width) * 100vw);
    }
}
.c-kv__inner {
    position: relative;
    display: grid;
    place-items: center;
    margin-inline: auto;
    width: 100%;
    height: 100dvh;
}
@media screen and (max-width: 1024px) {
    .c-kv__inner {
        height: 100%;
    }
}
.c-kv__movie {
    width: 100%;
    height: 100%;
}
.c-kv__movie iframe {
    width: 100%;
    height: 100%;
}
.c-kv__btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 332px;
}
@media (hover: hover) and (pointer: fine) {
    .c-kv__btn {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-kv__btn:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-kv__btn {
        width: calc(332 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-kv__btn {
        top: initial;
        bottom: calc(-76 / var(--design-width) * 100vw);
        right: 0;
        display: block;
        width: calc(76 / var(--design-width) * 100vw);
        z-index: 999;
    }
}
@media screen and (max-width: 1024px) and (hover: hover) and (pointer: fine) {
    .c-kv__btn {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-kv__btn:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1024px) {
    .c-kv__btn.is-fixed {
        position: fixed;
        top: 0;
        bottom: initial;
    }
    .c-kv__btn img {
        display: block;
        width: 100%;
    }
}
.c-kv__scroll-img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 157px;
}
@media screen and (max-width: 1300px) {
    .c-kv__scroll-img {
        width: calc(157 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-link
--------------------------------------------- */
/* ---------------------------------------------
*   c-list-01
--------------------------------------------- */
.c-list-01__item {
    display: flex;
    align-items: center;
    -moz-column-gap: 38px;
         column-gap: 38px;
    padding-inline: 9px 20px;
    padding-bottom: 42px;
    border-bottom: 1px solid var(--color-gray-2);
}
@media screen and (max-width: 1300px) {
    .c-list-01__item {
        -moz-column-gap: calc(38 / var(--design-width) * 100vw);
             column-gap: calc(38 / var(--design-width) * 100vw);
        padding-inline: calc(9 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw);
        padding-bottom: calc(42 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-list-01__item {
        -moz-column-gap: calc(48 / var(--design-width) * 100vw);
             column-gap: calc(48 / var(--design-width) * 100vw);
        padding-inline: calc(15 / var(--design-width) * 100vw) calc(6 / var(--design-width) * 100vw);
        padding-bottom: calc(63 / var(--design-width) * 100vw);
    }
}
.c-list-01__item + .c-list-01__item {
    padding-top: 45px;
}
@media screen and (max-width: 1300px) {
    .c-list-01__item + .c-list-01__item {
        padding-top: calc(45 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-list-01__item + .c-list-01__item {
        padding-top: calc(68 / var(--design-width) * 100vw);
    }
}
.c-list-01__item-container {
    display: flex;
    align-items: center;
    -moz-column-gap: 38px;
         column-gap: 38px;
    flex: 1;
}
@media screen and (max-width: 1300px) {
    .c-list-01__item-container {
        -moz-column-gap: calc(38 / var(--design-width) * 100vw);
             column-gap: calc(38 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-list-01__item-container {
        display: block;
    }
}
.c-list-01__date {
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.02em;
    font-family: var(--ff-roboto);
    color: var(--color-white-1);
    width: 110px;
}
@media screen and (max-width: 1300px) {
    .c-list-01__date {
        font-size: calc(22 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-list-01__date {
        font-size: calc(30 / var(--design-width) * 100vw);
    }
}
.c-list-01__label {
    display: block;
    padding-block: 4px 5px;
    text-align: center;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1;
    color: var(--color-white-1);
    white-space: nowrap;
    width: 103px;
}
@media screen and (max-width: 1300px) {
    .c-list-01__label {
        padding-block: calc(4 / var(--design-width) * 100vw) calc(5 / var(--design-width) * 100vw);
        font-size: calc(14 / var(--design-width) * 100vw);
        width: calc(103 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-list-01__label {
        padding-block: calc(4 / var(--design-width) * 100vw) calc(5 / var(--design-width) * 100vw);
        width: calc(154 / var(--design-width) * 100vw);
        font-size: calc(22 / var(--design-width) * 100vw);
    }
}
.c-list-01__label--event {
    background-color: var(--color-label-1);
}
.c-list-01__label--seminar {
    background-color: var(--color-label-2);
}
.c-list-01__label--news {
    background-color: var(--color-label-3);
}
.c-list-01__label--other {
    background-color: var(--color-label-4);
}
.c-list-01__label--press {
    background-color: var(--color-label-5);
}
.c-list-01__link {
    flex: 1;
}
@media (hover: hover) and (pointer: fine) {
    .c-list-01__link {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-list-01__link:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1024px) {
    .c-list-01__link {
        margin-top: calc(19 / var(--design-width) * 100vw);
        line-height: 0;
        display: block;
    }
}
.c-list-01__link[target=_blank] .c-list-01__link-text {
    position: relative;
}
.c-list-01__link[target=_blank] .c-list-01__link-text::after {
    position: absolute;
    right: -41px;
    bottom: 2px;
    content: "";
    display: block;
    background: url(../img/common/ico_new.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 17px;
    height: 12px;
}
@media screen and (max-width: 1300px) {
    .c-list-01__link[target=_blank] .c-list-01__link-text::after {
        right: calc(-41 / var(--design-width) * 100vw);
        bottom: calc(2 / var(--design-width) * 100vw);
        width: calc(17 / var(--design-width) * 100vw);
        height: calc(12 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-list-01__link[target=_blank] .c-list-01__link-text::after {
        right: calc(-41 / var(--design-width) * 100vw);
        bottom: 0;
        width: calc(25 / var(--design-width) * 100vw);
        height: calc(20 / var(--design-width) * 100vw);
    }
}
.c-list-01__link[href*=".pdf" i] .c-list-01__link-text {
    position: relative;
}
.c-list-01__link[href*=".pdf" i] .c-list-01__link-text::after {
    position: absolute;
    right: -41px;
    bottom: -10px;
    content: "";
    display: block;
    background: url(../img/common/ico_pdf.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 23px;
    height: 25px;
}
@media screen and (max-width: 1300px) {
    .c-list-01__link[href*=".pdf" i] .c-list-01__link-text::after {
        right: calc(-41 / var(--design-width) * 100vw);
        bottom: calc(-10 / var(--design-width) * 100vw);
        width: calc(23 / var(--design-width) * 100vw);
        height: calc(25 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-list-01__link[href*=".pdf" i] .c-list-01__link-text::after {
        right: calc(-41 / var(--design-width) * 100vw);
        bottom: calc(-5 / var(--design-width) * 100vw);
        width: calc(31 / var(--design-width) * 100vw);
        height: calc(33 / var(--design-width) * 100vw);
    }
}
.c-list-01__link-text-heading {
    display: block;
    margin-left: -10px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.625;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-list-01__link-text-heading {
        margin-left: calc(-10 / var(--design-width) * 100vw);
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-list-01__link-text-heading {
        margin-left: calc(-10 / var(--design-width) * 100vw);
        font-size: calc(24 / var(--design-width) * 100vw);
    }
}
.c-list-01__link-text {
    display: inline;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.8571428571;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-list-01__link-text {
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-list-01__link-text {
        font-size: calc(21 / var(--design-width) * 100vw);
        line-height: 1.8571428571;
    }
}
.c-list-01--lower {
    margin-top: 90px;
    margin-inline: auto;
    width: 763px;
    border-top: 1px solid var(--color-gray-2);
}
@media screen and (max-width: 1300px) {
    .c-list-01--lower {
        margin-top: calc(90 / var(--design-width) * 100vw);
        width: calc(763 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-list-01--lower {
        width: 100%;
    }
}
.c-list-01--lower .c-list-01__item:nth-of-type(1) {
    padding-top: 45px;
}
@media screen and (max-width: 1300px) {
    .c-list-01--lower .c-list-01__item:nth-of-type(1) {
        padding-top: calc(45 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-list-01--lower .c-list-01__item:nth-of-type(1) {
        padding-top: calc(68 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-modal
--------------------------------------------- */
/*  c-modal
--------------------------------------------- */
.c-modal {
    display: none;
}
.c-modal.is-open {
    display: block;
}
.c-modal__overlay {
    position: fixed;
    inset: 0;
    z-index: 999;
}
.c-modal__inner {
    display: grid;
    place-items: center;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
}
.c-modal__container {
    position: relative;
    width: min(100%, 900px);
    height: 653px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0);
}
@media screen and (max-width: 1300px) {
    .c-modal__container {
        width: min(100%, 900 / var(--design-width) * 100vw);
        height: calc(653 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-modal__container {
        padding-block: calc(74 / var(--design-width) * 100vw);
        height: 80vh;
        background: white;
    }
}
.c-modal__container-inner {
    margin-inline: auto;
    padding-block: 20px;
    width: 750px;
    height: 100%;
    overflow-y: auto;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-modal__container-inner {
        padding-block: calc(20 / var(--design-width) * 100vw);
        width: calc(750 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-modal__container-inner {
        padding-block: 0;
        width: calc(650 / var(--design-width) * 100vw);
    }
}
.c-modal__close-btn {
    position: absolute;
    top: 0;
    right: 18px;
    cursor: pointer;
    background-color: var(--color-gray-5);
    width: 38px;
    aspect-ratio: 1;
}
@media (hover: hover) and (pointer: fine) {
    .c-modal__close-btn {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-modal__close-btn:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-modal__close-btn {
        top: 0;
        right: calc(18 / var(--design-width) * 100vw);
        width: calc(38 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-modal__close-btn {
        top: 0;
        right: 0;
        width: calc(68 / var(--design-width) * 100vw);
    }
}
.c-modal__close-btn::before, .c-modal__close-btn::after {
    position: absolute;
    transform: translate(-50%, -50%);
    content: "";
    display: block;
    background-color: var(--color-white-1);
    width: 15px;
    height: 2px;
}
@media screen and (max-width: 1300px) {
    .c-modal__close-btn::before, .c-modal__close-btn::after {
        width: calc(15 / var(--design-width) * 100vw);
        height: calc(2 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-modal__close-btn::before, .c-modal__close-btn::after {
        width: calc(26 / var(--design-width) * 100vw);
        height: calc(2 / var(--design-width) * 100vw);
    }
}
.c-modal__close-btn::before {
    top: 63%;
    left: 43%;
    rotate: 45deg;
}
.c-modal__close-btn::after {
    top: 34%;
    left: 44%;
    rotate: -45deg;
}
@media screen and (max-width: 1024px) {
    .c-modal__close-btn::after {
        top: 37%;
    }
}

/* 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: mmfadeIn 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: mmfadeOut 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;
    }
}
/* ---------------------------------------------
*   c-section-01
--------------------------------------------- */
.c-section-01 {
    position: relative;
    width: 100%;
}
@media screen and (max-width: 1024px) {
    .c-section-01 {
        overflow: hidden;
    }
}
.c-section-01__inner {
    padding-block: 100px;
    background: url(../img/bg_01.png) center center no-repeat;
    background-size: cover;
    width: 100%;
    overflow: hidden;
    z-index: 1;
    backface-visibility: hidden;
    will-change: position;
}
@media screen and (max-width: 1300px) {
    .c-section-01__inner {
        padding-block: calc(100 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-01__inner {
        position: relative;
        height: initial;
        overflow: initial;
        padding-block: calc(140 / var(--design-width) * 100vw);
        padding-inline: 6.6666666667%;
        background-image: url(../img/sp/bg_01.png);
    }
}
.c-section-01__title-01 {
    margin-inline: auto;
    width: 640px;
}
@media screen and (max-width: 1300px) {
    .c-section-01__title-01 {
        width: calc(640 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-01__title-01 {
        transform: initial;
        width: calc(640 / var(--design-width) * 100vw);
    }
}
.c-section-01__title-01 img {
    display: block;
    width: 100%;
}
@media screen and (max-width: 1024px) {
    .c-section-01__contact-btn {
        position: absolute;
        top: 0;
        right: 0;
        width: calc(76 / var(--design-width) * 100vw);
        z-index: 999;
    }
}

/* ---------------------------------------------
*   c-section-02
--------------------------------------------- */
.c-section-02 {
    width: 100%;
    height: calc(100dvh + 2800px);
}
@media screen and (max-width: 1024px) {
    .c-section-02 {
        height: initial;
    }
}
.c-section-02__inner {
    position: sticky;
    top: 0;
    margin-inline: auto;
    background: url(../img/bg_02.png) center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100dvh;
    backface-visibility: hidden;
    overflow: hidden;
}
@media screen and (max-width: 1024px) {
    .c-section-02__inner {
        position: static;
        height: initial;
        overflow: initial;
        background-image: url(../img/sp/bg_02.png);
        background-size: 100vw calc(5400 / var(--design-width) * 100vw);
        background-position: center top;
        padding-block: calc(130 / var(--design-width) * 100vw) calc(175 / var(--design-width) * 100vw);
        padding-inline: 6.6666666667%;
    }
}
.c-section-02__title-01 {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(calc(-50% - 36px), calc(-50% - 318px));
    width: 1005px;
}
@media screen and (max-width: 1300px) {
    .c-section-02__title-01 {
        transform: translate(calc(-50% - 36 / var(--design-width) * 100vw), calc(-50% - 318 / var(--design-width) * 100vw));
        width: calc(1005 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-02__title-01 {
        position: static;
        transform: initial;
        width: calc(643 / var(--design-width) * 100vw);
    }
}
.c-section-02__title-01 img {
    display: block;
    width: 100%;
}
.c-section-02__scroll-img {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(calc(-50% + 550px), calc(-50% + 315px));
    width: 157px;
}
@media screen and (max-width: 1300px) {
    .c-section-02__scroll-img {
        transform: translate(calc(-50% + 550 / var(--design-width) * 100vw), calc(-50% + 315 / var(--design-width) * 100vw));
        width: calc(157 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-section-03
--------------------------------------------- */
.c-section-03 {
    padding-block: 70px;
}
@media screen and (max-width: 1300px) {
    .c-section-03 {
        padding-block: calc(70 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-03 {
        padding-block: calc(20 / var(--design-width) * 100vw);
    }
}
.c-section-03__inner {
    margin-inline: auto;
    width: 1100px;
}
@media screen and (max-width: 1300px) {
    .c-section-03__inner {
        width: calc(1100 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-03__inner {
        padding-inline: 6.6666666667%;
        width: 100%;
    }
}
.c-section-03__heading {
    text-align: center;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: bold;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-section-03__heading {
        font-size: calc(22 / var(--design-width) * 100vw);
    }
}
.c-section-03__btn {
    display: block;
    margin-top: 20px;
    margin-inline: auto;
    width: 632px;
}
@media (hover: hover) and (pointer: fine) {
    .c-section-03__btn {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-section-03__btn:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-section-03__btn {
        margin-top: calc(20 / var(--design-width) * 100vw);
        width: calc(632 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-03__btn {
        margin-top: calc(30 / var(--design-width) * 100vw);
        width: 100%;
    }
}
@media screen and (max-width: 1024px) {
    .c-section-03__btn img {
        display: block;
        width: 100%;
    }
}
.c-section-03:not(:has(+ .c-section-04--1)) {
    background-color: var(--color-black-2);
}

/* ---------------------------------------------
*   c-section-04
--------------------------------------------- */
.c-section-04 {
    padding-block: 167px 172px;
}
@media screen and (max-width: 1300px) {
    .c-section-04 {
        padding-block: calc(167 / var(--design-width) * 100vw) calc(172 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04 {
        padding-block: calc(197 / var(--design-width) * 100vw) calc(42 / var(--design-width) * 100vw);
    }
}
.c-section-04 + .c-section-04::before {
    position: absolute;
    left: 0;
    top: -465px;
    content: "";
    display: block;
    border-right: 100vw solid transparent;
    border-bottom: 465px solid var(--color-black-2);
}
@media screen and (max-width: 1300px) {
    .c-section-04 + .c-section-04::before {
        top: calc(-465 / var(--design-width) * 100vw);
        border-bottom: calc(465 / var(--design-width) * 100vw) solid var(--color-black-2);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04 + .c-section-04::before {
        top: calc(185 / var(--design-width) * 100vw);
        border-bottom: calc(260 / var(--design-width) * 100vw) solid var(--color-black-2);
        z-index: 1;
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04 + .c-section-04::after {
        position: absolute;
        left: 0;
        top: calc(-45 / var(--design-width) * 100vw);
        content: "";
        display: block;
        background-color: var(--color-black-1);
        width: 100vw;
        height: calc(490 / var(--design-width) * 100vw);
        z-index: 0;
    }
}
.c-section-04__inner {
    position: relative;
    margin-inline: auto;
    padding-inline: 100px;
    max-width: 1300px;
    z-index: 1;
}
@media screen and (max-width: 1300px) {
    .c-section-04__inner {
        padding-inline: calc(100 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04__inner {
        padding-inline: 6.6666666667%;
    }
}
.c-section-04__head {
    position: relative;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--color-white-1);
    z-index: 1;
}
@media screen and (max-width: 1300px) {
    .c-section-04__head {
        padding-bottom: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04__head {
        padding-bottom: calc(20 / var(--design-width) * 100vw);
    }
}
.c-section-04__head::before {
    position: absolute;
    top: -170px;
    left: -70px;
    content: "";
    display: block;
    background: url(../img/common/bg_parts-01.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 339px;
    height: 327px;
    z-index: -1;
}
@media screen and (max-width: 1300px) {
    .c-section-04__head::before {
        top: calc(-170 / var(--design-width) * 100vw);
        left: calc(-70 / var(--design-width) * 100vw);
        width: calc(339 / var(--design-width) * 100vw);
        height: calc(327 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04__head::before {
        top: calc(-195 / var(--design-width) * 100vw);
        left: calc(-98 / var(--design-width) * 100vw);
        width: calc(339 / var(--design-width) * 100vw);
        height: calc(327 / var(--design-width) * 100vw);
    }
}
.c-section-04__title {
    display: flex;
    align-items: center;
    -moz-column-gap: 10px;
         column-gap: 10px;
}
@media screen and (max-width: 1300px) {
    .c-section-04__title {
        -moz-column-gap: calc(10 / var(--design-width) * 100vw);
             column-gap: calc(10 / var(--design-width) * 100vw);
    }
}
.c-section-04__title-img-01 {
    display: block;
    width: 400px;
    height: 46px;
}
@media screen and (max-width: 1300px) {
    .c-section-04__title-img-01 {
        width: calc(400 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04__title-img-01 {
        width: calc(528 / var(--design-width) * 100vw);
        max-width: 400px;
    }
    .c-section-04__title-img-01 img {
        display: block;
        width: 100%;
    }
}
.c-section-04__title-img-02 {
    display: block;
    width: 294px;
}
@media screen and (max-width: 1300px) {
    .c-section-04__title-img-02 {
        width: calc(294 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04__title-img-02 {
        width: calc(436 / var(--design-width) * 100vw);
    }
    .c-section-04__title-img-02 img {
        display: block;
        width: 100%;
    }
}
.c-section-04__body-01 {
    position: relative;
    padding-top: 10px;
}
@media screen and (max-width: 1300px) {
    .c-section-04__body-01 {
        padding-top: calc(10 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04__body-01 {
        padding-top: calc(30 / var(--design-width) * 100vw);
    }
}
.c-section-04__body-02 {
    position: relative;
    padding-block: 10px 170px;
}
@media screen and (max-width: 1300px) {
    .c-section-04__body-02 {
        padding-block: calc(10 / var(--design-width) * 100vw) calc(170 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04__body-02 {
        padding-block: calc(75 / var(--design-width) * 100vw) 0;
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04__slide-wrapper {
        margin-right: calc(50% - 50vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04__slide-wrapper--1 {
        margin-top: calc(45 / var(--design-width) * 100vw);
    }
}
.c-section-04__text {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.875;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-section-04__text {
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04__text {
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 1.9166666667;
    }
}
.c-section-04__btn {
    margin: 2vw auto;
    display: block;
    width: 332px;
    z-index: 1;
}
@media (hover: hover) and (pointer: fine) {
    .c-section-04__btn {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-section-04__btn:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-section-04__btn {
        width: calc(332 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-04__btn {
        position: static;
        margin-top: calc(55 / var(--design-width) * 100vw);
        margin-inline: auto;
        width: calc(498 / var(--design-width) * 100vw);
    }
    .c-section-04__btn img {
        display: block;
        width: 100%;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-section-04__btn img {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-section-04__btn img:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
.c-section-04--2 {
    position: relative;
    background-color: var(--color-black-2);
}
@media screen and (max-width: 1024px) {
    .c-section-04--2 {
        padding-bottom: calc(197 / var(--design-width) * 100vw);
    }
}
.c-section-04--2 .c-section-04__body-02:not(:has(.c-section-04__btn)) {
    padding-bottom: 0;
}

/* ---------------------------------------------
*   c-section-05
--------------------------------------------- */
.c-section-05 {
    padding-block: 150px 140px;
    background: url(../img/bg_03.png) center center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 1300px) {
    .c-section-05 {
        padding-block: calc(150 / var(--design-width) * 100vw) calc(140 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-05 {
        padding-block: calc(167 / var(--design-width) * 100vw) calc(182 / var(--design-width) * 100vw);
        background-image: url(../img/sp/bg_03.png);
    }
}
.c-section-05__inner {
    position: relative;
    display: flex;
    -moz-column-gap: 80px;
         column-gap: 80px;
    margin-inline: auto;
    padding-inline: 100px;
    max-width: 1300px;
}
@media screen and (max-width: 1300px) {
    .c-section-05__inner {
        -moz-column-gap: calc(80 / var(--design-width) * 100vw);
             column-gap: calc(80 / var(--design-width) * 100vw);
        padding-inline: calc(100 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-05__inner {
        display: block;
        padding-inline: 6.6666666667vw;
    }
}
.c-section-05__title {
    width: 262px;
}
@media screen and (max-width: 1300px) {
    .c-section-05__title {
        width: calc(262 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-05__title {
        margin-inline: auto;
        width: calc(381 / var(--design-width) * 100vw);
    }
    .c-section-05__title img {
        display: block;
        width: 100%;
    }
}
.c-section-05__body {
    border-bottom: 1px solid var(--color-gray-2);
}
@media screen and (max-width: 1024px) {
    .c-section-05__body {
        margin-top: calc(105 / var(--design-width) * 100vw);
    }
}
.c-section-05__link {
    position: relative;
    display: block;
    margin-block: 15px;
    margin-inline: auto;
    padding-left: 20px;
    width: -moz-fit-content;
    width: fit-content;
}
@media (hover: hover) and (pointer: fine) {
    .c-section-05__link {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-section-05__link:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-section-05__link {
        margin-block: calc(15 / var(--design-width) * 100vw);
        padding-left: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-05__link {
        margin-block: calc(25 / var(--design-width) * 100vw);
        padding-left: calc(30 / var(--design-width) * 100vw);
    }
}
.c-section-05__link::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    content: "";
    display: block;
    background: url(../img/ico_arrow-04.svg) 0 0 no-repeat;
    background-size: cover;
    width: 8px;
    aspect-ratio: 1;
}
@media screen and (max-width: 1300px) {
    .c-section-05__link::before {
        width: calc(8 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1300px) {
    .c-section-05__link::before {
        width: calc(11 / var(--design-width) * 100vw);
    }
}
.c-section-05__link-text {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.96875;
    color: var(--color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-section-05__link-text {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-section-05__link-text:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-section-05__link-text {
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-05__link-text {
        font-size: calc(28 / var(--design-width) * 100vw);
        line-height: 1.75;
    }
}

/* ---------------------------------------------
*   c-section-06
--------------------------------------------- */
.c-section-06 {
    padding-block: 117px 154px;
    position: relative;
}
@media screen and (max-width: 1300px) {
    .c-section-06 {
        padding-block: calc(117 / var(--design-width) * 100vw) calc(154 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06 {
        padding-block: calc(153 / var(--design-width) * 100vw) calc(170 / var(--design-width) * 100vw);
    }
}
.c-section-06::after {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 1100px;
    height: 1px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-section-06::after {
        width: 84.6153846154%;
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06::after {
        content: none;
    }
}
.top .c-section-06::after {
    content: none;
}

.c-section-06__inner {
    margin-inline: auto;
    padding-inline: 100px;
    max-width: 1300px;
}
@media screen and (max-width: 1300px) {
    .c-section-06__inner {
        padding-inline: calc(100 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06__inner {
        padding-inline: 6.6666666667vw;
    }
}
.c-section-06__title {
    width: 161px;
}
@media screen and (max-width: 1300px) {
    .c-section-06__title {
        width: calc(161 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06__title {
        width: calc(243 / var(--design-width) * 100vw);
    }
    .c-section-06__title img {
        display: block;
        width: 100%;
    }
}
.c-section-06__body {
    display: flex;
    justify-content: space-between;
    margin-top: 25px;
}
@media screen and (max-width: 1300px) {
    .c-section-06__body {
        margin-top: calc(25 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06__body {
        margin-top: calc(35 / var(--design-width) * 100vw);
        display: block;
    }
}
.c-section-06__text-01 {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.875;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-section-06__text-01 {
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06__text-01 {
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 1.875;
    }
}
.windows .c-section-06__text-01 {
    letter-spacing: -0.05em;
}

.c-section-06__text-02 {
    margin-top: 30px;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 2.1428571429;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-section-06__text-02 {
        margin-top: calc(30 / var(--design-width) * 100vw);
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06__text-02 {
        margin-top: calc(36 / var(--design-width) * 100vw);
        font-size: calc(22 / var(--design-width) * 100vw);
        line-height: 2.0454545455;
        font-feature-settings: "palt" 1;
    }
}
.windows .c-section-06__text-02 {
    letter-spacing: -0.05em;
}

.c-section-06__btn {
    display: block;
    margin-top: 25px;
    width: 416px;
}
@media (hover: hover) and (pointer: fine) {
    .c-section-06__btn {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-section-06__btn:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-section-06__btn {
        margin-top: calc(25 / var(--design-width) * 100vw);
        width: calc(416 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06__btn {
        margin-top: calc(25 / var(--design-width) * 100vw);
        width: 100%;
    }
}
.c-section-06__btn img {
    display: block;
    width: 100%;
}
.c-section-06__btn:active {
    filter: brightness(0.5);
}
@media screen and (max-width: 1024px) {
    .c-section-06__right {
        margin-top: calc(80 / var(--design-width) * 100vw);
    }
}
.c-section-06__tel {
    display: flex;
    align-items: center;
    -moz-column-gap: 22px;
         column-gap: 22px;
}
@media screen and (max-width: 1300px) {
    .c-section-06__tel {
        -moz-column-gap: calc(22 / var(--design-width) * 100vw);
             column-gap: calc(22 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06__tel {
        -moz-column-gap: calc(34 / var(--design-width) * 100vw);
             column-gap: calc(34 / var(--design-width) * 100vw);
    }
}
.c-section-06__tel + .c-section-06__tel {
    margin-top: 24px;
}
@media screen and (max-width: 1300px) {
    .c-section-06__tel + .c-section-06__tel {
        margin-top: calc(24 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06__tel + .c-section-06__tel {
        margin-top: calc(40 / var(--design-width) * 100vw);
    }
}
.c-section-06__tel-img-01, .c-section-06__tel-img-03 {
    width: 144px;
}
@media screen and (max-width: 1300px) {
    .c-section-06__tel-img-01, .c-section-06__tel-img-03 {
        width: calc(144 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06__tel-img-01, .c-section-06__tel-img-03 {
        width: calc(217 / var(--design-width) * 100vw);
    }
    .c-section-06__tel-img-01 img, .c-section-06__tel-img-03 img {
        display: block;
        width: 100%;
    }
}
.c-section-06__tel-img-02 {
    width: 290px;
}
@media screen and (max-width: 1300px) {
    .c-section-06__tel-img-02 {
        width: calc(290 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06__tel-img-02 {
        width: calc(386 / var(--design-width) * 100vw);
    }
    .c-section-06__tel-img-02 img {
        display: block;
        width: 100%;
    }
}
.c-section-06__tel-img-04 {
    width: 266px;
}
@media screen and (max-width: 1300px) {
    .c-section-06__tel-img-04 {
        width: calc(266 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-06__tel-img-04 {
        width: calc(354 / var(--design-width) * 100vw);
    }
    .c-section-06__tel-img-04 img {
        display: block;
        width: 100%;
    }
}
.c-section-06__tel-link:active img {
    filter: brightness(0.5);
}

/* ---------------------------------------------
*   c-section-lower-01
--------------------------------------------- */
.c-section-lower-01 {
    margin-inline: auto;
    max-width: 1300px;
}
.c-section-lower-01__inner {
    position: relative;
    margin-inline: auto;
    padding-bottom: 80px;
    padding-inline: 100px;
    max-width: 1300px;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__inner {
        padding-bottom: calc(80 / var(--design-width) * 100vw);
        padding-inline: calc(100 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__inner {
        padding-bottom: calc(255 / var(--design-width) * 100vw);
        padding-inline: 6.6666666667%;
        border-bottom: none;
    }
}
.c-section-lower-01__head {
    position: relative;
}
.c-section-lower-01__page-top {
    padding-block: 44px 90px;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__page-top {
        padding-block: calc(44 / var(--design-width) * 100vw) calc(90 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__page-top {
        padding-block: calc(52 / var(--design-width) * 100vw) calc(73 / var(--design-width) * 100vw);
    }
}
.c-section-lower-01__site-img {
    margin-left: 50px;
    width: 388px;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__site-img {
        margin-left: calc(50 / var(--design-width) * 100vw);
        width: calc(388 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__site-img {
        width: calc(465 / var(--design-width) * 100vw);
    }
}
.c-section-lower-01__site-link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .c-section-lower-01__site-link {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-section-lower-01__site-link:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
.c-section-lower-01__site-link img {
    display: block;
    width: 100%;
}
.c-section-lower-01__page-title-area {
    position: relative;
    padding-block: 63px 44px;
    background: url(../img/common/bg_01.png) 0 0 no-repeat;
    background-size: 100% auto;
    z-index: 1;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__page-title-area {
        padding-block: calc(63 / var(--design-width) * 100vw) calc(44 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__page-title-area {
        background-image: url(../img/common/sp/bg_01.png);
        background-size: cover;
        padding-block: calc(54 / var(--design-width) * 100vw) calc(32 / var(--design-width) * 100vw);
    }
}
.c-section-lower-01__page-title-area::before {
    position: absolute;
    top: 28%;
    left: 30px;
    transform: translateY(-50%);
    content: "";
    display: block;
    background: url(../img/common/bg_parts-01.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 339px;
    height: 327px;
    z-index: -1;
    pointer-events: none;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__page-title-area::before {
        left: calc(30 / var(--design-width) * 100vw);
        width: calc(339 / var(--design-width) * 100vw);
        height: calc(327 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__page-title-area::before {
        top: 23%;
        background-image: url(../img/common/sp/bg_parts-01.png);
        width: calc(345 / var(--design-width) * 100vw);
        height: calc(348 / var(--design-width) * 100vw);
    }
}
.c-section-lower-01__page-title-area--article {
    padding-block: 35px 30px;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__page-title-area--article {
        padding-block: calc(35 / var(--design-width) * 100vw) calc(30 / var(--design-width) * 100vw);
    }
}
.c-section-lower-01__page-title-area--article::before {
    top: 28%;
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__page-title-area--article::before {
        top: 15%;
    }
}
.c-section-lower-01__head-inner {
    margin-inline: auto;
    padding-inline: 100px;
    max-width: 1300px;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__head-inner {
        padding-inline: calc(100 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__head-inner {
        padding-inline: 6.6666666667%;
    }
}
.c-section-lower-01__title {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__title {
        padding-bottom: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__title {
        padding-bottom: calc(18 / var(--design-width) * 100vw);
    }
}
.c-section-lower-01__title--article {
    padding-bottom: 36px;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__title--article {
        padding-bottom: calc(36 / var(--design-width) * 100vw);
    }
}
.c-section-lower-01__title-img {
    display: block;
}
.c-section-lower-01__title-img--case {
    width: 356px;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__title-img--case {
        width: calc(356 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__title-img--case {
        width: calc(437 / var(--design-width) * 100vw);
    }
    .c-section-lower-01__title-img--case img {
        display: block;
        width: 100%;
    }
}
.c-section-lower-01__title-img--column {
    width: 294px;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__title-img--column {
        width: calc(294 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__title-img--column {
        width: calc(362 / var(--design-width) * 100vw);
    }
    .c-section-lower-01__title-img--column img {
        display: block;
        width: 100%;
    }
}
.c-section-lower-01__title-img--event {
    width: 495px;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__title-img--event {
        width: calc(495 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__title-img--event {
        width: calc(617 / var(--design-width) * 100vw);
    }
    .c-section-lower-01__title-img--event img {
        display: block;
        width: 100%;
    }
}
.c-section-lower-01__category {
    display: block;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.4261111111;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__category {
        font-size: calc(18 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__category {
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 1.2833333333;
    }
}
.c-section-lower-01__title-text {
    display: block;
    font-size: calc(28 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__title-text {
        font-size: calc(28 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__title-text {
        margin-top: calc(8 / var(--design-width) * 100vw);
        font-size: calc(38 / var(--design-width) * 100vw);
        line-height: 1.4210526316;
    }
}
.c-section-lower-01__body {
    position: relative;
    padding-top: 70px;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__body {
        padding-top: calc(70 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__body {
        position: relative;
        padding-top: calc(82 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__body--event {
        padding-top: calc(43 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__body--article {
        padding-top: calc(32 / var(--design-width) * 100vw);
    }
}
.c-section-lower-01__heading {
    text-align: center;
    font-size: calc(28 / var(--root-fz) * 1rem);
    font-weight: bold;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__heading {
        font-size: calc(28 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__heading {
        font-size: calc(38 / var(--design-width) * 100vw);
    }
}
.c-section-lower-01__lead {
    margin-top: 10px;
    text-align: center;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.875;
    color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__lead {
        margin-top: calc(10 / var(--design-width) * 100vw);
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__lead {
        margin-top: calc(23 / var(--design-width) * 100vw);
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 1.6666666667;
    }
}
.c-section-lower-01__btn-01 {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 332px;
}
@media (hover: hover) and (pointer: fine) {
    .c-section-lower-01__btn-01 {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-section-lower-01__btn-01:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__btn-01 {
        width: calc(332 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__btn-01 {
        width: calc(76 / var(--design-width) * 100vw);
    }
}
.c-section-lower-01__btn-02 {
    display: block;
    margin-top: 60px;
    margin-inline: auto;
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__btn-02 {
        margin-top: calc(60 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__btn-02 {
        margin-top: calc(70 / var(--design-width) * 100vw);
        touch-action: manipulation;
    }
    .c-section-lower-01__btn-02 img {
        display: block;
        width: 100%;
        transition: filter 0.3s;
    }
    .c-section-lower-01__btn-02:active img {
        filter: brightness(0.5);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-section-lower-01__btn-02 img {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-section-lower-01__btn-02 img:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
.c-section-lower-01__btn-02-text {
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1;
    color: var(--color-white-1);
    text-decoration: underline;
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__btn-02-text {
        font-size: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__btn-02-text {
        font-size: calc(35 / var(--design-width) * 100vw);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-section-lower-01__btn-02-text:hover {
        text-decoration: none;
    }
}
.c-section-lower-01__btn-03 {
    display: block;
    width: 332px;
}
@media (hover: hover) and (pointer: fine) {
    .c-section-lower-01__btn-03 {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-section-lower-01__btn-03:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__btn-03 {
        width: calc(332 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__btn-03 {
        margin-inline: auto;
        width: calc(498 / var(--design-width) * 100vw);
    }
    .c-section-lower-01__btn-03 img {
        display: block;
        width: 100%;
    }
    .c-section-lower-01__btn-03 + .c-section-lower-01__btn-03 {
        margin-top: calc(36 / var(--design-width) * 100vw);
    }
}
.c-section-lower-01__btn-03:has(.c-section-lower-01__btn-03-text) {
    width: -moz-fit-content;
    width: fit-content;
}
.c-section-lower-01__btn-03-text {
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1;
    color: var(--color-white-1);
    text-decoration: underline;
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__btn-03-text {
        font-size: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__btn-03-text {
        font-size: calc(35 / var(--design-width) * 100vw);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-section-lower-01__btn-03-text:hover {
        text-decoration: none;
    }
}
.c-section-lower-01__container-01 {
    margin-inline: calc(50% - 50vw);
    padding-block: 78px 100px;
    background-color: var(--color-white-3);
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__container-01 {
        padding-block: calc(78 / var(--design-width) * 100vw) calc(100 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__container-01 {
        padding-block: calc(32 / var(--design-width) * 100vw) calc(140 / var(--design-width) * 100vw);
    }
}
.c-section-lower-01__container-02 {
    margin-top: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 40px 28px;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__container-02 {
        margin-top: calc(60 / var(--design-width) * 100vw);
        gap: calc(40 / var(--design-width) * 100vw) calc(28 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__container-02 {
        display: block;
    }
}
.c-section-lower-01__container-inner {
    max-width: 1300px;
    margin-inline: auto;
    padding-inline: 200px;
}
@media screen and (max-width: 1300px) {
    .c-section-lower-01__container-inner {
        padding-inline: calc(200 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-section-lower-01__container-inner {
        padding-inline: 6.6666666667%;
    }
}

/* ---------------------------------------------
*   c-slider
--------------------------------------------- */
@media screen and (max-width: 1024px) {
    .c-slider {
        width: calc(650 / var(--design-width) * 100vw);
    }
}
.c-slider .splide__track {
    overflow: visible;
}
.c-slider .splide__slide {
    transform: translate3d(0, 0, 0);
}
.c-slider .splide__pagination {
    margin-top: calc(40 / var(--design-width) * 100vw);
    display: flex;
    justify-content: center;
    -moz-column-gap: calc(42 / var(--design-width) * 100vw);
         column-gap: calc(42 / var(--design-width) * 100vw);
    height: -moz-fit-content;
    height: fit-content;
}
.c-slider .splide__pagination li {
    height: -moz-fit-content;
    height: fit-content;
    line-height: 0;
}
.c-slider .splide__pagination__page {
    background: linear-gradient(180deg, var(--color-white-1) 0%, var(--color-black-3) 100%);
    border: 1px solid var(--color-white-1);
    border-radius: 50%;
    width: calc(24 / var(--design-width) * 100vw);
    height: calc(24 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .c-slider .splide__pagination__page {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-slider .splide__pagination__page:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
.c-slider .splide__pagination__page.is-active {
    background: var(--color-orange-1);
}
.c-slider .splide__sr {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    white-space: nowrap;
}

/* ---------------------------------------------
*   c-table
--------------------------------------------- */
.c-table-01 {
    width: 100%;
    table-layout: fixed;
    border-top: 1px solid var(--color-black-1);
    border-right: 1px solid var(--color-black-1);
}
.c-table-01 tr:nth-of-type(2), .c-table-01 tr:nth-of-type(3), .c-table-01 tr:nth-of-type(4), .c-table-01 tr:nth-of-type(5) {
    height: 57px;
}
@media screen and (max-width: 1300px) {
    .c-table-01 tr:nth-of-type(2), .c-table-01 tr:nth-of-type(3), .c-table-01 tr:nth-of-type(4), .c-table-01 tr:nth-of-type(5) {
        height: calc(57 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-table-01 tr:nth-of-type(2), .c-table-01 tr:nth-of-type(3), .c-table-01 tr:nth-of-type(4), .c-table-01 tr:nth-of-type(5) {
        height: calc(90 / var(--design-width) * 100vw);
    }
}
.c-table-01 th, .c-table-01 td {
    padding-block: 8px;
    border-bottom: 1px solid var(--color-black-1);
    border-left: 1px solid var(--color-black-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.4285714286;
}
@media screen and (max-width: 1300px) {
    .c-table-01 th, .c-table-01 td {
        padding-block: calc(8 / var(--design-width) * 100vw);
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-table-01 th, .c-table-01 td {
        padding-block: calc(12 / var(--design-width) * 100vw);
        font-size: calc(21 / var(--design-width) * 100vw);
    }
}
.c-table-01 th {
    padding-left: 26px;
    background-color: var(--color-blue-3);
    width: 200px;
}
@media screen and (max-width: 1300px) {
    .c-table-01 th {
        padding-left: calc(26 / var(--design-width) * 100vw);
        width: calc(200 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-table-01 th {
        padding-left: calc(36 / var(--design-width) * 100vw);
        width: calc(215 / var(--design-width) * 100vw);
    }
}
.c-table-01 td {
    padding-left: 15px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-table-01 td {
        padding-left: calc(15 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-table-01 td {
        padding-left: calc(19 / var(--design-width) * 100vw);
        padding-right: calc(19 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-table-02
--------------------------------------------- */
.c-table-02 {
    margin-top: 30px;
    width: 100%;
    table-layout: fixed;
    border-top: 1px solid var(--color-black-1);
}
@media screen and (max-width: 1300px) {
    .c-table-02 {
        margin-top: calc(30 / var(--design-width) * 100vw);
    }
}
.c-table-02 tr {
    height: 60px;
}
@media screen and (max-width: 1300px) {
    .c-table-02 tr {
        height: calc(60 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-table-02 tr {
        height: calc(90 / var(--design-width) * 100vw);
    }
}
.c-table-02 tr:nth-of-type(1) {
    height: 40px;
}
@media screen and (max-width: 1300px) {
    .c-table-02 tr:nth-of-type(1) {
        height: calc(40 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-table-02 tr:nth-of-type(1) {
        height: calc(60 / var(--design-width) * 100vw);
    }
}
.c-table-02 tr:nth-of-type(2), .c-table-02 tr:nth-of-type(3) {
    color: var(--color-red-1);
}
.c-table-02 th, .c-table-02 td {
    padding-block: 8px;
    border-bottom: 1px solid var(--color-black-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.4285714286;
}
@media screen and (max-width: 1300px) {
    .c-table-02 th, .c-table-02 td {
        padding-block: calc(8 / var(--design-width) * 100vw);
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-table-02 th, .c-table-02 td {
        padding-block: calc(10 / var(--design-width) * 100vw);
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 1.2857142857;
    }
}
.c-table-02 th:nth-of-type(2), .c-table-02 th:nth-of-type(3), .c-table-02 th:nth-of-type(4), .c-table-02 td:nth-of-type(2), .c-table-02 td:nth-of-type(3), .c-table-02 td:nth-of-type(4) {
    border-left: 1px dashed var(--color-black-1);
}
.c-table-02 th {
    background-color: var(--color-blue-4);
    text-align: center;
    color: var(--color-white-1);
}
.c-table-02 th:nth-of-type(1) {
    width: 500px;
}
@media screen and (max-width: 1300px) {
    .c-table-02 th:nth-of-type(1) {
        width: calc(500 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-table-02 th:nth-of-type(1) {
        width: calc(393 / var(--design-width) * 100vw);
    }
}
.c-table-02 td {
    padding-left: 15px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 1300px) {
    .c-table-02 td {
        padding-left: calc(15 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .c-table-02 td {
        padding-right: calc(12 / var(--design-width) * 100vw);
    }
}
.c-table-02 td:nth-of-type(2), .c-table-02 td:nth-of-type(3), .c-table-02 td:nth-of-type(4) {
    padding-left: 0;
    padding-right: 30px;
    text-align: right;
}
@media screen and (max-width: 1024px) {
    .c-table-02 td:nth-of-type(2), .c-table-02 td:nth-of-type(3), .c-table-02 td:nth-of-type(4) {
        padding-right: 8px;
    }
}

/* ---------------------------------------------
*   c-ttl
--------------------------------------------- */
/* ---------------------------------------------
*   c-txt
--------------------------------------------- */
/* ---------------------------------------------
*   p-top-xx
--------------------------------------------- */
/* ---------------------------------------------
*   p-cmn-container-1
--------------------------------------------- */
@media print, screen and (min-width: 1025px) {
    .p-cmn-container-1 {
        max-width: 800px;
        margin-inline: auto;
    }
}
@media screen and (max-width: 1024px) {
    .p-cmn-container-1 {
        padding-inline: 6.6666666667%;
    }
}

/* ---------------------------------------------
*   p-cmn-container-2
--------------------------------------------- */
@media print, screen and (min-width: 1025px) {
    .p-cmn-container-2 {
        max-width: 900px;
        margin-inline: auto;
    }
}
@media screen and (max-width: 1024px) {
    .p-cmn-container-2 {
        padding-inline: 6.6666666667%;
    }
}

/* ---------------------------------------------
*   p-cmn-container-3
--------------------------------------------- */
.p-cmn-container-3 {
    margin-inline: auto;
    max-width: 1300px;
}
@media screen and (max-width: 1024px) {
    .p-cmn-container-3 {
        padding-inline: 6.6666666667vw;
    }
}

/* ---------------------------------------------
*   p-cmn-container-pc
--------------------------------------------- */
@media print, screen and (min-width: 1025px) {
    .p-cmn-container-pc {
        max-width: 800px;
        margin-inline: auto;
    }
}

/* ---------------------------------------------
*   p-cmn-container-sp
--------------------------------------------- */
@media screen and (max-width: 1024px) {
    .p-cmn-container-sp {
        padding-inline: 6.6666666667%;
    }
}

/* ---------------------------------------------
*    p-cmn-page-top
--------------------------------------------- */
.p-cmn-page-top {
    bottom: 0;
}

/* ---------------------------------------------
*    p-cmn-footer
--------------------------------------------- */
.p-cmn-footer .c-section-06::after {
    content: none;
}

/* ---------------------------------------------
*   p-cmn-ttl-1
--------------------------------------------- */
.p-cmn-ttl-1 {
    border-bottom: 1px dashed var(--color-black-1);
    padding-bottom: 38px;
}
@media screen and (max-width: 1024px) {
    .p-cmn-ttl-1 {
        padding-bottom: calc(64 / var(--design-width) * 100vw);
    }
}
.p-cmn-ttl-1__txt {
    display: block;
    position: relative;
    padding-left: 28px;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.6363636364;
    min-height: 6px;
}
@media screen and (max-width: 1300px) {
    .p-cmn-ttl-1__txt {
        padding-left: calc(32 / var(--design-width) * 100vw);
        font-size: calc(22 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .p-cmn-ttl-1__txt {
        font-size: calc(32 / var(--design-width) * 100vw);
        line-height: 1.5;
    }
}
.p-cmn-ttl-1__txt::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(calc(-50% + 2px));
    content: "";
    display: block;
    width: 6px;
    height: 77.7777777778%;
    min-height: 56px;
    background-color: var(--color-blue-2);
}
@media screen and (max-width: 1300px) {
    .p-cmn-ttl-1__txt::before {
        width: calc(6 / var(--design-width) * 100vw);
        min-height: calc(56 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .p-cmn-ttl-1__txt::before {
        width: calc(9 / var(--design-width) * 100vw);
        height: 90.9722222222%;
        min-height: calc(84 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-cmn-ttl-2
--------------------------------------------- */
.p-cmn-ttl-2 {
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: bold;
}
@media screen and (max-width: 1024px) {
    .p-cmn-ttl-2 {
        font-size: calc(28 / var(--design-width) * 100vw);
    }
}
.p-cmn-ttl-2--border {
    padding-bottom: 4px;
    border-bottom: 1px solid var(--color-black-1);
}

/* ---------------------------------------------
*   p-cmn-ttl-3
--------------------------------------------- */
.p-cmn-ttl-3 {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
}
@media screen and (max-width: 1024px) {
    .p-cmn-ttl-3 {
        font-size: calc(26 / var(--design-width) * 100vw);
    }
}
.p-cmn-ttl-3:not(:first-child) {
    margin-top: 28px;
}
@media screen and (max-width: 1024px) {
    .p-cmn-ttl-3:not(:first-child) {
        margin-top: calc(36 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-cmn-txt-1
--------------------------------------------- */
.p-cmn-txt-1 {
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 2.2857142857;
}
@media screen and (max-width: 1024px) {
    .p-cmn-txt-1 {
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 2;
    }
}
.p-cmn-txt-1:not(:first-child) {
    margin-top: 8px;
}

/* ---------------------------------------------
*   p-cmn-section-1
--------------------------------------------- */
.p-cmn-section-1 {
    margin-top: 85px;
}
@media screen and (max-width: 1024px) {
    .p-cmn-section-1 {
        margin-top: calc(160 / var(--design-width) * 100vw);
    }
}
.p-cmn-section-1[id] {
    margin-top: calc(85px - 1em);
    padding-top: 1em;
}
@media screen and (max-width: 1024px) {
    .p-cmn-section-1[id] {
        margin-top: calc(160 / var(--design-width) * 100vw - 1em);
    }
}
.p-cmn-section-1__body {
    margin-top: 18px;
}
@media screen and (max-width: 1024px) {
    .p-cmn-section-1__body {
        margin-top: calc(30 / var(--design-width) * 100vw);
    }
}
.p-cmn-section-1__head:has(.p-cmn-ttl-1) + .p-cmn-section-1__body {
    margin-top: 26px;
}
@media screen and (max-width: 1024px) {
    .p-cmn-section-1__head:has(.p-cmn-ttl-1) + .p-cmn-section-1__body {
        margin-top: calc(32 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-cmn-cassette-1
--------------------------------------------- */
.p-cmn-cassette-1:not(:first-child) {
    margin-top: 30px;
}
@media screen and (max-width: 1024px) {
    .p-cmn-cassette-1:not(:first-child) {
        margin-top: calc(110 / var(--design-width) * 100vw);
    }
}
.p-cmn-cassette-1__container {
    display: grid;
}
@media print, screen and (min-width: 1025px) {
    .p-cmn-cassette-1__container {
        grid-template-columns: 400px 1fr;
        gap: 6.25%;
    }
}
@media screen and (max-width: 1024px) {
    .p-cmn-cassette-1__container {
        gap: calc(25 / var(--design-width) * 100vw);
    }
}
.p-cmn-cassette-1__ttl-sub:first-child {
    margin-top: 12px;
}
@media print, screen and (min-width: 1025px) {
    .p-cmn-cassette-1__txt-wrap {
        margin-top: 18px;
    }
}
@media print, screen and (min-width: 1025px) {
    .p-cmn-cassette-1__txt-wrap:has(> .p-cmn-cassette-1__ttl) {
        margin-top: 0;
    }
}
.p-cmn-cassette-1__txt:not(:first-child) {
    margin-top: 12px;
}
@media screen and (max-width: 1024px) {
    .p-cmn-cassette-1__txt:not(:first-child) {
        margin-top: calc(16 / var(--design-width) * 100vw);
    }
}
@media print, screen and (min-width: 1025px) {
    .p-cmn-cassette-1:has(.p-cmn-cassette-1__ttl) .p-cmn-cassette-1__img {
        margin-top: 20px;
    }
}

@media screen and (max-width: 1024px) {
    .p-cmn-cassette-1__img img {
        width: 100%;
    }
}

/* ---------------------------------------------
*   p-cmn-img-1
--------------------------------------------- */
.p-cmn-img-1-wrap {
    margin-top: 85px;
}
@media screen and (max-width: 1024px) {
    .p-cmn-img-1-wrap {
        margin-top: calc(160 / var(--design-width) * 100vw);
    }
}

.p-cmn-img-1 {
    text-align: center;
}
@media screen and (max-width: 1024px) {
    .p-cmn-img-1 img {
        width: 100%;
    }
}
.p-cmn-img-1:not(:first-child) {
    margin-top: 77px;
}
@media screen and (max-width: 1024px) {
    .p-cmn-img-1:not(:first-child) {
        margin-top: calc(106 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 1024px) {
    .p-cmn-img-1--sp-scroll {
        overflow-x: auto;
    }
}
@media screen and (max-width: 1024px) {
    .p-cmn-img-1--sp-scroll img {
        max-width: inherit;
        width: 200%;
    }
}

/* ---------------------------------------------
*   p-cmn-list-1
--------------------------------------------- */
.p-cmn-list-1 {
    border-bottom: 1px solid var(--color-black-1);
}
.p-cmn-list-1__item {
    padding-block: 18px;
    display: flex;
    gap: 18px;
    border-top: 1px solid var(--color-black-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 2.2857142857;
}
@media screen and (max-width: 1024px) {
    .p-cmn-list-1__item {
        padding-block: calc(24 / var(--design-width) * 100vw);
        gap: calc(16 / var(--design-width) * 100vw);
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 2;
    }
}
.p-cmn-list-1__item::before {
    content: "●";
    color: var(--color-blue-2);
}

/* ---------------------------------------------
*   p-cmn-list-2
--------------------------------------------- */
.p-cmn-list-2 {
    padding: 24px 5.625%;
    border-top: 1px solid var(--color-black-1);
    border-bottom: 1px solid var(--color-black-1);
}
@media screen and (max-width: 1024px) {
    .p-cmn-list-2 {
        padding: calc(20 / var(--design-width) * 100vw) calc(30 / var(--design-width) * 100vw);
    }
}
.p-cmn-list-2__link {
    display: flex;
    gap: 18px;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 2.2857142857;
}
@media (hover: hover) and (pointer: fine) {
    .p-cmn-list-2__link {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .p-cmn-list-2__link:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
@media screen and (max-width: 1024px) {
    .p-cmn-list-2__link {
        gap: calc(16 / var(--design-width) * 100vw);
        font-size: calc(24 / var(--design-width) * 100vw);
        line-height: 2;
    }
}
.p-cmn-list-2__link::before {
    content: "●";
    color: var(--color-gray-9);
}

/* ---------------------------------------------
*   p-cmn-box-1
--------------------------------------------- */
.p-cmn-box-1__container {
    padding: 58px 48px 46px;
    border: 1px solid var(--color-blue-1);
    border-radius: 10px;
    background-color: var(--color-white-4);
}
@media screen and (max-width: 1024px) {
    .p-cmn-box-1__container {
        padding: calc(80 / var(--design-width) * 100vw) calc(45 / var(--design-width) * 100vw) calc(45 / var(--design-width) * 100vw);
        border-radius: calc(15 / var(--design-width) * 100vw);
    }
}
.p-cmn-box-1__body {
    margin-top: 28px;
}
@media screen and (max-width: 1024px) {
    .p-cmn-box-1__body {
        margin-top: calc(40 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-cmn-tbl-1
--------------------------------------------- */
@media screen and (max-width: 1024px) {
    .p-cmn-tbl-1 {
        width: 100%;
        margin-bottom: -3px;
        padding-bottom: 3px;
        display: flex;
        overflow-x: auto;
    }
}
.p-cmn-tbl-1__table {
    width: 100%;
    border-top: 1px solid var(--color-black-1);
    border-right: 1px solid var(--color-black-1);
}
@media screen and (max-width: 1024px) {
    .p-cmn-tbl-1__table {
        width: calc(1200 / var(--design-width) * 100vw);
        flex-shrink: 0;
    }
}
.p-cmn-tbl-1__th, .p-cmn-tbl-1__td {
    height: 60px;
    padding: 1em 1.4em;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    border-bottom: 1px solid var(--color-black-1);
    border-left: 1px solid var(--color-black-1);
}
@media screen and (max-width: 1024px) {
    .p-cmn-tbl-1__th, .p-cmn-tbl-1__td {
        height: calc(90 / var(--design-width) * 100vw);
        padding: 0.5em 1em;
        font-size: calc(22 / var(--design-width) * 100vw);
    }
}
.p-cmn-tbl-1__th {
    text-align: center;
    background-color: var(--color-blue-3);
}
.p-cmn-tbl-1--blue .p-cmn-tbl-1__th {
    color: var(--color-white-1);
    background-color: var(--color-blue-4);
}

.p-cmn-tbl-1--orange .p-cmn-tbl-1__th {
    color: var(--color-white-1);
    background-color: var(--color-orange-1);
}

.p-cmn-tbl-1__td {
    background-color: var(--color-white-1);
}
.p-cmn-tbl-1--blue .p-cmn-tbl-1__tr:not(.p-cmn-tbl-1__tr--bg-wh):nth-of-type(odd) .p-cmn-tbl-1__td {
    background-color: var(--color-blue-5);
}

.p-cmn-tbl-1--blue .p-cmn-tbl-1__tr:not(.p-cmn-tbl-1__tr--bg-wh):nth-of-type(even) .p-cmn-tbl-1__td {
    background-color: var(--color-blue-3);
}

.p-cmn-tbl-1--orange .p-cmn-tbl-1__tr:nth-of-type(even) .p-cmn-tbl-1__td {
    background-color: var(--color-orange-2);
}

/* ---------------------------------------------
*   scroll
--------------------------------------------- */
@media screen and (max-width: 1024px) {
    .scroll-hint {
        position: relative;
    }
    .scroll-hint-icon {
        position: absolute;
        top: calc(50% - 25px);
        left: calc(50% - 60px);
        box-sizing: border-box;
        width: 120px;
        height: 80px;
        border-radius: 5px;
        transition: opacity 0.3s;
        opacity: 0;
        background: rgba(0, 0, 0, 0.7);
        text-align: center;
        padding: 20px 10px 10px;
    }
    .scroll-hint-icon-wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        max-height: 100%;
        pointer-events: none;
    }
    .scroll-hint-text {
        display: block;
        font-size: 10px;
        color: #fff;
        margin-top: 4px;
    }
    .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
        opacity: 0.8;
    }
    .scroll-hint-icon:before {
        display: block;
        width: 40px;
        height: 40px;
        margin-inline: auto;
        color: #fff;
        content: "";
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat;
        background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
    }
    .scroll-hint-icon:after {
        content: "";
        width: 34px;
        height: 14px;
        display: block;
        position: absolute;
        top: 10px;
        left: 50%;
        margin-left: -20px;
        background-repeat: no-repeat;
        background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
        opacity: 0;
        transition-delay: 2.4s;
    }
    .scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
        opacity: 1;
    }
    .scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
        animation: 1.2s linear 2 scroll-hint-appear;
    }
    .scroll-hint-icon-white {
        background-color: #fff;
        box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
    }
    .scroll-hint-icon-white:before {
        background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
    }
    .scroll-hint-icon-white:after {
        background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
    }
    .scroll-hint-icon-white .scroll-hint-text {
        color: #000;
    }
    @keyframes scroll-hint-appear {
        0% {
            transform: translateX(40px);
            opacity: 0;
        }
        10% {
            opacity: 1;
        }
        50%, to {
            transform: translateX(-40px);
            opacity: 0;
        }
    }
}
/* ---------------------------------------------
*   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;
}

.js-tel-disabled {
    pointer-events: none;
}

/* ---------------------------------------------
*   スクロールアニメーション関係
--------------------------------------------- */
.js-animate-01 {
    opacity: 0;
}
@media screen and (max-width: 1024px) {
    .js-animate-01 {
        opacity: 1;
    }
}
.js-animate-01.is-visible {
    opacity: 1;
    transition: opacity 0.75s ease-out, transform 0.75s ease-out;
}
@media screen and (max-width: 1024px) {
    .js-animate-01.is-visible {
        transition: initial;
    }
}
.js-animate-01.is-active {
    transition-delay: 0s;
}

.js-animate-02-trigger {
    opacity: 0;
    transition: opacity 0.75s ease-out;
}
@media screen and (max-width: 1024px) {
    .js-animate-02-trigger {
        opacity: 1;
        transition: initial;
    }
}
.js-animate-02-trigger.is-visible {
    opacity: 1;
    transition-delay: 0.75s;
}
@media screen and (max-width: 1024px) {
    .js-animate-02-trigger.is-visible {
        transition-delay: initial;
    }
}

.js-animate-02-trigger-child {
    opacity: 0;
    transition: opacity 0.75s ease-out;
}
@media screen and (max-width: 1024px) {
    .js-animate-02-trigger-child {
        opacity: 1;
    }
}
.js-animate-02-trigger-child.is-visible {
    opacity: 1;
    transition-delay: 0.75s;
}
@media screen and (max-width: 1024px) {
    .js-animate-02-trigger-child.is-visible {
        transition: initial;
    }
}

.js-animate-02 {
    transition: opacity 0.75s ease-out;
    transition-delay: 0.75s;
}
@media screen and (max-width: 1024px) {
    .js-animate-02 {
        transition: initial;
        transition-delay: initial;
    }
}
.js-animate-02.is-active {
    transition: opacity 0.75s ease-out;
    opacity: 0;
}
@media screen and (max-width: 1024px) {
    .js-animate-02.is-active {
        opacity: 1;
        transition: initial;
    }
}

.js-animate-04-trigger {
    opacity: 0;
    transition: opacity 0.75s ease-out;
}
@media screen and (max-width: 1024px) {
    .js-animate-04-trigger {
        opacity: 1;
        transition: initial;
    }
}
.js-animate-04-trigger.is-visible {
    opacity: 1;
}

.js-animate-04-trigger-child {
    opacity: 0;
    transition: opacity 0.75s ease-out;
}
@media screen and (max-width: 1024px) {
    .js-animate-04-trigger-child {
        opacity: 1;
        transition: initial;
    }
}
.js-animate-04-trigger-child.is-visible {
    opacity: 1;
}

.js-animate-05 {
    opacity: 0;
    transition: opacity 0.75s ease-out;
}
@media screen and (max-width: 1024px) {
    .js-animate-05 {
        opacity: 1;
        transition: initial;
    }
}
.js-animate-05.is-visible {
    opacity: 1;
}

.js-animate-06-trigger,
.js-animate-07-trigger,
.js-animate-08-trigger,
.js-animate-09-trigger,
.js-animate-10-trigger {
    opacity: 0;
    transition: opacity 0.75s ease-out;
    pointer-events: none;
}
@media screen and (max-width: 1024px) {
    .js-animate-06-trigger,
    .js-animate-07-trigger,
    .js-animate-08-trigger,
    .js-animate-09-trigger,
    .js-animate-10-trigger {
        opacity: 1;
        transition: initial;
        pointer-events: all;
    }
}
.js-animate-06-trigger.is-visible,
.js-animate-07-trigger.is-visible,
.js-animate-08-trigger.is-visible,
.js-animate-09-trigger.is-visible,
.js-animate-10-trigger.is-visible {
    opacity: 1;
    pointer-events: visible;
}
.js-animate-06-trigger.is-noclick,
.js-animate-07-trigger.is-noclick,
.js-animate-08-trigger.is-noclick,
.js-animate-09-trigger.is-noclick,
.js-animate-10-trigger.is-noclick {
    pointer-events: none;
}

.js-animate-06 {
    opacity: 0;
    transition: opacity 0.75s ease-out;
}
@media screen and (max-width: 1024px) {
    .js-animate-06 {
        opacity: 1;
        transition: initial;
    }
}
.js-animate-06.is-visible {
    opacity: 1;
}

.js-figures {
    transition: filter 0.75s ease-out;
}
.js-figures.is-active {
    z-index: 999 !important;
}
.js-figures.is-inactive {
    filter: brightness(30%);
}

.js-prev-btn-1.is-disabled,
.js-next-btn-1.is-disabled,
.js-prev-btn-2.is-disabled,
.js-next-btn-2.is-disabled {
    pointer-events: none;
}
.js-prev-btn-1.is-noclick,
.js-next-btn-1.is-noclick,
.js-prev-btn-2.is-noclick,
.js-next-btn-2.is-noclick {
    pointer-events: none;
}

.js-animate-scroll {
    opacity: 0;
    transition: opacity 0.75s ease-out;
}
.js-animate-scroll.is-visible {
    opacity: 1;
}

/* ---------------------------------------------
*   アコーディオン
--------------------------------------------- */
@media screen and (max-width: 1024px) {
    .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;
        }
    }
}

.js-acc-trigger {
    pointer-events: none;
}
@media screen and (max-width: 1024px) {
    .js-acc-trigger {
        pointer-events: all;
    }
}

/* ---------------------------------------------
*   SP時のお問い合わせボタン
--------------------------------------------- */
.js-fixed.is-fixed {
    position: fixed;
}

/* ---------------------------------------------
*   202509レポート用
--------------------------------------------- */
a.simple {
    color: blue;
    text-decoration: underline;
    font-size: calc(14 / var(--root-fz) * 1rem);
}

a.simple:visited {
    color: #00008b;
}

a.simple:hover {
    color: #0088ff;
    text-decoration: underline;
}

a.simple:active {
    color: red;
}

.c-cassette-02__title2 {
    display: flex;
    align-items: center;
    gap: 0.8em;
    font-size: calc(14 / var(--root-fz) * 2rem);
    color: #333;
    font-weight: bold;
}

.c-cassette-02__title2::before {
    content: "";
    display: block;
    width: 2em;
    height: 2em;
    background-color: #77a2b9;
    flex-shrink: 0;
}

/* ---------------------------------------------
*   js-filter
--------------------------------------------- */
/*  js-filter-target
--------------------------------------------- */
.js-filter-target.is-hide {
    display: none;
}

/* ---------------------------------------------
*   js-fadein
--------------------------------------------- */
.js-fadein-01 {
    opacity: 0;
}
.js-fadein-01.is-active {
    opacity: 1;
    transition: opacity 0.75s;
}

.js-fadein-02 {
    opacity: 0;
}
.js-fadein-02.is-active-2 {
    opacity: 1;
    transition: opacity 0.75s ease-out, transform 0.75s ease-out;
}

/* ---------------------------------------------
*   グロナビ
--------------------------------------------- */
.js-link-01.is-current,
.js-link-02.is-current,
.js-link-03.is-current,
.js-link-04.is-current,
.js-link-05.is-current {
    pointer-events: none;
    cursor: default;
}

/* ---------------------------------------------
*   ヘッダー用
--------------------------------------------- */
.js-scroll-threshold {
    position: absolute;
    top: 0;
    height: 100dvh;
}

@media print and (min-width: 1025px), screen and (min-width: 1025px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (max-width: 1024px), screen and (max-width: 1024px) {
    .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: 1024px) {
    .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: 1024px) {
    .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;
    }
}

/* ---------------------------------------------
*   コラム一覧用（2026年2～3月改修）
--------------------------------------------- */
.c-filter-area {
    margin-top: 30px;
    background-color: #444;
    padding: 4px 12px;
    text-align: right;
    line-height: 2.0;
    color: #fff;
}
.c-filter-area .pc-hide {
    display: none;
}
.c-filter-area label {
    margin-left: 10px;
}
input[type="checkbox"] {
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox;
    /* 必要に応じて border 等を再設定 */
    border: 1px solid #ccc; 
}
.c-current-category {
    margin-top: 20px;
    text-align: right;
} 
.c-current-category a {
    text-decoration: underline;
}
.c-count-display {
    margin-top: 8px;
    text-align: right;
    color: #fff;
}
.c-section-lower-01__body--article .c-count-display { /* コラム詳細ページ用指定 */
    color: #000;
}
.c-csv-none-message {
    grid-column: 1 / -1;
    width: 100%;
    text-align: center;
    color: #fff;
}
.c-more-btn-area {
    display:none;
    margin-top: 30px;
    text-align:center;
}
.c-more-btn {
    border-radius: calc(3 / var(--design-width) * 100vw);
    background-color: #555;
    padding: 14px 60px;
    line-height: 1;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    color: var(--color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-more-btn {
        will-change: opacity;
        transition: opacity var(--hover-duration) !important;
    }
    .c-more-btn:hover {
        opacity: var(--hover-opacity-ratio) !important;
    }
}
.c-section-lower-01__body--article .c-more-btn { /* コラム詳細ページ用指定 */
    background-color: #d7dddd;
    color: #000;
}
@media screen and (max-width: 1300px) {
	.c-filter-area,
	.c-count-display {
        font-size: calc(16 / var(--design-width) * 100vw);
	}
	.c-more-btn {
        /* font-size: calc(16 / var(--design-width) * 100vw); */
	}
}
@media screen and (max-width: 1024px) {
	.c-filter-area,
	.c-current-category,
	.c-count-display,
	.c-csv-none-message,
	.c-more-btn {
        font-size: calc(24 / var(--design-width) * 100vw);
	}
    .c-filter-area .pc-hide {
        display: block;
    }
	.c-more-btn {
        padding: 10px 60px;
	}
}
