@charset "UTF-8";
/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
.l-wrapper {
    position: relative;
    overflow-x: hidden;
}

/* ---------------------------------------------
*   l-header
--------------------------------------------- */
.l-header {
    position: absolute;
    top: 0;
    left: 0;
    padding: calc(40 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header {
        padding: calc(20 / var(--design-width) * 100vw);
    }
}
.l-header__logo {
    width: calc(80 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header__logo {
        width: calc(40 / var(--design-width) * 100vw);
    }
}
.l-header__logo img {
    width: 100%;
    height: auto;
}

/* ---------------------------------------------
*   l-header-menu
--------------------------------------------- */
.l-header-menu {
    position: fixed;
    top: calc(48 / var(--design-width) * 100vw);
    right: calc(48 / var(--design-width) * 100vw);
    padding: calc(14 / var(--design-width) * 100vw) calc(25 / var(--design-width) * 100vw) calc(14 / var(--design-width) * 100vw) calc(33 / var(--design-width) * 100vw);
    z-index: 999;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-menu {
        top: calc(24 / var(--design-width) * 100vw);
        right: calc(20 / var(--design-width) * 100vw);
        padding: calc(7 / var(--design-width) * 100vw) calc(12 / var(--design-width) * 100vw) calc(7 / var(--design-width) * 100vw) calc(16 / var(--design-width) * 100vw);
    }
}
.l-header-menu::after {
    position: absolute;
    inset: 0;
    content: "";
    display: block;
    background-color: rgba(255, 255, 255, 0.8);
    -webkit-backdrop-filter: blur(calc(5 / var(--design-width) * 100vw));
            backdrop-filter: blur(calc(5 / var(--design-width) * 100vw));
    opacity: 1;
    z-index: -1;
    transition: opacity 0.3s;
}
.is-menu-opened .l-header-menu::after {
    opacity: 0;
}

/* ---------------------------------------------
*   l-header-nav
--------------------------------------------- */
.l-header-nav {
    display: flex;
    align-items: center;
    -moz-column-gap: calc(60 / var(--design-width) * 100vw);
         column-gap: calc(60 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-nav {
        -moz-column-gap: calc(28 / var(--design-width) * 100vw);
             column-gap: calc(28 / var(--design-width) * 100vw);
    }
}
.l-header-nav__list {
    display: flex;
    align-items: center;
    -moz-column-gap: calc(28 / var(--design-width) * 100vw);
         column-gap: calc(28 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-nav__list {
        -moz-column-gap: calc(16 / var(--design-width) * 100vw);
             column-gap: calc(16 / var(--design-width) * 100vw);
    }
}
.l-header-nav__item {
    font-size: 0;
    line-height: 0;
}
.l-header-nav__link {
    position: relative;
    padding-right: calc(25 / var(--design-width) * 100vw);
    font-weight: 500;
    letter-spacing: 0.1em;
    font-family: var(--ff-gothic);
}
@media (hover: hover) and (pointer: fine) {
    .l-header-nav__link {
        transition: opacity var(--hover-duration);
    }
    .l-header-nav__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-nav__link::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: "";
    display: block;
    background: url(../img/ico_arrow.svg) 0 0 no-repeat;
    background-size: 100% auto;
    width: calc(14 / var(--design-width) * 100vw);
    height: calc(14 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-nav__link::after {
        width: calc(8 / var(--design-width) * 100vw);
        height: calc(8 / var(--design-width) * 100vw);
    }
}
.l-header-nav__link--1 {
    font-size: calc(14 / var(--design-width) * 100vw);
    line-height: 1.4285714286;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-nav__link--1 {
        padding-right: calc(14 / var(--design-width) * 100vw);
        font-size: calc(10 / var(--design-width) * 100vw);
        line-height: 1;
    }
}
.l-header-nav__link--2 {
    padding-right: calc(19 / var(--design-width) * 100vw);
    font-size: calc(13.33 / var(--design-width) * 100vw);
    line-height: 1.5003750938;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-nav__link--2 {
        padding-right: calc(11 / var(--design-width) * 100vw);
        font-size: calc(10 / var(--design-width) * 100vw);
        line-height: 1;
    }
}

/* ---------------------------------------------
*   l-header-menu-button
--------------------------------------------- */
.l-header-menu-button {
    display: grid;
    place-items: center;
    width: calc(54 / var(--design-width) * 100vw);
    height: calc(36 / var(--design-width) * 100vw);
    touch-action: manipulation;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-menu-button {
        transition: opacity var(--hover-duration);
    }
    .l-header-menu-button:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-menu-button {
        width: calc(28 / var(--design-width) * 100vw);
        height: calc(18 / var(--design-width) * 100vw);
    }
}
.l-header-menu-button__lines {
    position: relative;
    display: block;
    width: calc(48 / var(--design-width) * 100vw);
    height: calc(16 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-menu-button__lines {
        width: calc(24 / var(--design-width) * 100vw);
        height: calc(8 / var(--design-width) * 100vw);
    }
}
.l-header-menu-button__line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color-base-1);
    transition: 0.3s;
}
.l-header-menu-button__line--top {
    top: 0;
}
.is-menu-opened .l-header-menu-button__line--top {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.l-header-menu-button__line--center {
    top: 50%;
    transform: translateY(-50%);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-menu-button__line--center {
        margin-top: 0;
    }
}
.is-menu-opened .l-header-menu-button__line--center {
    opacity: 0;
}

.l-header-menu-button__line--bottom {
    bottom: 0;
}
.is-menu-opened .l-header-menu-button__line--bottom {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
}

/* ---------------------------------------------
*   l-header-drawer-menu
--------------------------------------------- */
.l-header-drawer-menu {
    display: none;
    position: fixed;
    inset: 0;
    background: url(../img/bg_menu.webp) 0 0 no-repeat;
    background-size: cover;
    z-index: -1;
}
.l-header-drawer-menu__logo {
    padding: calc(40 / var(--design-width) * 100vw);
    width: calc(160 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-drawer-menu__logo {
        padding: calc(20 / var(--design-width) * 100vw);
        width: calc(80 / var(--design-width) * 100vw);
    }
}
.l-header-drawer-menu__logo-link {
    display: block;
    font-size: 0;
    line-height: 0;
    width: 100%;
    will-change: opacity;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-drawer-menu__logo-link {
        transition: opacity var(--hover-duration);
    }
    .l-header-drawer-menu__logo-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-drawer-menu__logo-link img {
    width: 100%;
    height: auto;
}
.l-header-drawer-menu__list {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
.l-header-drawer-menu__item {
    text-align: center;
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 4;
    letter-spacing: 0;
    font-family: var(--ff-gothic);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-drawer-menu__item {
        font-size: calc(16 / var(--design-width) * 100vw);
        line-height: 4;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-header-drawer-menu__link {
        transition: opacity var(--hover-duration);
    }
    .l-header-drawer-menu__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-drawer-menu__txt-area {
    position: absolute;
    bottom: calc(32 / var(--design-width) * 100vw);
    left: calc(40 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-drawer-menu__txt-area {
        bottom: calc(17 / var(--design-width) * 100vw);
        left: calc(20 / var(--design-width) * 100vw);
    }
}
.l-header-drawer-menu__txt-en, .l-header-drawer-menu__txt-jp {
    display: block;
}
.l-header-drawer-menu__txt-jp {
    font-size: calc(10 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.2em;
    font-family: var(--ff-gothic);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-drawer-menu__txt-jp {
        font-size: calc(10 / var(--design-width) * 100vw);
        letter-spacing: 0.1em;
    }
}
.l-header-drawer-menu__txt-en {
    font-size: calc(8 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 2.5;
    letter-spacing: 0.2em;
    font-family: var(--ff-gothic);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-header-drawer-menu__txt-en {
        font-size: calc(8 / var(--design-width) * 100vw);
        letter-spacing: 0.1em;
    }
}

/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
/* ---------------------------------------------
*   l-footer
--------------------------------------------- */
.l-footer {
    padding-block: calc(150 / var(--design-width) * 100vw) calc(165 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-footer {
        padding-block: calc(100 / var(--design-width) * 100vw) calc(115 / var(--design-width) * 100vw);
    }
}
.l-footer__container {
    margin-inline: auto;
    width: 65%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-footer__container {
        width: 72%;
    }
}
.l-footer__copyright {
    margin-top: calc(45 / var(--design-width) * 100vw);
    text-align: center;
    font-size: calc(16 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
    font-family: var(--ff-gothic);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-footer__copyright {
        margin-top: calc(49 / var(--design-width) * 100vw);
        font-size: calc(9.6 / var(--design-width) * 100vw);
        line-height: 1.0416666667;
    }
}

/* ---------------------------------------------
*   l-footer-banner
--------------------------------------------- */
.l-footer-banner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 7.6923076923%;
         column-gap: 7.6923076923%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-footer-banner {
        grid-template-columns: repeat(1, 1fr);
        row-gap: calc(40 / var(--design-width) * 100vw);
    }
}
.l-footer-banner__link {
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-column-gap: calc(24 / var(--design-width) * 100vw);
         column-gap: calc(24 / var(--design-width) * 100vw);
    background-color: var(--color-white-1);
    height: calc(160 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-banner__link {
        transition: opacity var(--hover-duration);
    }
    .l-footer-banner__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-footer-banner__link {
        -moz-column-gap: calc(15 / var(--design-width) * 100vw);
             column-gap: calc(15 / var(--design-width) * 100vw);
        height: calc(96 / var(--design-width) * 100vw);
    }
}
.l-footer-banner__img-1 {
    width: calc(80 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-footer-banner__img-1 {
        font-size: 0;
        line-height: 0;
        width: calc(48 / var(--design-width) * 100vw);
    }
}
.l-footer-banner__img-1 img {
    width: 100%;
    height: auto;
}
.l-footer-banner__img-2 {
    width: calc(343 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-footer-banner__img-2 {
        font-size: 0;
        line-height: 0;
        width: calc(205 / var(--design-width) * 100vw);
    }
}
.l-footer-banner__img-2 img {
    width: 100%;
    height: auto;
}
.l-footer-banner__ttl {
    font-size: calc(24 / var(--design-width) * 100vw);
    font-weight: bold;
    line-height: 1.75;
    letter-spacing: 0.05em;
    font-family: var(--ff-gothic);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-footer-banner__ttl {
        font-size: calc(14.4 / var(--design-width) * 100vw);
        line-height: 1.75;
    }
}

/* ---------------------------------------------
*   l-footer-nav
--------------------------------------------- */
.l-footer-nav__list {
    margin-top: calc(100 / var(--design-width) * 100vw);
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-column-gap: calc(44 / var(--design-width) * 100vw);
         column-gap: calc(44 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-footer-nav__list {
        margin-top: calc(72 / var(--design-width) * 100vw);
        flex-direction: column;
    }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-footer-nav__item {
        font-size: 0;
        line-height: 0;
    }
}
.l-footer-nav__link {
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.1em;
    font-family: var(--ff-gothic);
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-nav__link {
        transition: opacity var(--hover-duration);
    }
    .l-footer-nav__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .l-footer-nav__link {
        font-size: calc(12 / var(--design-width) * 100vw);
        line-height: 3.5;
    }
}

/* ---------------------------------------------
*   c-block
--------------------------------------------- */
/* ---------------------------------------------
*   c-box
--------------------------------------------- */
/* ---------------------------------------------
*   c-btn
--------------------------------------------- */
/* ---------------------------------------------
*   c-card
--------------------------------------------- */
/* ---------------------------------------------
*   c-cassette-1
--------------------------------------------- */
.c-cassette-1 {
    margin-inline: calc(50% - 50vw);
    padding-top: calc(166 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1 {
        padding-top: calc(80 / var(--design-width) * 100vw);
    }
}
.c-cassette-1--white {
    background-color: var(--color-white-1);
}
.c-cassette-1--1 {
    margin-top: calc(160 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1--1 {
        margin-top: calc(80 / var(--design-width) * 100vw);
    }
}
.c-cassette-1--2 {
    position: relative;
    padding-top: calc(153 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1--2 {
        padding-top: calc(79 / var(--design-width) * 100vw);
    }
}
.c-cassette-1--2::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: calc(288 / var(--design-width) * 100vw);
    background-color: var(--color-bg-1);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1--2::after {
        height: calc(96 / var(--design-width) * 100vw);
    }
}
.c-cassette-1__inner {
    margin-inline: auto;
    width: 86%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1__inner {
        width: 80%;
    }
}
.c-cassette-1__head {
    display: flex;
    -moz-column-gap: calc(40 / var(--design-width) * 100vw);
         column-gap: calc(40 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1__head {
        flex-direction: column;
    }
}
.c-cassette-1__ttl {
    display: grid;
    place-items: center;
    border: calc(4 / var(--design-width) * 100vw) solid transparent;
    border-radius: 50%;
    width: calc(192 / var(--design-width) * 100vw);
    height: calc(192 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1__ttl {
        margin-inline: auto;
        width: calc(115 / var(--design-width) * 100vw);
        height: calc(115 / var(--design-width) * 100vw);
        border-width: calc(2.4 / var(--design-width) * 100vw);
    }
}
.c-cassette-1__ttl--1 {
    background: linear-gradient(var(--color-white-1, var(--color-white-1))) padding-box, linear-gradient(90deg, var(--color-gd-2-1) 0%, var(--color-gd-2-2) 25%, var(--color-gd-2-3) 50%, var(--color-gd-2-2) 75%, var(--color-gd-2-1) 100%) border-box;
}
.c-cassette-1__ttl--2 {
    background: linear-gradient(var(--color-bg-1, var(--color-bg-1))) padding-box, linear-gradient(135deg, var(--color-gd-3-1) 0%, var(--color-gd-3-2) 25%, var(--color-gd-3-3) 50%, var(--color-gd-3-4) 75%, var(--color-gd-3-5) 100%) border-box;
}
.c-cassette-1__ttl--3 {
    border: none;
    background: url(../img/bg_heading.webp) 0 0 no-repeat;
    background-size: 100% auto;
}
.c-cassette-1__ttl-txt {
    display: block;
    text-align: center;
    font-size: calc(32 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    font-family: var(--ff-libre);
    color: var(--color-txt-1);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1__ttl-txt {
        font-size: calc(19.2 / var(--design-width) * 100vw);
    }
}
.c-cassette-1__ttl-txt span {
    display: block;
    margin-top: calc(-11 / var(--design-width) * 100vw);
    margin-bottom: calc(9 / var(--design-width) * 100vw);
    font-size: calc(16 / var(--design-width) * 100vw);
    line-height: 2;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1__ttl-txt span {
        margin-top: calc(-5 / var(--design-width) * 100vw);
        margin-bottom: calc(4 / var(--design-width) * 100vw);
        font-size: calc(9.6 / var(--design-width) * 100vw);
        line-height: 2;
    }
}
.c-cassette-1__ttl--2 .c-cassette-1__ttl-txt {
    color: var(--color-txt-2);
}
.c-cassette-1__ttl--3 .c-cassette-1__ttl-txt {
    color: var(--color-white-1);
}
.c-cassette-1__lead {
    margin-top: calc(12 / var(--design-width) * 100vw);
    display: block;
    font-size: calc(32 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1__lead {
        margin-top: calc(29 / var(--design-width) * 100vw);
        text-align: center;
        font-size: calc(19.2 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 1.6;
    }
}
.c-cassette-1__txt {
    margin-top: calc(27 / var(--design-width) * 100vw);
    font-size: calc(18 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1__txt {
        margin-top: calc(19 / var(--design-width) * 100vw);
        margin-inline: calc(50% - 50vw);
        text-align: center;
        font-size: calc(11 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 2.1818181818;
    }
}
.c-cassette-1__body {
    margin-top: calc(136 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1__body {
        margin-top: calc(78 / var(--design-width) * 100vw);
    }
}
.c-cassette-1--2 .c-cassette-1__body {
    margin-top: calc(106 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1--2 .c-cassette-1__body {
        margin-top: calc(87 / var(--design-width) * 100vw);
    }
}
.c-cassette-1__img-list {
    margin-top: calc(188 / var(--design-width) * 100vw);
    display: flex;
    margin-inline: calc(50% - 50vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1__img-list {
        margin-top: calc(114 / var(--design-width) * 100vw);
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}
.c-cassette-1__img-list--2 {
    margin-top: calc(220 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1__img-list--2 {
        margin-top: calc(117 / var(--design-width) * 100vw);
    }
}
.c-cassette-1__img {
    width: 25%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-1__img {
        width: 100%;
    }
}
.c-cassette-1__img img {
    display: block;
    width: 100%;
    height: auto;
    transform: scale(1.01);
}

/* ---------------------------------------------
*   c-cassette-2
--------------------------------------------- */
.c-cassette-2 {
    position: relative;
    padding: calc(78 / var(--design-width) * 100vw) calc(76 / var(--design-width) * 100vw);
    border: calc(12 / var(--design-width) * 100vw) solid var(--color-bg-1);
    border-radius: calc(64 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2 {
        padding: calc(46 / var(--design-width) * 100vw) 0 calc(65 / var(--design-width) * 100vw);
        border-radius: calc(32 / var(--design-width) * 100vw);
        border-width: calc(6 / var(--design-width) * 100vw);
        color: #000;
    }
}
.c-cassette-2--white {
    border-color: var(--color-white-1);
}
.c-cassette-2--4 {
    padding-bottom: calc(228 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2--4 {
        padding-bottom: calc(73 / var(--design-width) * 100vw);
    }
}
.c-cassette-2 + .c-cassette-2 {
    margin-top: calc(112 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2 + .c-cassette-2 {
        margin-top: calc(59 / var(--design-width) * 100vw);
    }
}
.c-cassette-2__ttl {
    position: relative;
    margin-inline: auto;
    font-size: calc(32 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 1.125;
    letter-spacing: 0.05em;
    width: -moz-fit-content;
    width: fit-content;
    font-family: var(--ff-libre);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2__ttl {
        font-size: calc(19.2 / var(--design-width) * 100vw);
        line-height: 2;
    }
}
.c-cassette-2__ttl::before {
    position: absolute;
    bottom: calc(5 / var(--design-width) * 100vw);
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-base-1);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2__ttl::before {
        bottom: calc(11 / var(--design-width) * 100vw);
    }
}
.c-cassette-2__ttl span {
    font-size: calc(16 / var(--design-width) * 100vw);
    line-height: 2.25;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2__ttl span {
        font-size: calc(9.6 / var(--design-width) * 100vw);
        line-height: 4;
    }
}
.c-cassette-2__lead {
    display: block;
    margin-top: calc(17 / var(--design-width) * 100vw);
    margin-inline: auto;
    font-size: calc(32 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    background: linear-gradient(90deg, var(--color-gd-1-1) 0%, var(--color-gd-1-2) 25%, var(--color-gd-1-3) 50%, var(--color-gd-1-4) 75%, var(--color-gd-1-1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2__lead {
        margin-top: calc(1 / var(--design-width) * 100vw);
        text-align: center;
        font-size: calc(19.2 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 1.6;
    }
}
.c-cassette-2__list {
    margin-top: calc(69 / var(--design-width) * 100vw);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(12 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2__list {
        margin-top: calc(45 / var(--design-width) * 100vw);
        margin-inline: auto;
        grid-template-columns: repeat(1, 1fr);
        gap: calc(7 / var(--design-width) * 100vw);
        width: 76.2987012987%;
    }
}
.c-cassette-2__list-item {
    padding: calc(34 / var(--design-width) * 100vw) calc(32 / var(--design-width) * 100vw);
    border-radius: calc(16 / var(--design-width) * 100vw);
    background-color: var(--color-bg-1);
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    min-height: calc(160 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2__list-item {
        padding: calc(19 / var(--design-width) * 100vw);
        border-radius: calc(9.6 / var(--design-width) * 100vw);
        font-size: calc(12 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 1.6;
        min-height: calc(96 / var(--design-width) * 100vw);
    }
}
.c-cassette-2__list--white .c-cassette-2__list-item {
    background-color: var(--color-white-1);
}
.c-cassette-2__btn-1 {
    display: block;
    position: absolute;
    bottom: calc(26 / var(--design-width) * 100vw);
    right: calc(26 / var(--design-width) * 100vw);
    width: calc(130 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-2__btn-1 {
        transition: opacity var(--hover-duration);
    }
    .c-cassette-2__btn-1:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2__btn-1 {
        margin-top: calc(73 / var(--design-width) * 100vw);
        margin-inline: auto;
        position: relative;
        bottom: auto;
        right: auto;
        width: calc(97 / var(--design-width) * 100vw);
    }
}
.c-cassette-2__btn-1::before {
    position: absolute;
    top: calc(-26 / var(--design-width) * 100vw);
    left: 50%;
    transform: translateX(-50%);
    content: "";
    display: block;
    background: url(../img/txt_stickies.webp) 0 0 no-repeat;
    background-size: 100% auto;
    width: calc(101 / var(--design-width) * 100vw);
    height: calc(26 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2__btn-1::before {
        top: calc(-20 / var(--design-width) * 100vw);
        width: calc(74 / var(--design-width) * 100vw);
        height: calc(20 / var(--design-width) * 100vw);
    }
}
.c-cassette-2__btn-1::after {
    position: absolute;
    right: calc(-3 / var(--design-width) * 100vw);
    bottom: calc(-3 / var(--design-width) * 100vw);
    content: "";
    display: block;
    background: url(../img/ico_glass_1.svg) 0 0 no-repeat;
    background-size: 100% auto;
    width: calc(36 / var(--design-width) * 100vw);
    height: calc(36 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2__btn-1::after {
        right: calc(-2 / var(--design-width) * 100vw);
        bottom: calc(-2 / var(--design-width) * 100vw);
        width: calc(27 / var(--design-width) * 100vw);
        height: calc(27 / var(--design-width) * 100vw);
    }
}
.c-cassette-2__btn-1 img {
    width: 100%;
    height: auto;
}
.c-cassette-2__btn-2 {
    display: block;
    position: absolute;
    bottom: calc(26 / var(--design-width) * 100vw);
    right: calc(26 / var(--design-width) * 100vw);
    width: calc(130 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-2__btn-2 {
        transition: opacity var(--hover-duration);
    }
    .c-cassette-2__btn-2:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2__btn-2 {
        margin-top: calc(73 / var(--design-width) * 100vw);
        margin-inline: auto;
        position: relative;
        bottom: auto;
        right: auto;
        width: calc(97 / var(--design-width) * 100vw);
    }
}
.c-cassette-2__btn-2::before {
    position: absolute;
    top: calc(-26 / var(--design-width) * 100vw);
    left: 50%;
    transform: translateX(-50%);
    content: "";
    display: block;
    background: url(../img/txt_stickies.webp) 0 0 no-repeat;
    background-size: 100% auto;
    width: calc(101 / var(--design-width) * 100vw);
    height: calc(26 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2__btn-2::before {
        top: calc(-20 / var(--design-width) * 100vw);
        width: calc(74 / var(--design-width) * 100vw);
        height: calc(20 / var(--design-width) * 100vw);
    }
}
.c-cassette-2__btn-2::after {
    position: absolute;
    right: calc(-3 / var(--design-width) * 100vw);
    bottom: calc(-3 / var(--design-width) * 100vw);
    content: "";
    display: block;
    background: url(../img/ico_glass_2.svg) 0 0 no-repeat;
    background-size: 100% auto;
    width: calc(36 / var(--design-width) * 100vw);
    height: calc(36 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-2__btn-2::after {
        right: calc(-2 / var(--design-width) * 100vw);
        bottom: calc(-2 / var(--design-width) * 100vw);
        width: calc(27 / var(--design-width) * 100vw);
        height: calc(27 / var(--design-width) * 100vw);
    }
}
.c-cassette-2__btn-2 img {
    width: 100%;
    height: auto;
}
.c-cassette-2__acc-btn {
    margin-top: calc(7 / var(--design-width) * 100vw);
    margin-inline: auto;
    display: block;
    background: url(../img/btn_bg.webp) 0 0 no-repeat;
    background-size: 100% auto;
    width: 76.2987012987%;
    height: calc(40 / var(--design-width) * 100vw);
    font-size: calc(9.6 / var(--design-width) * 100vw);
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
    font-family: var(--ff-gothic);
    color: var(--color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-2__acc-btn {
        transition: opacity var(--hover-duration);
    }
    .c-cassette-2__acc-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-cassette-2__acc-btn img {
    width: 100%;
    height: auto;
}

/* ---------------------------------------------
*   c-cassette-3
--------------------------------------------- */
.c-cassette-3--2 {
    position: relative;
    margin-inline: calc(50% - 50vw);
}
.c-cassette-3--2::before {
    position: absolute;
    top: calc(136 / var(--design-width) * 100vw);
    right: calc(-68 / var(--design-width) * 100vw);
    content: "";
    display: block;
    background: url(../img/bg_parts_1.webp) 0 0 no-repeat;
    background-size: 100% auto;
    width: calc(288 / var(--design-width) * 100vw);
    height: calc(288 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3--2::before {
        top: calc(36 / var(--design-width) * 100vw);
        right: calc(-24 / var(--design-width) * 100vw);
        width: calc(88 / var(--design-width) * 100vw);
        height: calc(88 / var(--design-width) * 100vw);
    }
}
.c-cassette-3--2::after {
    position: absolute;
    top: calc(496 / var(--design-width) * 100vw);
    left: calc(-128 / var(--design-width) * 100vw);
    content: "";
    display: block;
    background: url(../img/bg_parts_2.webp) 0 0 no-repeat;
    background-size: 100% auto;
    width: calc(512 / var(--design-width) * 100vw);
    height: calc(512 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3--2::after {
        top: calc(382 / var(--design-width) * 100vw);
        left: calc(-60 / var(--design-width) * 100vw);
        width: calc(160 / var(--design-width) * 100vw);
        height: calc(160 / var(--design-width) * 100vw);
    }
}
.c-cassette-3 + .c-cassette-3 {
    padding-top: calc(155 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3 + .c-cassette-3 {
        padding-top: calc(76 / var(--design-width) * 100vw);
    }
}
.c-cassette-3__ttl {
    position: relative;
    margin-inline: auto;
    font-size: calc(16 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 2.25;
    letter-spacing: 0.05em;
    width: -moz-fit-content;
    width: fit-content;
    font-family: var(--ff-libre);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3__ttl {
        font-size: calc(9.6 / var(--design-width) * 100vw);
        line-height: 4;
    }
}
.c-cassette-3__ttl::before {
    position: absolute;
    bottom: calc(5 / var(--design-width) * 100vw);
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 110.4449353108%;
    height: calc(1 / var(--design-width) * 100vw);
    min-height: 1px;
    background-color: var(--color-base-1);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3__ttl::before {
        bottom: calc(12 / var(--design-width) * 100vw);
    }
}
.c-cassette-3__ttl--2::before {
    width: 105.223880597%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .iphone .c-cassette-3__ttl--2::before {
        bottom: calc(10 / var(--design-width) * 100vw);
    }
    .android .c-cassette-3__ttl--2::before {
        bottom: calc(10 / var(--design-width) * 100vw);
    }
}
.c-cassette-3__lead {
    display: block;
    margin-top: calc(18 / var(--design-width) * 100vw);
    margin-inline: auto;
    font-size: calc(32 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    background: linear-gradient(90deg, var(--color-gd-1-1) 0%, var(--color-gd-1-2) 25%, var(--color-gd-1-3) 50%, var(--color-gd-1-4) 75%, var(--color-gd-1-1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3__lead {
        margin-top: calc(2 / var(--design-width) * 100vw);
        text-align: center;
        font-size: calc(19.2 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 1.6;
    }
}
.c-cassette-3__lead--2 {
    margin-top: calc(142 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3__lead--2 {
        margin-top: calc(84 / var(--design-width) * 100vw);
    }
}
.c-cassette-3__list {
    margin-top: calc(118 / var(--design-width) * 100vw);
    margin-left: calc(296 / var(--design-width) * 100vw);
    counter-reset: li;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3__list {
        margin-top: calc(60 / var(--design-width) * 100vw);
        margin-left: 0;
    }
}
.c-cassette-3__list-item {
    position: relative;
    font-size: calc(24 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0;
    padding-left: calc(68 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3__list-item {
        padding-left: calc(44 / var(--design-width) * 100vw);
        font-size: calc(14.4 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 1.8;
    }
}
.c-cassette-3__list-item::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    font-size: calc(16 / var(--design-width) * 100vw);
    font-weight: bold;
    line-height: 1;
    font-family: var(--ff-gothic);
    color: var(--color-white-1);
    counter-increment: li;
    content: counter(li);
    display: grid;
    place-items: center;
    width: calc(48 / var(--design-width) * 100vw);
    height: calc(48 / var(--design-width) * 100vw);
    border-radius: 50%;
    background: url(../img/bg_heading.webp) 0 0 no-repeat;
    background-size: 100% auto;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3__list-item::before {
        top: calc(-1 / var(--design-width) * 100vw);
        left: calc(2 / var(--design-width) * 100vw);
        transform: translateY(0);
        font-size: calc(9.6 / var(--design-width) * 100vw);
        width: calc(28.8 / var(--design-width) * 100vw);
        height: calc(28.8 / var(--design-width) * 100vw);
    }
}
.c-cassette-3__list-item + .c-cassette-3__list-item {
    margin-top: calc(43.2 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3__list-item + .c-cassette-3__list-item {
        margin-top: calc(25.92 / var(--design-width) * 100vw);
    }
}
.c-cassette-3__img-1 {
    margin-top: calc(86 / var(--design-width) * 100vw);
    margin-inline: auto;
    width: 32%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3__img-1 {
        margin-top: calc(40 / var(--design-width) * 100vw);
        width: 64%;
    }
}
.c-cassette-3__img-1 img {
    width: 100%;
    height: auto;
}
.c-cassette-3__img-2 {
    position: relative;
    margin-top: calc(210 / var(--design-width) * 100vw);
    margin-inline: auto;
    width: 60%;
    z-index: 1;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-3__img-2 {
        margin-top: calc(144 / var(--design-width) * 100vw);
        width: 80%;
    }
}
.c-cassette-3__img-2 img {
    width: 100%;
    height: auto;
}

/* ---------------------------------------------
*   c-cassette-4
--------------------------------------------- */
.c-cassette-4 {
    display: flex;
    flex-direction: column;
}
.c-cassette-4__img {
    width: 100%;
}
.c-cassette-4__img img {
    width: 100%;
    height: auto;
}
.c-cassette-4__body {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: space-between;
    flex: 1;
}
.c-cassette-4__ttl {
    margin-top: calc(30 / var(--design-width) * 100vw);
    font-size: calc(32 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-4__ttl {
        margin-top: calc(18 / var(--design-width) * 100vw);
        font-size: calc(19.2 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 1.6;
    }
}
.c-cassette-4__lead {
    display: block;
    margin-top: calc(28 / var(--design-width) * 100vw);
    font-size: calc(24 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 2.1333333333;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-4__lead {
        margin-top: calc(16 / var(--design-width) * 100vw);
        font-size: calc(14.4 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 2.1333333333;
    }
}
.c-cassette-4__txt {
    margin-top: calc(17 / var(--design-width) * 100vw);
    padding-top: calc(25 / var(--design-width) * 100vw);
    border-top: calc(1 / var(--design-width) * 100vw) solid var(--color-base-1);
    text-align: justify;
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-4__txt {
        margin-top: calc(10 / var(--design-width) * 100vw);
        padding-top: calc(15 / var(--design-width) * 100vw);
        font-size: calc(12 / var(--design-width) * 100vw);
        font-weight: 400;
    }
}
.c-cassette-4__btn {
    margin-top: calc(50 / var(--design-width) * 100vw);
    width: calc(224 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-4__btn {
        transition: opacity var(--hover-duration);
    }
    .c-cassette-4__btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-cassette-4__btn {
        margin-top: calc(29 / var(--design-width) * 100vw);
        width: calc(134 / var(--design-width) * 100vw);
    }
}
.c-cassette-4__btn img {
    width: 100%;
    height: auto;
}

/* ---------------------------------------------
*   c-figure
--------------------------------------------- */
/* ---------------------------------------------
*   c-form
--------------------------------------------- */
/* ---------------------------------------------
*   c-img
--------------------------------------------- */
/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
.c-kv {
    position: relative;
    display: grid;
    place-items: center;
    height: 100vh;
    pointer-events: none;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-kv {
        display: block;
        place-items: initial;
        padding-block: calc(230 / var(--design-width) * 100vw) calc(104 / var(--design-width) * 100vw);
        height: auto;
    }
}
.c-kv__img {
    width: 32%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-kv__img {
        margin-inline: auto;
        width: 64%;
    }
}
.c-kv__img img {
    width: 100%;
    height: auto;
}
.c-kv__txt-area {
    position: absolute;
    top: 50%;
    left: 3.75%;
    transform: translateY(-50%);
    display: flex;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-kv__txt-area {
        margin-top: calc(24 / var(--design-width) * 100vw);
        margin-left: 18%;
        transform: none;
        position: static;
        flex-direction: column-reverse;
    }
}
.c-kv__txt-jp, .c-kv__txt-en {
    writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-kv__txt-jp, .c-kv__txt-en {
        writing-mode: initial;
    }
}
.c-kv__txt-jp {
    font-size: calc(10 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.2em;
    font-family: var(--ff-gothic);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-kv__txt-jp {
        letter-spacing: 0.1em;
    }
}
.c-kv__txt-en {
    font-size: calc(8 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 2.5;
    letter-spacing: 0.2em;
    font-family: var(--ff-gothic);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-kv__txt-en {
        letter-spacing: 0.1em;
    }
}

/* ---------------------------------------------
*   c-link
--------------------------------------------- */
/* ---------------------------------------------
*   c-list
--------------------------------------------- */
/* ---------------------------------------------
*   c-modal
--------------------------------------------- */
.c-modal {
    display: none;
}
.c-modal.is-open {
    display: block;
}
.c-modal__overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: url(../img/bg_modal.webp) 0 0 no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
}
.c-modal__container {
    position: relative;
    width: 100%;
    max-height: 100vh;
}
.c-modal__close-btn {
    position: absolute;
    top: calc(-47 / var(--design-width) * 100vw);
    left: 50%;
    transform: translateX(calc(328 / var(--design-width) * 100vw));
    background: url(../img/ico-close.svg) 0 0 no-repeat;
    background-size: 100% auto;
    width: calc(32 / var(--design-width) * 100vw);
    height: calc(32 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .c-modal__close-btn {
        transition: opacity var(--hover-duration);
    }
    .c-modal__close-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal__close-btn {
        top: calc(-36 / var(--design-width) * 100vw);
        transform: translateX(calc(136 / var(--design-width) * 100vw));
        width: calc(24 / var(--design-width) * 100vw);
        height: calc(24 / var(--design-width) * 100vw);
    }
}
.c-modal--member .c-modal__close-btn {
    transform: translateX(calc(448 / var(--design-width) * 100vw));
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal--member .c-modal__close-btn {
        top: calc(-36 / var(--design-width) * 100vw);
        transform: translateX(calc(136 / var(--design-width) * 100vw));
        width: calc(24 / var(--design-width) * 100vw);
        height: calc(24 / var(--design-width) * 100vw);
    }
}

.c-modal--message .c-modal__close-btn {
    transform: translateX(calc(448 / var(--design-width) * 100vw));
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal--message .c-modal__close-btn {
        top: calc(-36 / var(--design-width) * 100vw);
        transform: translateX(calc(136 / var(--design-width) * 100vw));
        width: calc(24 / var(--design-width) * 100vw);
        height: calc(24 / var(--design-width) * 100vw);
    }
}

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

@keyframes mmfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes mmfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@keyframes mmslideIn {
    from {
        transform: translateY(15%);
    }
    to {
        transform: translateY(0);
    }
}
@keyframes mmslideOut {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(15%);
    }
}
/* ---------------------------------------------
*   c-modal-slider
--------------------------------------------- */
.c-modal-slider__wrapper {
    position: relative;
}
.c-modal-slider .splide__track {
    overflow: visible !important;
}
.c-modal-slider .splide__slide {
    display: grid;
    place-items: center;
    transform: translate3d(0, 0, 0);
    pointer-events: none;
}
.c-modal-slider .splide__arrow {
    position: absolute;
    top: 50%;
    z-index: 1;
    translate: 0 -50%;
    display: grid;
    place-items: center;
    width: calc(64 / var(--design-width) * 100vw);
    height: calc(64 / var(--design-width) * 100vw);
    touch-action: manipulation;
    cursor: pointer;
    overflow: hidden;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider .splide__arrow {
        width: calc(32 / var(--design-width) * 100vw);
        height: calc(32 / var(--design-width) * 100vw);
    }
}
.c-modal-slider .splide__arrow--prev {
    left: calc(32 / var(--design-width) * 100vw) !important;
    background: url(../img/ico_prev.svg) 0 0 no-repeat;
    background-size: 98% 98%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider .splide__arrow--prev {
        left: calc(4 / var(--design-width) * 100vw) !important;
    }
}
.c-modal-slider .splide__arrow--next {
    right: calc(32 / var(--design-width) * 100vw) !important;
    background: url(../img/ico_next.svg) 0 0 no-repeat;
    background-size: 98% 98%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider .splide__arrow--next {
        right: calc(4 / var(--design-width) * 100vw) !important;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-modal-slider .splide__arrow {
        transition: opacity 0.3s;
    }
    .c-modal-slider .splide__arrow:hover {
        opacity: 0.8;
    }
}
.c-modal-slider__img {
    width: calc(720 / var(--design-width) * 100vw);
    box-shadow: 0 0 calc(32 / var(--design-width) * 100vw) rgba(0, 0, 0, 0.25);
    max-height: 80vh;
    overflow-y: auto;
    overscroll-behavior: none;
    pointer-events: all;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__img {
        width: 80%;
    }
}
.c-modal-slider__img img {
    width: 100%;
    height: auto;
}
.c-modal-slider__container-1 {
    position: relative;
    padding: calc(120 / var(--design-width) * 100vw) calc(80 / var(--design-width) * 100vw) calc(90 / var(--design-width) * 100vw);
    background-color: var(--color-bg-1);
    width: calc(960 / var(--design-width) * 100vw);
    max-height: 80vh;
    box-shadow: 0 0 calc(32 / var(--design-width) * 100vw) rgba(0, 0, 0, 0.25);
    overflow-y: auto;
    overscroll-behavior: none;
    pointer-events: all;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__container-1 {
        padding: calc(60 / var(--design-width) * 100vw) 8.3333333333% calc(45 / var(--design-width) * 100vw);
        width: 80%;
    }
}
.c-modal-slider__img-member {
    margin-inline: auto;
    width: calc(384 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__img-member {
        width: 45%;
    }
}
.c-modal-slider__img-member img {
    width: 100%;
    height: auto;
}
.c-modal-slider__container-1-ttl {
    position: absolute;
    top: calc(472 / var(--design-width) * 100vw);
    left: calc(81 / var(--design-width) * 100vw);
    font-size: calc(72 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em;
    font-family: var(--ff-libre);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__container-1-ttl {
        top: calc(160 / var(--design-width) * 100vw);
        left: 5.0625vw;
        font-size: calc(28.8 / var(--design-width) * 100vw);
    }
}
.c-modal-slider__container-1-lead {
    margin-top: calc(67 / var(--design-width) * 100vw);
    font-size: calc(28.8 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__container-1-lead {
        margin-top: 4.1875vw;
        font-size: calc(11 / var(--design-width) * 100vw);
    }
    .windows.chrome .c-modal-slider__container-1-lead {
        font-size: calc(10.3 / var(--design-width) * 100vw);
    }
    .windows.edge .c-modal-slider__container-1-lead {
        font-size: calc(10.3 / var(--design-width) * 100vw);
    }
}
.c-modal-slider__container-1-txt {
    margin-top: calc(53 / var(--design-width) * 100vw);
    text-align: justify;
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__container-1-txt {
        margin-top: 3.3125vw;
        font-size: calc(10 / var(--design-width) * 100vw);
    }
}
.c-modal-slider__container-1-btn {
    margin-top: calc(49 / var(--design-width) * 100vw);
    margin-inline: auto;
    display: block;
    width: calc(160 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .c-modal-slider__container-1-btn {
        transition: opacity var(--hover-duration);
    }
    .c-modal-slider__container-1-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__container-1-btn {
        margin-top: calc(25 / var(--design-width) * 100vw);
        width: calc(100 / var(--design-width) * 100vw);
    }
}
.c-modal-slider__container-2 {
    width: calc(960 / var(--design-width) * 100vw);
    max-height: 80vh;
    box-shadow: 0 0 calc(32 / var(--design-width) * 100vw) rgba(0, 0, 0, 0.25);
    overflow-y: auto;
    overscroll-behavior: none;
    pointer-events: all;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__container-2 {
        width: 80%;
    }
}
.c-modal-slider__container-2-body {
    padding: calc(30 / var(--design-width) * 100vw) calc(80 / var(--design-width) * 100vw) calc(132 / var(--design-width) * 100vw);
    background-color: var(--color-bg-1);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__container-2-body {
        padding: calc(15 / var(--design-width) * 100vw) 8.3333333333% calc(66 / var(--design-width) * 100vw);
    }
}
.c-modal-slider__message-img {
    width: 100%;
}
.c-modal-slider__message-img img {
    width: 100%;
    height: auto;
}
.c-modal-slider__name {
    margin-right: calc(-40 / var(--design-width) * 100vw);
    display: block;
    text-align: right;
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__name {
        margin-right: 0;
        font-size: calc(10 / var(--design-width) * 100vw);
    }
}
.c-modal-slider__container-2-lead {
    margin-top: calc(21 / var(--design-width) * 100vw);
    font-size: calc(36 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__container-2-lead {
        margin-top: 1.3125vw;
        font-size: calc(18 / var(--design-width) * 100vw);
    }
}
.c-modal-slider__container-2-txt {
    margin-top: calc(68 / var(--design-width) * 100vw);
    text-align: justify;
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__container-2-txt {
        margin-top: 4.25vw;
        font-size: calc(10 / var(--design-width) * 100vw);
    }
}
.c-modal-slider__container-2-btn {
    margin-top: calc(50 / var(--design-width) * 100vw);
    margin-inline: auto;
    display: block;
    width: calc(160 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .c-modal-slider__container-2-btn {
        transition: opacity var(--hover-duration);
    }
    .c-modal-slider__container-2-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-modal-slider__container-2-btn {
        margin-top: calc(25 / var(--design-width) * 100vw);
        width: calc(100 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-section-intro
--------------------------------------------- */
.c-section-intro {
    position: relative;
    padding-block: calc(60 / var(--design-width) * 100vw) calc(135 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro {
        padding-block: calc(106 / var(--design-width) * 100vw) calc(60 / var(--design-width) * 100vw);
    }
}
.c-section-intro__txt {
    text-align: center;
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 2.4;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__txt {
        font-size: calc(12 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 2.4;
    }
}
.c-section-intro__txt + .c-section-intro__txt {
    margin-top: calc(48 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__txt + .c-section-intro__txt {
        margin-top: calc(144 / var(--design-width) * 100vw);
    }
}
.c-section-intro__img-1 {
    position: absolute;
    top: calc(27 / var(--design-width) * 100vw);
    left: 6.5%;
    width: 22%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__img-1 {
        top: calc(8 / var(--design-width) * 100vw);
        left: 8.75%;
        width: calc(117 / var(--design-width) * 100vw);
    }
}
.c-section-intro__img-1::before {
    position: absolute;
    top: calc(-24 / var(--design-width) * 100vw);
    left: -12.5%;
    content: "";
    display: block;
    background: url(../img/img_intro_1-2.webp) 0 0 no-repeat;
    background-size: 100% auto;
    width: 90.9090909091%;
    height: calc(256 / var(--design-width) * 100vw);
    z-index: -1;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__img-1::before {
        top: calc(-9 / var(--design-width) * 100vw);
        width: 0.905982906;
        height: calc(85 / var(--design-width) * 100vw);
    }
}
.c-section-intro__img-1 img {
    width: 100%;
    height: auto;
}
.c-section-intro__img-2 {
    position: absolute;
    top: calc(222.5 / var(--design-width) * 100vw);
    right: 0;
    width: 24%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__img-2 {
        top: calc(297 / var(--design-width) * 100vw);
        width: 32%;
    }
}
.c-section-intro__img-2::before {
    position: absolute;
    bottom: calc(-56 / var(--design-width) * 100vw);
    left: -14.5833333333%;
    content: "";
    display: block;
    background: url(../img/img_intro_2-2.webp) 0 0 no-repeat;
    background-size: 100% auto;
    width: 104.1666666667%;
    height: calc(224 / var(--design-width) * 100vw);
    z-index: -1;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__img-2::before {
        bottom: calc(-19 / var(--design-width) * 100vw);
        width: 103.90625%;
        height: calc(74 / var(--design-width) * 100vw);
    }
}
.c-section-intro__img-2 img {
    width: 100%;
    height: auto;
}
.c-section-intro__img-3 {
    position: absolute;
    top: calc(507 / var(--design-width) * 100vw);
    left: 14%;
    width: 11.25%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__img-3 {
        top: calc(610 / var(--design-width) * 100vw);
        left: 8%;
        width: 20%;
    }
}
.c-section-intro__img-3 img {
    width: 100%;
    height: auto;
}
.c-section-intro__img-4 {
    position: absolute;
    top: calc(747 / var(--design-width) * 100vw);
    right: 17.5%;
    width: 12.5%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__img-4 {
        top: calc(628 / var(--design-width) * 100vw);
        right: 8%;
        width: 22%;
    }
}
.c-section-intro__img-4 img {
    width: 100%;
    height: auto;
}
.c-section-intro__img-5 {
    position: absolute;
    top: calc(1051 / var(--design-width) * 100vw);
    left: 0;
    width: 18%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__img-5 {
        top: calc(1031 / var(--design-width) * 100vw);
        left: 13.25%;
        width: 24%;
    }
}
.c-section-intro__img-5::before {
    position: absolute;
    top: calc(-44 / var(--design-width) * 100vw);
    right: -11.1111111111%;
    content: "";
    display: block;
    background: url(../img/img_intro_5-2.webp) 0 0 no-repeat;
    background-size: 100% auto;
    width: 94.4444444444%;
    height: calc(240 / var(--design-width) * 100vw);
    z-index: -1;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__img-5::before {
        top: calc(-14 / var(--design-width) * 100vw);
        width: 93.75%;
        height: calc(80 / var(--design-width) * 100vw);
    }
}
.c-section-intro__img-5 img {
    width: 100%;
    height: auto;
}
.c-section-intro__img-6 {
    position: absolute;
    top: calc(1163 / var(--design-width) * 100vw);
    right: 4.5%;
    width: 12%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__img-6 {
        top: calc(1257 / var(--design-width) * 100vw);
        right: 28.25%;
        width: 16%;
    }
}
.c-section-intro__img-6::before {
    position: absolute;
    bottom: calc(-37 / var(--design-width) * 100vw);
    right: -14.5833333333%;
    content: "";
    display: block;
    background: url(../img/img_intro_6-2.webp) 0 0 no-repeat;
    background-size: 100% auto;
    width: 106.25%;
    height: calc(255 / var(--design-width) * 100vw);
    z-index: -1;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__img-6::before {
        bottom: calc(-13 / var(--design-width) * 100vw);
        width: 106.25%;
        height: calc(85 / var(--design-width) * 100vw);
    }
}
.c-section-intro__img-6 img {
    width: 100%;
    height: auto;
}
.c-section-intro__box {
    margin-top: calc(292 / var(--design-width) * 100vw);
    margin-inline: auto;
    padding-block: calc(50 / var(--design-width) * 100vw);
    border-radius: 100vh;
    width: 65%;
    background-color: var(--color-white-1);
    box-shadow: 0 0 calc(24 / var(--design-width) * 100vw) calc(24 / var(--design-width) * 100vw) var(--color-white-1);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__box {
        margin-top: calc(200 / var(--design-width) * 100vw);
        padding-block: calc(35 / var(--design-width) * 100vw);
        border-radius: calc(136 / var(--design-width) * 100vw);
        width: 75%;
    }
}
.c-section-intro__box-ttl {
    margin-inline: auto;
    display: block;
    font-size: calc(32 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
    background: linear-gradient(90deg, var(--color-gd-1-1) 0%, var(--color-gd-1-2) 25%, var(--color-gd-1-3) 50%, var(--color-gd-1-4) 75%, var(--color-gd-1-1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__box-ttl {
        text-align: center;
        font-size: calc(19.2 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 1.5;
    }
}
.c-section-intro__box-txt {
    margin-top: calc(29 / var(--design-width) * 100vw);
    text-align: center;
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 2.4;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-intro__box-txt {
        margin-top: calc(12 / var(--root-fz) * 1rem);
        font-size: calc(12 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 2.4;
    }
}

/* ---------------------------------------------
*   c-section-1
--------------------------------------------- */
.c-section-1 {
    padding-block: calc(100 / var(--design-width) * 100vw) calc(77 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-1 {
        padding-block: calc(88 / var(--design-width) * 100vw) calc(12 / var(--design-width) * 100vw);
    }
}
.c-section-1__inner {
    margin-inline: auto;
    width: 86%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-1__inner {
        width: 80%;
    }
}
.c-section-1__body {
    margin-top: calc(82 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-1__body {
        margin-top: calc(50 / var(--design-width) * 100vw);
    }
}
.c-section-1__txt {
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 2.4;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-1__txt {
        font-size: calc(12 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 2.4;
    }
}
.c-section-1__img {
    margin-top: calc(110 / var(--design-width) * 100vw);
    margin-inline: auto;
    width: 50%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-1__img {
        margin-top: calc(81 / var(--design-width) * 100vw);
        width: 100%;
    }
}
.c-section-1__img img {
    width: 100%;
    height: auto;
}

/* ---------------------------------------------
*   c-section-2
--------------------------------------------- */
.c-section-2 {
    padding-top: calc(100 / var(--design-width) * 100vw);
    padding-bottom: calc(250 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-2 {
        padding-top: calc(88 / var(--design-width) * 100vw);
        padding-bottom: calc(352 / var(--design-width) * 100vw);
    }
}
.c-section-2__inner {
    margin-inline: auto;
    width: 90%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-2__inner {
        width: 85%;
    }
}
.c-section-2__ttl {
    margin-left: calc(26 / var(--design-width) * 100vw);
    padding-left: 0.4166666667%;
    width: 27.5% !important;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-2__ttl {
        margin-left: calc(7 / var(--design-width) * 100vw);
        padding-left: calc(3 / var(--design-width) * 100vw) !important;
        width: 58.2352941176% !important;
    }
}
.c-section-2__sub-ttl {
    margin-left: calc(34 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-2__sub-ttl {
        margin-left: calc(11 / var(--design-width) * 100vw);
    }
}
.c-section-2__body {
    margin-top: calc(47 / var(--design-width) * 100vw);
    position: relative;
    display: flex;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-2__body {
        margin-top: calc(49 / var(--design-width) * 100vw);
        flex-direction: column-reverse;
    }
}
.c-section-2__txt-area {
    position: relative;
    margin-top: calc(149 / var(--design-width) * 100vw);
    margin-left: calc(80 / var(--design-width) * 100vw);
    width: 33.3333333333%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-2__txt-area {
        margin-top: calc(-37 / var(--design-width) * 100vw);
        margin-left: calc(10 / var(--design-width) * 100vw);
        width: 100%;
    }
}
.c-section-2__txt-item {
    position: absolute;
    top: 0;
    left: 0;
    width: -moz-fit-content;
    width: fit-content;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s, visibility 1s;
}
.c-section-2__txt-item.is-active {
    opacity: 1;
    visibility: visible;
}
.c-section-2__txt-item-ttl {
    font-size: calc(48 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 1.3333333333;
    letter-spacing: 0.05em;
    font-family: var(--ff-libre);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-2__txt-item-ttl {
        font-size: calc(28.8 / var(--design-width) * 100vw);
        line-height: 1.3333333333;
    }
}
.c-section-2__txt-item-txt {
    margin-top: calc(35 / var(--design-width) * 100vw);
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-2__txt-item-txt {
        margin-top: calc(22 / var(--design-width) * 100vw);
        font-size: calc(12 / var(--design-width) * 100vw);
        font-weight: 400;
    }
}
.c-section-2__btn {
    margin-top: calc(50 / var(--design-width) * 100vw);
    width: calc(224 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .c-section-2__btn {
        transition: opacity var(--hover-duration);
    }
    .c-section-2__btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-2__btn {
        margin-top: calc(33 / var(--design-width) * 100vw);
        width: calc(134 / var(--design-width) * 100vw);
    }
}
.c-section-2__btn img {
    width: 100%;
    height: auto;
}
.c-section-2__slider {
    margin-left: calc(-32 / var(--design-width) * 100vw);
    width: 46.6666666667%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-2__slider {
        margin-left: auto;
        margin-right: calc(-10 / var(--design-width) * 100vw);
        width: 74.1176470588%;
    }
}

/* ---------------------------------------------
*   c-section-3
--------------------------------------------- */
.c-section-3 {
    padding-top: calc(150 / var(--design-width) * 100vw);
    background-color: var(--color-white-1);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-3 {
        padding-top: calc(97 / var(--design-width) * 100vw);
    }
}
.c-section-3__inner {
    margin-inline: auto;
    width: 85%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-3__inner {
        width: 90%;
    }
}
.c-section-3__head {
    display: flex;
    -moz-column-gap: calc(48 / var(--design-width) * 100vw);
         column-gap: calc(48 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-3__head {
        -moz-column-gap: calc(27 / var(--design-width) * 100vw);
             column-gap: calc(27 / var(--design-width) * 100vw);
    }
}
.c-section-3__ttl {
    margin-left: calc(-17 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-3__ttl {
        margin-left: calc(46 / var(--design-width) * 100vw);
    }
}
.c-section-3__sub-ttl {
    margin-top: calc(30 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-3__sub-ttl {
        margin-top: calc(11 / var(--design-width) * 100vw);
    }
}
.c-section-3__body {
    margin-top: calc(115 / var(--design-width) * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 11.7647058824%;
         column-gap: 11.7647058824%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-3__body {
        margin-top: calc(99 / var(--design-width) * 100vw);
        grid-template-columns: repeat(1, 1fr);
        row-gap: calc(94 / var(--design-width) * 100vw);
    }
}
.c-section-3__slider {
    margin-top: calc(145 / var(--design-width) * 100vw);
    margin-inline: calc(50% - 50vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-3__slider {
        margin-top: calc(117 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-section-4
--------------------------------------------- */
.c-section-4 {
    padding-block: calc(142 / var(--design-width) * 100vw) calc(60 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-4 {
        padding-block: calc(76 / var(--design-width) * 100vw) calc(72 / var(--design-width) * 100vw);
    }
}
.c-section-4__inner {
    display: flex;
    align-items: start;
    -moz-column-gap: 4.1847041847%;
         column-gap: 4.1847041847%;
    margin-inline: auto;
    width: 86.625%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-4__inner {
        flex-direction: column;
        width: 80%;
    }
}
.c-section-4__left {
    width: 46.176046176%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-4__left {
        width: 100%;
    }
}
.c-section-4__ttl {
    padding-right: calc(10 / var(--design-width) * 100vw);
}
.c-section-4__sub-ttl {
    margin-top: calc(71 / var(--design-width) * 100vw) !important;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-4__sub-ttl {
        margin-top: calc(49 / var(--design-width) * 100vw) !important;
    }
}
.c-section-4__txt {
    margin-top: calc(94 / var(--design-width) * 100vw);
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 2.4;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-4__txt {
        margin-top: calc(56 / var(--design-width) * 100vw);
        font-size: calc(12 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 2.4;
    }
}
.c-section-4__link {
    display: block;
    margin-top: calc(87 / var(--design-width) * 100vw);
    width: calc(256 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .c-section-4__link {
        transition: opacity var(--hover-duration);
    }
    .c-section-4__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-4__link {
        margin-top: calc(44 / var(--design-width) * 100vw);
        width: calc(153 / var(--design-width) * 100vw);
    }
}
.c-section-4__link img {
    width: 100%;
    height: auto;
}
.c-section-4__right {
    margin-right: calc(-66 / var(--design-width) * 100vw);
    flex: 1;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-4__right {
        margin-right: 0;
    }
}
.c-section-4__img {
    margin-top: calc(-48 / var(--design-width) * 100vw);
    width: 100%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-4__img {
        margin-top: calc(39 / var(--design-width) * 100vw);
        margin-left: calc(16 / var(--design-width) * 100vw);
        width: 93.75%;
    }
}
.c-section-4__img img {
    width: 100%;
    height: auto;
}

/* ---------------------------------------------
*   c-section-5
--------------------------------------------- */
.c-section-5 {
    padding-top: calc(113 / var(--design-width) * 100vw);
    background-color: var(--color-white-1);
    overflow: hidden;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-5 {
        padding-top: calc(68 / var(--design-width) * 100vw);
    }
}
.c-section-5__inner {
    position: relative;
    margin-inline: auto;
    padding-bottom: calc(238 / var(--design-width) * 100vw);
    width: 80%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-5__inner {
        padding-bottom: calc(133 / var(--design-width) * 100vw);
        width: 60%;
    }
}
.c-section-5__ttl {
    text-align: center;
    font-size: calc(48 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-5__ttl {
        font-size: calc(28.8 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 1.8;
    }
}
.c-section-5__list {
    margin-top: calc(102 / var(--design-width) * 100vw);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 3.125%;
         column-gap: 3.125%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-5__list {
        margin-top: calc(61 / var(--design-width) * 100vw);
        grid-template-columns: repeat(1, 1fr);
        row-gap: calc(42 / var(--design-width) * 100vw);
    }
}
.c-section-5__link {
    display: block;
    width: 100%;
}
@media (hover: hover) and (pointer: fine) {
    .c-section-5__link {
        transition: opacity var(--hover-duration);
    }
    .c-section-5__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-section-5__img {
    width: 100%;
}
.c-section-5__img img {
    width: 100%;
    height: auto;
}
.c-section-5__link-ttl {
    position: relative;
    display: block;
    margin-top: calc(29 / var(--design-width) * 100vw);
    margin-inline: auto;
    padding-right: calc(32 / var(--design-width) * 100vw);
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.1em;
    font-family: var(--ff-gothic);
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-5__link-ttl {
        margin-top: calc(16 / var(--design-width) * 100vw);
        padding-right: calc(19 / var(--design-width) * 100vw);
        font-size: calc(12 / var(--design-width) * 100vw);
        line-height: 1.75;
    }
}
.c-section-5__link-ttl::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: "";
    display: block;
    background: url(../img/ico_arrow.svg) 0 0 no-repeat;
    background-size: 100% auto;
    width: calc(20 / var(--design-width) * 100vw);
    height: calc(20 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-5__link-ttl::after {
        top: 57%;
        width: calc(12 / var(--design-width) * 100vw);
        height: calc(12 / var(--design-width) * 100vw);
    }
}
.c-section-5__deco {
    position: absolute;
    bottom: calc(-10 / var(--design-width) * 100vw);
    left: 50%;
    transform: translateX(-50%);
    display: block;
    margin-bottom: calc(-20 / var(--design-width) * 100vw);
    text-align: center;
    font-size: calc(256 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em;
    font-family: var(--ff-ephesis);
    color: var(--color-bg-1);
    pointer-events: none;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-section-5__deco {
        bottom: calc(13 / var(--design-width) * 100vw);
        font-size: calc(96 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-slider-gallery
--------------------------------------------- */
.c-slider-gallery__wrapper {
    position: relative;
}
.c-slider-gallery .splide__slide {
    transform: translate3d(0, 0, 0);
    width: 33.3333125%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-slider-gallery .splide__slide {
        width: 75% !important;
    }
}
.c-slider-gallery__img {
    width: 100%;
}
.c-slider-gallery__img img {
    display: block;
    width: 100%;
    height: auto;
    transform: scale(1.01);
}

/* ---------------------------------------------
*   c-slider-member
--------------------------------------------- */
.c-slider-member {
    position: relative;
}
.c-slider-member__wrapper {
    position: relative;
}
.c-slider-member .splide__list {
    align-items: center;
}
.c-slider-member .splide__slide {
    transform: translate3d(0, 0, 0);
    width: 57.1428571429% !important;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-slider-member .splide__slide {
        width: 57.1428571429% !important;
    }
}
.c-slider-member .splide__pagination {
    position: absolute;
    top: 50%;
    right: calc(-240 / var(--design-width) * 100vw);
    transform: translateY(-50%);
    gap: calc(18 / var(--design-width) * 100vw);
    counter-reset: pagination-num;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-slider-member .splide__pagination {
        top: calc(120 / var(--design-width) * 100vw);
        right: initial;
        left: calc(-88 / var(--design-width) * 100vw);
        gap: calc(11 / var(--design-width) * 100vw);
    }
}
.c-slider-member .splide__pagination--ttb {
    flex-direction: column;
}
.c-slider-member .splide__pagination li {
    font-size: 0;
}
.c-slider-member .splide__pagination__page {
    display: grid;
    place-items: center;
    width: calc(36 / var(--design-width) * 100vw);
    height: calc(36 / var(--design-width) * 100vw);
    background-color: var(--color-white-1);
    border-radius: 50%;
    touch-action: manipulation;
    cursor: pointer;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-slider-member .splide__pagination__page {
        width: calc(21.6 / var(--design-width) * 100vw);
        height: calc(21.6 / var(--design-width) * 100vw);
    }
}
.c-slider-member .splide__pagination__page.is-active {
    background: url(../img/bg_heading.webp) 0 0 no-repeat;
    background-size: 100% auto;
}
.c-slider-member .splide__pagination__page.is-active::before {
    color: var(--color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-slider-member .splide__pagination__page {
        transition: opacity 0.3s;
    }
    .c-slider-member .splide__pagination__page:hover {
        opacity: 0.7;
    }
}
.c-slider-member .splide__pagination__page::before {
    counter-increment: pagination-num;
    content: counter(pagination-num);
    font-size: calc(12 / var(--design-width) * 100vw);
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
    font-family: var(--ff-gothic);
    color: var(--color-base-1);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-slider-member .splide__pagination__page::before {
        font-size: calc(7.2 / var(--design-width) * 100vw);
    }
}
.c-slider-member__img {
    width: 100%;
    transform: scale(0.5);
}
.splide__slide.is-active .c-slider-member__img {
    transform: scale(1);
}

.is-ready .c-slider-member__img {
    transition: transform 0.5s;
}

.c-slider-member__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* ---------------------------------------------
*   c-table
--------------------------------------------- */
/* ---------------------------------------------
*   c-tile
--------------------------------------------- */
/* ---------------------------------------------
*   c-ttl-1
--------------------------------------------- */
.c-ttl-1 {
    background: linear-gradient(90deg, var(--color-gd-1-1) 0%, var(--color-gd-1-2) 25%, var(--color-gd-1-3) 50%, var(--color-gd-1-4) 75%, var(--color-gd-1-1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    font-size: calc(128 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em;
    font-family: var(--ff-ephesis);
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-ttl-1 {
        font-size: calc(64 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-ttl-2
--------------------------------------------- */
.c-ttl-2 {
    position: relative;
    display: block;
    margin-top: calc(63 / var(--design-width) * 100vw);
    padding-block: calc(11 / var(--design-width) * 100vw) calc(21 / var(--design-width) * 100vw);
    padding-left: calc(32 / var(--design-width) * 100vw);
    font-size: calc(32 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-ttl-2 {
        margin-top: calc(42 / var(--design-width) * 100vw);
        padding-block: calc(7 / var(--design-width) * 100vw) calc(10 / var(--design-width) * 100vw);
        padding-left: calc(19 / var(--design-width) * 100vw);
        font-size: calc(19.2 / var(--design-width) * 100vw);
        font-weight: 400;
    }
}
.c-ttl-2::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: var(--color-base-1);
}

/* ---------------------------------------------
*   c-ttl-3
--------------------------------------------- */
.c-ttl-3 {
    padding-inline: calc(4 / var(--design-width) * 100vw);
    padding-bottom: calc(5 / var(--design-width) * 100vw);
    background: linear-gradient(90deg, var(--color-gd-1-1) 0%, var(--color-gd-1-2) 25%, var(--color-gd-1-3) 50%, var(--color-gd-1-4) 75%, var(--color-gd-1-1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    font-size: calc(80 / var(--design-width) * 100vw);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em;
    font-family: var(--ff-ephesis);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-ttl-3 {
        font-size: calc(40 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-ttl-4
--------------------------------------------- */
.c-ttl-4 {
    font-size: calc(24 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.7583333333;
    letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .c-ttl-4 {
        font-size: calc(14.4 / var(--design-width) * 100vw);
        font-weight: 400;
        line-height: 1.8;
    }
}

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

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

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

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

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

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

@media screen and (max-width: 768px) and (orientation: portrait) {
    .js-acc {
        height: calc(96 / var(--design-width) * 100vw * 3 + 7 / var(--design-width) * 100vw * 2);
        overflow: hidden;
    }
    .js-acc.is-close {
        animation: closeAccAnim 0.5s forwards;
    }
    .js-acc.is-open {
        animation: openAccAnim 0.5s forwards;
    }
    @keyframes openAccAnim {
        0% {
            height: calc(96 / var(--design-width) * 100vw * 3 + 7 / var(--design-width) * 100vw * 2);
        }
        99% {
            height: var(--acc-body-height);
            visibility: visible;
        }
        100% {
            height: auto;
        }
    }
    @keyframes closeAccAnim {
        0% {
            height: var(--acc-body-height);
        }
        99% {
            visibility: visible;
        }
        100% {
            height: calc(96 / var(--design-width) * 100vw * 3 + 7 / var(--design-width) * 100vw * 2);
        }
    }
}

.pc-hide {
    display: none !important;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .pc-hide {
        display: block !important;
    }
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .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: 768px) {
    .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: 768px) {
    .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;
    }
}