@charset "UTF-8";
/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
.l-wrapper {
    position: relative;
    container-type: inline-size;
}

/* ---------------------------------------------
*   l-header
--------------------------------------------- */
.l-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 900;
    height: calc(var(--fixed-header-height) * 1px);
    background-color: var(--color-green-2);
    transition: height 0.2s;
}
.l-header.is-compact {
    height: 70px;
}
.l-header__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    margin-inline: auto;
    padding-inline: 10px;
    height: 100%;
    max-width: 1340px;
}
@media screen and (max-width: 1359px) {
    .l-header__container {
        padding-inline: min(4.1666666667%, 60px);
    }
}
.l-header__logo-wrap {
    display: flex;
    align-items: center;
}
.l-header__logo-link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .l-header__logo-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header__logo-main {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
@media screen and (min-width: 1171px) {
    .l-header__logo-main {
        padding-right: 24px;
    }
}
.is-compact .l-header__logo-main {
    padding-right: 24px;
}
.l-header__logo-txt {
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1;
}
@media screen and (max-width: 1170px) {
    .l-header__logo-txt {
        display: none;
    }
}
.is-compact .l-header__logo-txt {
    display: none;
}
.l-header__logo {
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    font-size: calc(39.5 / var(--root-fz) * 1rem);
    font-family: var(--ff-en);
    font-weight: 700;
    line-height: 1;
}
@media screen and (max-width: 1170px) {
    .l-header__logo {
        font-size: calc(26 / var(--root-fz) * 1rem);
    }
}
.is-compact .l-header__logo {
    font-size: calc(26 / var(--root-fz) * 1rem);
}
.l-header__logo-copy {
    position: relative;
    padding-left: 24px;
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    padding-top: 5px;
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 1.04px;
}
@media screen and (max-width: 1330px) {
    .l-header__logo-copy {
        display: none;
    }
}
.is-compact .l-header__logo-copy {
    display: none;
}
.l-header__logo-copy::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-45%);
    display: block;
    width: 1px;
    height: 53px;
    background-color: var(--color-white-1);
}
.l-header__contents {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 15px;
    height: 100%;
}
@media screen and (max-width: 1170px) {
    .l-header__contents {
        justify-content: center;
        padding-top: 0;
    }
}
.is-compact .l-header__contents {
    justify-content: center;
    padding-top: 0;
}
.l-header__top {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 25px;
}
@media screen and (max-width: 1170px) {
    .l-header__nav {
        display: none;
    }
}
.is-compact .l-header__nav {
    display: none;
}
.l-header__nav-list {
    display: flex;
    align-items: center;
    gap: 26px;
}
.l-header__nav-link {
    position: relative;
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
}
.l-header__nav-link::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-white-1);
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .l-header__nav-link:hover::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
@media screen and (max-width: 1170px) {
    .l-header__brand-logo {
        display: none;
    }
}
.is-compact .l-header__brand-logo {
    display: none;
}
.l-header__search-btn {
    position: relative;
    width: 30px;
    height: 30px;
    background-color: var(--color-white-1);
    border-radius: 50%;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .l-header__search-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header__search-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-45%, -45%);
    width: 20px;
    height: 20px;
    background: url(../img/common/icon_search.svg) no-repeat center center/contain;
}
@media screen and (max-width: 1170px) {
    .l-header__search-btn {
        display: none;
    }
}
.is-compact .l-header__search-btn {
    display: none;
}
.l-header__bottom {
    flex-grow: 1;
}
@media screen and (max-width: 1170px) {
    .l-header__bottom {
        display: none;
    }
}
.is-compact .l-header__bottom {
    display: none;
}

/* ---------------------------------------------
/*  l-header-menu
--------------------------------------------- */
.l-header-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    overflow-y: auto;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 1170px) {
    .l-header-menu {
        top: calc(var(--fixed-header-height) * 1px);
        bottom: 0;
        height: calc(100dvh - var(--fixed-header-height) * 1px);
        border-top: 1px solid var(--color-white-1);
        background-color: var(--color-green-2);
    }
}
.l-header-menu__container {
    margin-inline: auto;
    max-height: 100vh;
}
@media screen and (max-width: 1170px) {
    .l-header-menu__container {
        max-height: none;
        padding-bottom: 56px;
    }
}

/* ---------------------------------------------
/*  l-header-nav
--------------------------------------------- */
.l-header-nav__top {
    display: flex;
    flex-direction: row-reverse;
}
@media print, screen and (min-width: 1171px) {
    .l-header-nav__top {
        height: auto;
        min-height: 87vh;
        overflow-y: auto;
    }
}
@media screen and (max-width: 1170px) {
    .l-header-nav__top {
        display: block;
        padding-bottom: 35px;
        height: auto;
        border-bottom: 1px solid var(--color-gray-1);
    }
}
.l-header-nav__main {
    flex-grow: 1;
}
.l-header-nav__side {
    flex-shrink: 0;
    width: 25%;
}
@media screen and (max-width: 1170px) {
    .l-header-nav__side {
        width: 100%;
    }
}
.l-header-nav__copyright {
    margin-top: 15px;
    text-align: center;
    color: var(--color-white-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}
@media print, screen and (min-width: 1171px) {
    .l-header-nav__copyright {
        display: none;
    }
}

/* ---------------------------------------------
*   l-header-nav-main
--------------------------------------------- */
.l-header-nav-main {
    padding: 60px min(5.5555555556%, 60px) 45px;
    height: 100%;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main {
        margin-inline: auto;
        padding: 0;
        width: 89.7435897436%;
    }
}
.l-header-nav-main__acc {
    display: contents;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main__acc {
        display: block;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }
}
.l-header-nav-main__head {
    padding-bottom: 27px;
    width: 100%;
    border-bottom: 1px solid var(--color-green-2);
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main__head {
        padding-block: 24px;
        border-bottom: none;
        cursor: pointer;
    }
}
@media screen and (max-width: 1170px) and (hover: hover) and (pointer: fine) {
    .l-header-nav-main__head:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main__head--sp-hide {
        display: none;
    }
}
@media print, screen and (min-width: 1171px) {
    .l-header-nav-main__head--pc-hide {
        display: none;
    }
}
.l-header-nav-main__ttl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 14px;
    color: var(--color-black-1);
    margin-block: var(--leading-trim);
    font-size: calc(26 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main__ttl {
        color: var(--color-white-1);
        font-size: calc(16 / var(--root-fz) * 1rem);
        line-height: 1;
    }
}
.l-header-nav-main__ttl::after {
    content: "";
    display: block;
    width: 17px;
    height: 10px;
    background: url(../img/common/icon_arw_bottom.svg) no-repeat center center/contain;
    transition: transform 0.2s;
}
.is-open .l-header-nav-main__ttl::after {
    transform: rotate(-180deg);
}
.l-header-nav-main__body {
    display: flex;
    flex-direction: row-reverse;
    margin-top: 45px;
    height: calc(100% - 110px);
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main__body {
        display: block;
        margin-top: 0;
        height: auto;
    }
}
.l-header-nav-main__body-inner {
    flex-grow: 1;
    padding-left: min(6.25%, 60px);
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main__body-inner {
        padding-left: 0;
    }
}
.l-header-nav-main__list {
    flex-shrink: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 48px;
    padding-right: min(6.25%, 60px);
    width: 23.125%;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main__list {
        gap: 0;
        padding-right: 0;
        width: 100%;
    }
}
.l-header-nav-main__list::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background-color: var(--color-gray-2);
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main__list::after {
        display: none;
    }
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main__item {
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }
}
.l-header-nav-main__link {
    position: relative;
    display: block;
    color: var(--color-green-2);
    margin-block: var(--leading-trim);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main__link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-block: 25px;
        padding-right: 14px;
        color: var(--color-white-1);
        font-size: calc(16 / var(--root-fz) * 1rem);
    }
}
@media screen and (max-width: 1170px) and (hover: hover) and (pointer: fine) {
    .l-header-nav-main__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (min-width: 1440px) {
    .l-header-nav-main__link--pc-hide {
        display: none;
    }
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main__link--pc-hide {
        display: none;
    }
}
.l-header-nav-main__link span {
    display: inline;
    background-image: linear-gradient(var(--color-green-2));
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 0 1px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-nav-main__link:hover span {
        background-size: 100% 1px;
    }
}
@media screen and (max-width: 1170px) {
    .l-header-nav-main__link::after {
        content: "";
        display: block;
        width: 10px;
        height: 17px;
        background: url(../img/common/icon_arw_right_white.svg) no-repeat center center/contain;
    }
}

/* ---------------------------------------------
*   l-header-nav-menu
--------------------------------------------- */
@media screen and (max-width: 1170px) {
    .l-header-nav-menu {
        padding-bottom: 25px;
    }
}
.l-header-nav-menu:first-of-type {
    margin-top: 2px;
}
.l-header-nav-menu + .l-header-nav-menu {
    margin-top: 60px;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-menu + .l-header-nav-menu {
        margin-top: 0;
        padding-top: 25px;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }
}
.l-header-nav-menu__ttl {
    display: block;
    color: var(--color-black-1);
    margin-block: var(--leading-trim);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.1666666667;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-menu__ttl {
        color: var(--color-white-1);
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 1.5;
    }
}
.l-header-nav-menu__list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 32px 30px;
    margin-top: 40px;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-menu__list {
        gap: 24px min(4.2857142857%, 15px);
        margin-top: 28px;
    }
}
.l-header-nav-menu__item {
    flex: 0 1 auto;
    min-width: -moz-max-content;
    min-width: max-content;
    max-width: 100%;
}
@media print, screen and (min-width: 1171px) {
    .l-header-nav-menu__item {
        flex-basis: calc(33% - 30px);
    }
}
@media screen and (max-width: 1170px) {
    .l-header-nav-menu__item {
        flex-basis: calc(50% - min(4.2857142857%, 15px));
    }
}
.l-header-nav-menu__link {
    position: relative;
    display: block;
    color: var(--color-green-2);
    margin-block: var(--leading-trim);
    width: -moz-fit-content;
    width: fit-content;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-menu__link {
        color: var(--color-white-1);
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.l-header-nav-menu__link::before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-green-2);
    transform: scale(0, 1);
    transform-origin: right top;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-menu__link::before {
        background-color: var(--color-white-2);
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-header-nav-menu__link:hover::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}

/* ---------------------------------------------
*  l-header-nav-side
--------------------------------------------- */
.l-header-nav-side {
    padding: min(13.0555555556%, 47px);
    height: 100%;
    background-color: var(--color-green-2);
}
@media screen and (max-width: 1170px) {
    .l-header-nav-side {
        margin-inline: auto;
        padding: 0;
        width: 89.7435897436%;
    }
}
@media screen and (max-width: 1170px) {
    .l-header-nav-side__logo {
        display: none;
    }
}
.l-header-nav-side__logo-link {
    display: block;
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    font-family: var(--ff-en);
    font-size: calc(44 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-nav-side__logo-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-nav-side__logo-link--small {
    display: block;
    margin-top: 15px;
    font-family: var(--ff-root);
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (min-width: 1331px) {
    .l-header-nav-side__logo-link--br {
        display: none;
    }
}
@media print, screen and (min-width: 1171px) {
    .l-header-nav-side__list {
        margin-top: 18px;
    }
}
.l-header-nav-side__item {
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 1170px) {
    .l-header-nav-side__item {
        border-color: rgba(255, 255, 255, 0.2);
    }
}
.l-header-nav-side__link {
    display: block;
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    padding-block: 23px;
    font-size: calc(19 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-nav-side__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 1170px) {
    .l-header-nav-side__link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-block: 25px;
        padding-right: 14px;
        font-size: calc(16 / var(--root-fz) * 1rem);
    }
}
@media screen and (max-width: 1170px) {
    .l-header-nav-side__link::after {
        content: "";
        display: block;
        width: 10px;
        height: 17px;
        background: url(../img/common/icon_arw_right_white.svg) no-repeat center center/contain;
    }
}
.l-header-nav-side__list2 {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 32px;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-side__list2 {
        flex-direction: row;
        margin-top: 26px;
        gap: 26px min(56px, 16%);
    }
}
.l-header-nav-side__link2 {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
}
@media (hover: hover) and (pointer: fine) {
    .l-header-nav-side__link2:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-nav-side__link2--icon {
    display: inline-block;
    margin-left: 8px;
    width: 12px;
    height: 12px;
    vertical-align: middle;
}
@media screen and (max-width: 768px) {
    .l-header-nav-side__link2--icon {
        margin-left: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.l-header-nav-side__link2-txt {
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
}

/* ---------------------------------------------
*   l-header-nav-bottom
--------------------------------------------- */
.l-header-nav-bottom {
    position: relative;
    background-color: var(--color-green-2);
    z-index: 10;
}
@media print, screen and (min-width: 1171px) {
    .l-header-nav-bottom {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: min(2.2222222222%, 32px);
        padding: 25px 50px;
        background-color: var(--color-white-2);
        height: auto;
        min-height: 13vh;
    }
}
@media print, screen and (min-width: 1171px) {
    .l-header-nav-bottom__main {
        display: flex;
        align-items: center;
        gap: min(2.8358208955%, 38px);
        flex-grow: 1;
    }
}
@media screen and (max-width: 1170px) {
    .l-header-nav-bottom__main {
        border-bottom: 1px solid var(--color-gray-1);
    }
}
.l-header-nav-bottom__logo {
    display: block;
    width: 175px;
    flex-shrink: 0;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-nav-bottom__logo:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 1170px) {
    .l-header-nav-bottom__logo {
        display: none;
    }
}
.l-header-nav-bottom__sp-inner {
    display: block;
    margin-inline: auto;
    width: 89.7435897436%;
}
@media print, screen and (min-width: 1171px) {
    .l-header-nav-bottom__sp-inner {
        display: contents;
    }
}
.l-header-nav-bottom__list {
    flex-grow: 1;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px min(28 / var(--design-width) * 100vw, 28px);
}
@media screen and (max-width: 1170px) {
    .l-header-nav-bottom__list {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        flex-wrap: wrap;
        padding-block: 20px;
    }
}
@media print, screen and (max-width: 1425px) {
    .l-header-nav-bottom__item:first-of-type {
        width: 100%;
    }
}
@media print, screen and (min-width: 1426px) {
    .l-header-nav-bottom__item:first-of-type {
        padding-right: min(28 / var(--design-width) * 100vw, 28px);
        border-right: 1px solid var(--color-gray-2);
    }
}
.l-header-nav-bottom__link {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-bottom__link {
        margin-block: var(--leading-trim);
    }
}
.l-header-nav-bottom__link--icon {
    display: inline-block;
    margin-left: 8px;
    width: 12px;
    height: 12px;
    vertical-align: middle;
}
@media screen and (max-width: 768px) {
    .l-header-nav-bottom__link--icon {
        margin-left: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.l-header-nav-bottom__link--icon.sp-hide {
    display: inline-block !important;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-bottom__link--icon.sp-hide {
        display: none !important;
    }
}
.l-header-nav-bottom__link--icon.pc-hide {
    display: inline-block !important;
}
@media screen and (min-width: 1171px) {
    .l-header-nav-bottom__link--icon.pc-hide {
        display: none !important;
    }
}
.l-header-nav-bottom__link--sp-hide {
    white-space: nowrap;
}
.l-header-nav-bottom__link-txt {
    position: relative;
    color: var(--color-green-2);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-bottom__link-txt {
        margin-block: var(--leading-trim);
        color: var(--color-white-1);
        text-align: left;
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}
.l-header-nav-bottom__link-txt::before {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-green-2);
    bottom: 0;
    transform: scale(0, 1);
    transform-origin: right top;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-bottom__link-txt::before {
        background-color: var(--color-white-1);
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-header-nav-bottom__link:hover .l-header-nav-bottom__link-txt::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.l-header-nav-bottom__list2 {
    display: flex;
    align-items: center;
    gap: 16px;
}
@media screen and (max-width: 1170px) {
    .l-header-nav-bottom__list2 {
        justify-content: center;
        gap: 17px;
        margin-top: 15px;
    }
}
.l-header-nav-bottom__link2 {
    display: block;
    width: 32px;
    height: 32px;
    will-change: opacity;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-nav-bottom__link2:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 1170px) {
    .l-header-nav-bottom__link2 {
        width: 35px;
        height: 35px;
    }
}

/*  l-header-menu-button
--------------------------------------------- */
.l-header-menu-button {
    position: relative;
    border: 0;
    border-radius: 0;
    background: none;
    margin: 0;
    box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none;
    touch-action: manipulation;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-menu-button:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media print, screen and (min-width: 1171px) {
    .is-menu-opened .l-header-menu-button {
        position: absolute;
        top: 28%;
        right: 2%;
    }
}
.l-header-menu-button__lines {
    position: relative;
    display: block;
    width: 30px;
    height: 20px;
}
.is-menu-opened .l-header-menu-button__lines {
    width: 45px;
    height: 45px;
}
@media screen and (max-width: 1170px) {
    .is-menu-opened .l-header-menu-button__lines {
        width: 32px;
        height: 32px;
    }
}

.l-header-menu-button__line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 2px;
    background-color: var(--color-white-1);
    border-radius: 5px;
}
@media screen and (max-width: 1170px) {
    .l-header-menu-button__line {
        transition: 0.2s;
    }
}
.is-menu-opened .l-header-menu-button__line {
    padding-top: 3px;
}

.l-header-menu-button__line--top {
    top: 0;
}
.is-menu-opened .l-header-menu-button__line--top {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    background-color: var(--color-green-2);
}
@media screen and (max-width: 1170px) {
    .is-menu-opened .l-header-menu-button__line--top {
        background-color: var(--color-white-1);
    }
}

.l-header-menu-button__line--center {
    top: 50%;
    margin-top: -1px;
}
.is-menu-opened .l-header-menu-button__line--center {
    display: none;
}

.l-header-menu-button__line--bottom {
    bottom: 0;
}
.is-menu-opened .l-header-menu-button__line--bottom {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
    background-color: var(--color-green-2);
}
@media screen and (max-width: 1170px) {
    .is-menu-opened .l-header-menu-button__line--bottom {
        background-color: var(--color-white-1);
    }
}

/* ---------------------------------------------
*   l-header-search
--------------------------------------------- */
.l-header-search--header {
    position: absolute;
    top: calc(var(--fixed-header-height) * 1px);
    left: 50%;
    transform: translateX(-50%);
    margin-top: 24px;
    width: min(76.3888888889%, 1100px);
    visibility: hidden;
    opacity: 0;
}
@media screen and (min-width: 1171px) {
    .l-header-search--active {
        visibility: visible;
        opacity: 1;
    }
}
.l-header-search--menu {
    margin-top: 34px;
    width: 100%;
    height: 46px;
    font-size: var(--m_tx);
}
@media screen and (max-width: 1170px) {
    .l-header-search--menu {
        margin-top: 40px;
        margin-inline: auto;
        width: 89.7435897436%;
        height: 58px;
    }
}
@media screen and (max-width: 1170px) {
    .l-header-search--sp-hide {
        display: none;
    }
}
@media print, screen and (min-width: 1171px) {
    .l-header-search--pc-hide {
        display: none;
    }
}
.l-header-search__container {
    position: relative;
    padding: 60px min(123px, 11.1818181818%);
    background-color: var(--color-white-1);
    border-radius: 10px;
}
.l-header-search__ttl {
    display: block;
    color: var(--color-black-1);
    text-align: center;
    margin-block: var(--leading-trim);
    font-size: calc(28 / var(--design-width) * 100vw);
    font-weight: 600;
    line-height: 1.5;
}
.l-header-search__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap;
    border-radius: 5px;
}
.l-header-search--header .l-header-search__inner {
    margin-top: 48px;
    gap: 24px;
}
.l-header-search--menu .l-header-search__inner {
    height: 100%;
    padding-inline: 17px 10px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 1170px) {
    .l-header-search--menu .l-header-search__inner {
        padding-inline: 24px 14px;
    }
}
.l-header-search__input:focus {
    outline: none;
}
.l-header-search--header .l-header-search__input {
    padding-inline: 30px;
    width: min(710px, 83.1381733021%);
    height: 70px;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    border-radius: 5px;
    border: 1px solid var(--color-green-2);
    background-color: var(--color-gray-1);
}
.l-header-search--header .l-header-search__input::-moz-placeholder {
    color: var(--color-gray-6);
}
.l-header-search--header .l-header-search__input::placeholder {
    color: var(--color-gray-6);
}
.l-header-search--menu .l-header-search__input {
    width: 100%;
    font-size: calc(13 / var(--root-fz) * 1rem);
    background-color: transparent !important;
}
@media screen and (max-width: 768px) {
    .l-header-search--menu .l-header-search__input {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
.l-header-search--menu .l-header-search__input::-moz-placeholder {
    color: var(--color-gray-6);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.l-header-search--menu .l-header-search__input::placeholder {
    color: var(--color-gray-6);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (max-width: 1170px) {
    .l-header-search--menu .l-header-search__input::-moz-placeholder {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
    .l-header-search--menu .l-header-search__input::placeholder {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
.l-header-search--header .l-header-search__btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 70px;
    color: var(--color-white-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.1666666667;
    background-color: var(--color-green-2);
    border-radius: 5px;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-search--header .l-header-search__btn:hover {
        background-color: var(--color-green-3);
    }
}
.l-header-search--menu .l-header-search__btn {
    flex-shrink: 0;
    width: 29px;
    height: 29px;
    background: center/contain no-repeat url(../img/common/icon_search.svg);
    cursor: pointer;
    will-change: opacity;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-search--menu .l-header-search__btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-search__key {
    margin-top: 56px;
}
.l-header-search__key-ttl {
    color: var(--color-black-1);
    margin-block: var(--leading-trim);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.l-header-search__key-list {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 20px;
}
.l-header-search__close {
    position: absolute;
    top: 30px;
    right: 30px;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-search__close:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-search__close-lines {
    position: relative;
    display: block;
    width: 31px;
    height: 31px;
}
.l-header-search__close-line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 2px;
    background-color: var(--color-white-1);
    border-radius: 5px;
}
.l-header-search__close-line--top {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    background-color: var(--color-green-2);
}
.l-header-search__close-line--bottom {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
    background-color: var(--color-green-2);
}

/* ---------------------------------------------
*   l-global-nav
--------------------------------------------- */
.l-global-nav {
    height: 100%;
    transition: opacity 0.2s;
}
@media screen and (max-width: 1170px) {
    .l-global-nav {
        display: none;
    }
}
.is-compact .l-global-nav {
    display: none;
}
.is-menu-opened .l-global-nav {
    opacity: 0;
}

.l-global-nav__container {
    height: 100%;
}
.l-global-nav__lv1 {
    display: flex;
    align-items: center;
    gap: 35px;
    height: 100%;
}
.l-global-nav__lv1-item {
    height: 100%;
}
.l-global-nav__lv1-link {
    position: relative;
    display: block;
    color: var(--color-white-1);
    height: 100%;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.l-global-nav__lv1-link::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 58px;
    height: 4px;
    background-color: var(--color-white-1);
    border-radius: 5px;
    opacity: 0;
}
@media (hover: hover) and (pointer: fine) {
    .l-global-nav__lv1-link:hover::before {
        opacity: 1;
    }
}
.l-global-nav__lv1-trigger {
    position: relative;
    display: inline-block;
    height: 100%;
    color: var(--color-white-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
}
.l-global-nav__lv1-trigger::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(calc(-50% - 8px));
    width: 58px;
    height: 4px;
    background-color: var(--color-white-1);
    border-radius: 5px;
    opacity: 0;
}
.l-global-nav__lv1-trigger::after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    width: 10px;
    height: 6px;
    background: url(../img/common/icon_arw_bottom.svg) no-repeat center center/contain;
    vertical-align: middle;
}
.is-open .l-global-nav__lv1-trigger::before {
    opacity: 1;
}
.l-global-nav__lv2 {
    position: absolute;
    top: 100%;
    left: 50%;
    padding-top: 24px;
    width: 90%;
    max-width: 1100px;
    visibility: hidden;
    opacity: 0;
    transform: translateX(-50%);
}
.is-open .l-global-nav__lv2 {
    visibility: visible;
    opacity: 1;
}
.l-global-nav__lv2-inner {
    display: flex;
    width: 100%;
    padding: 80px min(88px, 8%);
    background-color: var(--color-white-1);
    border-radius: 10px;
}
.l-global-nav__lv2-ttl {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-block: var(--leading-trim);
    padding-right: min(74px, 8.0086580087%);
    color: var(--color-black-1);
    font-size: calc(28 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
}
.l-global-nav__lv2-ttl::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 130%;
    background-color: var(--color-gray-2);
}
.l-global-nav__lv2-list {
    flex-grow: 1;
    display: grid;
    grid-template-columns: repeat(3, max-content);
    gap: 28px 20px;
    justify-content: space-between;
    padding-left: min(74px, 6.7272727273%);
}
.l-global-nav__lv2-link {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
}
@media (hover: hover) and (pointer: fine) {
    .l-global-nav__lv2-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-global-nav__lv2-link::after {
    content: "";
    flex-shrink: 0;
    display: block;
    width: 18px;
    height: 18px;
    aspect-ratio: 1/1;
    background: url(../img/common/icon_arw_green.svg) no-repeat center center/contain;
}

/* ---------------------------------------------
*   l-contact お問い合わせ
--------------------------------------------- */
.l-contact {
    overflow-x: clip;
}
.l-contact__body {
    margin: min(95 / 1240 * 100%, 95px) auto 0;
    width: 100%;
    max-width: 980px;
}
@media screen and (max-width: 768px) {
    .l-contact__body {
        margin-top: min(43 / var(--design-width) * 100vw, 43px);
    }
}
.l-contact__input-cont {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: min(87 / 980 * 100%, 87px);
    flex-wrap: nowrap;
    width: 100%;
    padding-block: min(40 / var(--design-width) * 100vw, 40px);
    border-bottom: 1px solid var(--color-gray-1);
}
@media screen and (max-width: 768px) {
    .l-contact__input-cont {
        display: block;
        padding-block: min(20 / var(--design-width) * 100vw, 20px);
    }
}
.l-contact__input-cont:first-of-type {
    align-items: flex-start;
    padding-top: 0;
}
.l-contact__input-cont--area {
    align-items: flex-start;
    padding-bottom: 0;
    border-bottom: 0;
}
.l-contact__label {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 250px;
    flex-shrink: 0;
    font-size: calc(17 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1;
}
@media screen and (max-width: 768px) {
    .l-contact__label {
        gap: 12px;
        width: 100%;
        font-size: calc(16 / var(--root-fz) * 1rem);
    }
}
.l-contact__label--must::after {
    content: "必須";
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    padding: 6px 8px 7px;
    border-radius: 5px;
    color: var(--color-white-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1;
    background-color: var(--color-red-1);
}
@media screen and (max-width: 768px) {
    .l-contact__label--must::after {
        padding: 4px 8px 5px;
        font-weight: 500;
    }
}
.windows.firefox .l-contact__label--must::after {
    padding: 6px 8px;
}
@media screen and (max-width: 768px) {
    .windows.firefox .l-contact__label--must::after {
        padding: 5px 8px;
    }
}

@media print, screen and (min-width: 769px) {
    .l-contact__input {
        width: calc(100% - 250px);
    }
}
@media screen and (max-width: 768px) {
    .l-contact__input {
        margin-top: min(8 / var(--design-width) * 100vw, 8px);
    }
}
.l-contact__input:has(.error) textarea, .l-contact__input:has(.error) input[type=text] {
    background-color: rgba(216, 34, 22, 0.2);
}
@media print, screen and (min-width: 769px) {
    .l-contact__input-radio {
        width: calc(100% - 250px);
    }
}
@media screen and (max-width: 768px) {
    .l-contact__input-radio {
        margin-top: min(22 / var(--design-width) * 100vw, 22px);
    }
}
.l-contact textarea,
.l-contact input[type=text] {
    width: 100%;
    padding: 22px 30px 23px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    border: 1px solid var(--color-green-2);
    border-radius: 5px;
    background-color: var(--color-gray-1);
}
@media screen and (max-width: 768px) {
    .l-contact textarea,
    .l-contact input[type=text] {
        padding: min(14 / var(--design-width) * 100vw, 14px) min(18 / var(--design-width) * 100vw, 18px);
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
.l-contact textarea:invalid,
.l-contact input[type=text]:invalid {
    background-color: rgba(216, 34, 22, 0.2);
}
.l-contact .l-contact__text-area-input {
    height: 380px;
    overflow-y: auto;
}
@media screen and (max-width: 768px) {
    .l-contact .l-contact__text-area-input {
        height: 200px;
    }
}
.windows.edge .l-contact .l-contact__text-area-input::-webkit-scrollbar, .windows.chrome .l-contact .l-contact__text-area-input::-webkit-scrollbar {
    width: 12px;
}
.windows.edge .l-contact .l-contact__text-area-input::-webkit-scrollbar-track, .windows.chrome .l-contact .l-contact__text-area-input::-webkit-scrollbar-track {
    background-color: transparent;
    border-radius: 5px;
}
.windows.edge .l-contact .l-contact__text-area-input::-webkit-scrollbar-thumb, .windows.chrome .l-contact .l-contact__text-area-input::-webkit-scrollbar-thumb {
    background-color: #8b8b8b;
    border-radius: 6px;
    border: 2px solid var(--color-gray-1);
}
.windows.edge .l-contact .l-contact__text-area-input::-webkit-scrollbar-thumb:hover, .windows.chrome .l-contact .l-contact__text-area-input::-webkit-scrollbar-thumb:hover {
    background-color: #636363;
}

.l-contact input::-moz-placeholder, .l-contact textarea::-moz-placeholder {
    color: var(--color-gray-3);
}

.l-contact input::placeholder,
.l-contact textarea::placeholder {
    color: var(--color-gray-3);
}
.l-contact__agreement-cont {
    position: relative;
    text-align: center;
    margin-top: min(55 / var(--design-width) * 100vw, 55px);
}
@media screen and (max-width: 768px) {
    .l-contact__agreement-cont {
        margin-top: min(17 / var(--design-width) * 100vw, 17px);
    }
}
.l-contact__agreement-cont label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
@media screen and (max-width: 768px) {
    .l-contact__agreement-cont label {
        gap: 10px;
    }
}
.l-contact__agreement-cont .mwform-checkbox-field-text {
    font-size: calc(17 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .l-contact__agreement-cont .mwform-checkbox-field-text {
        font-size: calc(16 / var(--root-fz) * 1rem);
    }
}
.l-contact__agreement-cont .mwform-checkbox-field input {
    position: relative;
    width: 28px;
    margin-top: 4px;
    height: 28px;
    -webkit-user-select: auto;
    border-radius: 5px;
    border: 1px solid var(--color-green-2);
    background-color: var(--color-gray-1);
    cursor: pointer;
}
@media screen and (max-width: 768px) {
    .l-contact__agreement-cont .mwform-checkbox-field input {
        width: 26px;
        height: 26px;
        border-radius: 3px;
    }
}
.l-contact__agreement-cont .mwform-checkbox-field input::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 15px;
    height: 10px;
    background: url(../img/common/icon_check_green.svg) no-repeat center center/cover;
    opacity: 0;
}
@media (hover: hover) and (pointer: fine) {
    .l-contact__agreement-cont .mwform-checkbox-field input:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-contact__agreement-cont .mwform-checkbox-field input:checked::after {
    opacity: 1;
}
.l-contact__agreement-cont:has(.error) .mwform-checkbox-field input {
    background-color: rgba(216, 34, 22, 0.2);
    border-color: var(--color-red-1);
}
.l-contact__agreement-cont a {
    color: var(--color-green-2);
    line-height: 1.2;
    background-image: linear-gradient(var(--color-green-2) 0 0);
    text-decoration: none;
    background-size: 0% 1px;
    background-position: 0 100%;
    position: relative;
    background-repeat: no-repeat;
}
@media (hover: hover) and (pointer: fine) {
    .l-contact__agreement-cont a:hover {
        background-size: 100% 1px;
    }
}
.l-contact .mw_wp_form .error {
    display: block;
    margin-top: min(18 / var(--design-width) * 100vw, 18px);
    color: var(--color-red-1);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 500;
}
@media screen and (max-width: 768px) {
    .l-contact .mw_wp_form .error {
        margin-top: min(10 / var(--design-width) * 100vw, 10px);
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}
.l-contact .mw_wp_form .l-contact__agreement-cont .error {
    margin-top: min(25 / var(--design-width) * 100vw, 25px);
}
@media screen and (max-width: 768px) {
    .l-contact .mw_wp_form .l-contact__agreement-cont .error {
        margin-top: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.l-contact__radio-cont {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px 20px;
    width: calc(586 / 643 * 100%);
}
@media screen and (max-width: 768px) {
    .l-contact__radio-cont {
        flex-direction: column;
        gap: min(22 / var(--design-width) * 100vw, 22px);
        width: 100%;
    }
}
.l-contact__radio-cont label {
    display: flex;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .l-contact__radio-cont label:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-contact__radio-cont .mwform-radio-field {
    display: block;
}
@media print, screen and (min-width: 769px) {
    .l-contact__radio-cont .mwform-radio-field {
        min-width: 263px;
    }
}
.l-contact__radio {
    position: absolute;
    opacity: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
.l-contact__radio:checked + .mwform-radio-field-text::after {
    opacity: 1; /* 中のポチを表示 */
}
.l-contact .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0;
}
.l-contact .mwform-radio-field-text {
    position: relative;
    padding-left: 36px; /* 丸の分だけ左に余白を作る */
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 500;
}
@media screen and (max-width: 768px) {
    .l-contact .mwform-radio-field-text {
        padding-left: min(38 / var(--design-width) * 100vw, 38px);
    }
}
.l-contact .mwform-radio-field-text::before, .l-contact .mwform-radio-field-text::after {
    content: "";
    position: absolute;
}
.l-contact .mwform-radio-field-text::before {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border: 1px solid var(--color-green-2);
    border-radius: 50%;
    background: var(--color-gray-1);
    box-sizing: border-box;
}
@media screen and (max-width: 768px) {
    .l-contact .mwform-radio-field-text::before {
        width: 26px;
        height: 26px;
    }
}
.l-contact .mwform-radio-field-text::after {
    left: 7px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background: var(--color-green-2);
    border-radius: 50%;
    opacity: 0;
}
@media screen and (max-width: 768px) {
    .l-contact .mwform-radio-field-text::after {
        left: 7px;
        width: 12px;
        height: 12px;
    }
}
.l-contact__btn-wrap {
    margin: 60px auto 0;
    min-width: 320px;
    width: -moz-fit-content;
    width: fit-content;
    min-height: 58px;
}
@media screen and (max-width: 768px) {
    .l-contact__btn-wrap {
        margin-top: 23px;
        min-width: 290px;
        min-height: 54px;
    }
}

.l-contact-complete__modal-cont {
    position: relative;
    padding: 53px 2rem 65px;
    width: min(1100 / 1440 * 100%, 1100px);
    border-radius: 10px;
    text-align: center;
    background-color: #fff;
}
@media screen and (max-width: 768px) {
    .l-contact-complete__modal-cont {
        padding: calc(40 / var(--design-width) * 100vw) calc(30 / var(--design-width) * 100vw);
        width: calc(350 / 390 * 100%);
        border-radius: 5px;
    }
}
.l-contact-complete__ttl {
    color: var(--color-black-1);
    font-size: calc(28 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .l-contact-complete__ttl {
        font-size: calc(22 / var(--root-fz) * 1rem);
        line-height: 1.4;
    }
}
.l-contact-complete__tx {
    margin-top: 35px;
    font-size: calc(15 / var(--root-fz) * 1rem);
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .l-contact-complete__tx {
        margin-top: min(20 / var(--root-fz) * 1rem, 20px);
    }
}
.l-contact-complete__btn-wrap {
    margin: 50px auto 0;
    min-width: 320px;
    width: -moz-fit-content;
    width: fit-content;
    min-height: 58px;
}
@media screen and (max-width: 768px) {
    .l-contact-complete__btn-wrap {
        margin-top: 30px;
        width: 100%;
        min-width: initial;
        max-width: 290px;
        min-height: 54px;
    }
}

.m-modal {
    visibility: hidden;
    z-index: 9999999999;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
}
.m-modal__mask {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
}
.m-modal__cross {
    position: absolute;
    top: 0;
    right: -25px;
    width: 20px;
    height: 20px;
    cursor: pointer;
}
.m-modal__cross::before, .m-modal__cross::after {
    display: block;
    position: absolute;
    top: 0;
    right: 10px;
    width: 2px;
    height: 20px;
    background-color: #fff;
    content: "";
}
.m-modal__cross::before {
    transform: rotate(45deg);
}
.m-modal__cross::after {
    transform: rotate(-45deg);
}

.modal-fade-out {
    opacity: 1;
    visibility: visible;
    animation: fadeOut 0.3s ease 1 forwards;
}
@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
.modal-fade-in {
    opacity: 0;
    visibility: visible;
    animation: fadeIn 0.3s ease 1 forwards;
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes fadeInOut {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
.l-contents {
    padding-block: calc(var(--fixed-header-height) * 1px) 120px;
}
@media screen and (max-width: 1359px) {
    .l-contents {
        padding-bottom: min(8.3333333333%, 120px);
    }
}
@media screen and (max-width: 768px) {
    .l-contents {
        padding-bottom: min(16%, 56px);
    }
}
@media print, screen and (min-width: 769px) {
    .top .l-contents {
        padding-bottom: 0;
    }
}

/* ---------------------------------------------
*   l-container
--------------------------------------------- */
.l-container {
    margin-inline: auto;
    width: 100%;
    max-width: 1340px;
}
@media screen and (max-width: 1359px) {
    .l-container {
        padding-inline: min(4.1666666667%, 60px);
    }
}

/* ---------------------------------------------
*   l-breadcrumb
--------------------------------------------- */
.l-breadcrumb {
    margin-inline: auto;
    padding: 21px 10px 0;
    width: 100%;
    max-width: 1340px;
}
@media screen and (max-width: 1359px) {
    .l-breadcrumb {
        padding-inline: min(4.4117647059%, 60px);
    }
}
@media screen and (max-width: 768px) {
    .l-breadcrumb {
        padding: 18px min(5.7142857143%, 20px) 16px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }
    .l-breadcrumb::-webkit-scrollbar {
        display: none;
    }
}
.l-breadcrumb__list {
    display: flex;
    align-items: center;
    gap: 34px;
}
@media screen and (max-width: 768px) {
    .l-breadcrumb__list {
        gap: 22px;
        flex-wrap: nowrap;
        width: -moz-max-content;
        width: max-content;
        min-width: 100%;
        padding-right: 20px;
    }
}
.l-breadcrumb__item {
    flex-shrink: 0;
}
.l-breadcrumb__item:last-of-type {
    flex: 1;
    min-width: 0;
}
@media screen and (max-width: 768px) {
    .l-breadcrumb__item:last-of-type {
        flex: 0 0 auto;
    }
}
.l-breadcrumb__item:not(:last-of-type) {
    position: relative;
}
.l-breadcrumb__item:not(:last-of-type)::after {
    content: "/";
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translateY(-38%);
    color: var(--color-base-1);
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1;
    /* 22.5px */
}
@media screen and (max-width: 768px) {
    .l-breadcrumb__item:not(:last-of-type)::after {
        right: -13px;
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}
.l-breadcrumb__current {
    display: -webkit-box;
    color: var(--color-gray-4);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.3;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .l-breadcrumb__current {
        font-size: calc(13 / var(--root-fz) * 1rem);
        line-height: 1.2;
        display: inline-block;
        -webkit-line-clamp: none;
        overflow: visible;
        text-overflow: clip;
        white-space: nowrap;
    }
}
.l-breadcrumb__link {
    display: block;
    color: var(--color-gray-4);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.3;
}
@media screen and (max-width: 768px) {
    .l-breadcrumb__link {
        font-size: calc(13 / var(--root-fz) * 1rem);
        line-height: 1.2;
    }
}
a.l-breadcrumb__link {
    color: var(--color-green-2);
    background-image: linear-gradient(transparent calc(100% - 1px), var(--color-green-2) 1px);
    text-decoration: none;
    background-size: 100% 100%;
    background-position: 100%;
    position: relative;
    background-repeat: no-repeat;
}
a.l-breadcrumb__link:hover {
    background-size: 0 100%;
}

/* ---------------------------------------------
*   l-columns
--------------------------------------------- */
.l-columns {
    margin-inline: auto;
    max-width: 1440px;
}
.l-columns__container {
    position: relative;
    margin: 90px auto 0;
    width: 100%;
}
@media screen and (max-width: 1359px) {
    .l-columns__container {
        margin-top: 6.25%;
    }
}
@media screen and (max-width: 768px) {
    .l-columns__container {
        margin-top: min(8.5714285714%, 30px);
        width: 89.7435897436%;
    }
}
.l-columns__container:not(:has(> .l-columns__inner)) {
    padding-inline: 100px;
}
@media screen and (max-width: 1440px) {
    .l-columns__container:not(:has(> .l-columns__inner)) {
        padding-inline: calc((100% - 1240px) / 2);
    }
}
@media screen and (max-width: 1359px) {
    .l-columns__container:not(:has(> .l-columns__inner)) {
        padding-inline: 6.9444444444%;
    }
}
@media screen and (max-width: 768px) {
    .l-columns__container:not(:has(> .l-columns__inner)) {
        padding-inline: 0;
    }
}
.l-columns__container:has(.l-columns__inner) {
    margin: 90px 0 0 auto;
    padding-left: 40px;
}
@media screen and (min-width: 1441px) {
    .l-columns__container:has(.l-columns__inner) {
        max-width: 1440px;
        padding-left: 100px;
    }
}
@media screen and (max-width: 1440px) {
    .l-columns__container:has(.l-columns__inner) {
        padding-left: calc((100% - 1240px) / 2);
    }
}
@media screen and (max-width: 1359px) {
    .l-columns__container:has(.l-columns__inner) {
        margin-top: 6.25%;
        padding-left: 6.9444444444%;
    }
}
@media screen and (max-width: 768px) {
    .l-columns__container:has(.l-columns__inner) {
        padding-left: 0;
        margin: min(8.5714285714%, 30px) auto 0;
    }
}
@media print, screen and (min-width: 769px) {
    .article-detail .l-columns__container:has(.l-columns__inner) {
        display: flex;
        padding-left: 0;
    }
}

.l-columns__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
@media screen and (max-width: 768px) {
    .l-columns__inner {
        display: block;
    }
}
.features-and-serials .l-columns__inner {
    margin-top: min(5.421686747%, 45px);
}
@media screen and (max-width: 768px) {
    .features-and-serials .l-columns__inner {
        margin-top: min(8.5714285714%, 30px);
    }
}

.article-detail .l-columns__inner {
    flex-grow: 1;
}

.l-columns__main {
    flex-shrink: 0;
    width: min(64.7425897036%, 830px);
}
@media screen and (min-width: 1360px) {
    .l-columns__main {
        width: 830px;
    }
}
@media screen and (max-width: 768px) {
    .l-columns__main {
        width: 100%;
    }
}
.l-columns__aside-pc {
    flex-shrink: 0;
    width: min(30.1092043682%, 386px);
}
@media screen and (min-width: 1360px) {
    .l-columns__aside-pc {
        width: 386px;
    }
}
@media screen and (max-width: 768px) {
    .l-columns__aside-pc {
        display: none;
    }
}
@media print, screen and (min-width: 769px) {
    .l-columns__aside-sp {
        display: none;
    }
}

/* ---------------------------------------------
*   l-sidebar
--------------------------------------------- */
@media print, screen and (min-width: 769px) {
    .l-sidebar__inner {
        padding: min(40 / var(--design-width) * 100vw, 40px) min(8.2901554404%, 32px);
        border-radius: 10px 0 0 10px;
        background-color: var(--color-white-2);
        box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.02);
    }
}
@media screen and (min-width: 1441px) {
    .l-sidebar__inner {
        border-radius: 10px;
    }
}
@media screen and (max-width: 768px) {
    .l-sidebar__inner {
        margin: min(13.7142857143%, 48px) auto 0;
        width: 89.7435897436%;
    }
}
.l-sidebar__inner + .l-sidebar__inner {
    margin-top: min(40 / var(--design-width) * 100vw, 40px);
}
@media screen and (max-width: 768px) {
    .l-sidebar__inner + .l-sidebar__inner {
        margin-top: min(13.7142857143%, 48px);
    }
}
.l-sidebar__ttl {
    color: var(--color-black-1);
    margin-block: var(--leading-trim);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.l-sidebar__ttl:not(:first-child) {
    padding-top: min(56 / var(--design-width) * 100vw, 56px);
}
@media screen and (max-width: 768px) {
    .l-sidebar__ttl:not(:first-child) {
        padding-top: min(13.7142857143%, 48px);
    }
}
.l-sidebar__ttl:not(:first-child).l-sidebar__ttl--mt-small {
    padding-top: min(40 / var(--design-width) * 100vw, 40px);
}
@media screen and (max-width: 768px) {
    .l-sidebar__ttl:not(:first-child).l-sidebar__ttl--mt-small {
        padding-top: min(6.2857142857%, 22px);
    }
}
.l-sidebar__ttl--large {
    font-size: calc(22 / var(--root-fz) * 1rem);
}
.l-sidebar__ttl--large-2 {
    font-size: calc(20 / var(--root-fz) * 1rem);
}
.l-sidebar__ttl--en {
    font-family: var(--ff-en);
    font-weight: 700;
}
.l-sidebar__contents {
    margin-top: min(35 / var(--design-width) * 100vw, 35px);
}
@media screen and (max-width: 768px) {
    .l-sidebar__contents {
        margin-top: min(8%, 28px);
    }
}
.l-sidebar__post-item {
    display: flex;
    gap: min(12px, 3.7267080745%);
    padding-block: min(6.2176165803%, 24px);
    border-bottom: 1px solid var(--color-gray-2);
}
@media screen and (max-width: 768px) {
    .l-sidebar__post-item {
        border-bottom: 1px solid var(--color-gray-1);
    }
}
.l-sidebar__post-item:first-of-type {
    padding-top: 0;
}
.l-sidebar__contents:last-of-type .l-sidebar__post-item:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}
@media screen and (max-width: 768px) {
    .l-sidebar__post-item {
        padding-block: min(5.7142857143%, 20px);
    }
    .l-sidebar__post-item:last-of-type {
        border-bottom: none;
    }
}
.l-sidebar__post-num {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(26px, 8.0745341615%);
    height: min(26px, 8.0745341615%);
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: var(--color-black-1);
    color: var(--color-white-1);
    font-family: var(--ff-en);
    font-size: min(17 / var(--design-width) * 100vw, 17 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 0;
}
@media screen and (max-width: 768px) {
    .l-sidebar__post-num {
        width: min(24px, 6.8571428571%);
        height: min(24px, 6.8571428571%);
        font-size: min(16 / var(--design-width) * 100vw, 16 / var(--root-fz) * 1rem);
    }
}
.firefox .l-sidebar__post-num {
    padding-bottom: min(0.1388888889%, 2px);
}
.l-sidebar__bnr {
    position: relative;
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .l-sidebar__bnr:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-sidebar__bnr + .l-sidebar__bnr {
    margin-top: min(16 / var(--design-width) * 100vw, 16px);
}
@media screen and (max-width: 768px) {
    .l-sidebar__bnr + .l-sidebar__bnr {
        margin-top: min(3.4285714286%, 12px);
    }
}
.l-sidebar__bnr-img {
    display: block;
    border-radius: 5px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .l-sidebar__bnr-img {
        border-radius: calc(5 / var(--design-width) * 100vw);
    }
}
.l-sidebar__bnr-img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 5px;
    aspect-ratio: 322/93;
}
@media screen and (max-width: 768px) {
    .l-sidebar__bnr-img img {
        border-radius: calc(5 / var(--design-width) * 100vw);
    }
}
.l-sidebar__bnr-img-2 {
    position: relative;
    display: block;
    border-radius: 5px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .l-sidebar__bnr-img-2 {
        border-radius: calc(5 / var(--design-width) * 100vw);
    }
}
.l-sidebar__bnr-img-2 img {
    border-radius: 5px;
    aspect-ratio: 322/93;
}
@media screen and (max-width: 768px) {
    .l-sidebar__bnr-img-2 img {
        border-radius: calc(5 / var(--design-width) * 100vw);
    }
}
.l-sidebar__bnr-txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 100%;
    height: auto;
    z-index: 2;
    pointer-events: none;
}
.l-sidebar__bnr-bg {
    display: block;
    width: 100%;
}
.l-sidebar__cat-list {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: min(18 / var(--design-width) * 100vw, 18px);
}
.l-sidebar__cat-link {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media (hover: hover) and (pointer: fine) {
    .l-sidebar__cat-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-sidebar__cat-link::after {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    aspect-ratio: 1/1;
    background: url(../img/common/icon_arw_green.svg) no-repeat center center/contain;
}

/* ---------------------------------------------
*   l-footer
--------------------------------------------- */
.l-footer {
    position: relative;
    background-color: var(--color-green-2);
}
.l-footer__container {
    overflow-x: clip;
}
.l-footer__inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: min(110px, 8.3333333333%);
    margin-inline: auto;
}
@media print, screen and (min-width: 769px) {
    .l-footer__inner {
        max-width: calc(var(--design-width) * 1px);
        padding: 50px min(4.4117647059%, 60px);
    }
}
@media screen and (max-width: 768px) {
    .l-footer__inner {
        flex-direction: column;
        padding-bottom: 64px;
    }
}
.l-footer__logo-wrap {
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .l-footer__logo-wrap {
        margin-top: 43px;
    }
}
.l-footer__logo {
    width: 260px;
}
@media screen and (max-width: 768px) {
    .l-footer__logo {
        margin-inline: auto;
    }
}
.l-footer__logo-link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer__logo-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-footer__sns-list {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-top: 36px;
}
@media screen and (max-width: 768px) {
    .l-footer__sns-list {
        justify-content: center;
        margin-top: 25px;
    }
}
.l-footer__sns-link {
    display: block;
    width: 42px;
    height: 42px;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer__sns-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-footer__bottom {
    background-color: var(--color-white-1);
}
.l-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-inline: auto;
    padding: 20px min(4.4117647059%, 60px);
    max-width: calc(var(--design-width) * 1px);
}
.l-footer__terms-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
}
@media screen and (max-width: 768px) {
    .l-footer__terms-list {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 20px min(60px, 17.1428571429%);
        padding-block: 29px;
    }
}
.l-footer__terms-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
@media screen and (max-width: 768px) and (hover: hover) and (pointer: fine) {
    .l-footer__terms-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-footer__terms-link--icon {
    display: inline-block;
    width: 12px;
    height: 12px;
    vertical-align: middle;
}
.l-footer__terms-link-txt {
    position: relative;
    color: var(--color-gray-4);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .l-footer__terms-link-txt {
        color: var(--color-white-1);
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
@media print, screen and (min-width: 769px) {
    .l-footer__terms-link-txt::before {
        position: absolute;
        left: 0;
        content: "";
        width: 100%;
        height: 1px;
        background-color: var(--color-gray-4);
        bottom: 0;
        transform: scale(0, 1);
        transform-origin: right top;
    }
}
@media print and (hover: hover) and (pointer: fine), screen and (hover: hover) and (pointer: fine) and (min-width: 769px) {
    .l-footer__terms-link:hover .l-footer__terms-link-txt::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
@media screen and (max-width: 768px) {
    .l-footer__copyright {
        margin-top: 23px;
        text-align: center;
    }
}
.l-footer__copyright-txt {
    color: var(--color-gray-4);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .l-footer__copyright-txt {
        color: var(--color-white-1);
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   l-footer-nav
--------------------------------------------- */
.l-footer-nav {
    flex-grow: 1;
}
@media screen and (max-width: 768px) {
    .l-footer-nav {
        padding-top: 35px;
        overflow: hidden;
    }
}
.l-footer-nav__container {
    display: contents;
}
@media screen and (max-width: 768px) {
    .l-footer-nav__container {
        position: relative;
        display: block;
        margin-inline: auto;
        width: 89.7435897436%;
    }
}
@media screen and (max-width: 768px) {
    .l-footer-nav__container::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100vw;
        height: 1px;
        transform: translateX(-5.7142857143%);
        background-color: var(--color-gray-1);
    }
}
.l-footer-nav__ttl {
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    font-family: var(--ff-en);
    font-size: calc(32 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .l-footer-nav__ttl {
        font-size: calc(24 / var(--root-fz) * 1rem);
    }
}
.l-footer-nav__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px min(56px, 6.4814814815%);
    margin-top: 35px;
}
@media screen and (max-width: 768px) {
    .l-footer-nav__list {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 0;
        gap: 0;
    }
}
@media screen and (max-width: 768px) {
    .l-footer-nav__item {
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }
}
.l-footer-nav__link {
    position: relative;
    display: block;
    margin-block: var(--leading-trim);
    color: var(--color-white-1);
    font-size: calc(17 / var(--root-fz) * 1rem);
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .l-footer-nav__link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-block: 21px;
        padding-right: 14px;
        font-size: calc(16 / var(--root-fz) * 1rem);
        font-weight: 400;
    }
}
@media screen and (max-width: 768px) and (hover: hover) and (pointer: fine) {
    .l-footer-nav__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media print, screen and (min-width: 769px) {
    .l-footer-nav__link::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: var(--color-white-1);
        transform: scale(0, 1);
        transform-origin: right top;
    }
}
@media print and (hover: hover) and (pointer: fine), screen and (hover: hover) and (pointer: fine) and (min-width: 769px) {
    .l-footer-nav__link:hover::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
@media screen and (max-width: 768px) {
    .l-footer-nav__link::after {
        content: "";
        display: block;
        width: 10px;
        height: 17px;
        background: url(../img/common/icon_arw_right_white.svg) no-repeat center center/contain;
    }
}
.l-footer-nav__sub-ttl {
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
}
@media print, screen and (min-width: 769px) {
    .l-footer-nav__sub-ttl {
        display: none;
    }
}
.l-footer-nav__sp-inner {
    margin-top: 55px;
}
@media screen and (max-width: 768px) {
    .l-footer-nav__sp-inner {
        margin: 32px auto 0;
        width: 89.7435897436%;
    }
}
.l-footer-nav__link2-main {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: -moz-fit-content;
    width: fit-content;
}
.l-footer-nav__link2-main--icon {
    display: inline-block;
    width: 12px;
    height: 12px;
    vertical-align: middle;
}
.l-footer-nav__link2-main-txt {
    position: relative;
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .l-footer-nav__link2-main-txt {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.l-footer-nav__link2-main-txt::before {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-white-1);
    bottom: 0;
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-nav__link2-main:hover .l-footer-nav__link2-main-txt::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.l-footer-nav__list2 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px min(52px, 6.0185185185%);
    margin-top: 20px;
}
@media screen and (max-width: 768px) {
    .l-footer-nav__list2 {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 30px;
        padding-bottom: 5px;
        gap: 28px min(56px, 16%);
    }
}
.l-footer-nav__link2 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.l-footer-nav__link2--icon {
    display: inline-block;
    width: 12px;
    height: 12px;
    vertical-align: middle;
}
.l-footer-nav__link2-txt {
    position: relative;
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .l-footer-nav__link2-txt {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.l-footer-nav__link2-txt::before {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-white-1);
    bottom: 0;
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-nav__link2:hover .l-footer-nav__link2-txt::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}

/* ---------------------------------------------
*   l-footer-nav-main
--------------------------------------------- */
.l-footer-nav-main {
    margin-top: 11px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
@media print, screen and (min-width: 769px) {
    .l-footer-nav-main {
        display: none;
    }
}
.l-footer-nav-main__head {
    padding-block: 25px;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-nav-main__head:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-footer-nav-main__ttl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 14px;
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1;
}
.l-footer-nav-main__ttl::after {
    content: "";
    display: block;
    width: 17px;
    height: 10px;
    background: url(../img/common/icon_arw_bottom.svg) no-repeat center center/contain;
    transition: transform 0.2s;
}
.is-open .l-footer-nav-main__ttl::after {
    transform: rotate(-180deg);
}

/* ---------------------------------------------
*   l-footer-nav-menu
--------------------------------------------- */
.l-footer-nav-menu {
    padding-bottom: 24px;
}
.l-footer-nav-menu:not(:last-of-type) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.l-footer-nav-menu + .l-footer-nav-menu {
    margin-top: 24px;
}
.l-footer-nav-menu__ttl {
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1;
}
.l-footer-nav-menu__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px min(4.2857142857%, 15px);
    margin-top: 24px;
}
.l-footer-nav-menu:first-of-type .l-footer-nav-menu__list {
    margin-top: 28px;
}
.l-footer-nav-menu__item {
    flex: 0 1 auto;
    flex-basis: calc(50% - min(4.2857142857%, 15px));
    min-width: -moz-max-content;
    min-width: max-content;
    max-width: 100%;
}
.l-footer-nav-menu__link {
    position: relative;
    display: block;
    color: var(--color-white-1);
    margin-block: var(--leading-trim);
    width: -moz-fit-content;
    width: fit-content;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.l-footer-nav-menu__link::before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-green-2);
    transform: scale(0, 1);
    transform-origin: right top;
}
@media screen and (max-width: 1170px) {
    .l-footer-nav-menu__link::before {
        background-color: var(--color-white-2);
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-nav-menu__link:hover::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}

/* ---------------------------------------------
*   c-block-1
--------------------------------------------- */
.c-block-1 {
    background-color: var(--color-white-1);
    border-bottom: 1px solid var(--color-gray-2);
}
@media screen and (max-width: 768px) {
    .c-block-1 {
        display: none;
    }
}
.c-block-1__inner {
    display: flex;
    align-items: center;
    gap: min(2.0833333333%, 30px);
    margin-inline: auto;
    padding: 10px;
    width: 100%;
    max-width: 1340px;
}
@media screen and (max-width: 1359px) {
    .c-block-1__inner {
        padding-inline: min(4.1666666667%, 60px);
    }
}
.c-block-1__ttl {
    color: var(--color-gray-4);
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.c-block-1__list {
    display: flex;
    align-items: center;
    gap: 22px;
}
.c-block-1__item {
    flex-shrink: 0;
}
.c-block-1__link {
    position: relative;
    display: block;
    color: var(--color-green-2);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.c-block-1__link::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-green-2);
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-1__link:hover::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}

/* ---------------------------------------------
*   c-block-2
--------------------------------------------- */
.c-block-2 {
    margin-top: min(40 / 830 * 100%, 40px);
    padding: min(40 / 830 * 100%, 40px);
    background-color: var(--color-gray-1);
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .c-block-2 {
        margin-top: min(32 / 350 * 100%, 32px);
        padding: min(20 / var(--design-width) * 100vw, 20px);
        border-radius: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.c-block-2 .c-list--num .c-list__item::before {
    font-weight: 400;
}
.c-block-2__txt {
    margin-top: min(16 / 830 * 100%, 16px);
}
@media screen and (max-width: 768px) {
    .c-block-2__txt {
        margin-top: min(10 / 350 * 100%, 10px);
    }
}
.c-block-2__list {
    margin-top: min(26 / 830 * 100%, 26px);
}
@media screen and (max-width: 768px) {
    .c-block-2__list {
        margin-top: min(18 / 350 * 100%, 18px);
    }
}

/* ---------------------------------------------
*   c-block-3
--------------------------------------------- */
.c-block-3 {
    margin-top: min(40 / 830 * 100%, 40px);
    padding: min(40 / 830 * 100%, 40px);
    background-color: var(--color-gray-1);
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .c-block-3 {
        margin-top: min(32 / var(--design-width) * 100vw, 32px);
        padding: min(20 / var(--design-width) * 100vw, 20px);
        border-radius: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.c-block-3__list {
    margin-top: min(22 / 750 * 100%, 22px);
}
@media screen and (max-width: 768px) {
    .c-block-3__list {
        margin-top: min(13 / 350 * 100%, 13px);
    }
}

/* ---------------------------------------------
*   c-block-4
--------------------------------------------- */
.c-block-4 {
    margin-top: min(40 / 830 * 100%, 40px);
    padding: 37px;
    border-left: 4px solid var(--color-green-2);
    background-color: var(--color-gray-1);
    border-radius: 0 5px 5px 0;
}
@media screen and (max-width: 768px) {
    .c-block-4 {
        margin-top: min(42 / var(--design-width) * 100vw, 42px);
        padding: min(28 / var(--design-width) * 100vw, 28px) min(18 / var(--design-width) * 100vw, 18px) min(24 / var(--design-width) * 100vw, 24px);
        border-radius: 0 min(5 / var(--design-width) * 100vw, 5px) min(5 / var(--design-width) * 100vw, 5px) 0;
    }
}
.c-block-4__ttl {
    display: block;
    margin-block: var(--leading-trim);
    font-size: calc(17 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 2.2;
}
@media screen and (max-width: 768px) {
    .c-block-4__ttl {
        line-height: 2;
    }
}
@media print, screen and (min-width: 769px) {
    .c-block-4__txt {
        line-height: 2.2;
    }
}
.c-block-4__quote {
    margin-top: min(8 / 760 * 100%, 8px);
    text-align: right;
    color: var(--color-gray-4);
}
@media screen and (max-width: 768px) {
    .c-block-4__quote {
        display: none;
    }
}

/* ---------------------------------------------
*   c-block-5
--------------------------------------------- */
.c-block-5 {
    margin-top: min(56 / 830 * 100%, 56px);
    padding-top: min(56 / 830 * 100%, 56px);
    border-top: 1px solid var(--color-gray-2);
}
@media screen and (max-width: 768px) {
    .c-block-5 {
        margin-top: min(32 / 350 * 100%, 32px);
        padding-top: min(32 / 350 * 100%, 32px);
    }
}
.c-block-5__ttl {
    display: block;
    margin-block: var(--leading-trim);
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.13;
}
.c-block-5__item {
    display: flex;
    gap: 5px;
}
.c-block-5__item + .c-block-5__item {
    margin-top: 10px;
}
@media screen and (max-width: 768px) {
    .c-block-5__item + .c-block-5__item {
        margin-top: min(5 / 350 * 100%, 5px);
    }
}
.c-block-5__txt {
    flex-shrink: 0;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .c-block-5__txt {
        line-height: 1.7;
    }
}
@media screen and (max-width: 768px) {
    .mac.safari .c-block-5__txt {
        line-height: 1.8;
    }
}

.c-block-5__quote {
    margin-top: min(16 / 830 * 100%, 16px);
    text-align: right;
    color: var(--color-gray-4);
}
@media screen and (max-width: 768px) {
    .c-block-5__quote {
        display: none;
    }
}

/* ---------------------------------------------
*   c-block-6
--------------------------------------------- */
.c-block-6 {
    margin-top: min(56 / 830 * 100%, 56px);
}
@media screen and (max-width: 768px) {
    .c-block-6 {
        margin-top: min(32 / 350 * 100%, 32px);
    }
}
.c-block-6 + .c-block-6 {
    margin-top: min(24 / 830 * 100%, 24px);
}
@media screen and (max-width: 768px) {
    .c-block-6 + .c-block-6 {
        margin-top: min(16 / 350 * 100%, 16px);
    }
}
@media print, screen and (min-width: 769px) {
    .c-pager + .c-block-6 {
        margin-top: 56px;
    }
}

.c-block-6__inner {
    display: flex;
    gap: min(30 / 830 * 100%, 30px);
    padding: min(40 / 830 * 100%, 40px);
    background-color: rgba(25, 122, 86, 0.05);
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .c-block-6__inner {
        flex-direction: column;
        gap: 20px;
        padding: 20px;
        border-radius: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.c-block-6__contents-sp {
    display: contents;
}
@media screen and (max-width: 768px) {
    .c-block-6__contents-sp {
        display: flex;
        align-items: center;
        gap: 20px;
    }
}
.c-block-6__contents {
    display: flex;
    flex-direction: column;
    gap: 23px;
}
@media screen and (max-width: 768px) {
    .c-block-6__contents {
        gap: 20px;
    }
}
.c-block-6__img {
    flex-shrink: 0;
    width: min(130 / 750 * 100%, 130px);
    height: min(130 / 750 * 100%, 130px);
    aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
    .c-block-6__img {
        width: min(90 / 350 * 100%, 90px);
    }
}
.c-block-6__img img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
}
.c-block-6__img--bcg {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-white-1);
    border-radius: 50%;
    aspect-ratio: 1/1;
}
.c-block-6__img--bcg img {
    width: 70%;
    height: auto;
    border-radius: 0;
    aspect-ratio: auto;
    -o-object-fit: contain;
       object-fit: contain;
}
.c-block-6__ttl {
    display: block;
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.9;
}
@media screen and (max-width: 768px) {
    .c-block-6__ttl {
        line-height: 1.5;
    }
}
.c-block-6__name-txt {
    display: block;
    margin-block: var(--leading-trim);
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-block-6__name-txt {
        font-size: calc(18 / var(--root-fz) * 1rem);
        font-weight: 700;
    }
}
.c-block-6__name-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-block: var(--leading-trim);
    width: -moz-fit-content;
    width: fit-content;
}
.c-block-6__name-link--icon {
    position: relative;
    display: block;
    width: 18px;
    height: 18px;
    vertical-align: middle;
}
.c-block-6__name-link-txt {
    position: relative;
    color: var(--color-green-2);
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-block-6__name-link-txt {
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
.c-block-6__name-link-txt::before {
    content: "";
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-green-2);
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-6__name-link:hover .c-block-6__name-link-txt::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.c-block-6__txt {
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.9;
}

/* ---------------------------------------------
*   c-block-7
--------------------------------------------- */
.c-block-7__head {
    margin: var(--leading-trim) aut0;
}
.c-block-7__ttl {
    display: block;
    text-align: center;
    margin-block: var(--leading-trim);
    font-size: calc(28 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .c-block-7__ttl {
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
.c-block-7__body {
    margin-top: 50px;
}
@media screen and (max-width: 768px) {
    .c-block-7__body {
        margin-top: min(32 / var(--design-width) * 100vw, 32px);
    }
}
.c-block-7--empty .c-block-7__body {
    margin-top: 33px;
}
@media screen and (max-width: 768px) {
    .c-block-7--empty .c-block-7__body {
        margin-top: min(32 / var(--design-width) * 100vw, 32px);
    }
}
.c-block-7__wrap + .c-block-7__wrap {
    margin-top: 46px;
}
@media screen and (max-width: 768px) {
    .c-block-7__wrap + .c-block-7__wrap {
        margin-top: min(20 / var(--design-width) * 100vw, 20px);
    }
}
.c-block-7--empty .c-block-7__wrap + .c-block-7__wrap {
    margin-top: 38px;
}
@media screen and (max-width: 768px) {
    .c-block-7--empty .c-block-7__wrap + .c-block-7__wrap {
        margin-top: min(15 / var(--design-width) * 100vw, 15px);
    }
}
.c-block-7__txt {
    color: var(--color-black-1);
    margin-block: var(--leading-trim);
    font-size: calc(17 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.2;
}
@media screen and (max-width: 768px) {
    .c-block-7__txt {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
.c-block-7__acc-trigger {
    display: none;
}
@media screen and (max-width: 768px) {
    .c-block-7__acc-trigger {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-block: var(--leading-trim);
        width: 100%;
        color: var(--color-gray-4);
        font-size: calc(15 / var(--root-fz) * 1rem);
        font-weight: 600;
        line-height: 1.5;
        /* 34.5px */
    }
}
@media screen and (max-width: 768px) and (hover: hover) and (pointer: fine) {
    .c-block-7__acc-trigger:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-block-7__acc-trigger--green {
    color: var(--color-green-2);
}
.c-block-7__acc-trigger::after {
    display: none;
}
@media screen and (max-width: 768px) {
    .c-block-7__acc-trigger::after {
        content: "";
        display: block;
        width: 18px;
        height: 10px;
        background: url(../img/common/icon_arw_botto_green.svg) no-repeat center center/contain;
        transition: transform 0.2s;
    }
    .js-acc-sp-scope.is-open .c-block-7__acc-trigger::after {
        transform: rotate(-180deg);
    }
}
@media screen and (max-width: 768px) {
    .c-block-7__acc {
        margin-top: min(10 / var(--design-width) * 100vw, 10px);
        padding: 18px;
        background-color: var(--color-white-2);
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
@media screen and (max-width: 768px) {
    .c-block-7--empty .c-block-7__acc {
        background-color: var(--color-white-1);
    }
}
@media print, screen and (min-width: 769px) {
    .c-block-7__list {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 11px 12px;
        margin-top: 15px;
    }
}
@media print, screen and (min-width: 769px) {
    .c-block-7--empty .c-block-7__list {
        gap: 13px 12px;
        margin-top: 14px;
    }
}
@media screen and (max-width: 768px) {
    .c-block-7__item {
        padding-top: 18px;
    }
}
@media screen and (max-width: 768px) {
    .c-block-7__item.is-current {
        display: none;
    }
}
@media print, screen and (min-width: 769px) {
    .c-block-7__link {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 13px 14px 15px;
        border-radius: 5px;
        background-color: var(--color-white-2);
    }
}
@media screen and (max-width: 768px) {
    .c-block-7__link {
        display: block;
        width: 100%;
    }
}
@media print, screen and (min-width: 769px) {
    .c-block-7--empty .c-block-7__link {
        padding: 13px 14px 14px;
        background-color: var(--color-white-1);
    }
}
@media print, screen and (min-width: 769px) {
    .c-block-7__link.is-current {
        gap: 10px;
        background-color: var(--color-green-2);
    }
}
@media screen and (max-width: 768px) {
    .c-block-7__link.is-current {
        display: none;
    }
}
@media print, screen and (min-width: 769px) {
    .c-block-7__link.is-current::before {
        content: "";
        display: block;
        width: 15px;
        height: 10px;
        aspect-ratio: 3/2;
        background: url(../img/common/icon_check.svg) no-repeat center center/contain;
    }
}
@media print and (hover: hover) and (pointer: fine), screen and (hover: hover) and (pointer: fine) and (min-width: 769px) {
    .c-block-7__link:hover {
        background-color: var(--color-green-2);
    }
}
.c-block-7__link-txt {
    position: relative;
    color: var(--color-green-2);
    text-align: center;
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}
.c-block-7__link-txt--all {
    color: var(--color-gray-4);
}
.c-block-7--empty .c-block-7__link-txt {
    font-size: calc(14 / var(--root-fz) * 1rem);
}
@media print, screen and (min-width: 769px) {
    .is-current .c-block-7__link-txt {
        color: var(--color-white-1);
    }
}
@media print and (hover: hover) and (pointer: fine), screen and (hover: hover) and (pointer: fine) and (min-width: 769px) {
    .c-block-7__link:hover .c-block-7__link-txt {
        color: var(--color-white-1);
    }
}
.c-block-7__link-txt::after {
    display: none;
}
@media screen and (max-width: 768px) {
    .c-block-7__link-txt::after {
        position: absolute;
        bottom: 0;
        left: 0;
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        background-color: var(--color-green-2);
        transform: scale(0, 1);
        transform-origin: right top;
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 768px) {
    .c-block-7__link:hover .c-block-7__link-txt::after {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.c-block-7__search {
    margin-top: 15px;
}
@media screen and (max-width: 768px) {
    .c-block-7__search {
        margin-top: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.c-block-7__key {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}
@media screen and (max-width: 768px) {
    .c-block-7__key {
        flex-direction: column;
        align-items: flex-start;
        gap: min(12 / var(--design-width) * 100vw, 12px);
        margin-top: min(18 / var(--design-width) * 100vw, 18px);
    }
}
.c-block-7__key-txt {
    flex-shrink: 0;
    display: block;
    margin-block: var(--leading-trim);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
}
@media print, screen and (min-width: 769px) {
    .c-block-7__key-txt {
        padding-top: 14px;
    }
}
@media print, screen and (min-width: 769px) {
    .c-block-7--empty .c-block-7__key-txt {
        padding-top: 13px;
    }
}
@media screen and (max-width: 768px) {
    .c-block-7__key-txt {
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}
.c-block-7__key-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px 12px;
}
@media screen and (max-width: 768px) {
    .c-block-7__key-list {
        gap: 8px;
    }
}
.c-block-7--empty .c-block-7__key-list {
    gap: 13px 12px;
}
@media screen and (max-width: 768px) {
    .c-block-7--empty .c-block-7__key-list {
        gap: 10px;
    }
}
.c-block-7__key-link {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 13px 14px 15px;
    border-radius: 5px;
    background-color: var(--color-white-2);
}
@media screen and (max-width: 768px) {
    .c-block-7__key-link {
        padding: 12px 14px 13px;
    }
}
.c-block-7--empty .c-block-7__key-link {
    background-color: var(--color-white-1);
}
@media print, screen and (min-width: 769px) {
    .c-block-7--empty .c-block-7__key-link {
        padding: 13px 14px 15px;
    }
}
.c-block-7__key-link.is-current {
    gap: 10px;
    background-color: var(--color-green-2);
}
@media screen and (max-width: 768px) {
    .c-block-7__key-link.is-current {
        gap: 8px;
    }
}
.c-block-7__key-link.is-current::before {
    content: "";
    display: block;
    width: 15px;
    height: 10px;
    aspect-ratio: 3/2;
    background: url(../img/common/icon_check.svg) no-repeat center center/contain;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-7__key-link:hover {
        background-color: var(--color-green-2);
    }
}
.c-block-7__key-link-txt {
    color: var(--color-green-2);
    text-align: center;
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}
@media screen and (max-width: 768px) {
    .c-block-7__key-link-txt {
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}
@media print, screen and (min-width: 769px) {
    .c-block-7--empty .c-block-7__key-link-txt {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.is-current .c-block-7__key-link-txt {
    color: var(--color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-block-7__key-link:hover .c-block-7__key-link-txt {
        color: var(--color-white-1);
    }
}
.c-block-7__clear {
    margin: 60px auto 0;
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 768px) {
    .c-block-7__clear {
        margin-top: min(27 / var(--design-width) * 100vw, 27px);
    }
}
.c-block-7__clear-btn {
    display: block;
    color: var(--color-green-2);
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: normal;
    background-image: linear-gradient(var(--color-green-2) 0 0);
    text-decoration: none;
    background-size: 0% 1px;
    background-position: 0 100%;
    position: relative;
    background-repeat: no-repeat;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-7__clear-btn:hover {
        background-size: 100% 1px;
    }
}

/* ---------------------------------------------
*   c-block-8
--------------------------------------------- */
@media print, screen and (min-width: 769px) {
    .c-block-8 {
        border-radius: 5px;
        background-color: var(--color-white-2);
        box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.03);
    }
}
@media print, screen and (min-width: 769px) {
    .c-block-8__inner {
        padding: min(40 / var(--design-width) * 100vw, 40px) min(40 / 320 * 100%, 40px);
    }
}
@media screen and (max-width: 768px) {
    .c-block-8__modal-ttl {
        display: block;
        margin-block: var(--leading-trim);
        color: var(--color-black-1);
        text-align: center;
        font-size: calc(20 / var(--root-fz) * 1rem);
        font-weight: 600;
        line-height: 1.4;
    }
}
.c-block-8__ttl {
    margin-block: var(--leading-trim);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-block-8__ttl {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
.c-block-8__block {
    display: flex;
    flex-direction: column;
    gap: min(32 / var(--design-width) * 100vw, 32px);
}
@media screen and (max-width: 768px) {
    .c-block-8__block {
        gap: min(12 / var(--design-width) * 100vw, 12px);
        margin-top: min(40 / var(--design-width) * 100vw, 40px);
    }
}
.c-block-8__block + .c-block-8__block {
    margin-top: min(29 / var(--design-width) * 100vw, 29px);
}
@media print, screen and (min-width: 769px) {
    .c-block-8__block + .c-block-8__block {
        padding-top: min(30 / var(--design-width) * 100vw, 30px);
        border-top: 1px solid var(--color-white-1);
    }
}
@media screen and (max-width: 768px) {
    .c-block-8__block + .c-block-8__block {
        margin-top: min(30 / var(--design-width) * 100vw, 30px);
    }
}
@media screen and (max-width: 768px) {
    .c-block-8__acc-trigger {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        color: var(--color-base-1);
        font-size: calc(15 / var(--root-fz) * 1rem);
        font-weight: 600;
        line-height: 1.5;
        /* 34.5px */
    }
}
@media screen and (max-width: 768px) and (hover: hover) and (pointer: fine) {
    .c-block-8__acc-trigger:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-block-8__acc-trigger::after {
    content: "";
    display: block;
    width: 18px;
    height: 10px;
    background: url(../img/common/icon_arw_botto_green.svg) no-repeat center center/contain;
    transition: transform 0.2s;
}
.js-acc-sp-scope.is-open .c-block-8__acc-trigger::after {
    transform: rotate(-180deg);
}
@media screen and (max-width: 768px) {
    .c-block-8__acc {
        padding: 12px 18px;
        background-color: var(--color-white-2);
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
@media print, screen and (min-width: 769px) {
    .c-block-8__list {
        display: flex;
        flex-direction: column;
        gap: min(22 / var(--design-width) * 100vw, 22px);
    }
}
@media screen and (max-width: 768px) {
    .c-block-8__item {
        padding-top: 12px;
    }
}
.c-block-8__item.is-current {
    display: none;
}
.c-block-8__link {
    position: relative;
    display: block;
}
.c-block-8__link.is-current::before {
    content: "";
    position: absolute;
    top: 50%;
    left: max(-40 / 240 * 100%, -40px);
    width: 4px;
    height: 24px;
    border-radius: 4px;
    transform: translateY(-50%);
    background-color: var(--color-green-2);
}
.c-block-8__link-txt {
    position: relative;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    color: var(--color-green-2);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-style: normal;
    font-weight: 600;
    line-height: 1.5;
}
@media print, screen and (min-width: 769px) {
    .c-block-8__link-txt {
        margin-block: var(--leading-trim);
    }
}
.c-block-8__link.is-current .c-block-8__link-txt {
    color: var(--color-gray-4);
    cursor: auto;
}
.c-block-8__link.is-current .c-block-8__link-txt::after {
    display: none;
}
.c-block-8__link-txt::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-green-2);
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-8__link:hover .c-block-8__link-txt::after {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.c-block-8__clear {
    margin: min(32 / var(--design-width) * 100vw, 32px) auto 0;
    width: -moz-fit-content;
    width: fit-content;
}
.c-block-8__clear-btn {
    display: block;
    color: var(--color-green-2);
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: normal;
    background-image: linear-gradient(var(--color-green-2) 0 0);
    text-decoration: none;
    background-size: 0% 1px;
    background-position: 0 100%;
    position: relative;
    background-repeat: no-repeat;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-8__clear-btn:hover {
        background-size: 100% 1px;
    }
}

ol.wp-block-footnotes {
    list-style: decimal;
    padding-left: 1.5em;
}

/* ---------------------------------------------
*   c-box
--------------------------------------------- */
/* ---------------------------------------------
*   c-btn-wrap
--------------------------------------------- */
.c-btn-wrap {
    margin-inline: auto;
    min-width: 320px;
    width: -moz-fit-content;
    width: fit-content;
    min-height: 56px;
}
@media screen and (max-width: 768px) {
    .c-btn-wrap {
        min-width: 290px;
        min-height: 54px;
    }
}
@media screen and (max-width: 768px) {
    .c-btn-wrap--small {
        min-width: 280px;
    }
}
.c-btn-wrap--mt80 {
    margin-top: 80px;
}
@media screen and (max-width: 768px) {
    .c-btn-wrap--mt80 {
        margin-top: min(40px, 40 / 350 * 100%);
    }
}
.c-btn-wrap--mt40 {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .c-btn-wrap--mt40 {
        margin-top: min(32px, 32 / 350 * 100%);
    }
}

/* ---------------------------------------------
*   c-btn-wrap-large
--------------------------------------------- */
.c-btn-wrap-large {
    margin-inline: auto;
    max-width: 600px;
    min-height: 88px;
}
@media screen and (max-width: 768px) {
    .c-btn-wrap-large {
        width: 100%;
        min-height: 82px;
    }
}
.c-btn-wrap-large--2col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(30 / 830 * 100%, 30px);
}
@media print, screen and (min-width: 769px) {
    .c-btn-wrap-large--2col {
        max-width: initial;
    }
}
@media screen and (max-width: 768px) {
    .c-btn-wrap-large--2col {
        grid-template-columns: repeat(1, 1fr);
        gap: min(28 / var(--design-width) * 100vw, 28px);
        margin-top: min(28 / var(--design-width) * 100vw, 28px);
    }
}

/* ---------------------------------------------
*   c-btn-wrap-2col
--------------------------------------------- */
.c-btn-wrap-2col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(30 / 830 * 100%, 30px);
    margin-top: min(40 / 830 * 100%, 40px);
}
@media screen and (max-width: 768px) {
    .c-btn-wrap-2col {
        grid-template-columns: repeat(1, 1fr);
        gap: min(28 / var(--design-width) * 100vw, 28px);
        margin-top: min(28 / var(--design-width) * 100vw, 28px);
    }
}

/* ---------------------------------------------
*   c-btn-1
--------------------------------------------- */
.c-btn-1 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 17px 40px;
    width: 100%;
    height: 100%;
    color: var(--color-white-1);
    text-align: center;
    margin-block: var(--leading-trim);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.4;
    border-radius: 155px;
    background-color: var(--color-green-2);
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 768px) {
    .c-btn-1 {
        padding: 17px 40px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-1:hover {
        background-color: var(--color-green-3);
    }
    .c-btn-1:hover:not(.c-btn-1--external)::after {
        background-image: url(../img/common/icon_arw_right_green-2.svg);
    }
}
.c-btn-1::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    aspect-ratio: 1/1;
    background: url(../img/common/icon_arw_right_green.svg) no-repeat 53% center/6px 11px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 768px) {
    .c-btn-1::after {
        width: 22px;
        height: 22px;
        background-size: 5px 10px;
    }
}
.c-btn-1--external::after {
    content: "";
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    aspect-ratio: 1/1;
    background: url(../img/common/icon_extlink_white.svg) no-repeat center center/contain;
    border-radius: 0;
}
@media screen and (max-width: 768px) {
    .c-btn-1--external::after {
        right: 19px;
        width: 17px;
        height: 17px;
    }
}

/* ---------------------------------------------
*   c-btn-2
--------------------------------------------- */
.c-btn-2 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 17px 40px;
    width: 100%;
    height: 100%;
    color: var(--color-green-2);
    text-align: center;
    margin-block: var(--leading-trim);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.4;
    border-radius: 155px;
    background-color: var(--color-white-1);
    border: 1px solid var(--color-green-2);
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-2:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-btn-2::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    width: 24px;
    height: 24px;
    aspect-ratio: 1/1;
    background: url(../img/common/icon_arw_green_large.svg) no-repeat center center/contain;
    transform: translateY(-50%) rotate(90deg);
}
@media screen and (max-width: 768px) {
    .c-btn-2::after {
        width: 21px;
        height: 21px;
    }
}

/* ---------------------------------------------
*   c-btn-3
--------------------------------------------- */
.c-btn-3 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 19px;
    padding: 22px min(85 / 400 * 100%, 85px);
    height: 100%;
    border-radius: 10px;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.08));
}
@media screen and (max-width: 768px) {
    .c-btn-3 {
        padding: 14px min(60 / var(--design-width) * 100vw, 60px);
        gap: 12px;
    }
}
.c-btn-3--next {
    background-color: var(--color-green-2);
}
.c-btn-3--pre {
    border: 1px solid var(--color-green-2);
}
.c-btn-3__ttl {
    color: var(--color-white-1);
    text-align: center;
    margin-block: var(--leading-trim);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-btn-3__ttl {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}
.c-btn-3--pre .c-btn-3__ttl {
    color: var(--color-green-2);
}
.c-btn-3__desc {
    color: var(--color-white-1);
    text-align: center;
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-btn-3__desc {
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}
.c-btn-3--pre .c-btn-3__desc {
    color: var(--color-green-2);
}
.c-btn-3--next::after {
    content: "";
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    aspect-ratio: 1/1;
    background: url(../img/common/icon_arw_right_green.svg) no-repeat 53% center/9px 16px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 768px) {
    .c-btn-3--next::after {
        width: 22px;
        height: 22px;
        background-size: 7px 12px;
    }
}
.c-btn-wrap-large--2col .c-btn-3--next::after {
    right: 16px;
}

.c-btn-3--pre::before {
    content: "";
    position: absolute;
    left: 22px;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    width: 28px;
    height: 28px;
    aspect-ratio: 1/1;
    background: url(../img/common/icon_arw_green.svg) no-repeat center center/contain;
}
@media screen and (max-width: 768px) {
    .c-btn-3--pre::before {
        width: 22px;
        height: 22px;
    }
}
.c-btn-wrap-large--2col .c-btn-3--pre::before {
    left: 16px;
}

@media (hover: hover) and (pointer: fine) {
    .c-btn-3--next:hover {
        background-color: var(--color-green-3);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-3--pre:hover {
        opacity: 0.7;
    }
}

/* ---------------------------------------------
*   c-btn-narrow
--------------------------------------------- */
.c-btn-narrow {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-block: var(--leading-trim);
    padding: 10px 20px;
    height: 45px;
    border-radius: 10px;
    border: 1px solid var(--color-green-2);
    background: var(--color-white-1);
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.05));
}
@media screen and (max-width: 768px) {
    .c-btn-narrow {
        gap: 5px;
        padding: 10px 80px;
        width: 100%;
        height: 42px;
        border-radius: 5px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-narrow:hover {
        opacity: 0.7;
    }
}
.c-btn-narrow::after {
    content: "";
    display: block;
    width: 17px;
    height: 16px;
    aspect-ratio: 17/16;
    background: url(../img/common/icon_narrow.svg) no-repeat center center/contain;
}
@media screen and (max-width: 768px) {
    .c-btn-narrow::after {
        width: 14px;
        height: 14px;
        aspect-ratio: 14/14;
    }
}
.c-btn-narrow__txt {
    display: block;
    color: var(--color-green-2);
    text-align: center;
    margin-block: var(--leading-trim);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .c-btn-narrow__txt {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-card-kv-1
--------------------------------------------- */
.c-card-kv-1 {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .c-card-kv-1 {
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.c-card-kv-1__img {
    display: flex;
    aspect-ratio: 16/9;
    border-radius: 10px 10px 0 0;
}
@media screen and (max-width: 768px) {
    .c-card-kv-1__img {
        border-radius: calc(5 / var(--design-width) * 100vw) calc(5 / var(--design-width) * 100vw) 0 0;
    }
}
.c-card-kv-1__img img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-kv-1__img img:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-kv-1:has(.c-card-kv-1__ttl-link:hover) .c-card-kv-1__img img {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-card-kv-1__contents {
    flex-grow: 1;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    padding: 24px 20px 27px;
    gap: 16px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 768px) {
    .c-card-kv-1__contents {
        padding: min(20 / var(--design-width) * 100vw, 20px);
        gap: min(12 / var(--design-width) * 100vw, 12px);
    }
}
.c-card-kv-1__cat-link {
    display: block;
    margin-block: var(--leading-trim);
}
.c-card-kv-1__ttl-link {
    display: block;
    margin-block: var(--leading-trim);
}
.c-card-kv-1__cat {
    position: relative;
    display: block;
    color: var(--color-green-2);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.c-card-kv-1__cat::before {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-green-2);
    bottom: 0;
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-kv-1__cat-link:hover .c-card-kv-1__cat::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.c-card-kv-1__ttl {
    display: -webkit-box;
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 0.1em;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    .c-card-kv-1__ttl {
        text-decoration-thickness: 1.5px;
    }
}
@media screen and (max-width: 768px) {
    .c-card-kv-1__ttl {
        font-size: calc(17 / var(--root-fz) * 1rem);
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-kv-1__ttl-link:hover .c-card-kv-1__ttl {
        text-decoration-color: var(--color-base-1);
    }
    .c-card-kv-1__img:hover + .c-card-kv-1__contents .c-card-kv-1__ttl {
        text-decoration-color: var(--color-base-1);
    }
}
.c-card-kv-1__tag-list {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
}
@media screen and (max-width: 768px) {
    .c-card-kv-1__tag-list {
        display: none;
    }
}
.c-card-kv-1__tag-item {
    display: contents;
}
.c-card-kv-1__date {
    display: block;
    color: var(--color-gray-4);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-card-kv-1__date {
        display: none;
    }
}

/* ---------------------------------------------
*   c-card-kv-2
--------------------------------------------- */
.c-card-kv-2 {
    display: flex;
    border-radius: 10px;
    overflow: hidden;
    filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.02));
}
@media screen and (max-width: 768px) {
    .c-card-kv-2 {
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.c-card-kv-2__img {
    display: block;
    flex-shrink: 0;
    width: 35.7142857143%;
    max-width: 250px;
}
@media screen and (max-width: 1300px) {
    .c-card-kv-2__img {
        width: 40%;
        max-width: none;
    }
}
@media screen and (max-width: 768px) {
    .c-card-kv-2__img {
        width: 50.8571428571%;
    }
}
.c-card-kv-2__img img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-kv-2__img img:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-kv-2:has(.c-card-kv-2__ttl-link:hover) .c-card-kv-2__img img {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-card-kv-2__contents {
    position: relative;
    flex-grow: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: column;
    padding: min(14 / var(--design-width) * 100vw, 14px) 20px;
    gap: min(14 / var(--design-width) * 100vw, 14px);
    background-color: var(--color-white-1);
    overflow: hidden;
}
@media screen and (max-width: 1359px) {
    .c-card-kv-2__contents {
        justify-content: flex-start;
        gap: min(20 / var(--design-width) * 100vw, 20px);
    }
}
@media screen and (max-width: 768px) {
    .c-card-kv-2__contents {
        padding: min(7 / var(--design-width) * 100vw, 7px) min(8 / var(--design-width) * 100vw, 8px) min(11 / var(--design-width) * 100vw, 11px) min(12 / var(--design-width) * 100vw, 12px);
        gap: min(12 / var(--design-width) * 100vw, 12px);
    }
}
@media screen and (max-width: 768px) {
    .mac.safari .c-card-kv-2__contents {
        padding-inline: min(10 / var(--design-width) * 100vw, 10px);
    }
}

.c-card-kv-2__cat-link {
    display: block;
    margin-block: var(--leading-trim);
}
.c-card-kv-2__ttl-link {
    display: block;
    margin-block: var(--leading-trim);
}
.c-card-kv-2__cat {
    position: relative;
    color: var(--color-green-2);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.c-card-kv-2__cat::before {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-green-2);
    bottom: 0;
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-kv-2__cat-link:hover .c-card-kv-2__cat::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.c-card-kv-2__ttl {
    display: block;
    display: -webkit-box;
    font-size: calc(17 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 0.1em;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    .c-card-kv-2__ttl {
        text-decoration-thickness: 1.5px;
    }
}
@media screen and (max-width: 768px) {
    .c-card-kv-2__ttl {
        display: -webkit-box;
        font-size: calc(13 / var(--root-fz) * 1rem);
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-kv-2__ttl-link:hover .c-card-kv-2__ttl {
        text-decoration-color: var(--color-base-1);
    }
    .c-card-kv-2__img:hover + .c-card-kv-2__contents .c-card-kv-2__ttl {
        text-decoration-color: var(--color-base-1);
    }
}
.c-card-kv-2__wrap {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 5px 10px;
    width: 100%;
}
@media screen and (max-width: 1170px) {
    .c-card-kv-2__wrap {
        display: none;
    }
}
.c-card-kv-2__tag-list {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
    width: 68.8888888889%;
}
@media screen and (max-width: 768px) {
    .c-card-kv-2__tag-list {
        display: none;
    }
}
.c-card-kv-2__tag-item {
    display: contents;
}
.c-card-kv-2__date {
    display: block;
    color: var(--color-gray-4);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
    transform: translateY(33%);
}
@media screen and (max-width: 768px) {
    .c-card-kv-2__date {
        display: none;
    }
}

/* ---------------------------------------------
*   c-card-1
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .c-card-1 {
        display: flex;
        gap: min(16px, 16 / var(--design-width) * 100vw);
    }
}
.c-card-1__img {
    display: block;
    aspect-ratio: 16/9;
    border-radius: 10px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .c-card-1__img {
        flex-shrink: 0;
        width: 45.7142857143%;
        height: -moz-fit-content;
        height: fit-content;
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.c-card-1__img img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    border-radius: 10px;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-1__img img:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-card-1__img img {
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-1:has(.c-card-1__ttl-link:hover) .c-card-1__img img {
        opacity: 0.7;
    }
}
.c-card-1__contents {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: min(18px, 18 / var(--design-width) * 100vw);
    padding-top: min(24px, 24 / var(--design-width) * 100vw);
    background-color: var(--color-white-1);
}
@media screen and (max-width: 768px) {
    .c-card-1__contents {
        gap: min(14px, 14 / var(--design-width) * 100vw);
        padding-top: 2px;
    }
}
.c-card-1__cat-link {
    display: block;
    margin-block: var(--leading-trim);
}
.c-card-1__ttl-link {
    display: block;
    margin-block: var(--leading-trim);
}
.c-card-1__cat {
    position: relative;
    display: block;
    color: var(--color-green-2);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.c-card-1__cat::before {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-green-2);
    bottom: 0;
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-1__cat-link:hover .c-card-1__cat::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.c-card-1__ttl {
    display: -webkit-box;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 0.1em;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    .c-card-1__ttl {
        text-decoration-thickness: 1.5px;
    }
}
@media screen and (max-width: 768px) {
    .c-card-1__ttl {
        font-size: calc(15 / var(--root-fz) * 1rem);
        -webkit-line-clamp: 3;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-1__ttl-link:hover .c-card-1__ttl {
        text-decoration-color: var(--color-base-1);
    }
    .c-card-1__img:hover + .c-card-1__contents .c-card-1__ttl {
        text-decoration-color: var(--color-base-1);
    }
}
.c-card-1__tag-list {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
}
@media screen and (max-width: 768px) {
    .c-card-1__tag-list {
        display: none;
    }
}
.c-card-1__tag-item {
    display: contents;
}
.c-card-1__date {
    display: block;
    color: var(--color-gray-4);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}

/* ---------------------------------------------
*   c-card-2
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .c-card-2 {
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
}
.c-card-2__img {
    display: block;
    aspect-ratio: 16/9;
    border-radius: 10px;
    overflow: hidden;
}
@media print, screen and (min-width: 769px) {
    .c-card-2--small .c-card-2__img {
        border-radius: 5px;
    }
}
@media screen and (max-width: 768px) {
    .c-card-2__img {
        border-radius: calc(5 / var(--design-width) * 100vw) calc(5 / var(--design-width) * 100vw) 0 0;
    }
}
.c-card-2__img img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    border-radius: 10px;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-2__img img:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media print, screen and (min-width: 769px) {
    .c-card-2--small .c-card-2__img img {
        border-radius: 5px;
    }
}
@media screen and (max-width: 768px) {
    .c-card-2__img img {
        border-radius: calc(5 / var(--design-width) * 100vw) calc(5 / var(--design-width) * 100vw) 0 0;
    }
}
.c-card-2__contents {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
    padding-top: 24px;
    background-color: var(--color-white-1);
}
@media print, screen and (min-width: 769px) {
    .c-card-2--small .c-card-2__contents {
        gap: 16px;
        padding-top: 17px;
    }
}
@media screen and (max-width: 768px) {
    .c-card-2__contents {
        gap: 15px;
        padding: 16px;
        border-bottom: 1px solid var(--color-gray-2);
        border-right: 1px solid var(--color-gray-2);
        border-left: 1px solid var(--color-gray-2);
        border-radius: 0 0 calc(5 / var(--design-width) * 100vw) calc(5 / var(--design-width) * 100vw);
    }
}
.c-card-2__cat-link {
    display: block;
    margin-block: var(--leading-trim);
    will-change: opacity;
}
.c-card-2__ttl-link {
    display: block;
    margin-block: var(--leading-trim);
    will-change: opacity;
}
.c-card-2__cat {
    position: relative;
    display: block;
    color: var(--color-green-2);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.c-card-2__cat::before {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-green-2);
    bottom: 0;
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-2__cat-link:hover .c-card-2__cat::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.c-card-2__ttl {
    display: -webkit-box;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    height: 70px;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 0.1em;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    .c-card-2__ttl {
        text-decoration-thickness: 1.5px;
    }
}
@media screen and (max-width: 768px) {
    .c-card-2__ttl {
        font-size: calc(15 / var(--root-fz) * 1rem);
        -webkit-line-clamp: 3;
    }
}
.c-card-2--small .c-card-2__ttl {
    font-size: calc(15 / var(--root-fz) * 1rem);
    -webkit-line-clamp: 3;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-2__ttl-link:hover .c-card-2__ttl {
        text-decoration-color: var(--color-base-1);
    }
}
.c-card-2__tag-list {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
}
@media screen and (max-width: 768px) {
    .c-card-2__tag-list {
        display: none;
    }
}
@media screen and (max-width: 768px) {
    .c-card-2--small .c-card-2__tag-list {
        display: inline-block;
    }
}
.c-card-2__tag-item {
    display: contents;
}
.c-card-2__date {
    display: block;
    color: var(--color-gray-4);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-card-2__date {
        display: none;
    }
}
@media screen and (max-width: 768px) {
    .c-card-2--small .c-card-2__date {
        display: block;
    }
}

/* ---------------------------------------------
*   c-card-3
--------------------------------------------- */
.c-card-3__container {
    display: flex;
    flex-direction: column;
    border-radius: min(5 / var(--design-width) * 100vw, 5px);
    overflow: hidden;
}
.c-card-3__img img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-3:hover .c-card-3__img img {
        opacity: 0.7;
    }
}
.c-card-3__contents {
    padding: min(10 / var(--design-width) * 100vw, 10px) min(6.0606060606%, 10px);
    width: 100%;
    background-color: var(--color-white-1);
}
.c-card-3__ttl {
    display: -webkit-box;
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

/* ---------------------------------------------
*   c-card-4
--------------------------------------------- */
.c-card-4__inner {
    display: flex;
    align-items: center;
    gap: min(3.6144578313%, 30px);
}
@media screen and (max-width: 768px) {
    .c-card-4__inner {
        gap: min(4.8571428571%, 17px);
        align-items: stretch;
    }
}
.c-card-4__img {
    display: block;
    width: min(31.3253012048%, 260px);
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 16/9;
    border-radius: min(10 / var(--design-width) * 100vw, 10px);
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .c-card-4__img {
        flex-shrink: 0;
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.c-card-4__img img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    border-radius: min(10 / var(--design-width) * 100vw, 10px);
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-4__img img:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-card-4__img img {
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.c-card-4__contents {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: min(65.0602409639%, 540px);
}
@media screen and (max-width: 768px) {
    .c-card-4__contents {
        gap: 12px;
    }
}
.c-card-4__ttl {
    display: -webkit-box;
    margin-block: var(--leading-trim);
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 0.1em;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    .c-card-4__ttl {
        text-decoration-thickness: 1.5px;
    }
}
@media screen and (max-width: 768px) {
    .c-card-4__ttl {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-4__ttl:hover {
        text-decoration-color: var(--color-base-1);
    }
}
.c-card-4__author-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 6px;
}
@media screen and (max-width: 768px) {
    .c-card-4__author-list {
        display: -webkit-box;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        margin-block: var(--leading-trim);
        vertical-align: middle;
    }
}
.c-card-4__author-item {
    display: flex;
    align-items: center;
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
    margin-block: var(--leading-trim);
    white-space: nowrap;
}
@media screen and (max-width: 768px) {
    .c-card-4__author-item {
        display: inline;
        margin-right: 6px;
        line-height: 1.3;
    }
}
.c-card-4__author-link {
    position: relative;
    background-image: linear-gradient(var(--color-green-2) 0 0);
    text-decoration: none;
    background-size: 0% 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
}
.c-card-4__author-link[target=_blank]::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 4px;
    background: url(../img/common/icon_extlink_green.svg) no-repeat center center/contain;
    vertical-align: middle;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-4__author-link:hover {
        background-size: 100% 1px;
    }
}
.c-card-4__name, .c-card-4__company {
    display: inline-block;
    color: var(--color-gray-4);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
}
@media screen and (max-width: 768px) {
    .c-card-4__name, .c-card-4__company {
        display: inline;
        line-height: 1.3;
    }
}
.c-card-4__author-link .c-card-4__name, .c-card-4__author-link .c-card-4__company {
    color: var(--color-green-2);
}
@media screen and (max-width: 768px) {
    .c-card-4__company {
        display: none;
    }
}
.c-card-4__date {
    display: block;
    color: var(--color-gray-4);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-card-4__date {
        margin-block: 0;
        font-family: var(--ff-en);
        line-height: 1;
    }
}

/* ---------------------------------------------
*   c-card-5
--------------------------------------------- */
.c-card-5 {
    display: flex;
    gap: min(30 / 830 * 100%, 30px);
}
.c-card-5__img {
    display: block;
    flex-shrink: 0;
    aspect-ratio: 16/9;
    overflow: hidden;
    width: min(260 / 830 * 100%, 260px);
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .c-card-5__img {
        align-self: flex-start;
        width: min(160 / var(--design-width) * 100vw, 160px);
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.c-card-5__img img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-5__img img:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-card-5__img img {
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.c-card-5__contents {
    position: relative;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
}
@media screen and (max-width: 768px) {
    .c-card-5__contents {
        gap: min(14 / var(--design-width) * 100vw, 14px);
    }
}
.c-card-5__cat-link {
    display: block;
    margin-block: var(--leading-trim);
}
.c-card-5__ttl-link {
    display: block;
    margin-block: var(--leading-trim);
}
.c-card-5__cat {
    position: relative;
    color: var(--color-green-2);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.c-card-5__cat::before {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-green-2);
    bottom: 0;
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-5__cat-link:hover .c-card-5__cat::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.c-card-5__ttl {
    display: block;
    display: -webkit-box;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 0.1em;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    .c-card-5__ttl {
        text-decoration-thickness: 1.5px;
    }
}
@media screen and (max-width: 768px) {
    .c-card-5__ttl {
        display: -webkit-box;
        font-size: calc(15 / var(--root-fz) * 1rem);
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-5__ttl-link:hover .c-card-5__ttl {
        text-decoration-color: var(--color-base-1);
    }
}
.c-card-5__tag-list {
    display: flex;
    flex-wrap: wrap;
    row-gap: 4px;
    width: 100%;
}
@media screen and (max-width: 768px) {
    .c-card-5__tag-list {
        display: none;
    }
}
.c-card-5__tag-item {
    display: contents;
}
.c-card-5__date {
    display: block;
    margin-block: var(--leading-trim);
    color: var(--color-gray-4);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}

/* ---------------------------------------------
*   c-card-6
--------------------------------------------- */
.c-card-6 {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
@media screen and (max-width: 768px) {
    .c-card-6 {
        gap: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.c-card-6__main-link {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
@media screen and (max-width: 768px) {
    .c-card-6__main-link {
        gap: min(9 / var(--design-width) * 100vw, 9px);
    }
}
.c-card-6__img-link {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 1/1;
    background-color: var(--color-gray-1);
    border-radius: min(10 / var(--design-width) * 100vw, 10px);
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .c-card-6__img-link {
        border-radius: calc(10 / var(--design-width) * 100vw);
    }
}
.c-card-6__img-link img {
    height: min(200 / var(--design-width) * 100vw, 200px);
    box-shadow: 0 4px 9px 0 rgba(0, 0, 0, 0.35);
}
@media print, screen and (min-width: 769px) {
    .c-card-6__img-link img {
        max-width: 200px;
    }
}
@media screen and (max-width: 768px) {
    .c-card-6__img-link img {
        height: calc(121 / var(--design-width) * 100vw);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-6__main-link:hover .c-card-6__img-link img {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-card-6__wrap {
    display: flex;
    flex-direction: column;
    gap: 17px;
}
@media screen and (max-width: 768px) {
    .c-card-6__wrap {
        gap: min(20 / var(--design-width) * 100vw, 20px);
    }
}
.c-card-6__ttl {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1;
}
.c-card-6__ttl-txt {
    display: -webkit-inline-box;
    font-size: calc(17 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 0.1em;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    .c-card-6__ttl-txt {
        text-decoration-thickness: 1.5px;
    }
}
.mac.chrome .c-card-6__ttl-txt {
    text-underline-offset: 0.2em;
}

@media screen and (max-width: 768px) {
    .c-card-6__ttl-txt {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-6__main-link:hover .c-card-6__ttl-txt {
        text-decoration-color: var(--color-base-1);
    }
}
.c-card-6__ttl-txt.is-clamped {
    padding-right: 17px;
}
.c-card-6__ttl-icon {
    position: relative;
}
.c-card-6__ttl-icon img {
    margin-left: 6px;
    width: 14px;
    height: 14px;
    vertical-align: baseline;
}
@media screen and (max-width: 768px) {
    .c-card-6__ttl-icon img {
        margin-left: 8px;
        width: 12px;
        height: 12px;
    }
}
.c-card-6__ttl-txt.is-clamped .c-card-6__ttl-icon {
    position: absolute;
    bottom: 0;
    right: 0.1rem;
}
.c-card-6__txt {
    display: -webkit-box;
    color: var(--color-gray-4);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
    /* 19.5px */
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 0.1em;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    .c-card-6__txt {
        text-decoration-thickness: 1.5px;
    }
}
.c-card-6__link {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-block: var(--leading-trim);
}
.c-card-6__link-txt {
    display: inline-block;
    margin-block: var(--leading-trim);
    color: var(--color-green-2);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    background-image: linear-gradient(var(--color-green-2) 0 0);
    text-decoration: none;
    background-size: 0% 1px;
    background-position: 0 100%;
    position: relative;
    background-repeat: no-repeat;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-6__link:hover .c-card-6__link-txt {
        background-size: 100% 1px;
    }
}
.c-card-6__link-icon {
    position: relative;
    display: inline-block;
    margin-left: 5px;
    line-height: 1;
}
.c-card-6__link-icon img {
    width: 12px;
    height: 12px;
}

/* ---------------------------------------------
*   c-card-7
--------------------------------------------- */
.c-card-7 {
    display: flex;
    flex-direction: column;
    gap: min(17 / var(--design-width) * 100vw, 17px);
}
@media screen and (max-width: 768px) {
    .c-card-7 {
        gap: min(9 / var(--design-width) * 100vw, 9px);
    }
}
.c-card-7__link {
    display: flex;
    flex-direction: column;
    gap: min(13 / var(--design-width) * 100vw, 13px);
}
@media screen and (max-width: 768px) {
    .c-card-7__link {
        gap: min(9 / var(--design-width) * 100vw, 9px);
    }
}
.c-card-7__img-link {
    display: grid;
    place-items: center;
    aspect-ratio: 1/1;
    width: 100%;
    background-color: var(--color-gray-1);
    border-radius: min(10 / var(--design-width) * 100vw, 10px);
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .c-card-7__img-link {
        border-radius: calc(10 / var(--design-width) * 100vw);
    }
}
.c-card-7__img-link img {
    height: min(220 / var(--design-width) * 100vw, 220px);
    box-shadow: 0 4px 9px 0 rgba(0, 0, 0, 0.35);
}
@media print, screen and (min-width: 769px) {
    .c-card-7__img-link img {
        max-width: 200px;
    }
}
@media screen and (max-width: 768px) {
    .c-card-7__img-link img {
        height: calc(120 / var(--design-width) * 100vw);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-7__link:hover .c-card-7__img-link img {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-card-7__wrap {
    display: flex;
    flex-direction: column;
    gap: min(17 / var(--design-width) * 100vw, 17px);
}
@media screen and (max-width: 768px) {
    .c-card-7__wrap {
        gap: min(14 / var(--design-width) * 100vw, 14px);
    }
}
.c-card-7__ttl {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1;
}
.c-card-7__ttl-txt {
    display: -webkit-inline-box;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.6;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 0.1em;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    .c-card-7__ttl-txt {
        text-decoration-thickness: 1.5px;
    }
}
.mac.chrome .c-card-7__ttl-txt {
    text-underline-offset: 0.2em;
}

@media screen and (max-width: 768px) {
    .c-card-7__ttl-txt {
        -webkit-line-clamp: 2;
        font-size: calc(15 / var(--root-fz) * 1rem);
        line-height: 1.5;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-7__link:hover .c-card-7__ttl-txt {
        text-decoration-color: var(--color-base-1);
    }
}
.c-card-7__ttl-txt.is-clamped {
    padding-right: 17px;
}
.c-card-7__ttl-icon {
    position: relative;
}
.c-card-7__ttl-icon img {
    margin-left: 6px;
    width: 14px;
    height: 14px;
    vertical-align: baseline;
}
@media screen and (max-width: 768px) {
    .c-card-7__ttl-icon img {
        margin-left: 7px;
        width: 12px;
        height: 12px;
    }
}
.c-card-7__ttl-txt.is-clamped .c-card-7__ttl-icon {
    position: absolute;
    bottom: 0;
    right: 0.1rem;
}
.c-card-7__cat {
    display: block;
    padding: 8px;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1;
    background-color: var(--color-gray-1);
    border-radius: 5px;
    border: 1px solid transparent;
    cursor: default;
}
.c-card-7__cat-txt {
    display: -webkit-box;
    margin-block: var(--leading-trim);
    color: var(--color-gray-4);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
@media screen and (max-width: 768px) {
    .c-card-7__cat-txt {
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}
.c-card-7__date {
    display: -webkit-box;
    color: var(--color-gray-4);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
    /* 19.5px */
}

/* ---------------------------------------------
*   c-card-8
--------------------------------------------- */
.c-card-8__link {
    display: block;
    margin-block: var(--leading-trim);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 0.1em;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    .c-card-8__link {
        text-decoration-thickness: 1.5px;
    }
}
@media screen and (max-width: 768px) {
    .c-card-8__link {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-8__link:hover {
        text-decoration-color: var(--color-base-1);
    }
}
.c-card-8__link[target=_blank]::after {
    content: "";
    display: inline-block;
    margin-left: 6px;
    width: 14px;
    height: 14px;
    background: url(../img/common/icon_extlink_green.svg) no-repeat center center/contain;
}
@media screen and (max-width: 768px) {
    .c-card-8__link[target=_blank]::after {
        margin-left: 7px;
        width: 12px;
        height: 12px;
    }
}
.c-card-8__wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
}
@media screen and (max-width: 768px) {
    .c-card-8__wrap {
        margin-top: min(14 / var(--design-width) * 100vw, 14px);
    }
}
.c-card-8__date {
    color: var(--color-gray-4);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}
.c-card-8__cat {
    display: block;
    padding: 8px;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1;
    background-color: var(--color-gray-1);
    border-radius: 5px;
    border: 1px solid transparent;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-8__cat:hover {
        border-color: var(--color-green-2);
    }
}
.c-card-8__cat-txt {
    display: block;
    margin-block: var(--leading-trim);
    color: var(--color-gray-4);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}

/* ---------------------------------------------
*   c-cassette-1
--------------------------------------------- */
@media print, screen and (min-width: 769px) {
    .c-cassette-1 + .c-cassette-1 {
        margin-top: 24px;
    }
}
@media print, screen and (min-width: 769px) {
    .c-section-3 .c-cassette-1 + .c-section-3 .c-cassette-1 {
        margin-top: 30px;
    }
}

.c-cassette-1__inner {
    border-radius: 10px;
}
@media print, screen and (min-width: 769px) {
    .c-cassette-1__inner {
        padding: min(40px, 4.8192771084%);
        background-color: var(--color-white-2);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-1__main-link:hover .c-link-2 {
        opacity: var(--hover-opacity-ratio);
    }
}
@media print, screen and (min-width: 769px) {
    .c-cassette-1__contents {
        display: flex;
        align-items: start;
        justify-content: space-between;
        margin-top: 30px;
        gap: min(30px, 4%);
    }
}
.c-cassette-1__ttl {
    position: relative;
    display: -webkit-box;
    width: -moz-fit-content;
    width: fit-content;
    color: var(--color-base-1);
    font-size: calc(26 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
@media print, screen and (min-width: 769px) {
    .c-cassette-1__ttl {
        margin-block: var(--leading-trim);
    }
}
.c-cassette-1__ttl span {
    display: inline;
    background-image: linear-gradient(var(--color-base-1));
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 0 1px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-1__main-link:hover .c-cassette-1__ttl span {
        background-size: 100% 1px;
    }
}
.c-cassette-1__txt {
    display: -webkit-box;
    margin-block: var(--leading-trim);
    color: var(--color-base-1);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.6;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
}
@media print, screen and (min-width: 769px) {
    .c-cassette-1__wrap {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: 32px;
        width: min(380px, 50.6666666667%);
    }
}
.c-cassette-1__img {
    overflow: hidden;
}
@media print, screen and (min-width: 769px) {
    .c-cassette-1__img {
        border-radius: 10px;
        width: min(340px, 45.3333333333%);
    }
}
.c-cassette-1__img img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
}
@media print, screen and (min-width: 769px) {
    .c-cassette-1__img img {
        border-radius: 10px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-1__main-link:hover .c-cassette-1__img img {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-cassette-1__bottom {
    margin-top: 23px;
}
.c-cassette-1__line {
    display: flex;
    align-items: center;
    gap: calc(8 / var(--design-width) * 100vw);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.9;
    white-space: nowrap;
}
.c-cassette-1__line::after {
    content: "";
    display: inline-block;
    width: calc(695 / 750 * 100%);
    height: 1px;
    background-color: var(--color-white-1);
}
.c-cassette-1__list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 26px;
}
.c-cassette-1__link {
    position: relative;
    display: -webkit-box;
    color: var(--color-green-2);
    margin-block: var(--leading-trim);
    width: -moz-fit-content;
    width: fit-content;
    text-overflow: ellipsis;
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}
.c-cassette-1__link::before {
    content: "";
    display: inline-block;
    margin-right: 0.5rem;
    width: 6px;
    height: 11px;
    background: url(../img/common/icon_arw_right_green.svg) no-repeat center center/contain;
}
.c-cassette-1__link::after {
    position: absolute;
    bottom: 5px;
    right: 0;
    content: "";
    width: calc(100% - 17px);
    height: 1px;
    background-color: var(--color-green-2);
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-1__link:hover::after {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}

/* ---------------------------------------------
*   c-cassette-2
--------------------------------------------- */
.c-cassette-2 + .c-cassette-2 {
    margin-top: 24px;
}
@media screen and (max-width: 768px) {
    .c-cassette-2 + .c-cassette-2 {
        margin-top: min(24 / var(--design-width) * 100vw, 24px);
    }
}
.c-cassette-2__inner {
    background-color: var(--color-white-2);
}
@media print, screen and (min-width: 769px) {
    .c-cassette-2__inner {
        padding: min(40px, 4.8192771084%) min(40px, 4.8192771084%);
        border-radius: 10px;
    }
}
@media screen and (max-width: 768px) {
    .c-cassette-2__inner {
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
@media screen and (max-width: 768px) {
    .c-cassette-2__main-link {
        display: flex;
        flex-direction: column;
        gap: min(22 / var(--design-width) * 100vw, 22px);
        padding: min(20 / var(--design-width) * 100vw, 20px);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-2__main-link:hover .c-link-2 {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-cassette-2__contents {
    display: flex;
    align-items: start;
    justify-content: space-between;
    margin-top: 30px;
    gap: min(30px, 4%);
}
@media screen and (max-width: 768px) {
    .c-cassette-2__contents {
        display: contents;
    }
}
.c-cassette-2__ttl {
    position: relative;
    display: -webkit-box;
    width: -moz-fit-content;
    width: fit-content;
    margin-block: var(--leading-trim);
    color: var(--color-base-1);
    font-size: calc(26 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .c-cassette-2__ttl {
        order: 2;
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
.c-cassette-2__ttl span {
    display: inline;
    background-image: linear-gradient(var(--color-base-1));
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 0 1px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-2__main-link:hover .c-cassette-2__ttl span {
        background-size: 100% 1px;
    }
}
.c-cassette-2__wrap {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: min(380px, 50.6666666667%);
}
@media screen and (max-width: 768px) {
    .c-cassette-2__wrap {
        order: 3;
        align-items: flex-end;
        gap: 25px;
        width: 100%;
    }
}
.c-cassette-2__txt {
    display: -webkit-box;
    margin-block: var(--leading-trim);
    color: var(--color-base-1);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.6;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .c-cassette-2__txt {
        -webkit-line-clamp: 4;
    }
}
.c-cassette-2__img {
    width: min(340px, 45.3333333333%);
    border-radius: 10px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .c-cassette-2__img {
        order: 1;
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
        width: 100%;
    }
}
.c-cassette-2__img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
}
@media screen and (max-width: 768px) {
    .c-cassette-2__img img {
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-2__main-link:hover .c-cassette-2__img img {
        opacity: 0.7;
    }
}
.c-cassette-2__bottom {
    margin-top: 23px;
}
@media screen and (max-width: 768px) {
    .c-cassette-2__bottom {
        display: none;
    }
}
.c-cassette-2__line {
    display: flex;
    align-items: center;
    gap: calc(8 / var(--design-width) * 100vw);
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.9;
    white-space: nowrap;
}
.c-cassette-2__line::after {
    content: "";
    display: inline-block;
    width: calc(695 / 750 * 100%);
    height: 1px;
    background-color: var(--color-white-1);
}
.c-cassette-2__list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 26px;
}
.c-cassette-2__link {
    position: relative;
    display: -webkit-box;
    color: var(--color-green-2);
    margin-block: var(--leading-trim);
    width: -moz-fit-content;
    width: fit-content;
    text-overflow: ellipsis;
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}
.c-cassette-2__link::before {
    content: "";
    display: inline-block;
    margin-right: 0.5rem;
    width: 6px;
    height: 11px;
    background: url(../img/common/icon_arw_right_green.svg) no-repeat center center/contain;
}
.c-cassette-2__link::after {
    position: absolute;
    bottom: 5px;
    right: 0;
    content: "";
    width: calc(100% - 17px);
    height: 1px;
    background-color: var(--color-green-2);
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-2__link:hover::after {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}

/* ---------------------------------------------
*   c-cassette-3
--------------------------------------------- */
.c-cassette-3 {
    background-color: var(--color-white-2);
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .c-cassette-3 {
        container-type: inline-size;
        margin-inline: calc(50% - 50vw);
        width: 100vw;
        border-radius: 0;
    }
}
@media screen and (max-width: 768px) {
    .windows .c-cassette-3 {
        margin-inline: calc(50% - 50cqw);
        width: 100cqw;
    }
}

.c-cassette-3__inner {
    padding: min(40px, 4.8192771084%);
}
@media screen and (max-width: 768px) {
    .c-cassette-3__inner {
        display: flex;
        flex-direction: column;
        gap: min(24 / var(--design-width) * 100vw, 24px);
        margin-inline: auto;
        width: 89.7435897436%;
        padding: min(32 / var(--design-width) * 100vw, 32px) 0 min(30 / var(--design-width) * 100vw, 30px);
    }
}
@media screen and (max-width: 768px) {
    .windows .c-cassette-3__inner {
        width: 89.7435897436cqw;
    }
}

.c-cassette-3__ttl {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin-block: var(--leading-trim);
    color: var(--color-base-1);
    font-size: calc(26 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-cassette-3__ttl {
        order: 2;
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
.c-cassette-3__ttl::before {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-base-1);
    bottom: 0;
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-3__main-link:hover .c-cassette-3__ttl::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.c-cassette-3__contents {
    display: flex;
    align-items: start;
    justify-content: space-between;
    margin-top: 32px;
    gap: min(30px, 3.6144578313%);
}
@media screen and (max-width: 768px) {
    .c-cassette-3__contents {
        display: contents;
    }
}
.c-cassette-3__txt {
    flex-shrink: 0;
    margin-block: var(--leading-trim);
    width: min(400px, 53.3333333333%);
    color: var(--color-base-1);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .c-cassette-3__txt {
        order: 3;
        width: 100%;
        line-height: 1.5;
    }
}
.c-cassette-3__txt a {
    color: var(--color-green-2);
    font-weight: 600;
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-3__txt a:hover {
        text-decoration: underline;
    }
    @supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
        .c-cassette-3__txt a:hover {
            text-decoration-thickness: 1.5px;
        }
    }
}
.c-cassette-3__txt a[target=_blank]::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 4px;
    margin-right: 0.3rem;
    background-image: url(../img/common/icon_extlink_green.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    vertical-align: middle;
}
.c-cassette-3__img {
    width: min(320px, 42.6666666667%);
    border-radius: min(10 / var(--design-width) * 100vw, 10px);
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .c-cassette-3__img {
        order: 1;
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
        width: 100%;
        aspect-ratio: 16/9;
    }
}
.c-cassette-3__img img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    border-radius: min(10 / var(--design-width) * 100vw, 10px);
}
@media screen and (max-width: 768px) {
    .c-cassette-3__img img {
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-cassette-3__main-link:hover .c-cassette-3__img img {
        opacity: 0.7;
    }
}

/* ---------------------------------------------
*   テーマカスタマイズ K06 + K08
*   c-cassette-1 (TOP feature) と c-cassette-2 (特集連載一覧 archive-special.php)
*   双方の子記事テキストリンクの色を緑 → 黒 に統一。
*   追加対応: リストマークの矢印アイコン「＞」も緑 → 黒 に変更
*   (icon_arw_right_black.svg / テキスト・下線と同色に統一)。
--------------------------------------------- */
.c-cassette-1__link,
.c-cassette-2__link {
    color: var(--color-black-1);
}
.c-cassette-1__link::before,
.c-cassette-2__link::before {
    background-image: url(../img/common/icon_arw_right_black.svg);
}
.c-cassette-1__link::after,
.c-cassette-2__link::after {
    background-color: var(--color-black-1);
}

/* ---------------------------------------------
*   c-column-1
--------------------------------------------- */
.c-column-1 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(30 / 830 * 100%, 30px);
    margin-top: min(40 / 830 * 100%, 40px);
}
@media screen and (max-width: 768px) {
    .c-column-1 {
        grid-template-columns: repeat(1, 1fr);
        gap: min(28 / var(--design-width) * 100vw, 28px);
        margin-top: min(28 / var(--design-width) * 100vw, 28px);
    }
}
@media print, screen and (min-width: 769px) {
    .c-column-1--reverse .c-column-1__item:first-of-type {
        order: 2;
    }
}
.c-column-1__txt + .c-column-1__txt {
    margin-top: min(24 / 400 * 100%, 24px);
}
.c-column-1__figure {
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .c-column-1__figure {
        border-radius: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.c-column-1__figure img {
    display: block;
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .c-column-1__figure img {
        border-radius: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.c-column-1__figure-txt {
    margin-top: min(16 / 400 * 100%, 16px);
}
@media screen and (max-width: 768px) {
    .c-column-1__figure-txt {
        margin-top: min(16 / 350 * 100%, 16px);
    }
}

/* ---------------------------------------------
*   c-column-2
--------------------------------------------- */
.c-column-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(30 / 830 * 100%, 30px);
    margin-top: min(40 / 830 * 100%, 40px);
}
@media screen and (max-width: 1024px) {
    .c-column-2 {
        grid-template-columns: repeat(1, 1fr);
        gap: min(28 / var(--design-width) * 100vw, 28px);
        margin-top: min(28 / var(--design-width) * 100vw, 28px);
    }
}
@media print, screen and (min-width: 769px) {
    .c-column-2--reverse .c-column-2__item:first-of-type {
        order: 2;
    }
}
.c-column-2__figure {
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .c-column-2__figure {
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.c-column-2__figure img {
    display: block;
    align-self: stretch;
    width: 100%;
    height: auto;
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .c-column-2__figure img {
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.c-column-2__figure-txt {
    margin-top: min(16 / 400 * 100%, 16px);
}
@media screen and (max-width: 768px) {
    .c-column-2__figure-txt {
        margin-top: min(16 / 350 * 100%, 16px);
    }
}

/* ---------------------------------------------
*   c-column-3
--------------------------------------------- */
.c-column-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(64 / var(--design-width) * 100vw, 64px) min(47 / 830 * 100%, 47px);
}
@media screen and (max-width: 768px) {
    .c-column-3 {
        grid-template-columns: repeat(2, 1fr);
        gap: min(40 / var(--design-width) * 100vw, 40px) calc(20 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-column-4
--------------------------------------------- */
.c-column-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: min(70 / var(--design-width) * 100vw, 70px) min(53 / 1240 * 100%, 53px);
}
@media screen and (max-width: 768px) {
    .c-column-4 {
        grid-template-columns: repeat(2, 1fr);
        gap: min(40 / var(--design-width) * 100vw, 40px) calc(20 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-figure
--------------------------------------------- */
/* ---------------------------------------------
*   c-float
--------------------------------------------- */
.c-float {
    position: relative;
    z-index: 800;
}
@media screen and (min-width: 1441px) {
    .c-float {
        width: 100px;
    }
}
@media screen and (max-width: 1440px) {
    .c-float {
        width: calc((100% - 1240px) / 2);
    }
}
@media screen and (max-width: 1359px) {
    .c-float {
        flex-shrink: 0;
        width: 6.9444444444%;
    }
}
@media screen and (max-width: 768px) {
    .c-float {
        margin-top: min(32 / 350 * 100%, 32px);
        width: 100%;
    }
}
.c-float__txt {
    display: block;
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.6;
}
.c-float__inner {
    display: flex;
    align-items: center;
    justify-content: center;
}
@media print, screen and (min-width: 769px) {
    .c-float__inner {
        position: sticky;
        top: calc(var(--fixed-header-height) * 1px + 10px);
    }
}
@media screen and (max-width: 768px) {
    .c-float__inner {
        justify-content: space-around;
        gap: min(15 / var(--design-width) * 100vw, 15px);
        padding-block: 16px;
        border-top: 1px solid var(--color-gray-2);
        border-bottom: 1px solid var(--color-gray-2);
    }
}
.c-float__list {
    display: flex;
    flex-direction: column;
    gap: min(16 / var(--design-width) * 100vw, 16px);
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (min-width: 1359px) {
    .c-float__list {
        transform: translateX(-15%);
    }
}
@media screen and (max-width: 768px) {
    .c-float__list {
        gap: min(12 / var(--design-width) * 100vw, 12px);
        flex-direction: row;
    }
}
.c-float__item {
    position: relative;
}
@media (hover: hover) and (pointer: fine) {
    .c-float__item:hover::before, .c-float__item:hover::after {
        opacity: 1;
    }
}
@media print, screen and (min-width: 769px) {
    .c-float__item::before, .c-float__item::after {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        pointer-events: none;
        opacity: 0;
        z-index: 80;
    }
}
@media screen and (max-width: 768px) {
    .c-float__item::before, .c-float__item::after {
        display: none;
    }
}
@media print, screen and (min-width: 769px) {
    .c-float__item::before {
        left: calc(100% + 15px);
        padding: 13px 12px;
        background: var(--color-gray-1);
        color: var(--color-black-1);
        font-size: calc(13 / var(--root-fz) * 1rem);
        font-weight: 600;
        line-height: 1;
        border-radius: 5px;
        white-space: nowrap;
    }
}
.c-float__item::after {
    content: "";
    left: calc(100% + 6px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 11px 5px 0;
    border-color: transparent #F2F2F0 transparent transparent;
}
.c-float__item--copy::before {
    content: "URLをコピーする";
}
.c-float__item--print::before {
    content: "印刷する";
}
.c-float__item--x::before {
    content: "Xでシェア";
}
.c-float__item--fb::before {
    content: "Facebookでシェア";
}
.c-float__item--linkdIn::before {
    content: "LinkdInでシェア";
}
.c-float__btn {
    position: relative;
    display: block;
    width: 38px;
    height: 38px;
    aspect-ratio: 1/1;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.05));
    z-index: 100;
}
@media screen and (max-width: 768px) {
    .c-float__btn {
        width: min(40 / var(--design-width) * 100vw, 40px);
        height: min(40 / var(--design-width) * 100vw, 40px);
    }
}
.c-float__btn img {
    display: block;
    width: 100%;
    height: auto;
}
@media (hover: hover) and (pointer: fine) {
    .c-float__btn:hover img {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-float__btn.is-copied::after {
    content: "URLをコピーしました";
    position: absolute;
    top: 50%;
    left: calc(100% + 15px);
    transform: translateY(-50%);
    padding: 4px 8px;
    background: var(--color-base-1);
    color: #fff;
    font-size: calc(11 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1;
    border-radius: 4px;
    white-space: nowrap;
    pointer-events: none;
}
@media screen and (max-width: 768px) {
    .c-float__btn.is-copied::after {
        top: auto;
        bottom: calc(100% + 6px);
        left: 50%;
        transform: translateX(-50%);
    }
}

/* ---------------------------------------------
*   c-form
--------------------------------------------- */
/* ---------------------------------------------
*   c-img-1
--------------------------------------------- */
.c-img-1 {
    cursor: pointer;
}
.c-img-1:focus-visible {
    outline: 2px solid var(--color-green-2);
    outline-offset: 4px;
    border-radius: 12px;
}
.c-img-1__img {
    position: relative;
    cursor: pointer;
    border-radius: 10px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .c-img-1__img {
        border-radius: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.c-img-1__img img {
    border-radius: 10px;
    width: 100%;
}
@media screen and (max-width: 768px) {
    .c-img-1__img img {
        border-radius: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.c-img-1__figure-txt {
    margin-top: min(24 / 830 * 100%, 24px);
}
@media screen and (max-width: 768px) {
    .c-img-1__figure-txt {
        margin-top: min(12 / 350 * 100%, 12px);
    }
}
.c-img-1__mark {
    position: absolute;
    bottom: 13px;
    right: 13px;
    line-height: 1;
}
@media screen and (max-width: 768px) {
    .c-img-1__mark {
        bottom: min(10 / var(--design-width) * 100vw, 10px);
        right: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.c-img-1__mark svg {
    width: 24px;
    height: 24px;
}
@media screen and (max-width: 768px) {
    .c-img-1__mark svg {
        width: min(16 / var(--design-width) * 100vw, 16px);
        height: min(16 / var(--design-width) * 100vw, 16px);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-img-1__mark path {
        transition: transform 0.2s;
    }
    .c-img-1__img:hover .c-img-1__mark svg {
        overflow: visible;
    }
    .c-img-1__img:hover .c-img-1__mark path:nth-of-type(1) {
        transform: translate(-1px, -1px);
    }
    .c-img-1__img:hover .c-img-1__mark path:nth-of-type(2) {
        transform: translate(1px, -1px);
    }
    .c-img-1__img:hover .c-img-1__mark path:nth-of-type(3) {
        transform: translate(-1px, 1px);
    }
    .c-img-1__img:hover .c-img-1__mark path:nth-of-type(4) {
        transform: translate(1px, 1px);
    }
}

/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
.c-kv {
    background-color: var(--color-white-2);
}
.c-kv__container {
    display: flex;
    gap: min(30 / var(--design-width) * 100vw, 30px);
    margin-inline: auto;
    padding: min(4.7058823529%, 64px) min(4.4117647059%, 60px);
    max-width: 1360px;
}
@media screen and (max-width: 1359px) {
    .c-kv__container {
        padding-inline: 6.9444444444%;
    }
}
@media screen and (max-width: 768px) {
    .c-kv__container {
        flex-direction: column;
        gap: calc(14 / var(--design-width) * 100vw);
        padding: 10.2564102564% 0;
        width: 89.7435897436%;
    }
}
.c-kv__main {
    flex-shrink: 0;
    width: 41.1290322581%;
}
@media screen and (max-width: 768px) {
    .c-kv__main {
        width: 100%;
    }
}
.c-kv__sub {
    flex: 1;
}
.c-kv__list {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: min(30 / var(--design-width) * 100vw, 30px);
    height: 100%;
}
@media screen and (max-width: 768px) {
    .c-kv__list {
        gap: calc(14 / var(--design-width) * 100vw);
    }
}
.c-kv__list:not(:has(.c-kv__item:nth-child(3))) {
    justify-content: flex-start;
}

/* ---------------------------------------------
*   c-line
--------------------------------------------- */
.c-line {
    margin-top: min(40 / 830 * 100%, 40px);
    width: 100%;
    height: 1px;
    background-color: var(--color-gray-2);
}
@media screen and (max-width: 768px) {
    .c-line {
        margin-top: min(32 / var(--design-width) * 100vw, 32px);
    }
}
@media print, screen and (min-width: 769px) {
    .c-line--mt56 {
        margin-top: min(56 / 830 * 100%, 56px);
    }
}

/* ---------------------------------------------
*   c-link-1
--------------------------------------------- */
.c-link-1 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-block: var(--leading-trim);
    padding-top: 5px;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
.c-link-1::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: url(../img/common/icon_arw_green_large.svg) no-repeat center center/contain;
}
@media (hover: hover) and (pointer: fine) {
    .c-link-1:hover {
        opacity: var(--hover-opacity-ratio);
    }
}

/* ---------------------------------------------
*   c-link-2 (c-cassette-1専用)
--------------------------------------------- */
.c-link-2 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
}
.c-link-2::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url(../img/common/icon_arw_green.svg) no-repeat center center/contain;
}

/* ---------------------------------------------
*   c-link-3
--------------------------------------------- */
.c-link-3__txt {
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.6;
    text-decoration: none;
    position: relative;
}
@media screen and (max-width: 768px) {
    .c-link-3__txt {
        line-height: 2;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-link-3:hover .c-link-3__txt {
        text-decoration: underline;
    }
    @supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
        .c-link-3:hover .c-link-3__txt {
            text-decoration-thickness: 1.5px;
        }
    }
}
@media screen and (max-width: 768px) {
    .c-link-3:not(.c-link-3--external) .c-link-3__txt {
        font-weight: 500;
    }
}
.c-link-3--external {
    position: relative;
    display: inline;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    gap: 0.5em;
    line-height: 1.4;
}
.c-link-3__icon {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 4px;
    margin-right: 0.3rem;
    vertical-align: middle;
}
@media screen and (max-width: 768px) {
    .c-link-3__icon {
        width: 16px;
        height: 16px;
    }
}

/* ---------------------------------------------
*   c-link-sidebar
--------------------------------------------- */
.c-link-sidebar {
    flex-grow: 1;
    display: flex;
    align-items: center;
    gap: min(16px, 4.9689440994%);
}
.c-link-sidebar__img {
    flex-shrink: 0;
    width: min(37.2670807453%, 120px);
    border-radius: 5px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .c-link-sidebar__img {
        width: 31.4285714286%;
    }
}
.c-link-sidebar__img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 5px;
    aspect-ratio: 16/9;
    overflow: hidden;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (hover: hover) and (pointer: fine) {
    .c-link-sidebar:hover .c-link-sidebar__img img {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-link-sidebar__img--ranking {
        width: 35.1437699681%;
    }
}
.c-link-sidebar__txt {
    display: -webkit-box;
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.6;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-decoration: none;
    text-underline-offset: 0.1em;
}
@media (hover: hover) and (pointer: fine) {
    .c-link-sidebar:hover .c-link-sidebar__txt {
        text-decoration: underline;
    }
    @supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
        .c-link-sidebar:hover .c-link-sidebar__txt {
            text-decoration-thickness: 1.5px;
        }
    }
}

/* ---------------------------------------------
*   c-list
--------------------------------------------- */
.c-list--green {
    color: var(--color-green-2);
}
.c-list__item {
    display: flex;
    gap: calc(5 / var(--root-fz) * 1rem);
    margin-block: var(--leading-trim);
}
@media screen and (max-width: 768px) {
    .c-list__item {
        line-height: 2;
    }
}
@media screen and (max-width: 768px) {
    .c-list__item--splh19 {
        line-height: 1.9;
    }
}
.c-list__item::before {
    content: "・";
    font-weight: 600;
}
@media print, screen and (min-width: 769px) {
    .c-list__item::before {
        transform: translateY(4%);
    }
}
@media screen and (max-width: 768px) {
    .c-list__item::before {
        line-height: 1.8;
    }
}
.c-list--num .c-list__item::before {
    content: attr(data-count) ".";
}
@media screen and (max-width: 768px) {
    .c-list--num .c-list__item::before {
        line-height: 1.8;
    }
}
@media screen and (max-width: 768px) {
    .android .c-list--num .c-list__item::before {
        transform: translateY(2%);
    }
}

.c-list--green .c-list__item::before {
    color: var(--color-green-2);
}
.c-list__item + .c-list__item {
    margin-top: min(13 / 830 * 100%, 13px);
}
@media screen and (max-width: 768px) {
    .c-list__item + .c-list__item {
        margin-top: min(8 / 350 * 100%, 8px);
    }
}
.c-list__link {
    position: relative;
    color: var(--color-green-2);
}
.c-list__link::before {
    content: "";
    position: absolute;
    bottom: 2px;
    left: 0;
    width: calc(100% - 1px);
    height: 1px;
    background-color: var(--color-green-2);
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-list__link:hover::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}

/* ---------------------------------------------
*   c-list-1
--------------------------------------------- */
.c-list-1 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    gap: 58px min(50px, 6.0240963855%);
}
@media screen and (max-width: 1359px) {
    .c-list-1 {
        row-gap: calc(56 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .c-list-1 {
        flex-direction: column;
        gap: 0;
    }
}
.c-list-1__item {
    width: calc((100% - min(50px, 6.0240963855%)) / 2);
}
@media screen and (max-width: 768px) {
    .c-list-1__item {
        width: 100%;
        padding-block: min(24 / var(--design-width) * 100vw, 24px);
        border-bottom: 1px solid var(--color-gray-1);
    }
}
@media screen and (max-width: 768px) {
    .c-list-1__item:first-of-type {
        padding-top: 0;
    }
}
@media screen and (max-width: 768px) {
    .c-list-1__item:last-of-type {
        padding-bottom: 0;
        border-bottom: none;
    }
}

/* ---------------------------------------------
*   c-list-2
--------------------------------------------- */
.c-list-2 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: min(20px, 20 / var(--design-width) * 100vw) min(21px, 2.5301204819%);
    padding: min(35px, 4.2168674699%) min(30px, 3.6144578313%) min(43px, 5.1807228916%);
}
@media screen and (max-width: 768px) {
    .c-list-2 {
        gap: min(10px, 10 / var(--design-width) * 100vw);
        padding: min(25px, 7.1428571429%) min(20px, 5.7142857143%);
    }
}

/* ---------------------------------------------
*   c-list-3
--------------------------------------------- */
.c-list-3 {
    display: flex;
    flex-direction: column;
}
.features-and-serials-detail .c-list-3 {
    margin-top: min(72px, 8.6746987952%);
}
@media screen and (max-width: 768px) {
    .features-and-serials-detail .c-list-3 {
        margin-top: min(45px, 12.8571428571%);
    }
}

.release .c-list-3 {
    margin-top: min(32px, 3.8554216867%);
}
@media screen and (max-width: 768px) {
    .release .c-list-3 {
        margin-top: min(32px, 9.1428571429%);
    }
}

.c-list-3__item {
    padding-block: min(40px, 4.8192771084%);
}
@media screen and (max-width: 768px) {
    .c-list-3__item {
        padding-block: min(24px, 6.8571428571%);
    }
}
.c-list-3__item:first-of-type {
    padding-top: 0;
}
.c-list-3__item:last-of-type {
    padding-bottom: 0;
}
.c-list-3__item:not(:last-of-type) {
    border-bottom: 1px solid var(--color-gray-2);
}
.release .c-list-3__item:not(:last-of-type) {
    border-bottom: 1px solid var(--color-gray-1);
}

/* ---------------------------------------------
*   c-list-4
--------------------------------------------- */
.c-list-4 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: min(12 / var(--design-width) * 100vw, 12px);
}
@media screen and (max-width: 768px) {
    .c-list-4 {
        gap: min(10 / var(--design-width) * 100vw, 10px);
    }
}

/* ---------------------------------------------
*   c-list-5
--------------------------------------------- */
.c-list-5 {
    display: flex;
    flex-direction: column;
    margin-top: min(32px, 3.8554216867%);
}
@media screen and (max-width: 768px) {
    .c-list-5 {
        margin-top: min(32px, 9.1428571429%);
    }
}
.c-list-5__item {
    padding-block: min(30px, 3.6144578313%);
}
@media screen and (max-width: 768px) {
    .c-list-5__item {
        padding-block: min(16px, 4.5714285714%);
    }
}
.c-list-5__item:first-of-type {
    padding-top: 0;
}
.c-list-5__item:last-of-type {
    padding-bottom: 0;
}
.c-list-5__item:not(:last-of-type) {
    border-bottom: 1px solid var(--color-gray-1);
}

/* ---------------------------------------------
*   c-list-note
--------------------------------------------- */
.c-list-note__item {
    display: flex;
    align-items: baseline;
    gap: calc(8 / var(--root-fz) * 1rem);
}
.c-list-note__item::before {
    content: "※";
    flex-shrink: 0;
    color: var(--color-gray-4);
}
.c-list-note--num .c-list-note__item::before {
    content: "*" attr(data-count);
}
.c-list-note__item + .c-list-note__item {
    margin-top: min(8 / 830 * 100%, 8px);
}
@media screen and (max-width: 768px) {
    .c-list-note__item + .c-list-note__item {
        margin-top: min(8 / 350 * 100%, 8px);
    }
}
.c-list-note__txt {
    color: var(--color-gray-4);
}

/* ---------------------------------------------
*  c-modal
--------------------------------------------- */
.c-modal {
    display: none;
}
.c-modal.is-open {
    display: block;
}
.c-modal__overlay {
    position: fixed;
    inset: 0;
    z-index: 910;
}
.c-modal__inner {
    display: grid;
    place-items: center;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
}
.c-modal__container {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 1200px;
    max-height: 98vh;
    box-sizing: border-box;
    overflow-y: auto;
}
.c-modal__container img {
    border-radius: 10px;
}
.c-modal__content {
    position: relative;
}
@media screen and (max-width: 768px) {
    .c-modal__content {
        padding-block: min(40 / var(--design-width) * 100vw, 40px);
    }
}
.c-modal__content img {
    display: block;
    width: auto;
    max-width: min(1200px, 92vw);
    height: auto;
}
.c-modal__close {
    width: 100%;
}
.c-modal__close-btn {
    position: relative;
    display: block;
    margin-left: auto;
    width: min(46 / var(--design-width) * 100vw, 46px);
    height: min(46 / var(--design-width) * 100vw, 46px);
    aspect-ratio: 1/1;
    cursor: pointer;
    z-index: 911;
}
@media (hover: hover) and (pointer: fine) {
    .c-modal__close-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-modal__close-btn {
        top: min(30 / var(--design-width) * 100vw, 30px);
        width: min(25 / var(--design-width) * 100vw, 25px);
        height: min(25 / var(--design-width) * 100vw, 25px);
    }
}
.c-modal__close-btn::before, .c-modal__close-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    border-radius: 5px;
    background-color: var(--color-white-1);
    transform-origin: center;
}
@media screen and (max-width: 768px) {
    .c-modal__close-btn::before, .c-modal__close-btn::after {
        height: min(2 / var(--design-width) * 100vw, 2px);
    }
}
.c-modal__close-btn::before {
    transform: translateY(-50%) rotate(45deg);
}
.c-modal__close-btn::after {
    transform: translateY(-50%) rotate(-45deg);
}
.c-modal[aria-hidden=false] .c-modal__overlay {
    animation: mmfadeIn 0.5s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal[aria-hidden=false] .c-modal__container {
    animation: mmfadeIn 0.5s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal[aria-hidden=true] .c-modal__overlay {
    animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal[aria-hidden=true] .c-modal__container {
    animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

/* ---------------------------------------------
*  c-modal-2
--------------------------------------------- */
.c-modal-2 {
    display: none;
}
.c-modal-2.is-open {
    display: block;
}
.c-modal-2__overlay {
    position: fixed;
    inset: 0;
    z-index: 910;
    background: rgba(0, 0, 0, 0.3);
}
.c-modal-2__inner {
    height: 100%;
}
@media print, screen and (min-width: 769px) {
    .c-modal-2__inner {
        display: grid;
        place-items: center;
    }
}
@media screen and (max-width: 768px) {
    .c-modal-2__inner {
        height: 100dvh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        padding-top: 10%;
        padding-bottom: calc(10% + env(safe-area-inset-bottom, 0px) + 40px);
    }
}
.c-modal-2__container {
    padding: min(60 / 1100 * 100%, 60px) min(80 / 1100 * 100%, 80px);
    width: min(95%, 1100px);
    box-sizing: border-box;
    background-color: var(--color-white-1);
    border-radius: 5px;
}
@media print, screen and (min-width: 769px) {
    .c-modal-2__container {
        max-height: 90vh;
        overflow-y: auto;
    }
}
@media screen and (max-width: 768px) {
    .c-modal-2__container {
        margin-inline: auto;
        padding: min(35 / var(--design-width) * 100vw, 35px) min(20 / var(--design-width) * 100vw, 20px);
        width: calc(350 / 390 * 100%);
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.c-modal-2__container img {
    border-radius: 10px;
}
.c-modal-2__close-btn {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 35px;
    height: 35px;
    aspect-ratio: 1/1;
    cursor: pointer;
    z-index: 911;
}
@media (hover: hover) and (pointer: fine) {
    .c-modal-2__close-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-modal-2__close-btn {
        top: min(17 / var(--design-width) * 100vw, 17px);
        right: min(17 / var(--design-width) * 100vw, 17px);
        width: min(32 / var(--design-width) * 100vw, 32px);
        height: min(32 / var(--design-width) * 100vw, 32px);
    }
}
.c-modal-2__close-btn::before, .c-modal-2__close-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 3px;
    border-radius: 5px;
    background-color: var(--color-green-2);
    transform-origin: center;
}
@media screen and (max-width: 768px) {
    .c-modal-2__close-btn::before, .c-modal-2__close-btn::after {
        height: min(2 / var(--design-width) * 100vw, 2px);
    }
}
.c-modal-2__close-btn::before {
    transform: translateY(-50%) rotate(45deg);
}
.c-modal-2__close-btn::after {
    transform: translateY(-50%) rotate(-45deg);
}
.c-modal-2[aria-hidden=false] .c-modal-2__overlay {
    animation: mmfadeIn 0.5s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal-2[aria-hidden=false] .c-modal-2__container {
    animation: mmfadeIn 0.5s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal-2[aria-hidden=true] .c-modal-2__overlay {
    animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal-2[aria-hidden=true] .c-modal-2__container {
    animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

/* Modal Animation Style
--------------------------------------------- */
@keyframes mmfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes mmfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
/* ---------------------------------------------
*   c-page-top
--------------------------------------------- */
.c-page-top {
    position: absolute;
    top: 0;
    right: min(86px, 5.9722222222%);
    transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
    .c-page-top {
        right: min(24px, 24 / var(--design-width) * 100vw);
    }
}
.c-page-top__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    background-color: var(--color-white-1);
    border: 1px solid var(--color-green-2);
    border-radius: 50%;
}
@media (hover: hover) and (pointer: fine) {
    .c-page-top__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-page-top__link {
        width: 48px;
        height: 48px;
    }
}
.c-page-top__link img {
    width: 28px;
    height: 16px;
    transform: rotate(180deg) translateY(1px);
}
@media screen and (max-width: 768px) {
    .c-page-top__link img {
        width: 23px;
        height: 13px;
    }
}

/* ---------------------------------------------
*   c-pager
--------------------------------------------- */
.c-pager {
    margin-top: 80px;
}
@media screen and (max-width: 768px) {
    .c-pager {
        margin-top: min(40px, 40 / 350 * 100%);
    }
}
@media print, screen and (min-width: 769px) {
    .p-detail__btn-large + .c-pager {
        margin-top: 40px;
    }
}

.c-pager .wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0rem calc(16 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 768px) {
    .c-pager .wp-pagenavi {
        gap: 0rem calc(10 / var(--root-fz) * 1rem);
    }
}
.c-pager .pages,
.c-pager .first,
.c-pager .last {
    display: none;
}
.c-pager .page,
.c-pager .extend,
.c-pager .current {
    color: var(--color-green-2);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1;
}
@media screen and (max-width: 768px) {
    .c-pager .page,
    .c-pager .extend,
    .c-pager .current {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
.c-pager .current {
    color: var(--color-white-1);
    font-weight: bold;
    pointer-events: none;
    background-color: var(--color-green-2);
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.08);
}
.c-pager .page {
    background-color: var(--color-white-1);
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);
}
@media (hover: hover) and (pointer: fine) {
    .c-pager .page:hover {
        background-color: var(--color-green-2);
        color: var(--color-white-1);
    }
}
.c-pager .current,
.c-pager .page {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding-inline: 0.5rem;
    padding-bottom: 2px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 1px solid var(--color-green-2);
}
.c-pager .extend {
    display: block;
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.c-pager .previouspostslink,
.c-pager .nextpostslink {
    position: relative;
    display: block;
    width: 24px;
    aspect-ratio: 1/1;
    background: url(../img/common/icon_pagenation.svg) 0 0 no-repeat;
    background-size: contain;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.08));
    transition: transform 0.2s;
}
@media screen and (max-width: 768px) {
    .c-pager .previouspostslink,
    .c-pager .nextpostslink {
        width: 12px;
        height: 20px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-pager .previouspostslink:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-pager .nextpostslink {
    transform: rotate(180deg);
}
@media (hover: hover) and (pointer: fine) {
    .c-pager .nextpostslink:hover {
        opacity: var(--hover-opacity-ratio);
    }
}

/* ---------------------------------------------
*   c-search
--------------------------------------------- */
.c-search__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 16px;
}
@media screen and (max-width: 768px) {
    .c-search__inner {
        gap: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.c-search__input {
    flex-grow: 1;
    padding-inline: 26px;
    width: 100%;
    height: 54px;
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.5;
    border-radius: 5px;
    background-color: var(--color-gray-1);
    border: 1px solid var(--color-green-2);
}
@media screen and (max-width: 768px) {
    .c-search__input {
        padding-inline: min(18 / var(--design-width) * 100vw, 18px);
        height: 46px;
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
.c-block-7--empty .c-search__input {
    background-color: var(--color-white-1);
}

.c-search__input::-moz-placeholder {
    color: var(--color-gray-6);
}

.c-search__input::placeholder {
    color: var(--color-gray-6);
}
.c-search__input:focus {
    outline: none;
}
.c-search__btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 130px;
    height: 54px;
    color: var(--color-white-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.1666666667;
    background-color: var(--color-green-2);
    border-radius: 5px;
}
@media screen and (max-width: 768px) {
    .c-search__btn {
        padding-bottom: 2px;
        width: 60px;
        height: 46px;
        font-size: calc(15 / var(--root-fz) * 1rem);
        line-height: 1;
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-search__btn:hover {
        background-color: var(--color-green-3);
    }
}

/* ---------------------------------------------
*   c-section
--------------------------------------------- */
/* ---------------------------------------------
*   c-section-1
--------------------------------------------- */
.c-section-1__head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    flex-wrap: wrap;
}
.c-section-1__body {
    margin-top: min(5.0602409639%, 42px);
}
@media screen and (max-width: 768px) {
    .c-section-1__body {
        margin-top: min(11.4285714286%, 40px);
    }
}
.c-section-1__btn {
    margin-top: 80px;
}
@media screen and (max-width: 768px) {
    .c-section-1__btn {
        margin-top: min(11.4285714286%, 40px);
    }
}

/* ---------------------------------------------
*   c-section-2
--------------------------------------------- */
.c-section-2 {
    margin-top: min(13.2530120482%, 110px);
}
@media screen and (max-width: 768px) {
    .c-section-2 {
        margin-top: min(15.7142857143%, 55px);
    }
}
.c-section-2__body {
    margin-top: min(5.3012048193%, 44px);
}
@media screen and (max-width: 768px) {
    .c-section-2__body {
        margin-top: min(9.1428571429%, 32px);
    }
}

/* ---------------------------------------------
*   c-section-3
--------------------------------------------- */
.c-section-3 {
    margin-top: min(14.4578313253%, 120px);
}
@media screen and (max-width: 768px) {
    .c-section-3 {
        margin-top: min(15.4285714286%, 54px);
        margin-inline: calc(50% - 50vw);
        padding-block: min(16%, 56px) min(15.4285714286%, 54px);
        width: 100vw;
        background-color: var(--color-white-2);
    }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
    .windows .c-section-3 {
        margin-inline: calc(50% - 50cqw);
        width: 100cqw;
    }
}
.c-section-3__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
    .c-section-3__head {
        margin-inline: auto;
        width: 89.7435897436%;
    }
}
.c-section-3__body {
    margin-top: min(5.3012048193%, 44px);
}
@media screen and (max-width: 768px) {
    .c-section-3__body {
        margin-top: min(11.4285714286%, 40px);
        margin-inline: auto;
        width: 89.7435897436%;
    }
}
@media screen and (max-width: 768px) {
    .windows .c-section-3__body {
        width: 89.7435897436cqw;
    }
}

.c-section-3__inner {
    display: contents;
}
@media screen and (max-width: 768px) {
    .c-section-3__inner {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        gap: min(5.7142857143%, 20px);
    }
}
.c-section-3__btn {
    margin-top: 80px;
}
@media screen and (max-width: 768px) {
    .c-section-3__btn {
        margin-top: min(23.7142857143%, 83px);
    }
}

/* ---------------------------------------------
*   c-section-4
--------------------------------------------- */
.c-section-4 {
    margin: min(6.6176470588%, 90px) auto 0;
}
@media print, screen and (min-width: 769px) {
    .c-section-4 {
        padding-inline: min(4.4117647059%, 60px);
        max-width: 1360px;
    }
}
@media screen and (max-width: 1359px) {
    .c-section-4 {
        padding-inline: 6.9444444444%;
    }
}
@media screen and (max-width: 768px) {
    .c-section-4 {
        padding-inline: 0;
        margin-top: min(15.4285714286%, 54px);
    }
}
@media screen and (max-width: 768px) {
    .c-section-4__head {
        margin-inline: auto;
        width: 89.7435897436%;
    }
}
.c-section-4__body {
    margin: min(3.5294117647%, 48px) auto 0;
}
@media screen and (max-width: 768px) {
    .c-section-4__body {
        margin-top: min(5.7142857143%, 20px);
    }
}
.c-section-4__btn {
    margin-top: 80px;
}
@media screen and (max-width: 768px) {
    .c-section-4__btn {
        margin-top: min(5.7142857143%, 20px);
    }
}

/* ---------------------------------------------
*   c-section-5
--------------------------------------------- */
.c-section-5 {
    margin: min(8.8235294118%, 120px) auto 0;
    background-color: var(--color-white-2);
}
@media screen and (max-width: 768px) {
    .c-section-5 {
        margin-top: min(24%, 84px);
    }
}
.c-section-5__btn {
    display: flex;
    align-items: stretch;
    width: 100%;
}
@media (hover: hover) and (pointer: fine) {
    .c-section-5__btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-section-5__btn-img {
    display: block;
    flex-shrink: 0;
    width: 43.5897435897%;
    transition: display 0.2s;
}
.c-section-5__btn-img img {
    display: block;
    width: 100%;
    height: auto;
}
.c-section-5.is-open .c-section-5__btn-img {
    display: none;
}
.c-section-5__btn-content {
    flex-grow: 1;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-white-2);
}
.c-section-5.is-open .c-section-5__btn-content {
    padding: 20px;
}
.c-section-5__btn-txt {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--color-black-1);
    text-align: center;
    margin-block: var(--leading-trim);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.3125;
}
.c-section-5.is-open .c-section-5__btn-txt {
    width: 100%;
}
.c-section-5__btn-txt::after {
    content: "";
    flex-shrink: 0;
    display: block;
    width: 18px;
    height: 18px;
    background: url(../img/common/icon_arw_green.svg) no-repeat center center/contain;
    transform: rotate(90deg);
}
.c-section-5.is-open .c-section-5__btn-txt::after {
    transform: rotate(-90deg);
}
@media print, screen and (min-width: 769px) {
    .c-section-5__container {
        display: flex !important;
        flex-direction: row-reverse;
        gap: 6.9444444444%;
    }
}
@media screen and (min-width: 1360px) {
    .c-section-5__container {
        gap: 100px;
    }
}
@media screen and (max-width: 836px) {
    .c-section-5__container {
        gap: 4.1666666667%;
    }
}
@media screen and (min-width: 1441px) {
    .c-section-5__container {
        max-height: 641px;
    }
}
@media print, screen and (min-width: 769px) {
    .c-section-5__img {
        flex-shrink: 0;
        width: 50%;
    }
}
.c-section-5__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-section-5__contents {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-left: auto;
    padding-block: min(100 / var(--design-width) * 100vw, 100px) min(76 / var(--design-width) * 100vw, 76px);
    padding-left: min(6.9444444444%, 100px);
    background-color: var(--color-white-2);
}
@media screen and (min-width: 1360px) {
    .c-section-5__contents {
        padding-left: 0;
    }
}
@media screen and (min-width: 1440px) {
    .c-section-5__contents {
        padding-left: 100px;
    }
}
@media print, screen and (min-width: 769px) {
    .c-section-5__contents {
        max-width: 620px;
    }
}
@media screen and (min-width: 1360px) and (max-width: 1439px) {
    .c-section-5__contents {
        width: 520px;
    }
}
@media screen and (max-width: 768px) {
    .c-section-5__contents {
        padding: min(13.7142857143%, 48px) min(5.7142857143%, 20px);
        gap: 24px;
    }
}
.c-section-5__main {
    width: 300px;
}
@media screen and (max-width: 768px) {
    .c-section-5__main {
        width: 250px;
    }
}
.c-section-5__txt {
    color: var(--color-black-1);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}
.c-section-5__txt + .c-section-5__txt {
    margin-top: 25.5px;
}
@media screen and (max-width: 1230px) {
    .c-section-5__txt--hide {
        display: none;
    }
}

/* ---------------------------------------------
*   c-section-6
--------------------------------------------- */
.c-section-6 {
    margin-top: min(14.4578313253%, 120px);
}
@media screen and (max-width: 768px) {
    .c-section-6:has(.c-slider-2) {
        margin-top: min(16%, 56px);
        margin-inline: calc(50% - 50vw);
        width: 100vw;
    }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
    .windows .c-section-6:has(.c-slider-2) {
        width: 100cqw;
    }
}
@media screen and (max-width: 768px) {
    .c-section-6:has(.c-slider-2) .c-section-6__head {
        width: 89.7435897436%;
    }
}
.c-section-6--mt90 {
    margin-top: min(10.843373494%, 90px);
}
@media screen and (max-width: 768px) {
    .c-section-6--mt90 {
        margin-top: min(11.4285714286%, 40px);
    }
}
.c-section-6 + .c-section-6 {
    margin-top: min(10.843373494%, 90px);
}
@media screen and (max-width: 768px) {
    .c-section-6 + .c-section-6 {
        margin-top: min(16%, 56px);
    }
}
@media screen and (max-width: 768px) {
    .c-section-6__head {
        margin-inline: auto;
    }
}
.c-section-6__ttl {
    margin-block: var(--leading-trim);
    color: var(--color-black-1);
    font-family: var(--ff-en) !important;
    font-weight: 700;
    font-size: calc(22 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 768px) {
    .c-section-6__ttl {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}
.c-section-6__body {
    margin-top: min(4.3373493976%, 36px);
}
@media screen and (max-width: 768px) {
    .c-section-6__body {
        margin-top: min(6.8571428571%, 24px);
    }
}
@media screen and (max-width: 768px) {
    .c-section-6__body:has(.c-slider-2) {
        margin-top: min(1.1428571429%, 4px);
    }
}

/* ---------------------------------------------
*   c-slider-1
--------------------------------------------- */
.c-slider-1__wrapper {
    position: relative;
}
.c-slider-1.splide.is-initialized:not(.is-active) .splide__list {
    display: flex;
    gap: 4.0322580645%;
}
.c-slider-1 .splide__list {
    width: 100%;
}
@media screen and (max-width: 768px) {
    .c-slider-1 .splide__list {
        gap: 5.7142857143%;
    }
}
.c-slider-1 .splide__slide {
    width: calc((100% - 4.0322580645% * 2) / 3);
}
@media screen and (max-width: 768px) {
    .c-slider-1 .splide__slide {
        padding-block: 20px;
        width: 82.8571428571%;
        transform: translate3d(0, 0, 0);
        filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.05));
    }
}
.c-slider-1__img img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* ---------------------------------------------
*   c-slider-2
--------------------------------------------- */
.c-slider-2__wrapper {
    position: relative;
}
.c-slider-2.splide.is-initialized:not(.is-active) .splide__list {
    display: flex;
    gap: 4.7058823529%;
}
.c-slider-2 .splide__list {
    width: 100%;
}
@media screen and (max-width: 768px) {
    .c-slider-2 .splide__list {
        gap: 5.7142857143%;
    }
}
.c-slider-2 .splide__slide {
    width: calc((100% - 4.7058823529% * 2) / 3);
}
@media screen and (max-width: 768px) {
    .c-slider-2 .splide__slide {
        padding-block: 20px;
        width: 82.8571428571%;
        transform: translate3d(0, 0, 0);
        filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.05));
    }
}
.c-slider-2__img img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* ---------------------------------------------
*   c-tabs
--------------------------------------------- */
.c-tabs {
    filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.02));
}
@media screen and (max-width: 768px) {
    .c-tabs {
        filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.03));
    }
}
.c-tabs__tab-list {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}
.c-tabs__tab {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 12px min(23px, 23 / var(--design-width) * 100vw);
    border-radius: 5px 5px 0 0;
    border-top: 1px solid var(--color-gray-3);
    border-right: 1px solid var(--color-gray-3);
    border-left: 1px solid var(--color-gray-3);
    background-color: var(--color-white-1);
    border-radius: 5px 5px 0 0;
}
@media screen and (max-width: 768px) {
    .c-tabs__tab {
        flex: 1;
        padding: min(7px, 2%) min(10px, 2.8571428571%);
    }
}
.c-tabs__tab.is-current {
    padding: 20px 24px;
    font-size: calc(18 / var(--root-fz) * 1rem);
    border-color: var(--color-white-2);
    background-color: var(--color-white-2);
    cursor: auto;
}
@media screen and (max-width: 768px) {
    .c-tabs__tab.is-current {
        font-size: calc(13 / var(--root-fz) * 1rem);
        padding: min(7px, 2%) min(10px, 2.8571428571%);
    }
}
.c-tabs__txt {
    position: relative;
    color: var(--color-base-1);
    text-align: center;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.2;
}
@media screen and (max-width: 768px) {
    .c-tabs__txt {
        color: var(--color-black-1);
        font-size: calc(13 / var(--root-fz) * 1rem);
        line-height: 1.3;
    }
}
.c-tabs__txt--br {
    display: none;
}
@media screen and (max-width: 900px) {
    .c-tabs__txt--br {
        display: block;
    }
}
.c-tabs__txt::before {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-base-1);
    bottom: -1px;
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-tabs__tab:not(.is-current):hover .c-tabs__txt::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.c-tabs__body {
    border-radius: 0px 5px 5px 5px;
    background-color: var(--color-white-2);
}
@media screen and (max-width: 768px) {
    .c-tabs__body {
        border-radius: 0 0 5px 5px;
    }
}

/* ---------------------------------------------
*   c-table
--------------------------------------------- */
/* ---------------------------------------------
*   c-tag-1
--------------------------------------------- */
.c-tag-1 {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-right: 10px;
    padding: 6px 8px 7px;
    color: var(--color-green-2);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1;
    border-radius: 5px;
    background-color: var(--color-gray-1);
    border: 1px solid transparent;
}
@media (hover: hover) and (pointer: fine) {
    .c-tag-1:hover {
        border-color: var(--color-green-2);
    }
}
.c-card-5 .c-tag-1 {
    margin-right: 4px;
}

/* ---------------------------------------------
*   c-tag-2
--------------------------------------------- */
.c-tag-2 {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-block: var(--leading-trim);
    padding: 14px 16px;
    border-radius: 5px;
    background-color: var(--color-white-1);
    color: var(--color-green-2);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1;
    will-change: opacity;
    border: 1px solid transparent;
}
@media (hover: hover) and (pointer: fine) {
    .c-tag-2:hover {
        border-color: var(--color-green-2);
    }
}
@media screen and (max-width: 768px) {
    .c-tag-2 {
        padding: 11px 12px;
        font-size: calc(15 / var(--root-fz) * 1rem);
        border-radius: calc(5 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-tag-3
--------------------------------------------- */
.c-tag-3 {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 16px;
    color: var(--color-green-2);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1;
    border-radius: 5px;
    background-color: var(--color-gray-1);
    border: 1px solid transparent;
}
@media (hover: hover) and (pointer: fine) {
    .c-tag-3:hover {
        border-color: var(--color-green-2);
    }
}

/* ---------------------------------------------
*   c-tag-4
--------------------------------------------- */
.c-tag-4 {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    color: var(--color-green-2);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1;
    border-radius: 5px;
    background-color: var(--color-gray-1);
    border: 1px solid transparent;
}
@media (hover: hover) and (pointer: fine) {
    .c-tag-4:hover {
        border-color: var(--color-green-2);
    }
}
@media screen and (max-width: 768px) {
    .c-tag-4 {
        padding: min(6 / var(--design-width) * 100vw, 6px) min(8 / var(--design-width) * 100vw, 8px);
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-tile
--------------------------------------------- */
/* ---------------------------------------------
*   c-ttl-1
--------------------------------------------- */
.c-ttl-1 {
    display: flex;
    align-items: flex-end;
    gap: 20px;
}
@media screen and (max-width: 768px) {
    .c-ttl-1 {
        gap: 12px;
    }
}
@media screen and (max-width: 768px) {
    .release .c-ttl-1 {
        gap: 10px;
    }
}

.c-ttl-1__en {
    display: block;
    margin-block: var(--leading-trim);
    color: var(--color-gray-3);
    font-family: var(--ff-en);
    font-size: calc(56 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1;
}
@media screen and (max-width: 768px) {
    .c-ttl-1__en {
        font-size: calc(46 / var(--root-fz) * 1rem);
    }
}
@media screen and (max-width: 768px) {
    .release .c-ttl-1__en {
        font-size: calc(30 / var(--root-fz) * 1rem);
    }
}

.c-ttl-1__jp {
    flex-shrink: 0;
    color: var(--color-black-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.2;
}
@media screen and (max-width: 768px) {
    .c-ttl-1__jp {
        color: var(--color-base-1);
        font-size: calc(16 / var(--root-fz) * 1rem);
    }
}
@media screen and (max-width: 768px) {
    .release .c-ttl-1__jp {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-ttl-2
--------------------------------------------- */
.c-ttl-2 {
    margin-block: var(--leading-trim);
    color: var(--color-black-1);
    font-family: var(--ff-en);
    font-weight: 700;
    font-size: calc(22 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 768px) {
    .c-ttl-2 {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-ttl-3
--------------------------------------------- */
.c-ttl-3 {
    margin-block: var(--leading-trim);
    font-size: calc(42 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-ttl-3 {
        font-size: calc(26 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-ttl-4
--------------------------------------------- */
.c-ttl-4 {
    display: block;
    margin-block: var(--leading-trim);
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-ttl-4 {
        font-size: calc(17 / var(--root-fz) * 1rem);
        font-weight: 600;
    }
}

/* ---------------------------------------------
*   c-ttl-5
--------------------------------------------- */
.c-ttl-5 {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-block: var(--leading-trim);
    font-size: calc(32 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .c-ttl-5 {
        font-size: calc(22 / var(--root-fz) * 1rem);
    }
}
.c-ttl-5::before {
    content: "";
    flex-shrink: 0;
    display: block;
    width: 4px;
    align-self: stretch;
    margin-block: 9px;
    margin-block: 9.6px;
    background-color: var(--color-green-2);
    transform: translateY(1px);
}
@media screen and (max-width: 768px) {
    .c-ttl-5::before {
        margin-block: 6.6px;
        width: 3px;
    }
}

/* ---------------------------------------------
*   c-ttl-6
--------------------------------------------- */
.c-ttl-6 {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-block: var(--leading-trim);
    font-size: calc(28 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .c-ttl-6 {
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
.c-ttl-6::before {
    content: "";
    flex-shrink: 0;
    display: block;
    width: 4px;
    align-self: stretch;
    margin-block: 9px;
    margin-block: 8.4px;
    background-color: var(--color-green-2);
    transform: translateY(1px);
}
@media screen and (max-width: 768px) {
    .c-ttl-6::before {
        margin-block: 6px;
        width: 3px;
    }
}

/* ---------------------------------------------
*   c-ttl-7
--------------------------------------------- */
.c-ttl-7 {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-block: var(--leading-trim);
    font-size: calc(24 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .c-ttl-7 {
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
.c-ttl-7::before {
    content: "";
    flex-shrink: 0;
    display: block;
    width: 4px;
    align-self: stretch;
    margin-block: 9px;
    margin-block: 7.2px;
    background-color: var(--color-green-2);
    transform: translateY(1px);
}
@media screen and (max-width: 768px) {
    .c-ttl-7::before {
        margin-block: 5.4px;
        width: 3px;
    }
}

/* ---------------------------------------------
*   c-txt-1
--------------------------------------------- */
.c-txt-1 {
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.85;
}
@media screen and (max-width: 768px) {
    .c-txt-1 {
        line-height: 2;
    }
}
@media screen and (max-width: 768px) {
    .c-txt-1--splh19 {
        line-height: 1.9;
    }
}
.features-and-serials-detail .c-txt-1 {
    margin-top: min(32px, 3.8554216867%);
}
@media screen and (max-width: 768px) {
    .features-and-serials-detail .c-txt-1 {
        color: var(--color-black-1);
        margin-top: min(27px, 7.7142857143%);
        line-height: 1.5;
    }
}

.c-txt-1 a {
    font-weight: 600;
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .c-txt-1 a:hover {
        text-decoration: underline;
    }
    @supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
        .c-txt-1 a:hover {
            text-decoration-thickness: 1.5px;
        }
    }
}
.c-txt-1 a[target=_blank]::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 4px;
    margin-right: 0.3rem;
    background-image: url(../img/common/icon_extlink_green.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    vertical-align: middle;
}

/* ---------------------------------------------
*   c-txt-2
--------------------------------------------- */
.c-txt-2 {
    color: #197A56;
    margin-block: var(--leading-trim);
    font-size: calc(17 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-txt-2 {
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}
.c-txt-2--link {
    display: inline-block;
    color: var(--color-green-2);
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .c-txt-2--link:hover {
        text-decoration: underline;
    }
    @supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
        .c-txt-2--link:hover {
            text-decoration-thickness: 1.5px;
        }
    }
}

/* ---------------------------------------------
*   c-txt-3
--------------------------------------------- */
.c-txt-3 {
    display: block;
    color: var(--color-gray-4);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}
.c-txt-3--lh14 {
    line-height: 1.4;
}
.c-txt-3--caption {
    margin-block: var(--leading-trim);
    line-height: 1.8;
}
@media screen and (max-width: 768px) {
    .c-txt-3--caption {
        font-size: calc(11 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-txt-4
--------------------------------------------- */
.c-txt-4 {
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.4;
}
.c-txt-4--link {
    position: relative;
    color: var(--color-green-2);
}
.c-txt-4--link::before {
    content: "";
    position: absolute;
    height: 1px;
    left: 0;
    width: 100%;
    background-color: var(--color-green-2);
    bottom: 0;
    transform: scale(0, 1);
    transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
    .c-txt-4--link:hover::before {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}
.c-txt-4--link[target=_blank]::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 4px;
    background-image: url(../img/common/icon_extlink_green.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    vertical-align: middle;
}

/* ---------------------------------------------
*   c-txt-5
--------------------------------------------- */
.c-txt-5 {
    display: block;
    margin-block: var(--leading-trim);
    font-size: calc(28 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-txt-5 {
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
.c-txt-5--small {
    padding-left: 0.5rem;
    font-size: calc(20 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 768px) {
    .c-txt-5--small {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-txt-6
--------------------------------------------- */
.c-txt-6 {
    display: block;
    margin-block: var(--leading-trim);
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 400;
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .c-txt-6 {
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   p-article
--------------------------------------------- */
.p-article__narrow {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: min(75 / 830 * 100%, 75px);
}
@media screen and (max-width: 768px) {
    .p-article__narrow {
        margin-top: min(30 / var(--design-width) * 100vw, 30px);
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: min(32 / var(--design-width) * 100vw, 32px);
    }
}
.p-article__narrow:has(.p-article__narrow-right) {
    margin-top: min(60 / 830 * 100%, 60px);
}
@media screen and (max-width: 768px) {
    .p-article__narrow:has(.p-article__narrow-right) {
        margin-top: min(30 / var(--design-width) * 100vw, 30px);
    }
}
.p-article__narrow-left {
    display: flex;
    align-items: flex-end;
    max-width: 450px;
    gap: 32px;
}
@media screen and (max-width: 768px) {
    .p-article__narrow-left {
        gap: 16px;
    }
}
@media screen and (max-width: 768px) {
    .p-article__narrow-right {
        width: 100%;
    }
}
.p-article__txt-wrap {
    margin-top: min(32 / 830 * 100%, 32px);
}
@media screen and (max-width: 768px) {
    .p-article__txt-wrap {
        margin-top: min(24 / var(--design-width) * 100vw, 24px);
    }
}
.p-article__txt {
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}
.p-article__body {
    margin-top: min(40 / 830 * 100%, 40px);
}
@media screen and (max-width: 768px) {
    .p-article__body {
        margin-top: min(32 / var(--design-width) * 100vw, 32px);
    }
}
.p-article__body:has(.c-block-7--empty) {
    margin-top: min(72 / 830 * 100%, 72px);
}
@media screen and (max-width: 768px) {
    .p-article__body:has(.c-block-7--empty) {
        margin-top: min(40 / var(--design-width) * 100vw, 40px);
    }
}
.p-article__narrow-box {
    padding: min(56 / 830 * 100%, 56px) min(53 / 830 * 100%, 53px) min(60 / 830 * 100%, 60px);
    background-color: var(--color-white-2);
    border-radius: 5px;
}
@media screen and (max-width: 768px) {
    .p-article__narrow-box {
        padding: min(35 / var(--design-width) * 100vw, 35px) min(20 / var(--design-width) * 100vw, 20px) min(40 / var(--design-width) * 100vw, 40px);
        border-radius: min(5 / var(--design-width) * 100vw, 5px);
    }
}

/* ---------------------------------------------
*   p-book
--------------------------------------------- */
.p-book__body {
    margin-top: min(60 / 830 * 100%, 60px);
}
@media screen and (max-width: 768px) {
    .p-book__body {
        margin-top: min(27 / var(--design-width) * 100vw, 27px);
    }
}

/* ---------------------------------------------
*   p-report
--------------------------------------------- */
.p-report__body {
    margin-top: min(75 / 1240 * 100%, 75px);
}
@media screen and (max-width: 768px) {
    .p-report__body {
        margin-top: min(35 / var(--design-width) * 100vw, 35px);
    }
}

/* ---------------------------------------------
*   p-release
--------------------------------------------- */
.p-release__body {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: min(57 / 1240 * 100%, 57px);
}
@media screen and (max-width: 768px) {
    .p-release__body {
        flex-direction: column;
        margin-top: min(32 / var(--design-width) * 100vw, 32px);
    }
}
.p-release__side {
    flex-shrink: 0;
    width: min(25.8064516129%, 320px);
}
@media screen and (min-width: 1360px) {
    .p-release__side {
        width: 320px;
    }
}
@media screen and (max-width: 768px) {
    .p-release__side {
        width: 100%;
    }
}
.p-release__main {
    flex-shrink: 0;
    width: min(66.935483871%, 830px);
}
@media screen and (min-width: 1360px) {
    .p-release__main {
        width: 830px;
    }
}
@media screen and (max-width: 768px) {
    .p-release__main {
        margin-top: min(32 / var(--design-width) * 100vw, 32px);
        width: 100%;
    }
}
@media print, screen and (min-width: 769px) {
    .p-release__sub-ttl {
        padding-bottom: min(30 / 830 * 100%, 30px);
        border-bottom: 1px solid var(--color-gray-1);
    }
}
.p-release__sub-ttl-txt {
    display: block;
    margin-block: var(--leading-trim);
    font-size: calc(24 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}

/* ---------------------------------------------
*   J06: ニュースリリース 単一ページ (旧 bcg_2023 single-release 移植)
*   ----
*   `body.single-release` でスコープして、boston テーマ他コンポーネントとの
*   class 名衝突を完全に防ぐ。バッティング対象クラスは事前に全件調査済:
*     .l-single-post / .m-post / .m-content / .l-single-sns / .m-sns-list
*     → いずれも boston には未定義 (衝突なし) だが、防御的にスコープ。
*
*   ライブラリ:
*     - 旧 bcg_2023 では rem 単位中心 (1rem = 10px, 旧テーマ設定)
*     - boston は pxtorem ヘルパで rem 換算するが、移植スコープでは
*       近似値 (rem ≒ px ÷ 16) で書き換えて統一感を保つ
--------------------------------------------- */
body.single-release {
    /* m-content: 旧テーマの記事本文一般スタイル ---------- */
    /* SNS リスト (記事下部のシェアボタン) ---------- */
}
body.single-release .l-single-post {
    --margin-btm: 2rem;
    padding: 3rem 0;
}
@media screen and (max-width: 768px) {
    body.single-release .l-single-post {
        padding: 2rem 0;
    }
}
body.single-release .l-single-post__cont {
    width: min(102.4rem, 95%);
    margin: 0 auto;
}
body.single-release .l-single-post__date-cat {
    overflow: initial;
    white-space: normal;
    text-overflow: unset;
    display: block;
    height: -moz-fit-content;
    height: fit-content;
    line-height: 1.5;
}
body.single-release .l-single-post__date {
    font-size: calc(15 / var(--root-fz) * 1rem);
    color: var(--color-gray-4);
}
body.single-release .l-single-post__ttl {
    font-size: calc(32 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    margin-block: var(--leading-trim);
    margin-top: 1rem;
    margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
    body.single-release .l-single-post__ttl {
        font-size: calc(22 / var(--root-fz) * 1rem);
        margin-bottom: 1.6rem;
    }
}
body.single-release .l-single-post__sub-ttl {
    font-weight: 500;
    font-size: calc(20 / var(--root-fz) * 1rem);
    margin: 0.8rem 0 2rem 0;
}
@media screen and (max-width: 768px) {
    body.single-release .l-single-post__sub-ttl {
        font-weight: inherit;
        font-size: calc(16 / var(--root-fz) * 1rem);
    }
}
body.single-release .l-single-post__content {
    margin-top: 2rem;
}
body.single-release .l-single-post__release a {
    word-break: break-all;
    color: var(--color-green-2);
    text-decoration: underline;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    body.single-release .l-single-post__release a {
        text-decoration-thickness: 1.5px;
    }
}
@media (hover: hover) and (pointer: fine) {
    body.single-release .l-single-post__release a:hover {
        text-decoration: none;
    }
}
body.single-release .l-single-post__release-manager {
    overflow: auto;
    margin-top: 3rem;
}
body.single-release .l-single-post__release-manager-name {
    clear: both;
    font-weight: 600;
    margin-bottom: 0.5rem;
}
body.single-release .l-single-post__release-manager-img {
    display: block;
    margin: 0.5em 1em var(--margin-btm) 0;
    float: left;
}
body.single-release .l-single-post__release-manager-ttl {
    font-weight: 700;
    margin-bottom: 0.8rem;
}
body.single-release .l-single-post__release-manager-desc {
    margin-bottom: var(--margin-btm);
}
body.single-release .l-single-post__release-contact {
    margin-top: 3rem;
    clear: both;
}
body.single-release .l-single-post__release-contact-ttl {
    font-weight: 700;
    margin-bottom: 0.8rem;
}
body.single-release .l-single-post__release-contact-desc {
    line-height: 1.75;
}
body.single-release .l-single-post__release img.alignright {
    display: block;
    margin: 0.5em 0.5em 0.5em 1em;
    float: right;
}
body.single-release .l-single-post__release img.alignleft {
    display: block;
    margin: 0.5em 1em 0.5em 0;
    float: left;
}
body.single-release .l-single-post__release img.aligncenter {
    display: block;
    margin: 0 auto;
}
body.single-release .l-single-post__release th, body.single-release .l-single-post__release td {
    border: 0.1rem solid #d4d4d4;
    padding: 15px;
}
@media screen and (max-width: 768px) {
    body.single-release .l-single-post__release th, body.single-release .l-single-post__release td {
        padding: 10px;
    }
}
body.single-release .l-single-post__release th {
    background-color: #f2f2f2;
}
body.single-release .l-single-post__release .table-cont {
    overflow-x: auto;
    display: block;
    width: 100%;
}
body.single-release .l-single-post__release .table-cont th:has(+ td) {
    position: sticky;
    left: 0;
}
body.single-release .l-single-post__release .table-cont th:has(+ td)::before {
    display: block;
    position: absolute;
    top: 0;
    left: -0.1rem;
    height: 100%;
    border-left: 0.1rem solid #d4d4d4;
    content: "";
}
body.single-release .m-content {
    font-size: calc(16 / var(--root-fz) * 1rem);
}
body.single-release .m-content > *:not(:last-child) {
    margin-bottom: var(--margin-btm);
}
body.single-release .m-content h2 {
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
    body.single-release .m-content h2 {
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
body.single-release .m-content h3 {
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 700;
    margin-top: 2rem;
}
@media screen and (max-width: 768px) {
    body.single-release .m-content h3 {
        font-size: calc(16 / var(--root-fz) * 1rem);
    }
}
body.single-release .m-content h4, body.single-release .m-content h5 {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 700;
    margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
    body.single-release .m-content h4, body.single-release .m-content h5 {
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
body.single-release .m-content p {
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1.9;
}
body.single-release .m-content p:not(:last-child) {
    margin-bottom: var(--margin-btm);
}
body.single-release .m-content ul {
    margin-left: 1.5em;
    list-style-type: disc;
    font-size: calc(16 / var(--root-fz) * 1rem);
}
body.single-release .m-content ol {
    margin-left: 1.2em;
    list-style-type: decimal;
}
body.single-release .m-content img {
    width: 100%;
    max-width: 100%;
    height: auto;
}
body.single-release .m-content blockquote {
    display: block;
    border-left: 0.5rem solid var(--color-gray-3);
    padding: 0 0 1rem 2rem;
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1.75;
    color: var(--color-gray-4);
}
body.single-release .m-content blockquote::before {
    display: block;
    line-height: 1;
    font-size: 6rem;
    margin-bottom: -0.3em;
    content: "“"; /* curly left double quote */
}
body.single-release .m-content a {
    text-decoration: underline;
    color: var(--color-green-2);
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    body.single-release .m-content a {
        text-decoration-thickness: 1.5px;
    }
}
@media (hover: hover) and (pointer: fine) {
    body.single-release .m-content a:hover {
        text-decoration: none;
    }
}
body.single-release .m-content table {
    font-size: calc(16 / var(--root-fz) * 1rem);
    border-collapse: collapse;
    margin-block: var(--margin-btm);
}
@media screen and (max-width: 768px) {
    body.single-release .m-content table {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
body.single-release .m-content .wp-block-media-text {
    display: block;
    clear: both;
}
body.single-release .m-content .wp-block-media-text__media {
    margin: 0 0 1rem 1rem;
    float: right;
}
body.single-release .m-content .wp-block-media-text__content {
    padding: 0;
}
body.single-release .m-content .wp-block-columns {
    gap: 2rem;
}
@media screen and (max-width: 768px) {
    body.single-release .m-content .wp-block-columns {
        gap: 1.5rem;
    }
}
body.single-release .m-content .wp-element-caption {
    font-size: calc(13 / var(--root-fz) * 1rem);
}
body.single-release .m-content sup {
    vertical-align: super;
    font-size: smaller;
    margin: 0 0.2rem;
}
body.single-release .l-single-sns {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 1.5rem;
    margin: 3rem 0 2rem auto;
    width: -moz-fit-content;
    width: fit-content;
    list-style: none;
    padding: 0;
}
body.single-release .l-single-sns__item {
    line-height: 0;
}
body.single-release .l-single-sns__link {
    display: block;
    width: 3rem;
    height: 3rem;
    line-height: 0;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    body.single-release .l-single-sns__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
body.single-release .l-single-sns__img {
    -o-object-fit: contain;
       object-fit: contain;
    width: 3rem;
    height: 3rem;
}
@media screen and (max-width: 768px) {
    body.single-release .u-sp-none {
        display: none;
    }
}

/* ---------------------------------------------
*   p-top-xx
--------------------------------------------- */
/* ---------------------------------------------
*   p-detail
--------------------------------------------- */
.p-detail {
    --margin-btm: 2rem;
    /* ---------------------------------------------
    *   ネイティブGutenbergブロック対応
    *   the_content() が出力する<h2>/<h3>/<h4>/<p>/<ul>/<ol>を
    *   c-ttl-5/6/7, c-txt-1 相当のスタイルに整形する
    --------------------------------------------- */
    /* ---------------------------------------------
    *   ネイティブブロック内の <a> リンク（c-link-3 相当のスタイル）
    *   - 段落 (<p>) と Gutenberg リスト (ul.wp-block-list / ol.wp-block-list) 内の <a> に適用
    *   - target="_blank" の場合は末尾に外部リンクアイコンを表示
    *   - カスタムブロック内の <a class="c-link-3"> 等はセレクタ上一致しないので影響なし
    --------------------------------------------- */
    /* ---------------------------------------------
    *   テーマカスタマイズ (K26): 旧 bcg_2023 _reuse.scss の wp-block-* 整形を移植
    *   ----
    *   旧記事から移行した Gutenberg コアブロック (カラム / メディア+テキスト) は
    *   新テーマのカスタムブロック (c-column-* 等) とは別物で、新テーマ .p-detail に
    *   レイアウト整形が無かったため、旧テーマ同等のスタイルを移植する。
    *   ※ 横並びレイアウト自体 (display:flex / flex-basis) は WP コアの
    *      is-layout-flex グローバルスタイルが担保。ここでは gap や float 等の
    *      旧テーマ固有の見た目だけを補う。
    *   単位: 旧 1rem=10px → 新テーマは実寸 px / rem を直接指定。
    --------------------------------------------- */
}
.p-detail > *:not(:last-child) {
    margin-bottom: var(--margin-btm);
}
.p-detail__ttl-h2 {
    margin-top: min(64 / 830 * 100%, 64px);
}
@media screen and (max-width: 768px) {
    .p-detail__ttl-h2 {
        margin-top: min(48 / 350 * 100%, 48px);
    }
}
.p-detail__ttl-h3 {
    margin-top: min(80 / 830 * 100%, 80px);
}
@media screen and (max-width: 768px) {
    .p-detail__ttl-h3 {
        margin-top: min(54 / 350 * 100%, 54px);
    }
}
.p-detail__ttl-h4 {
    margin-top: min(80 / 830 * 100%, 80px);
}
@media screen and (max-width: 768px) {
    .p-detail__ttl-h4 {
        margin-top: min(34 / 350 * 100%, 34px);
    }
}
.p-detail__txt {
    margin-top: min(40 / 830 * 100%, 40px);
}
@media screen and (max-width: 768px) {
    .p-detail__txt {
        margin-top: min(32 / 350 * 100%, 32px);
    }
}
.p-detail__txt + .p-detail__txt {
    margin-top: min(32 / 830 * 100%, 32px);
}
@media screen and (max-width: 768px) {
    .p-detail__txt + .p-detail__txt {
        margin-top: min(16 / 350 * 100%, 16px);
    }
}
@media screen and (max-width: 768px) {
    .p-detail__ttl-h2 + .p-detail__txt {
        margin-top: min(26 / 350 * 100%, 26px);
    }
}
.p-detail__ttl-h3 + .p-detail__txt {
    margin-top: min(32 / 830 * 100%, 32px);
}
@media screen and (max-width: 768px) {
    .p-detail__ttl-h3 + .p-detail__txt {
        margin-top: min(27 / 350 * 100%, 27px);
    }
}
.p-detail__ttl-h4 + .p-detail__txt {
    margin-top: min(28 / 830 * 100%, 28px);
}
@media screen and (max-width: 768px) {
    .p-detail__ttl-h4 + .p-detail__txt {
        margin-top: min(23 / 350 * 100%, 23px);
    }
}
.p-detail__btn + .p-detail__txt {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .p-detail__btn + .p-detail__txt {
        margin-top: min(40 / 350 * 100%, 40px);
    }
}
.p-detail__img {
    margin-top: min(40 / 830 * 100%, 40px);
}
@media screen and (max-width: 768px) {
    .p-detail__img {
        margin-top: min(28 / 350 * 100%, 28px);
    }
}
.wp-block-column .p-detail__img {
    margin-top: 0;
}
.p-detail__btn + .p-detail__img {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .p-detail__btn + .p-detail__img {
        margin-top: min(40 / 350 * 100%, 40px);
    }
}
.p-detail__btn {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .p-detail__btn {
        margin-top: min(40 / 350 * 100%, 40px);
    }
}
@media screen and (max-width: 768px) {
    .p-detail__btn--mt20 {
        margin-top: min(20 / 350 * 100%, 20px);
    }
}
.p-detail__btn-large {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .p-detail__btn-large {
        margin-top: min(40 / 350 * 100%, 40px);
    }
}
.p-detail__btn-large + .p-detail__btn-large {
    margin-top: 25px;
}
@media screen and (max-width: 768px) {
    .p-detail__btn-large + .p-detail__btn-large {
        margin-top: min(25 / 350 * 100%, 25px);
    }
}
@media print, screen and (min-width: 769px) {
    .c-block-5 .p-detail__btn-large {
        margin-top: min(56 / 830 * 100%, 56px);
    }
}

.p-detail__list {
    margin-top: min(40 / 830 * 100%, 40px);
}
@media screen and (max-width: 768px) {
    .p-detail__list {
        margin-top: min(32 / 350 * 100%, 32px);
    }
}
.p-detail__btn + .p-detail__list {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .p-detail__btn + .p-detail__list {
        margin-top: min(40 / 350 * 100%, 40px);
    }
}
.p-detail__list-note {
    margin-top: min(16 / 830 * 100%, 16px);
}
@media screen and (max-width: 768px) {
    .p-detail__list-note {
        margin-top: min(10 / 350 * 100%, 10px);
    }
}
.p-detail__name {
    margin-right: 1rem;
}
.p-detail > h2,
.p-detail h2.wp-block-heading {
    position: relative;
    margin-top: min(64 / 830 * 100%, 64px);
    padding-left: 20px;
    font-size: calc(32 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.6;
    color: var(--color-base-1);
}
@media screen and (max-width: 768px) {
    .p-detail > h2,
    .p-detail h2.wp-block-heading {
        margin-top: min(48 / 350 * 100%, 48px);
        padding-left: 19px;
        font-size: calc(22 / var(--root-fz) * 1rem);
    }
}
.p-detail > h2::before,
.p-detail h2.wp-block-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9.6px;
    bottom: 9.6px;
    width: 4px;
    background-color: var(--color-green-2);
    transform: translateY(1px);
}
@media screen and (max-width: 768px) {
    .p-detail > h2::before,
    .p-detail h2.wp-block-heading::before {
        top: 6.6px;
        bottom: 6.6px;
        width: 3px;
    }
}
.p-detail > h2 strong,
.p-detail > h2 b,
.p-detail h2.wp-block-heading strong,
.p-detail h2.wp-block-heading b {
    font-weight: 700;
}
.p-detail > h2 em,
.p-detail > h2 i,
.p-detail h2.wp-block-heading em,
.p-detail h2.wp-block-heading i {
    font-style: italic;
}
.p-detail > h3,
.p-detail h3.wp-block-heading {
    position: relative;
    margin-top: min(80 / 830 * 100%, 80px);
    padding-left: 20px;
    margin-block-end: var(--leading-trim);
    font-size: calc(28 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.6;
    color: var(--color-base-1);
}
@media screen and (max-width: 768px) {
    .p-detail > h3,
    .p-detail h3.wp-block-heading {
        margin-top: min(54 / 350 * 100%, 54px);
        padding-left: 19px;
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
.p-detail > h3::before,
.p-detail h3.wp-block-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8.4px;
    bottom: 8.4px;
    width: 4px;
    background-color: var(--color-green-2);
    transform: translateY(1px);
}
@media screen and (max-width: 768px) {
    .p-detail > h3::before,
    .p-detail h3.wp-block-heading::before {
        top: 6px;
        bottom: 6px;
        width: 3px;
    }
}
.p-detail > h3 strong,
.p-detail > h3 b,
.p-detail h3.wp-block-heading strong,
.p-detail h3.wp-block-heading b {
    font-weight: 700;
}
.p-detail > h3 em,
.p-detail > h3 i,
.p-detail h3.wp-block-heading em,
.p-detail h3.wp-block-heading i {
    font-style: italic;
}
.p-detail > h4,
.p-detail h4.wp-block-heading {
    position: relative;
    margin-top: min(80 / 830 * 100%, 80px);
    padding-left: 20px;
    margin-block-end: var(--leading-trim);
    font-size: calc(24 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.6;
    color: var(--color-base-1);
}
@media screen and (max-width: 768px) {
    .p-detail > h4,
    .p-detail h4.wp-block-heading {
        margin-top: min(34 / 350 * 100%, 34px);
        padding-left: 19px;
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
.p-detail > h4::before,
.p-detail h4.wp-block-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7.2px;
    bottom: 7.2px;
    width: 4px;
    background-color: var(--color-green-2);
    transform: translateY(1px);
}
@media screen and (max-width: 768px) {
    .p-detail > h4::before,
    .p-detail h4.wp-block-heading::before {
        top: 5.4px;
        bottom: 5.4px;
        width: 3px;
    }
}
.p-detail > h4 strong,
.p-detail > h4 b,
.p-detail h4.wp-block-heading strong,
.p-detail h4.wp-block-heading b {
    font-weight: 700;
}
.p-detail > h4 em,
.p-detail > h4 i,
.p-detail h4.wp-block-heading em,
.p-detail h4.wp-block-heading i {
    font-style: italic;
}
.p-detail > p {
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.85;
    color: var(--color-base-1);
    margin-top: min(40 / 830 * 100%, 40px);
}
@media screen and (max-width: 768px) {
    .p-detail > p {
        line-height: 2;
        margin-top: min(32 / 350 * 100%, 32px);
    }
}
.p-detail > p strong,
.p-detail > p b {
    font-weight: 700;
}
.p-detail > p em,
.p-detail > p i {
    font-style: italic;
}
.p-detail > p u {
    text-decoration: underline;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    .p-detail > p u {
        text-decoration-thickness: 1.5px;
    }
}
.p-detail > p small {
    font-size: 0.85em;
}
@media screen and (max-width: 768px) {
    h2 + .p-detail > p, h2.wp-block-heading + .p-detail > p {
        margin-top: min(26 / 350 * 100%, 26px);
    }
}
h3 + .p-detail > p, h3.wp-block-heading + .p-detail > p {
    margin-top: min(32 / 830 * 100%, 32px);
}
@media screen and (max-width: 768px) {
    h3 + .p-detail > p, h3.wp-block-heading + .p-detail > p {
        margin-top: min(27 / 350 * 100%, 27px);
    }
}
h4 + .p-detail > p, h4.wp-block-heading + .p-detail > p {
    margin-top: min(28 / 830 * 100%, 28px);
}
@media screen and (max-width: 768px) {
    h4 + .p-detail > p, h4.wp-block-heading + .p-detail > p {
        margin-top: min(23 / 350 * 100%, 23px);
    }
}
.p-detail > p + .p-detail > p {
    margin-top: min(32 / 830 * 100%, 32px);
}
@media screen and (max-width: 768px) {
    .p-detail > p + .p-detail > p {
        margin-top: min(16 / 350 * 100%, 16px);
    }
}
.p-detail ul.wp-block-list strong,
.p-detail ul.wp-block-list b,
.p-detail ol.wp-block-list strong,
.p-detail ol.wp-block-list b {
    font-weight: 700;
}
.p-detail ul.wp-block-list em,
.p-detail ul.wp-block-list i,
.p-detail ol.wp-block-list em,
.p-detail ol.wp-block-list i {
    font-style: italic;
}
.p-detail ul.wp-block-list u,
.p-detail ol.wp-block-list u {
    text-decoration: underline;
}
@supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
    .p-detail ul.wp-block-list u,
    .p-detail ol.wp-block-list u {
        text-decoration-thickness: 1.5px;
    }
}
.p-detail > .wp-block-image,
.p-detail > figure:not([class*=p-detail-main__]),
.p-detail > img {
    margin-top: min(40 / 830 * 100%, 40px);
}
@media screen and (max-width: 768px) {
    .p-detail > .wp-block-image,
    .p-detail > figure:not([class*=p-detail-main__]),
    .p-detail > img {
        margin-top: min(28 / 350 * 100%, 28px);
    }
}
.p-detail > .wp-block-image img,
.p-detail > figure:not([class*=p-detail-main__]) img,
.p-detail > img img {
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .p-detail > .wp-block-image img,
    .p-detail > figure:not([class*=p-detail-main__]) img,
    .p-detail > img img {
        border-radius: min(10 / var(--design-width) * 100vw, 10px);
    }
}
.p-detail ul.wp-block-list,
.p-detail ol.wp-block-list {
    margin-top: min(40 / 830 * 100%, 40px);
    padding-left: 0;
    list-style: none;
}
@media screen and (max-width: 768px) {
    .p-detail ul.wp-block-list,
    .p-detail ol.wp-block-list {
        margin-top: min(32 / 350 * 100%, 32px);
    }
}
.p-detail ul.wp-block-list > li,
.p-detail ol.wp-block-list > li {
    position: relative;
    padding-left: 1.2em;
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.85;
}
@media screen and (max-width: 768px) {
    .p-detail ul.wp-block-list > li,
    .p-detail ol.wp-block-list > li {
        line-height: 2;
    }
}
.p-detail ul.wp-block-list > li + li,
.p-detail ol.wp-block-list > li + li {
    margin-top: 13px;
}
@media screen and (max-width: 768px) {
    .p-detail ul.wp-block-list > li + li,
    .p-detail ol.wp-block-list > li + li {
        margin-top: 8px;
    }
}
.p-detail > p + ul.wp-block-list,
.p-detail > p + ol.wp-block-list {
    margin-top: min(32 / 830 * 100%, 32px);
}
@media screen and (max-width: 768px) {
    .p-detail > p + ul.wp-block-list,
    .p-detail > p + ol.wp-block-list {
        margin-top: min(16 / 350 * 100%, 16px);
    }
}
@media screen and (max-width: 768px) {
    .p-detail > h2 + ul.wp-block-list,
    .p-detail > h2.wp-block-heading + ul.wp-block-list,
    .p-detail > h2 + ol.wp-block-list,
    .p-detail > h2.wp-block-heading + ol.wp-block-list {
        margin-top: min(26 / 350 * 100%, 26px);
    }
}
.p-detail > h3 + ul.wp-block-list,
.p-detail > h3.wp-block-heading + ul.wp-block-list,
.p-detail > h3 + ol.wp-block-list,
.p-detail > h3.wp-block-heading + ol.wp-block-list {
    margin-top: min(32 / 830 * 100%, 32px);
}
@media screen and (max-width: 768px) {
    .p-detail > h3 + ul.wp-block-list,
    .p-detail > h3.wp-block-heading + ul.wp-block-list,
    .p-detail > h3 + ol.wp-block-list,
    .p-detail > h3.wp-block-heading + ol.wp-block-list {
        margin-top: min(27 / 350 * 100%, 27px);
    }
}
.p-detail > h4 + ul.wp-block-list,
.p-detail > h4.wp-block-heading + ul.wp-block-list,
.p-detail > h4 + ol.wp-block-list,
.p-detail > h4.wp-block-heading + ol.wp-block-list {
    margin-top: min(28 / 830 * 100%, 28px);
}
@media screen and (max-width: 768px) {
    .p-detail > h4 + ul.wp-block-list,
    .p-detail > h4.wp-block-heading + ul.wp-block-list,
    .p-detail > h4 + ol.wp-block-list,
    .p-detail > h4.wp-block-heading + ol.wp-block-list {
        margin-top: min(23 / 350 * 100%, 23px);
    }
}
.p-detail > ul.wp-block-list + ul.wp-block-list,
.p-detail > ul.wp-block-list + ol.wp-block-list,
.p-detail > ol.wp-block-list + ul.wp-block-list,
.p-detail > ol.wp-block-list + ol.wp-block-list {
    margin-top: min(32 / 830 * 100%, 32px);
}
@media screen and (max-width: 768px) {
    .p-detail > ul.wp-block-list + ul.wp-block-list,
    .p-detail > ul.wp-block-list + ol.wp-block-list,
    .p-detail > ol.wp-block-list + ul.wp-block-list,
    .p-detail > ol.wp-block-list + ol.wp-block-list {
        margin-top: min(16 / 350 * 100%, 16px);
    }
}
.p-detail ul.wp-block-list > li::before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0;
}
.p-detail ol.wp-block-list {
    counter-reset: detail-ol;
}
.p-detail ol.wp-block-list > li {
    counter-increment: detail-ol;
}
.p-detail ol.wp-block-list > li::before {
    content: counter(detail-ol) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 600;
}
.p-detail > p a,
.p-detail ul.wp-block-list a,
.p-detail ol.wp-block-list a {
    color: var(--color-green-2);
    font-weight: 600;
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .p-detail > p a:hover,
    .p-detail ul.wp-block-list a:hover,
    .p-detail ol.wp-block-list a:hover {
        text-decoration: underline;
    }
    @supports (-moz-appearance: none) or (-moz-osx-font-smoothing: auto) {
        .p-detail > p a:hover,
        .p-detail ul.wp-block-list a:hover,
        .p-detail ol.wp-block-list a:hover {
            text-decoration-thickness: 1.5px;
        }
    }
}
.p-detail > p a[target=_blank]::after,
.p-detail ul.wp-block-list a[target=_blank]::after,
.p-detail ol.wp-block-list a[target=_blank]::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 5px;
    vertical-align: middle;
    background: url(../img/common/icon_extlink_green.svg) no-repeat center center/contain;
}
@media screen and (max-width: 768px) {
    .p-detail > p a[target=_blank]::after,
    .p-detail ul.wp-block-list a[target=_blank]::after,
    .p-detail ol.wp-block-list a[target=_blank]::after {
        width: 16px;
        height: 16px;
    }
}
.p-detail .wp-block-columns {
    gap: 2rem;
}
@media screen and (max-width: 768px) {
    .p-detail .wp-block-columns {
        gap: 1.5rem;
    }
}
.p-detail .wp-block-column > *:not(:last-child) {
    margin-bottom: var(--margin-btm);
}
.p-detail .wp-block-column > p {
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.85;
    color: var(--color-base-1);
}
@media screen and (max-width: 768px) {
    .p-detail .wp-block-column > p {
        line-height: 2;
    }
}
.p-detail .wp-block-media-text {
    display: block;
    clear: both;
}
.p-detail .wp-block-media-text__media {
    margin: 0 0 16px 16px;
    float: right;
}
.p-detail .wp-block-media-text__content {
    padding: 0;
}
.p-detail .wp-element-caption {
    font-size: calc(14 / var(--root-fz) * 1rem);
    text-align: left;
}

/* ---------------------------------------------
*   p-detail-main
--------------------------------------------- */
.p-detail-main {
    /* テーマカスタマイズ (F10): メインビジュアル直下にキャプション (生成AI画像の注記用)
       WP 投稿の「抜粋」フィールドを `<figcaption>` で出力。
       テキストスタイルは記事内画像と同じ c-txt-3--caption を使用。
       SP では親 figure が画面幅 100vw に拡張されるため左右にパディングを追加。
       M02: 左寄せに統一。 */
}
.p-detail-main__top {
    display: flex;
    flex-direction: column;
    gap: min(30 / var(--design-width) * 100vw, 30px);
    padding-bottom: min(32 / 830 * 100%, 32px);
    border-bottom: 1px solid var(--color-gray-2);
}
@media screen and (max-width: 768px) {
    .p-detail-main__top {
        gap: min(20 / var(--design-width) * 100vw, 20px);
        padding-bottom: min(20 / 350 * 100%, 20px);
    }
}
.p-detail-main__ttl {
    margin-block: var(--leading-trim);
}
.p-detail-main__tag-wrap {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
@media screen and (max-width: 768px) {
    .p-detail-main__tag-wrap {
        flex-direction: column;
        align-items: flex-start;
        gap: min(20 / var(--design-width) * 100vw, 20px);
    }
}
@media print, screen and (min-width: 769px) {
    .p-detail-main__date {
        flex-shrink: 0;
        transform: translateY(20%);
    }
}
.p-detail-main__author-wrap {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    margin-top: min(24 / 830 * 100%, 24px);
}
@media screen and (max-width: 768px) {
    .p-detail-main__author-wrap {
        gap: 8px;
        margin-top: min(20 / 350 * 100%, 20px);
    }
}
.p-detail-main__author-wrap > :first-child {
    flex-shrink: 0;
}
.p-detail-main__author {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px 8px;
}
@media screen and (max-width: 768px) {
    .p-detail-main__author {
        gap: min(13 / var(--design-width) * 100vw, 13px);
    }
}
.p-detail-main__author-name {
    margin-block: var(--leading-trim);
}
.p-detail-main__author-name:not(:last-of-type) {
    position: relative;
}
.p-detail-main__author-name:not(:last-of-type)::after {
    content: "/";
    display: none;
    position: absolute;
    top: 50%;
    right: -6px;
    transform: translateY(-38%);
    color: var(--color-base-1);
    margin-block: var(--leading-trim);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1;
    /* 22.5px */
}
@media screen and (max-width: 768px) {
    .p-detail-main__author-name:not(:last-of-type)::after {
        display: none;
    }
}
.p-detail-main__kv {
    margin-top: min(34 / 830 * 100%, 34px);
    width: 100%;
}
@media screen and (max-width: 768px) {
    .p-detail-main__kv {
        margin-top: min(24 / 350 * 100%, 24px);
        margin-inline: calc(50% - 50vw);
        width: 100vw;
    }
}
@media screen and (max-width: 768px) {
    .windows .p-detail-main__kv {
        margin-inline: calc(50% - 50cqw);
        width: 100cqw;
    }
}

.p-detail-main__kv img {
    width: 100%;
}
@media print, screen and (min-width: 769px) {
    .p-detail-main__kv img {
        border-radius: 10px;
    }
}
.p-detail-main__kv video {
    display: block;
    width: 100%;
    height: auto;
}
@media print, screen and (min-width: 769px) {
    .p-detail-main__kv video {
        border-radius: 10px;
    }
}
.p-detail-main__kv.is-playicon {
    position: relative;
}
.p-detail-main__kv-caption {
    margin-top: min(24 / 830 * 100%, 24px);
    text-align: left;
}
@media screen and (max-width: 768px) {
    .p-detail-main__kv-caption {
        margin-top: min(12 / 350 * 100%, 12px);
        padding-inline: min(20 / var(--design-width) * 100vw, 20px);
    }
}

/* ---------------------------------------------
*   テーマカスタマイズ (M02): 記事詳細の画像キャプションは左寄せ
*   - p-detail-main__kv-caption (アイキャッチ直下): 上で対応済
*   - c-img-1__figure-txt (本文中の画像モーダルブロックのキャプション)
*   - c-column-1__figure-txt / c-column-2__figure-txt (メディア+テキストブロック)
*   全て article-detail ページ配下に限定
--------------------------------------------- */
.article-detail .c-img-1__figure-txt,
.article-detail .c-column-1__figure-txt,
.article-detail .c-column-2__figure-txt {
    text-align: left;
}

/* ---------------------------------------------
*   テーマカスタマイズ: 動画の再生ボタン (MV / 本文 共通)
*
*   .is-playicon が付いた動画ラッパー (MV: p-detail-main__kv--video /
*   本文: wp-block-video) のポスター上に、80×80 の再生ボタンを重ねる。
*   JS再生方式 — 初期は <video> に controls を付けないため、ブラウザ標準の
*   再生ボタンは全ブラウザで表示されない。クリックで common.js が controls を
*   付与して再生し、ラッパーに is-playing が付いてボタンが消える。
--------------------------------------------- */
.wp-block-video.is-playicon {
    position: relative;
}

.is-playicon.is-playing .c-video-play {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.c-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    display: block;
    padding: 0;
    width: 80px;
    height: 80px;
    border: 0;
    border-radius: 50%;
    background: url(../img/common/icon_play.svg) no-repeat center center/contain;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}
@media screen and (max-width: 768px) {
    .c-video-play {
        width: min(56 / var(--design-width) * 100vw, 56px);
        height: min(56 / var(--design-width) * 100vw, 56px);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-video-play:hover {
        transform: translate(-50%, -50%) scale(1.06);
    }
}

.js-video-tap {
    cursor: pointer;
}

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

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

.fw-semibold {
    font-weight: 600 !important;
}

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

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

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

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

/*  .js-tab-target
--------------------------------------------- */
.js-tab-target {
    display: none;
}
.js-tab-target.is-current {
    display: block;
}

/*  .js-about-acc-target
--------------------------------------------- */
@media print, screen and (min-width: 769px) {
    .js-about-acc-trigger {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .js-about-acc-target {
        overflow: hidden;
    }
}
@media screen and (max-width: 768px) {
    .js-about-acc-scope.is-open .js-about-acc-target {
        display: block;
        animation: openAboutAccAnim 0.5s forwards;
    }
}

@media screen and (max-width: 768px) {
    .js-about-acc-scope.is-close .js-about-acc-target {
        display: none;
        animation: closeAboutAccAnim 0.5s forwards;
    }
}

@keyframes openAboutAccAnim {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes closeAboutAccAnim {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

/*  .js-acc-target
--------------------------------------------- */
@media screen and (max-width: 1170px) {
    .js-acc-target {
        --acc-body-height: 0px;
        height: 0;
        overflow: hidden;
    }
}
@media screen and (max-width: 1170px) {
    .js-acc-scope.is-close .js-acc-target {
        animation: closeAccAnim 0.5s forwards;
    }
}

@media screen and (max-width: 1170px) {
    .js-acc-scope.is-open .js-acc-target {
        animation: openAccAnim 0.5s forwards;
    }
}

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

/*  .js-acc-sp-target
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .js-acc-sp-target {
        --acc-body-height: 0px;
        height: 0;
        overflow: hidden;
        transform-origin: top center;
    }
}
@media screen and (max-width: 768px) {
    .js-acc-sp-scope.is-close .js-acc-sp-target {
        animation: closeAccSpAnim 0.3s forwards;
    }
}

@media screen and (max-width: 768px) {
    .js-acc-sp-scope.is-open .js-acc-sp-target {
        animation: openAccSpAnim 0.3s forwards;
    }
}

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

/*  .js-hidden
--------------------------------------------- */
.is-hidden {
    display: none !important;
}

/*  .js-select-scope
--------------------------------------------- */
.js-select-scope {
    display: flex;
    flex-direction: column;
    position: relative;
    cursor: pointer;
}
.js-select-scope.is-open {
    animation: openAccAnim 0.5s forwards;
}
.js-select-scope.is-close {
    animation: closeAccAnim 0.5s forwards;
}

/* 選択中以外のアイテム：初期状態は隠す */
.js-select-item:not(.is-current) {
    --acc-body-height: 0px;
    height: 0;
    overflow: hidden;
    visibility: hidden;
}

/* 選択中のアイテム：常に表示し、最上部へ */
.js-select-item.is-current {
    order: -1;
    display: block !important;
}

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