@charset "UTF-8";
/* ---------------------------------------------
*   Custom Properties
--------------------------------------------- */
:root {
    --design-width: 1280;
    --contents-width: 1120;
    --contents-side-padding: 45;
    --minwidth: calc(var(--contents-width) + var(--contents-side-padding) * 2);
    --fixed-header-height: 90;
    --root-fz: 16;
    --line-height: 1.5;
    --letter-spacing: -0.02em;
    --hover-opacity-ratio: 0.7;
    --hover-duration: .3s;
    --color-base-1: #000000;
    --color-base-1-rgb: 0, 0, 0;
    --color-black-1: #000000;
    --color-black-1-rgb: 0, 0, 0;
    --color-black-2: #222222;
    --color-black-2-rgb: 34, 34, 34;
    --color-black-3: #280000;
    --color-black-3-rgb: 40, 0, 0;
    --color-white-1: #fff;
    --color-white-1-rgb: 255, 255, 255;
    --color-gray-1: #828282;
    --color-gray-1-rgb: 130, 130, 130;
    --color-gray-2: #E2E1E1;
    --color-gray-2-rgb: 226, 225, 225;
    --color-gray-3: #C2C2C2;
    --color-gray-3-rgb: 194, 194, 194;
    --color-gray-4: #F1F1F1;
    --color-gray-4-rgb: 241, 241, 241;
    --color-theme-1: #12A7C9;
    --color-theme-1-rgb: 18, 167, 201;
    --color-theme-2: #61CCEF;
    --color-theme-2-rgb: 97, 204, 239;
    --color-blue-1: #C5E5F0;
    --color-blue-1-rgb: 197, 229, 240;
    --color-blue-2: #E6F1F5;
    --color-blue-2-rgb: 230, 241, 245;
    --color-blue-3: #EFFBFF;
    --color-blue-3-rgb: 239, 251, 255;
    --color-blue-4: #EDF6FF;
    --color-blue-4-rgb: 237, 246, 255;
    --color-blue-5: #C3EFFC;
    --color-blue-5-rgb: 195, 239, 252;
    --color-blue-6: #DFF5FC;
    --color-blue-6-rgb: 223, 245, 252;
    --color-blue-7: #F2FCFF;
    --color-blue-7-rgb: 242, 252, 255;
    --color-beige-1: #FAF8F1;
    --color-beige-1-rgb: 250, 248, 241;
    --color-grad-1: #12A7C9;
    --color-grad-1-rgb: 18, 167, 201;
    --color-grad-2: #15B4D8;
    --color-grad-2-rgb: 21, 180, 216;
    --color-grad-3: #EFFBFF;
    --color-grad-3-rgb: 239, 251, 255;
    --color-shadow-1: #216F90;
    --color-shadow-1-rgb: 33, 111, 144;
    --ff-root: "Noto Sans JP", sans-serif;
    --ff-montserrat: "Montserrat", sans-serif;
}
@media screen and (max-width: 768px) {
    :root {
        --design-width: 375;
        --contents-width: 335;
        --contents-side-padding: 20;
        --minwidth: 320;
        --fixed-header-height: 56;
        --root-fz: 16;
        --line-height: 1.5;
    }
}

/* ---------------------------------------------
*   l-wrapper base
--------------------------------------------- */
@layer base {
    .l-wrapper {
        font-family: var(--ff-root);
        overflow: clip;
        /* ---------------------------------------------
        *   <a> tag
        --------------------------------------------- */
        /* ---------------------------------------------
        *   <button> tag
        --------------------------------------------- */
        /* ---------------------------------------------
        *   <img> tag
        --------------------------------------------- */
    }
    .l-wrapper a {
        color: inherit;
        cursor: pointer;
    }
    .l-wrapper button {
        font-family: inherit;
        cursor: pointer;
    }
    .l-wrapper img {
        max-width: 100%;
        height: auto;
        vertical-align: bottom;
    }
}
/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
.l-wrapper {
    /* ---------------------------------------------
    *   <hr> tag as anchor target
    --------------------------------------------- */
}
.l-wrapper hr[id] {
    display: block;
    width: auto;
    height: 0;
    padding: calc(var(--fixed-header-height) * 1px) 0 0 0;
    border: 0;
    margin: calc(var(--fixed-header-height) * -1px) 0 0 0;
    background: 0;
    pointer-events: none;
}

/* ---------------------------------------------
*   l-header
--------------------------------------------- */
.l-header {
    height: calc(var(--fixed-header-height) * 1px);
    display: grid;
    align-items: center;
    background-color: var(--color-white-1);
    position: sticky;
    top: 0;
    left: 0;
    z-index: 90;
    box-shadow: 0 4px 4px 0 rgba(var(--color-shadow-1-rgb), 0.06);
    /*  l-header-menu
    --------------------------------------------- */
    /*  l-header-menu-button
    --------------------------------------------- */
}
.l-header__container {
    width: 100%;
    margin-inline: auto;
    padding-inline: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}
@media screen and (min-width: 769px) {
    .l-header__container {
        max-width: calc(var(--design-width) * 1px);
    }
}
@media screen and (max-width: 1200px) {
    .l-header__container {
        padding-right: 0;
        gap: 0.5em;
    }
}
@media screen and (max-width: 768px) {
    .l-header__container {
        padding-inline: 20px 18px;
    }
}
.l-header__logo {
    display: inline-block;
    max-width: 380px;
}
@media (hover: hover) and (pointer: fine) {
    .l-header__logo {
        transition: opacity var(--hover-duration);
    }
    .l-header__logo:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .l-header__logo {
        max-width: 240px;
    }
}
@media screen and (min-width: 769px) {
    .l-header .l-header-menu {
        display: block !important;
    }
}
@media screen and (max-width: 768px) {
    .l-header .l-header-menu {
        position: fixed;
        top: calc(var(--menu-top) + var(--fixed-header-height) * 1px);
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        opacity: 0;
        overscroll-behavior-y: none;
        overflow-y: hidden;
        visibility: hidden;
        scrollbar-width: none;
    }
    .l-header .l-header-menu::-webkit-scrollbar {
        display: none;
    }
    .l-header .l-header-menu.is-animating {
        transition: opacity 0.3s, visibility 0.3s;
    }
    .is-stuck .l-header-menu {
        top: calc(var(--fixed-header-height) * 1px);
    }
    .is-menu-opened .l-header .l-header-menu {
        opacity: 1;
        visibility: visible;
    }
}
@media screen and (min-width: 769px) {
    .l-header .l-header-menu__container {
        margin-right: 5px;
    }
}
@media screen and (max-width: 768px) {
    .l-header .l-header-menu__container {
        overflow-y: auto;
        height: calc(100% + 1px);
        box-sizing: border-box;
        padding: 18px 30px 80px;
        background-color: var(--color-theme-1);
        scrollbar-width: none;
    }
    .l-header .l-header-menu__container::-webkit-scrollbar {
        display: none;
    }
}
@media screen and (min-width: 769px) {
    .l-header .l-header-menu__btn {
        display: none;
    }
}
@media screen and (max-width: 768px) {
    .l-header .l-header-menu__btn {
        margin-block: 40px;
    }
}
@media screen and (min-width: 769px) {
    .l-header .l-header-menu__account {
        display: none;
    }
}
@media screen and (max-width: 768px) {
    .l-header .l-header-menu__account {
        display: flex;
    }
}
@media screen and (max-width: 768px) {
    .l-header .l-header-menu__account-txt {
        color: var(--color-white-1);
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 1.4;
        font-weight: 700;
    }
}
@media screen and (max-width: 768px) {
    .l-header .l-header-menu__account-link {
        display: block;
        will-change: opacity;
    }
}
@media screen and (max-width: 768px) and (hover: hover) and (pointer: fine) {
    .l-header .l-header-menu__account-link {
        transition: opacity var(--hover-duration);
    }
    .l-header .l-header-menu__account-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .l-header .l-header-menu__account-link:first-of-type {
        margin-left: 26px;
    }
}
@media screen and (max-width: 768px) {
    .l-header .l-header-menu__account-link:first-of-type {
        margin-left: 32px;
    }
}
@media screen and (max-width: 768px) {
    .l-header .l-header-menu__account-link:not(:first-of-type) {
        margin-left: 16px;
    }
}
@media screen and (max-width: 768px) {
    .l-header .l-header-menu__account-link:not(:first-of-type) {
        margin-left: 24px;
    }
}
.l-header .l-header-menu-button {
    display: none;
    position: relative;
    touch-action: manipulation;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .l-header .l-header-menu-button {
        transition: opacity var(--hover-duration);
    }
    .l-header .l-header-menu-button:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .l-header .l-header-menu-button {
        display: block;
    }
}
.l-header .l-header-menu-button__lines {
    position: relative;
    display: block;
    width: 38px;
    height: 20px;
}
.l-header .l-header-menu-button__line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 2px;
    background-color: var(--color-theme-1);
    transition: 0.3s;
    border-radius: 50em;
}
.l-header .l-header-menu-button__line--top {
    top: 0;
}
.is-menu-opened .l-header .l-header-menu-button__line--top {
    top: 50%;
    transform: translateY(-50%) rotate(25deg);
}

.l-header .l-header-menu-button__line--center {
    top: 50%;
    margin-top: -1px;
}
.is-menu-opened .l-header .l-header-menu-button__line--center {
    background-color: rgba(0, 0, 0, 0);
}

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

/* ---------------------------------------------
*   l-container
--------------------------------------------- */
.l-container {
    margin-inline: auto;
    padding-inline: calc(var(--contents-side-padding) * 1px);
}
@media screen and (min-width: 769px) {
    .l-container {
        max-width: calc((var(--contents-width) + var(--contents-side-padding) * 2) * 1px);
    }
}
@media screen and (max-width: 768px) {
    .l-container {
        padding-inline: calc(var(--contents-side-padding) / var(--design-width) * 100%);
    }
}

@media screen and (min-width: 769px) {
    .l-container-pc {
        max-width: calc((var(--contents-width) + var(--contents-side-padding) * 2) * 1px);
        margin-inline: auto;
        padding-inline: calc(var(--contents-side-padding) * 1px);
    }
}

@media screen and (max-width: 768px) {
    .l-container-sp {
        margin-inline: auto;
        padding-inline: calc(var(--contents-side-padding) / var(--design-width) * 100%);
    }
}

/* ---------------------------------------------
*   l-container-small
--------------------------------------------- */
.l-container-small {
    margin-inline: auto;
}
@media screen and (min-width: 769px) {
    .l-container-small {
        max-width: 720px;
    }
}

/* ---------------------------------------------
*   l-container-middle
--------------------------------------------- */
.l-container-middle {
    margin-inline: auto;
    background-color: var(--color-white-1);
}
@media screen and (min-width: 769px) {
    .l-container-middle {
        max-width: 920px;
    }
}

/* ---------------------------------------------
*   l-footer
--------------------------------------------- */
.l-footer {
    padding-block: 50px 52px;
    background-color: var(--color-theme-1);
    /*  l-footer-nav
    --------------------------------------------- */
}
@media screen and (max-width: 768px) {
    .l-footer {
        padding-block: 44px;
    }
}
.l-footer__container {
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: space-between;
    gap: 100px;
}
@media screen and (max-width: 1024px) {
    .l-footer__container {
        gap: 80px;
    }
}
@media screen and (max-width: 768px) {
    .l-footer__container {
        padding-inline: 20px;
        grid-template-columns: 1fr;
        gap: 0;
    }
}
.l-footer__logo {
    display: inline-block;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer__logo {
        transition: opacity var(--hover-duration);
    }
    .l-footer__logo:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (min-width: 769px) {
    .l-footer__logo {
        max-width: 562px;
    }
}
@media screen and (max-width: 768px) {
    .l-footer__logo {
        display: block;
        margin-inline: auto;
    }
}
.l-footer__account {
    margin-top: 54px;
    display: flex;
}
@media screen and (max-width: 768px) {
    .l-footer__account {
        margin-top: 32px;
        padding-bottom: 9px;
        justify-content: space-between;
        border-bottom: 2px solid var(--color-blue-1);
    }
}
.l-footer__account-txt {
    color: var(--color-white-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    line-height: 1.4;
    font-weight: 700;
}
.l-footer__account-link-wrap {
    display: flex;
}
.l-footer__account-link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer__account-link {
        transition: opacity var(--hover-duration);
    }
    .l-footer__account-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (min-width: 769px) {
    .l-footer__account-link:first-of-type {
        margin-left: 26px;
    }
}
.l-footer__account-link:not(:first-of-type) {
    margin-left: 16px;
}
@media screen and (max-width: 768px) {
    .l-footer__account-link:not(:first-of-type) {
        margin-left: 24px;
    }
}
@media screen and (min-width: 769px) {
    .l-footer .l-footer-nav {
        padding-right: 10px;
    }
}
@media screen and (min-width: 1025px) {
    .l-footer .l-footer-nav {
        width: 405px;
    }
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
    .l-footer .l-footer-nav {
        width: 278px;
    }
}
@media screen and (max-width: 768px) {
    .l-footer .l-footer-nav {
        margin-top: 18px;
    }
}
.l-footer .l-footer-nav__list {
    max-height: 135px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 15px 104px;
}
@media screen and (max-width: 1024px) {
    .l-footer .l-footer-nav__list {
        -moz-column-gap: 74px;
             column-gap: 74px;
    }
}
@media screen and (max-width: 768px) {
    .l-footer .l-footer-nav__list {
        align-content: flex-start;
        gap: 16px 10px;
    }
}
@media screen and (min-width: 1025px) {
    .l-footer .l-footer-nav__item {
        min-width: 145px;
    }
}
@media screen and (max-width: 768px) {
    .l-footer .l-footer-nav__item {
        width: 40%;
    }
}
.l-footer .l-footer-nav__link {
    display: inline-block;
}
.l-footer .l-footer-nav__link-txt {
    padding-bottom: 4px;
    color: var(--color-white-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    background-image: linear-gradient(var(--color-white-1), var(--color-white-1));
    background-position: 0 100%;
    background-size: 0 1px;
    background-repeat: no-repeat;
    transition: background-size 0.3s;
}
@media screen and (max-width: 768px) {
    .l-footer .l-footer-nav__link-txt {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-footer .l-footer-nav__link:hover .l-footer-nav__link-txt {
        background-size: 100% 1px;
    }
}

/* ---------------------------------------------
*   l-footer-page-top
--------------------------------------------- */
.l-footer-page-top {
    display: grid;
    place-items: center;
    width: 70px;
    margin-inline: auto 0;
    aspect-ratio: 1/1;
    background-color: var(--color-theme-1);
    transition: background-color 0.3s, opacity 0.3s, visibility 0.3s;
    border-radius: 50%;
    position: sticky;
    bottom: 20px;
    right: 20px;
    z-index: 100;
}
@media screen and (min-width: 769px) {
    .l-footer-page-top {
        margin-top: -90px;
        margin-bottom: 20px;
    }
}
@media screen and (max-width: 768px) {
    .l-footer-page-top {
        position: absolute;
        width: 60px;
        bottom: calc(100% + 10px);
        right: 10px;
    }
}
@media screen and (min-width: 769px) {
    .l-footer-page-top {
        opacity: 0;
        visibility: hidden;
    }
    .l-footer-page-top.is-show {
        opacity: 1;
        visibility: visible;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-page-top:hover {
        background-color: var(--color-white-1);
    }
}
.l-footer-page-top__icon::before, .l-footer-page-top__icon::after {
    content: "";
    display: block;
}
.l-footer-page-top__icon::before {
    width: 13.5px;
    aspect-ratio: 13.5/10;
    -webkit-mask: url(../img/common/icon/ico_page-top.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_page-top.svg) no-repeat center/contain;
    background-color: var(--color-white-1);
    transition: background-color 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .l-footer-page-top__icon::before {
        width: 12px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-page-top:hover .l-footer-page-top__icon::before {
        background-color: var(--color-theme-1);
    }
}
.l-footer-page-top__icon::after {
    width: 60px;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/circle.svg) no-repeat center/contain;
            mask: url(../img/common/circle.svg) no-repeat center/contain;
    background-color: rgba(var(--color-white-1-rgb), 0.4);
    transition: background-color 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
@media screen and (max-width: 768px) {
    .l-footer-page-top__icon::after {
        width: 51.4285714286px;
        -webkit-mask-image: url(../img/common/sp/circle.svg);
                mask-image: url(../img/common/sp/circle.svg);
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-page-top:hover .l-footer-page-top__icon::after {
        animation: rotateLoop 2.4s linear infinite;
        background-color: var(--color-theme-1);
    }
}
.l-footer-page-top__icon-inner {
    display: block;
    width: 48px;
    aspect-ratio: 1/1;
    transition: background-color 0.3s;
    background-color: transparent;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .l-footer-page-top__icon-inner {
        width: 41.1428571429px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-page-top:hover .l-footer-page-top__icon-inner {
        background-color: var(--color-white-1);
    }
}

/* ---------------------------------------------
*   c-block-bg-grad
--------------------------------------------- */
.c-block-bg-grad {
    position: relative;
    margin-bottom: -1px;
}
.c-block-bg-grad::before, .c-block-bg-grad::after {
    content: "";
    display: block;
    width: 100%;
    height: 321px;
    position: absolute;
    left: 0;
    z-index: -1;
}
@media screen and (max-width: 768px) {
    .c-block-bg-grad::before, .c-block-bg-grad::after {
        height: calc(160 / var(--design-width) * 100vw);
    }
}
.c-block-bg-grad::before {
    top: 1px;
    background: linear-gradient(0deg, var(--color-grad-1) 0%, var(--color-grad-2) 27.4%, rgba(var(--color-grad-1-rgb), 0) 100%);
}
.c-block-bg-grad::after {
    bottom: 1px;
    background: linear-gradient(180deg, var(--color-grad-1) 0%, var(--color-grad-2) 27.4%, rgba(var(--color-grad-1-rgb), 0) 100%);
}
.c-block-bg-grad--type2::before {
    height: 197px;
}
@media screen and (max-width: 768px) {
    .c-block-bg-grad--type2::before {
        height: 81px;
    }
}
.c-block-bg-grad--type2::after {
    background: linear-gradient(180deg, var(--color-grad-1) 0%, var(--color-grad-2) 27%, var(--color-grad-3) 50%, var(--color-grad-3) 100%);
}
@media screen and (min-width: 769px) {
    .c-block-bg-grad--type2::after {
        height: 391px;
    }
}
.c-block-bg-grad__inner::before {
    content: "";
    display: block;
    width: 100%;
    height: calc(100% - 640px);
    background-color: var(--color-theme-1);
    position: absolute;
    top: 50%;
    left: 0;
    z-index: -1;
    transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
    .c-block-bg-grad__inner::before {
        height: calc(100% - 320px);
    }
}
.c-block-bg-grad--type2 .c-block-bg-grad__inner::before {
    height: calc(100% - 390px - 196px);
    top: 196px;
    transform: none;
}
@media screen and (max-width: 768px) {
    .c-block-bg-grad--type2 .c-block-bg-grad__inner::before {
        height: calc(100% - 80px - 160 / var(--design-width) * 100vw);
        top: 80px;
    }
}

/* ---------------------------------------------
*   c-block-bg-clip
--------------------------------------------- */
.c-block-bg-clip {
    padding-bottom: calc(68 / var(--design-width) * 100vw);
    position: relative;
}
@media screen and (max-width: 768px) {
    .c-block-bg-clip {
        padding-bottom: calc(21 / var(--design-width) * 100vw);
    }
}
.c-block-bg-clip::after {
    content: "";
    display: block;
    width: 100%;
    height: calc(68 / var(--design-width) * 100vw);
    -webkit-mask: url(../img/common/img_mask.svg) no-repeat center/100% 100%;
            mask: url(../img/common/img_mask.svg) no-repeat center/100% 100%;
    background-color: var(--color-blue-3);
    position: absolute;
    left: 0;
    bottom: 2px;
}
@media screen and (max-width: 768px) {
    .c-block-bg-clip::after {
        height: calc(20.5 / var(--design-width) * 100vw);
        bottom: calc(1.5 / var(--design-width) * 100vw);
    }
}
.c-block-bg-clip--blue::after {
    background-color: var(--color-theme-1);
}
.c-block-bg-clip__inner {
    background-color: var(--color-blue-3);
}
.c-block-bg-clip--blue .c-block-bg-clip__inner {
    background-color: var(--color-theme-1);
}

/* ---------------------------------------------
*   c-block-loop
--------------------------------------------- */
.c-block-loop {
    display: flex;
    justify-content: flex-start;
    overflow: hidden;
}
.c-block-loop__img {
    --duration: 30s;
    width: 1310px;
    flex-shrink: 0;
    will-change: transform;
    backface-visibility: hidden;
    animation: loop-x var(--duration) linear infinite;
    transform: translateZ(0);
}
@media screen and (max-width: 768px) {
    .c-block-loop__img {
        width: calc(537 / var(--design-width) * 100vw);
    }
}
.c-block-loop__img img {
    display: block;
    width: 100%;
}
@keyframes loop-x {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

/* ---------------------------------------------
*   c-block-return
--------------------------------------------- */
.c-block-return {
    padding-block: 60px 80px;
}
@media screen and (max-width: 768px) {
    .c-block-return {
        padding-top: 40px;
    }
}
.c-block-return__inner {
    padding-top: 30px;
    border-top: 2px solid var(--color-blue-1);
}
.c-block-return__link {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
}

/* ---------------------------------------------
*   p-block-event
--------------------------------------------- */
.p-block-event {
    margin-top: 58px;
    padding-block: 21px 42px;
    position: relative;
}
@media screen and (max-width: 768px) {
    .p-block-event {
        margin-top: 18px;
        padding-bottom: 42px;
    }
}
.p-block-event__ttl {
    width: -moz-fit-content;
    width: fit-content;
    padding: 10px 20px;
    color: var(--color-white-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
    background-color: var(--color-theme-1);
    border-radius: 50em;
    position: absolute;
    top: 0;
    left: 60px;
}
@media screen and (max-width: 768px) {
    .p-block-event__ttl {
        font-size: calc(16 / var(--root-fz) * 1rem);
        left: 19px;
    }
}
.p-block-event__inner {
    padding: 60px min(56 / var(--contents-width) * 100%, 56px);
    background-color: var(--color-white-1);
    border-radius: 20px;
    border: 2px solid var(--color-blue-1);
}
@media screen and (max-width: 768px) {
    .p-block-event__inner {
        padding: 50px 28px 40px;
    }
}

/* ---------------------------------------------
*   c-box-1
--------------------------------------------- */
.c-box-1 {
    padding: 24px 20px;
    background-color: var(--color-white-1);
    border-radius: 20px;
}
@media screen and (max-width: 768px) {
    .c-box-1 {
        padding: 19px 20px;
        border-radius: 10px;
    }
}
.c-box-1__list-item {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 20px;
}
@media screen and (max-width: 1024px) {
    .c-box-1__list-item {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}
.c-box-1__list-item:not(:first-of-type) {
    margin-top: 20px;
}
@media screen and (min-width: 1025px) {
    .c-box-1__list-item:not(:first-of-type) {
        padding-top: 14px;
        border-top: 2px solid var(--color-blue-1);
    }
}
.c-box-1__txt {
    font-size: calc(14 / var(--root-fz) * 1rem);
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .c-box-1__txt {
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}
.c-box-1__desc {
    font-size: calc(14 / var(--root-fz) * 1rem);
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .c-box-1__desc {
        margin-top: -5px;
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}
.c-box-1__link {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
@media screen and (max-width: 768px) {
    .c-box-1__link {
        gap: 16px;
    }
}
.c-box-1__desc + .c-box-1__link {
    margin-top: 10px;
}
@media screen and (max-width: 768px) {
    .c-box-1__desc + .c-box-1__link {
        margin-top: 8px;
    }
}

/* ---------------------------------------------
*   c-box-2
--------------------------------------------- */
.c-box-2 {
    padding: 26px 28px;
    border-radius: 20px;
    border: 2px solid var(--color-blue-1);
}
@media screen and (max-width: 768px) {
    .c-box-2 {
        padding: 20px 24px;
    }
}
.c-box-2__head {
    display: flex;
    gap: 14px;
}
@media screen and (max-width: 768px) {
    .c-box-2__head {
        gap: 26px;
    }
}
.c-box-2__ttl {
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
}
.c-box-2__txt {
    margin-top: 3px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
}
.c-box-2__img {
    flex-shrink: 0;
}
@media screen and (min-width: 769px) {
    .c-box-2__img {
        max-width: 74px;
    }
}
@media screen and (max-width: 768px) {
    .c-box-2__img {
        width: 26.0563380282%;
    }
}
.c-box-2__desc {
    margin-top: 5px;
}
@media screen and (max-width: 768px) {
    .c-box-2__desc {
        margin-top: 10px;
    }
}
.c-box-2__link {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 4px;
    margin-inline: auto 0;
}

/* ---------------------------------------------
*   c-box-3
--------------------------------------------- */
.c-box-3 {
    padding: 28px 38px;
    border-radius: 20px;
    border: 2px solid var(--color-blue-1);
    background-color: var(--color-blue-3);
}
@media screen and (max-width: 768px) {
    .c-box-3 {
        padding: 19px 18px;
    }
}

/* ---------------------------------------------
*   c-box-4
--------------------------------------------- */
.c-box-4 {
    padding: 20px 30px 32px;
    background-color: var(--color-white-1);
    border-radius: 20px;
}
@media screen and (max-width: 768px) {
    .c-box-4 {
        padding: 18px 20px 18px;
    }
}
.c-box-4 + .c-box-4 {
    margin-top: 20px;
}
@media screen and (max-width: 768px) {
    .c-box-4 + .c-box-4 {
        margin-top: 16px;
    }
}
.c-box-4__ttl {
    padding-bottom: 14px;
    color: var(--color-theme-1);
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
    border-bottom: 2px solid var(--color-blue-1);
}
@media screen and (max-width: 768px) {
    .c-box-4__ttl {
        padding-bottom: 12px;
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}
.c-box-4__body {
    margin-top: 22px;
    gap: 4.2016806723%;
}
@media screen and (min-width: 769px) {
    .c-box-4__body {
        display: grid;
        grid-template-columns: 1fr 42.8571428571%;
    }
}
@media screen and (max-width: 900px) {
    .c-box-4__body {
        margin-top: 16px;
        display: flex;
        flex-direction: column-reverse;
        gap: 20px;
    }
}
.c-box-4__desc {
    text-align: justify;
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 2;
    letter-spacing: var(--letter-spacing);
}
@media screen and (min-width: 901px) {
    .c-box-4__desc {
        margin-top: -0.7em;
    }
}

/* ---------------------------------------------
*   c-box-movie
--------------------------------------------- */
.c-box-movie {
    aspect-ratio: 720/405;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .c-box-movie {
        margin-inline: auto;
    }
}
.c-box-movie video {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-box-movie__movie-icon {
    display: block;
    width: 86px;
    aspect-ratio: 1/1;
    background-color: var(--color-grad-1);
    transition: background-color 0.3s;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .c-box-movie__movie-icon {
        width: 14.9253731343%;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-box-movie__movie-btn:hover .c-box-movie__movie-icon {
        background-color: var(--color-white-1);
    }
}
.c-box-movie__movie-icon::before, .c-box-movie__movie-icon::after {
    content: "";
    display: block;
}
.c-box-movie__movie-icon::before {
    width: 15px;
    aspect-ratio: 15/19;
    -webkit-mask: url(../img/common/icon/ico_play.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_play.svg) no-repeat center/contain;
    background-color: var(--color-white-1);
    transition: background-color 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-35%, -50%);
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .c-box-movie__movie-icon::before {
        width: 18%;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-box-movie__movie-btn:hover .c-box-movie__movie-icon::before {
        background-color: var(--color-theme-1);
    }
}
.c-box-movie__movie-icon::after {
    width: 75px;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/circle.svg) no-repeat center/contain;
            mask: url(../img/common/circle.svg) no-repeat center/contain;
    background-color: rgba(var(--color-white-1-rgb), 0.4);
    transition: background-color 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
@media screen and (max-width: 768px) {
    .c-box-movie__movie-icon::after {
        width: 86%;
        -webkit-mask-image: url(../img/common/sp/circle.svg);
                mask-image: url(../img/common/sp/circle.svg);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-box-movie__movie-btn:hover .c-box-movie__movie-icon::after {
        animation: rotateLoop 2.4s linear infinite;
        background-color: var(--color-theme-1);
    }
}
.c-box-movie__movie-btn {
    position: absolute;
    inset: 0;
    z-index: 10;
    cursor: pointer;
    background-color: rgba(var(--color-white-1-rgb), 0);
    will-change: background-color;
    transition: background-color var(--hover-duration);
}
.c-box-movie__movie-btn:disabled {
    display: none;
}
.c-box-movie__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-box-movie a[target] {
    color: inherit;
    text-decoration: none;
}
.c-box-movie a[target]::after {
    content: none !important;
}

/*  キャプション用
--------------------------------------------- */
.c-box-movie + .c-box-movie-cap {
    color: var(--color-black-1);
    font-size: calc(13 / var(--root-fz) * 1rem);
    line-height: 1.8;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .c-box-movie + .c-box-movie-cap {
        font-size: calc(12 / var(--root-fz) * 1rem);
        line-height: 1.7;
    }
}
.c-box-movie + .c-box-movie-cap:not(:first-of-type) {
    margin-top: 12px;
}
@media screen and (max-width: 768px) {
    .c-box-movie + .c-box-movie-cap:not(:first-of-type) {
        margin-top: 8px;
    }
}

/* ---------------------------------------------
*   c-btn-1
--------------------------------------------- */
.c-btn-1 {
    display: block;
    padding: 20px 0.5em;
    color: var(--color-theme-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    text-align: center;
    line-height: 1.6;
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    background-color: var(--color-white-1);
    border-radius: 50em;
    will-change: opacity;
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-1 {
        transition: opacity var(--hover-duration);
    }
    .c-btn-1:hover {
        opacity: var(--hover-opacity-ratio);
    }
}

/* ---------------------------------------------
*   c-btn-2
--------------------------------------------- */
.c-btn-2 {
    display: block;
    width: 100%;
    padding: 24.5px 0.5em;
    color: var(--color-black-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    border: 2px solid var(--color-blue-1);
    border-radius: 50em;
    background-color: var(--color-white-1);
    transition: background-color var(--hover-duration), border-color var(--hover-duration), color var(--hover-duration);
}
@media screen and (max-width: 768px) {
    .c-btn-2 {
        padding-block: 14.5px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-2:hover {
        color: var(--color-white-1);
        background-color: var(--color-theme-1);
        border-color: var(--color-theme-1);
    }
}

/* ---------------------------------------------
*   c-card-1
--------------------------------------------- */
.c-card-1__link {
    display: block;
}
.c-card-1__img {
    aspect-ratio: 346/181;
    overflow: hidden;
}
.c-card-1__img img {
    transition: scale 0.3s;
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-1__link:hover .c-card-1__img img {
        scale: 1.1;
    }
}
.c-card-1--img-contain .c-card-1__img img {
    -o-object-fit: contain;
       object-fit: contain;
}
.c-card-1__date {
    display: block;
    margin-top: 22px;
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    letter-spacing: 0.05em;
    font-weight: 700;
    font-family: var(--ff-montserrat);
}
@media screen and (max-width: 768px) {
    .c-card-1__date {
        margin-top: 19px;
        font-size: calc(14 / var(--root-fz) * 1rem);
        letter-spacing: 0.02em;
    }
}
.c-card-1__txt {
    margin-top: 12px;
}
.c-card-1__img + .c-card-1__txt {
    margin-top: 20px;
}
@media screen and (max-width: 768px) {
    .c-card-1__img + .c-card-1__txt {
        margin-top: 16px;
    }
}
.c-card-1__txt-inner {
    background-image: linear-gradient(var(--color-black-1), var(--color-black-1));
    background-position: 0 100%;
    background-size: 0 1px;
    background-repeat: no-repeat;
    transition: background-size 0.3s;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-1__link:hover .c-card-1__txt-inner {
        background-size: 100% 1px;
    }
}
.c-card-1__link[target] .c-card-1__txt-inner::after {
    content: "";
    display: inline-block;
    width: 10px;
    margin-left: 0.3em;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/icon/ico_external.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_external.svg) no-repeat center/contain;
    background-color: var(--color-black-1);
}
.c-card-1__tag-list {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
@media screen and (max-width: 768px) {
    .c-card-1__tag-list {
        margin-top: 10px;
    }
}
.c-card-1__tag {
    padding: 1px 7px 2px;
    color: var(--color-theme-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
    border-radius: 50em;
    border: 2px solid var(--color-blue-1);
    background-color: var(--color-white-1);
}
.firefox .c-card-1__tag {
    padding: 0.5px 7px 2.5px;
}

.c-card-1--white .c-card-1__date,
.c-card-1--white .c-card-1__txt-inner {
    color: var(--color-white-1);
}
.c-card-1--white .c-card-1__txt-inner {
    background-image: linear-gradient(var(--color-white-1), var(--color-white-1));
}
.c-card-1--small .c-card-1__date {
    margin-top: 18px;
}
@media screen and (max-width: 768px) {
    .c-card-1--small .c-card-1__tag-list {
        margin-top: 6px;
    }
}
.c-card-1--small .c-card-1__tag {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

/* ---------------------------------------------
*   c-card-2
--------------------------------------------- */
.c-card-2 {
    position: relative;
}
.c-card-2__btn {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 1;
}
.c-card-2__img {
    aspect-ratio: 236/283;
    overflow: hidden;
}
.c-card-2__img img {
    transition: scale 0.3s;
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-2__btn:hover + .c-card-2__img img {
        scale: 1.1;
    }
}
.c-card-2__txt-inner {
    color: var(--color-black-1);
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
    background-image: linear-gradient(var(--color-black-1), var(--color-black-1));
    background-position: 0 100%;
    background-size: 0 1px;
    background-repeat: no-repeat;
    transition: background-size 0.3s;
}
@media screen and (max-width: 768px) {
    .c-card-2__txt-inner {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-2__btn:hover ~ .c-card-2__name-jp .c-card-2__txt-inner {
        background-size: 100% 1px;
    }
}
.c-card-2__name-jp {
    margin-top: 10px;
}
.c-card-2__name-en {
    margin-top: 0.1em;
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    font-family: var(--ff-montserrat);
    letter-spacing: 0.02em;
}
.c-card-2__tag-list {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
@media screen and (max-width: 768px) {
    .c-card-2__tag-list {
        margin-top: 10px;
        gap: 4px 6px;
    }
}
.c-card-2__tag {
    padding: 2px 7px;
    color: var(--color-theme-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
    border-radius: 50em;
    border: 2px solid var(--color-blue-1);
    background-color: var(--color-white-1);
}
.firefox .c-card-2__tag {
    padding-block: 1px 3px;
}

.c-card-2__desc {
    color: var(--color-black-1);
    margin-top: 10px;
    font-size: calc(13 / var(--root-fz) * 1rem);
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
}

/* ---------------------------------------------
*   c-img-1
--------------------------------------------- */
.c-img-1 {
    display: block;
    width: 100%;
}
.c-img-1 img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
.c-kv {
    margin-inline: auto;
    padding-top: 60px;
    position: relative;
}
@media screen and (min-width: 769px) {
    .c-kv {
        max-width: calc(var(--design-width) * 1px);
    }
}
@media screen and (max-width: 768px) {
    .c-kv {
        padding-top: 56px;
    }
}
@media screen and (min-width: 769px) {
    .c-kv__inner {
        padding-right: calc(400 / var(--design-width) * 100%);
    }
}
.c-kv__ttl {
    padding-top: 70px;
    position: relative;
}
@media screen and (max-width: 768px) {
    .c-kv__ttl {
        padding-top: 24px;
    }
}
.c-kv__ttl-en {
    color: var(--color-theme-2);
    font-size: calc(120 / var(--root-fz) * 1rem);
    font-weight: 700;
    font-family: var(--ff-montserrat);
    opacity: 0.2;
    position: absolute;
    top: 0;
    left: -40px;
}
@media screen and (max-width: 768px) {
    .c-kv__ttl-en {
        font-size: calc(50 / var(--root-fz) * 1rem);
        left: -10px;
    }
}
.c-kv__ttl-txt {
    font-size: calc(46 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .c-kv__ttl-txt {
        font-size: calc(30 / var(--root-fz) * 1rem);
    }
}
.c-kv__ttl-txt-sub {
    display: inline-block;
    margin-left: 17px;
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
    transform: translateY(-0.2em);
}
@media screen and (max-width: 768px) {
    .c-kv__ttl-txt-sub {
        display: block;
        margin-top: 5px;
        margin-left: 0;
        font-size: calc(13 / var(--root-fz) * 1rem);
    }
}
.c-kv__desc {
    margin-top: 10px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 2;
}
@media screen and (max-width: 768px) {
    .c-kv__desc {
        margin-top: 20px;
        font-size: calc(15 / var(--root-fz) * 1rem);
        line-height: 1.7;
        letter-spacing: var(--letter-spacing);
    }
}
.c-kv__ttl-sub {
    margin-top: 20px;
    color: var(--color-theme-1);
    font-size: calc(32 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .c-kv__ttl-sub {
        margin-top: 10px;
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
.c-kv__bg {
    position: absolute;
    z-index: -1;
}
@media screen and (max-width: 768px) {
    .c-kv__bg {
        top: 80px;
        bottom: auto;
        left: calc(var(--contents-side-padding) / var(--design-width) * 100% + 154px);
        right: auto;
    }
}
.c-kv--overview {
    padding-bottom: 46px;
}
.c-kv--overview .c-kv__bg {
    width: calc(683 / var(--design-width) * 100%);
    bottom: -10.0858369099%;
    right: calc(-162 / var(--design-width) * 100%);
}
@media screen and (max-width: 768px) {
    .c-kv--overview .c-kv__bg {
        display: none;
    }
}
@media screen and (min-width: 769px) {
    .c-kv--overview .c-kv__ttl {
        min-width: 520px;
    }
}
.c-kv--research {
    padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
    .c-kv--research {
        padding-bottom: 62px;
    }
}
.c-kv--research .c-kv__bg {
    width: calc(758 / var(--design-width) * 100%);
    bottom: max(-42 / var(--design-width) * 100vw, -42px);
    right: calc(-160 / var(--design-width) * 100%);
}
@media screen and (max-width: 768px) {
    .c-kv--research .c-kv__bg {
        width: 300px;
        left: calc(var(--contents-side-padding) / var(--design-width) * 100% + 115px);
    }
}
.c-kv--project {
    padding-bottom: 150px;
}
@media screen and (max-width: 768px) {
    .c-kv--project {
        padding-bottom: 130px;
    }
}
.c-kv--project .c-kv__bg {
    width: calc(684 / var(--design-width) * 100%);
    bottom: max(-90 / var(--design-width) * 100vw, -90px);
    right: calc(-160 / var(--design-width) * 100%);
}
@media screen and (max-width: 768px) {
    .c-kv--project .c-kv__bg {
        width: 260px;
    }
}
.c-kv--report {
    padding-bottom: 30px;
}
@media screen and (max-width: 768px) {
    .c-kv--report {
        padding-bottom: 20px;
    }
}
.c-kv--report .c-kv__bg {
    width: calc(618 / var(--design-width) * 100%);
    bottom: max(-180 / var(--design-width) * 100vw, -180px);
    right: calc(-160 / var(--design-width) * 100%);
}
@media screen and (max-width: 768px) {
    .c-kv--report .c-kv__bg {
        width: 260px;
    }
}
.c-kv--news {
    padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
    .c-kv--news {
        padding-bottom: 65px;
    }
}
.c-kv--news .c-kv__bg {
    width: calc(648 / var(--design-width) * 100%);
    bottom: max(-130 / var(--design-width) * 100vw, -130px);
    right: calc(-160 / var(--design-width) * 100%);
}
@media screen and (max-width: 768px) {
    .c-kv--news .c-kv__bg {
        width: 260px;
    }
}
.c-kv--event {
    padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
    .c-kv--event {
        padding-bottom: 60px;
    }
}
.c-kv--event .c-kv__bg {
    width: calc(640 / var(--design-width) * 100%);
    bottom: max(-160 / var(--design-width) * 100vw, -160px);
    right: calc(-160 / var(--design-width) * 100%);
}
@media screen and (max-width: 768px) {
    .c-kv--event .c-kv__bg {
        width: 260px;
    }
}
@media screen and (min-width: 769px) {
    .c-kv--event .c-kv__ttl-txt {
        font-size: calc(54 / var(--root-fz) * 1rem);
    }
}
.c-kv--member {
    padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
    .c-kv--member {
        padding-bottom: 60px;
    }
}
.c-kv--member .c-kv__bg {
    width: calc(614 / var(--design-width) * 100%);
    bottom: max(-120 / var(--design-width) * 100vw, -120px);
    right: calc(-160 / var(--design-width) * 100%);
}
@media screen and (max-width: 768px) {
    .c-kv--member .c-kv__bg {
        width: 260px;
    }
}

/* ---------------------------------------------
*   c-link-1
--------------------------------------------- */
.c-link-1 {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 18px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    position: relative;
}
@media screen and (max-width: 768px) {
    .c-link-1 {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.c-link-1--return {
    flex-direction: row-reverse;
}
.c-link-1--white {
    color: var(--color-white-1);
}
.c-link-1__icon {
    display: block;
    position: relative;
}
.c-link-1__icon::before, .c-link-1__icon::after {
    content: "";
    display: block;
}
.c-link-1__icon::before {
    width: 16px;
    aspect-ratio: 13/9;
    -webkit-mask: url(../img/common/icon/ico_arrow-1.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_arrow-1.svg) no-repeat center/contain;
    background-color: var(--color-theme-1);
    transition: background-color 0.3s, transform 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .c-link-1__icon::before {
        width: 12px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-link-1__icon::before {
        will-change: transform;
    }
    .c-link-1:hover .c-link-1__icon::before {
        background-color: var(--color-white-1);
        transform: translate(calc(-50% + 2px), -50%);
    }
}
.c-link-1--return .c-link-1__icon::before {
    scale: -1 1;
    transform-origin: left;
}
.c-link-1__icon::after {
    width: 62px;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/circle.svg) no-repeat center/contain;
            mask: url(../img/common/circle.svg) no-repeat center/contain;
    background-color: var(--color-blue-1);
    transition: background-color 0.3s;
}
@media screen and (max-width: 768px) {
    .c-link-1__icon::after {
        width: 48px;
        -webkit-mask-image: url(../img/common/sp/circle.svg);
                mask-image: url(../img/common/sp/circle.svg);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-link-1:hover .c-link-1__icon::after {
        animation: rotateLoop 2.4s linear infinite;
        background-color: var(--color-theme-1);
    }
    @keyframes rotateLoop {
        0% {
            transform: rotate(0deg);
        }
        100% {
            transform: rotate(360deg);
        }
    }
}
.c-link-1--white .c-link-1__icon::before {
    background-color: var(--color-white-1);
}
.c-link-1--white .c-link-1__icon::after {
    background-color: var(--color-blue-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-link-1--white:hover .c-link-1__icon::before {
        background-color: var(--color-theme-1);
    }
    .c-link-1--white:hover .c-link-1__icon::after {
        background-color: var(--color-white-1);
    }
}
.c-link-1__icon-inner {
    display: block;
    width: 48px;
    aspect-ratio: 1/1;
    transition: background-color 0.3s;
    background-color: transparent;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .c-link-1__icon-inner {
        width: 37.1612903226px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-link-1:hover .c-link-1__icon-inner {
        background-color: var(--color-theme-1);
    }
}
.c-link-1--white:hover .c-link-1__icon-inner {
    background-color: var(--color-white-1);
}

/* ---------------------------------------------
*   c-link-2
--------------------------------------------- */
.c-link-2 {
    display: inline-block;
}
.c-link-2__txt {
    padding-bottom: 4px;
    color: var(--color-black-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
    background-image: linear-gradient(var(--color-black-1), var(--color-black-1));
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.3s;
}
@media (hover: hover) and (pointer: fine) {
    .c-link-2__txt {
        background-size: 0 1px;
    }
    .c-link-2:hover .c-link-2__txt {
        background-size: 100% 1px;
    }
}
@media (hover: none) and (pointer: coarse) {
    .c-link-2__txt {
        padding-bottom: 0;
        background-size: 100% 1px;
    }
}
.c-link-2--external .c-link-2__txt::after {
    content: "";
    display: inline-block;
    width: 10px;
    margin-left: 8px;
    aspect-ratio: 1/1;
    background: url(../img/common/icon/ico_external.svg) no-repeat center/contain;
}

/*  c-link-2-wrap
--------------------------------------------- */
.c-link-2-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(16 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 768px) {
    .c-link-2-wrap {
        gap: 15px 20px;
    }
}

/* ---------------------------------------------
*   c-link-3
--------------------------------------------- */
.c-link-3 {
    display: inline-block;
}
.c-link-3__txt {
    padding-bottom: 4px;
    color: var(--color-black-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
    background-image: linear-gradient(var(--color-black-1), var(--color-black-1));
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.3s;
}
@media (hover: hover) and (pointer: fine) {
    .c-link-3__txt {
        background-size: 0 1px;
    }
    .c-link-3:hover .c-link-3__txt {
        background-size: 100% 1px;
    }
}
@media (hover: none) and (pointer: coarse) {
    .c-link-3__txt {
        background-size: 100% 1px;
    }
}
.c-link-3__txt::after {
    content: "";
    display: inline-block;
    width: 14px;
    margin-left: 8px;
    aspect-ratio: 14/11;
    background: url(../img/common/icon/ico_arrow-2.svg) no-repeat center/contain;
}

/* ---------------------------------------------
*   c-link-banner
--------------------------------------------- */
.c-link-banner {
    display: block;
    padding: 10px;
    aspect-ratio: 286/266;
    background: url(../img/common/img_banner.jpg) no-repeat center/cover;
    position: relative;
}
@media (hover: hover) and (pointer: fine) {
    .c-link-banner {
        transition: opacity var(--hover-duration);
    }
    .c-link-banner:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-link-banner {
        aspect-ratio: 335/132;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 7px;
        background-position: center right;
        background-image: url(../img/common/sp/img_banner.jpg);
    }
}
.c-link-banner::before {
    content: "";
    display: block;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 2px solid var(--color-white-1);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .c-link-banner::before {
        width: calc(100% - 14px);
        height: calc(100% - 14px);
    }
}
.c-link-banner__inner {
    padding-inline: 26px 0.25em;
}
@media screen and (min-width: 769px) {
    .c-link-banner__inner {
        padding-block: 32px;
    }
}
@media screen and (max-width: 768px) {
    .c-link-banner__inner {
        padding-block: 18px 8px;
        padding-left: 21px;
    }
}
.c-link-banner__txt {
    color: var(--color-white-1);
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .c-link-banner__txt {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
.c-link-banner__arrow {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 18px;
    color: var(--color-white-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    position: relative;
}
@media screen and (max-width: 768px) {
    .c-link-banner__arrow {
        margin-top: -2px;
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.c-link-banner__icon {
    display: block;
    position: relative;
}
.c-link-banner__icon::before, .c-link-banner__icon::after {
    content: "";
    display: block;
}
.c-link-banner__icon::before {
    width: 16px;
    aspect-ratio: 13/9;
    -webkit-mask: url(../img/common/icon/ico_arrow-1.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_arrow-1.svg) no-repeat center/contain;
    background-color: var(--color-white-1);
    transition: background-color 0.3s, transform 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .c-link-banner__icon::before {
        width: 12px;
        -webkit-mask-image: url(../img/common/icon/sp/ico_arrow-1.svg);
                mask-image: url(../img/common/icon/sp/ico_arrow-1.svg);
    }
}
.c-link-banner__icon::after {
    width: 62px;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/circle.svg) no-repeat center/contain;
            mask: url(../img/common/circle.svg) no-repeat center/contain;
    background-color: var(--color-blue-1);
    transition: background-color 0.3s;
}
@media screen and (max-width: 768px) {
    .c-link-banner__icon::after {
        width: 48px;
        -webkit-mask-image: url(../img/common/sp/circle.svg);
                mask-image: url(../img/common/sp/circle.svg);
    }
}

/* ---------------------------------------------
*   c-link-anchor
--------------------------------------------- */
.c-link-anchor {
    position: relative;
    z-index: 1;
    padding: 11px 11px 11px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    font-size: calc(15 / var(--root-fz) * 1rem);
    line-height: 1.2;
    font-weight: 700;
    border: 2px solid var(--color-blue-1);
    border-radius: 10px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 768px) {
    .c-link-anchor {
        padding: 11px 11px 13px 18px;
    }
}
.c-link-anchor__icon {
    display: block;
    position: relative;
}
.c-link-anchor__icon::before, .c-link-anchor__icon::after {
    content: "";
    display: block;
}
.c-link-anchor__icon::before {
    width: 10px;
    aspect-ratio: 13/9;
    -webkit-mask: url(../img/common/icon/ico_arrow-1.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_arrow-1.svg) no-repeat center/contain;
    background-color: var(--color-theme-1);
    transition: background-color 0.3s, transform 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .c-link-anchor__icon::before {
        width: 12px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-link-anchor:hover .c-link-anchor__icon::before {
        background-color: var(--color-white-1);
        transform: translate(-50%, calc(-50% + 2px)) rotate(90deg);
    }
}
.c-link-anchor__icon::after {
    width: 48px;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/circle.svg) no-repeat center/contain;
            mask: url(../img/common/circle.svg) no-repeat center/contain;
    background-color: var(--color-blue-1);
    transition: background-color 0.3s;
}
@media screen and (max-width: 768px) {
    .c-link-anchor__icon::after {
        width: 48px;
        -webkit-mask-image: url(../img/common/sp/circle.svg);
                mask-image: url(../img/common/sp/circle.svg);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-link-anchor:hover .c-link-anchor__icon::after {
        animation: rotateLoop 2.4s linear infinite;
        background-color: var(--color-theme-1);
    }
    @keyframes rotateLoop {
        0% {
            transform: rotate(0deg);
        }
        100% {
            transform: rotate(360deg);
        }
    }
}
.c-link-anchor__icon-inner {
    display: block;
    width: 37.1612903226px;
    aspect-ratio: 1/1;
    transition: background-color 0.3s;
    background-color: transparent;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media (hover: hover) and (pointer: fine) {
    .c-link-anchor:hover .c-link-anchor__icon-inner {
        background-color: var(--color-theme-1);
    }
}

/* ---------------------------------------------
*   c-list-1
--------------------------------------------- */
.c-list-1 {
    display: grid;
    grid-template-columns: repeat(8, 100px);
    justify-content: center;
    gap: 4px;
}
@media screen and (max-width: 900px) {
    .c-list-1 {
        grid-template-columns: repeat(4, 100px);
        row-gap: 20px;
    }
}
@media screen and (max-width: 768px) {
    .c-list-1 {
        grid-template-columns: 1fr;
        gap: 0;
    }
}
@media screen and (min-width: 769px) {
    .c-list-1--small {
        grid-template-columns: repeat(8, clamp(90px, 96.5 / var(--design-width) * 100vw, 96.5px));
        gap: 0;
    }
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
    .c-list-1--small {
        grid-template-columns: repeat(8, 70px);
    }
}
@media screen and (max-width: 768px) {
    .c-list-1__item {
        border-bottom: 2px solid var(--color-blue-4);
    }
}
.c-list-1__link {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    will-change: opacity;
    display: block;
}
@media screen and (max-width: 768px) {
    .c-list-1__link {
        width: 100%;
        padding-block: 18px 16px;
        padding-right: 10px;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
    }
}
.c-list-1__icon {
    width: 70px;
    aspect-ratio: 1/1;
    display: grid;
    place-items: center;
    position: relative;
}
@media screen and (min-width: 769px) {
    .c-list-1__icon {
        margin-inline: auto;
    }
}
@media screen and (max-width: 768px) {
    .c-list-1__icon {
        width: 48px;
    }
}
.c-list-1__icon::before {
    content: "";
    display: block;
    width: 60px;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/circle.svg) no-repeat center/contain;
            mask: url(../img/common/circle.svg) no-repeat center/contain;
    background-color: var(--color-blue-1);
    transition: background-color 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
@media screen and (min-width: 769px) {
    .firefox .c-list-1__icon::before {
        transform: rotate(0.1deg);
    }
}
@media screen and (max-width: 768px) {
    .c-list-1__icon::before {
        width: 100%;
        -webkit-mask-image: url(../img/common/sp/circle.svg);
                mask-image: url(../img/common/sp/circle.svg);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-list-1__link:hover .c-list-1__icon::before {
        animation: rotateLoop 2.4s linear infinite;
        background-color: var(--color-theme-1);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 768px) {
    .c-list-1__link:hover .c-list-1__icon::before {
        background-color: var(--color-white-1);
    }
}
.c-list-1__icon::after {
    content: "";
    display: block;
    width: 50px;
    aspect-ratio: 1/1;
    background-color: transparent;
    transition: background-color 0.3s;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .c-list-1__icon::after {
        width: 34.2857142857px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-list-1__link:hover .c-list-1__icon::after {
        background-color: var(--color-theme-1);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 768px) {
    .c-list-1__link:hover .c-list-1__icon::after {
        background-color: var(--color-white-1);
    }
}
@media screen and (min-width: 769px) {
    .c-list-1--small .c-list-1__icon {
        width: 50px;
    }
    .c-list-1--small .c-list-1__icon::before {
        width: 43px;
    }
    .c-list-1--small .c-list-1__icon::after {
        width: 36px;
    }
}

.c-list-1__icon img {
    width: 50px;
    filter: invert(50%) sepia(95%) saturate(1971%) hue-rotate(155deg) brightness(95%) contrast(86%);
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .c-list-1__icon img {
        width: 38px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-list-1__link:hover .c-list-1__icon img {
        filter: invert(100%) sepia(29%) saturate(92%) hue-rotate(284deg) brightness(114%) contrast(100%);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 768px) {
    .c-list-1__link:hover .c-list-1__icon img {
        filter: invert(46%) sepia(94%) saturate(394%) hue-rotate(143deg) brightness(99%) contrast(103%);
    }
}
@media screen and (min-width: 769px) {
    .c-list-1--small .c-list-1__icon img {
        width: 36px;
    }
}

@media screen and (max-width: 768px) {
    .c-list-1--white-sp .c-list-1__icon img {
        filter: invert(100%) sepia(0%) saturate(699%) hue-rotate(227deg) brightness(108%) contrast(108%);
    }
}

.c-list-1__txt {
    display: block;
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    text-align: center;
}
@media screen and (min-width: 769px) {
    .c-list-1__txt {
        margin-top: 6px;
    }
}
@media screen and (max-width: 768px) {
    .c-list-1__txt {
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
@media screen and (min-width: 769px) {
    .c-list-1__link:not(.is-current) .c-list-1__txt {
        color: var(--color-theme-1);
    }
}

@media screen and (min-width: 769px) {
    .c-list-1--small .c-list-1__txt {
        margin-top: 3px;
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
    .c-list-1--small .c-list-1__txt {
        font-size: calc(10 / var(--root-fz) * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .c-list-1--white-sp .c-list-1__link .c-list-1__txt {
        color: var(--color-white-1);
    }
}

@media screen and (min-width: 769px) {
    .c-list-1__link.is-current .c-list-1__icon::before {
        background-color: var(--color-theme-1);
    }
}
@media screen and (min-width: 769px) {
    .c-list-1__link.is-current .c-list-1__icon::after {
        background-color: var(--color-theme-1);
    }
}
@media screen and (min-width: 769px) {
    .c-list-1__link.is-current .c-list-1__icon img {
        filter: invert(100%) sepia(29%) saturate(92%) hue-rotate(284deg) brightness(114%) contrast(100%);
    }
}

/* ---------------------------------------------
*   c-list-2
--------------------------------------------- */
.c-list-2__item {
    border-bottom: 2px solid var(--color-blue-1);
}
.c-list-2__link {
    padding-block: 14px;
    display: grid;
    grid-template-columns: 1fr 60px;
    align-items: center;
    gap: 20px;
    position: relative;
}
@media screen and (min-width: 769px) {
    .c-list-2__link {
        padding-right: 3px;
    }
}
@media screen and (max-width: 768px) {
    .c-list-2__link {
        grid-template-columns: 1fr 46px;
        gap: 14px;
    }
}
.c-list-2__icon {
    display: block;
    width: 62px;
    aspect-ratio: 1/1;
    position: relative;
}
@media screen and (max-width: 768px) {
    .c-list-2__icon {
        width: 48px;
    }
}
.c-list-2__icon::before, .c-list-2__icon::after {
    content: "";
    display: block;
}
.c-list-2__icon::before {
    width: 16px;
    aspect-ratio: 13/9;
    -webkit-mask: url(../img/common/icon/ico_arrow-1.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_arrow-1.svg) no-repeat center/contain;
    background-color: var(--color-theme-1);
    transition: background-color 0.3s, transform 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .c-list-2__icon::before {
        width: 14px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-list-2__link:hover .c-list-2__icon::before {
        background-color: var(--color-white-1);
        transform: translate(calc(-50% + 2px), -50%);
    }
}
.c-list-2__icon::after {
    width: 62px;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/circle.svg) no-repeat center/contain;
            mask: url(../img/common/circle.svg) no-repeat center/contain;
    background-color: var(--color-blue-1);
    transition: background-color 0.3s;
}
@media screen and (max-width: 768px) {
    .c-list-2__icon::after {
        width: 48px;
        -webkit-mask-image: url(../img/common/sp/circle.svg);
                mask-image: url(../img/common/sp/circle.svg);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-list-2__link:hover .c-list-2__icon::after {
        animation: rotateLoop 2.4s linear infinite;
        background-color: var(--color-theme-1);
    }
}
.c-list-2__icon-inner {
    display: block;
    width: 50px;
    aspect-ratio: 1/1;
    transition: background-color 0.3s;
    background-color: transparent;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .c-list-2__icon-inner {
        width: 38.7096774194px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-list-2__link:hover .c-list-2__icon-inner {
        background-color: var(--color-theme-1);
    }
}
.c-list-2__txt, .c-list-2__txt span {
    color: var(--color-black-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    line-height: 1.3;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .c-list-2__txt, .c-list-2__txt span {
        font-size: calc(16 / var(--root-fz) * 1rem);
        line-height: 1.2;
    }
}
.c-list-2__txt-en {
    display: block;
    margin-top: 3px;
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    line-height: 1.3;
    font-weight: 700;
    font-family: var(--ff-montserrat);
}
@media screen and (max-width: 768px) {
    .c-list-2__txt-en {
        margin-top: 5px;
    }
}

/* ---------------------------------------------
*   c-list-3
--------------------------------------------- */
.c-list-3__item {
    display: grid;
    grid-template-columns: 32.7380952381% 1fr;
    gap: 5.1587301587%;
}
@media screen and (max-width: 768px) {
    .c-list-3__item {
        grid-template-columns: 1fr;
        gap: 0;
    }
}
.c-list-3__item:not(:first-of-type) {
    margin-top: 38px;
    padding-top: 36px;
    border-top: 2px solid var(--color-blue-1);
}
@media screen and (max-width: 768px) {
    .c-list-3__item:not(:first-of-type) {
        margin-top: 18px;
        padding-top: 20px;
    }
}
@media screen and (max-width: 768px) {
    .c-list-3__txt-wrap {
        margin-top: 20px;
    }
}
.c-list-3__date {
    margin-top: 14px;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    padding: 10px 12px;
    border: 1px solid var(--color-theme-1);
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    text-align: center;
    line-height: 1;
}
@media screen and (max-width: 768px) {
    .c-list-3__date {
        margin-top: 21px;
        padding-inline: 10px;
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}
.c-list-3__desc {
    margin-top: 10px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1.8;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .c-list-3__desc {
        margin-top: 20px;
        font-size: calc(15 / var(--root-fz) * 1rem);
        line-height: 1.7;
    }
}
.c-list-3__link {
    margin-top: 10px;
}
@media screen and (min-width: 769px) {
    .c-list-3__link {
        margin-bottom: -20px;
    }
}
@media screen and (max-width: 768px) {
    .c-list-3__link {
        margin-top: 8px;
    }
}

/* ---------------------------------------------
*   c-list-4
--------------------------------------------- */
.c-list-4 {
    display: grid;
    gap: 20px;
}
.c-list-4__item {
    padding-bottom: 18px;
    border-bottom: 2px solid var(--color-blue-1);
}
.c-list-4__link {
    display: block;
}
.c-list-4__cat {
    display: inline-block;
    width: -moz-fit-content;
    width: fit-content;
    padding: 6.5px 15px 7.5px;
    color: var(--color-white-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    line-height: 1;
    font-weight: 700;
    text-align: center;
    background-color: var(--color-theme-1);
    border-radius: 50em;
}
.c-list-4__date {
    color: var(--color-theme-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 700;
    font-family: var(--ff-montserrat);
    margin-left: 7px;
}
@media screen and (max-width: 768px) {
    .c-list-4__date {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.c-list-4__txt {
    margin-top: 16px;
    text-underline-offset: 3px;
}
@media screen and (max-width: 768px) {
    .c-list-4__txt {
        margin-top: 14px;
    }
}
.c-list-4__txt-inner {
    background-image: linear-gradient(var(--color-black-1), var(--color-black-1));
    background-position: 0 100%;
    background-size: 0 1px;
    background-repeat: no-repeat;
    transition: background-size 0.3s;
}
@media (hover: hover) and (pointer: fine) {
    .c-list-4__link:hover .c-list-4__txt-inner {
        background-size: 100% 1px;
    }
}
.c-list-4__link[target] .c-list-4__txt-inner::after {
    content: "";
    display: inline-block;
    width: 10px;
    margin-left: 0.3em;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/icon/ico_external.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_external.svg) no-repeat center/contain;
    background-color: var(--color-black-1);
}

/* ---------------------------------------------
*   c-list-5
--------------------------------------------- */
.c-list-5 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 75px calc(40 / var(--contents-width) * 100%);
}
@media screen and (max-width: 768px) {
    .c-list-5 {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

/* ---------------------------------------------
*   c-list-sns
--------------------------------------------- */
.c-list-sns {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}
.c-list-sns__link {
    display: block;
    width: 30px;
    aspect-ratio: 1/1;
}
@media (hover: hover) and (pointer: fine) {
    .c-list-sns__link {
        transition: opacity var(--hover-duration);
    }
    .c-list-sns__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-list-sns__link {
        width: 26px;
    }
}
.c-list-sns__link--x {
    width: 25px;
}
@media screen and (max-width: 768px) {
    .c-list-sns__link--x {
        width: 21px;
    }
}

/* ---------------------------------------------
*   c-list-news
--------------------------------------------- */
.c-list-news__link {
    padding-block: 19px;
    display: block;
    border-bottom: 2px solid var(--color-blue-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-list-news__link:hover .c-list-news__txt span {
        background-size: 100% 1px;
    }
}
.c-list-news__top {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.c-list-news__cat {
    padding: 7px 15px;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    color: var(--color-white-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    line-height: 1;
    background-color: var(--color-theme-1);
    border-radius: 999px;
}
.c-list-news__date {
    color: var(--color-theme-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
}
.c-list-news__txt {
    display: block;
    margin-top: 16px;
}
@media screen and (max-width: 768px) {
    .c-list-news__txt {
        margin-top: 13px;
    }
}
.c-list-news__txt span {
    background-image: linear-gradient(var(--color-black-1), var(--color-black-1));
    background-position: 0 100%;
    background-size: 0 1px;
    background-repeat: no-repeat;
    transition: background-size 0.3s;
}
.c-list-news__link[target] .c-list-news__txt span::after {
    content: "";
    display: inline-block;
    width: 10px;
    margin-left: 0.3em;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/icon/ico_external.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_external.svg) no-repeat center/contain;
    background-color: var(--color-black-1);
}

/* ---------------------------------------------
*   c-modal
--------------------------------------------- */
.c-modal {
    display: none;
}
.c-modal.is-open {
    display: block;
}
.c-modal__overlay {
    position: fixed;
    inset: 0;
    z-index: 300;
    overflow-y: auto;
    overscroll-behavior-y: none;
    scrollbar-width: none;
}
.c-modal__overlay::-webkit-scrollbar {
    display: none;
}
.c-modal__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(100% + 1px);
    background: rgba(var(--color-black-1-rgb), 0.5);
}
.c-modal__container {
    position: relative;
    width: min(98%, 1050px);
    max-height: 100vh;
    padding: 20px 45px;
    overflow-y: auto;
    overflow-x: hidden;
}
@media screen and (max-width: 768px) {
    .c-modal__container {
        width: 100%;
        padding: 50px 20px;
    }
}
.c-modal__close-btn {
    display: block;
    width: 34px;
    aspect-ratio: 1/1;
    position: absolute;
    top: 20px;
    right: 0;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .c-modal__close-btn {
        transition: opacity var(--hover-duration);
    }
    .c-modal__close-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-modal__close-btn {
        top: 0;
        right: 20px;
    }
}
.c-modal__close-btn::before, .c-modal__close-btn::after {
    content: "";
    display: block;
    width: 46px;
    height: 2px;
    border-radius: 50em;
    background-color: var(--color-white-1);
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
.c-modal__close-btn::before {
    transform: rotate(45deg);
}
.c-modal__close-btn::after {
    transform: rotate(-45deg);
}
.c-modal video {
    width: 100%;
    height: auto;
    aspect-ratio: 960/540;
}

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

@keyframes mmfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes mmfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@keyframes mmslideIn {
    from {
        transform: translateY(15%);
    }
    to {
        transform: translateY(0);
    }
}
@keyframes mmslideOut {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(15%);
    }
}
/* ---------------------------------------------
*   c-modal-std
--------------------------------------------- */
.c-modal-std {
    display: none;
}
.c-modal-std.is-open {
    display: block;
}
.c-modal-std__overlay {
    display: grid;
    place-items: center;
    position: fixed;
    inset: 0;
    z-index: 400;
    background: rgba(var(--color-base-1-rgb), 0.4);
}
.c-modal-std__inner {
    width: min(100% - 134px, 1006px);
    max-height: calc(100dvh - 134px);
    margin-inline: auto;
    border-radius: 20px;
    position: relative;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 768px) {
    .c-modal-std__inner {
        width: calc(335 / var(--design-width) * 100vw);
        max-height: calc(100dvh - 60 / var(--design-width) * 100vw);
        border-radius: calc(20 / var(--design-width) * 100vw);
    }
}
.c-modal-std__container {
    max-height: calc(100dvh - 134px);
    padding-block: 60px 70px;
    padding-inline: calc(80 / 1006 * 100%);
    overflow-y: auto;
    scrollbar-width: none;
}
.c-modal-std__container::-webkit-scrollbar {
    display: none;
}
@media screen and (max-width: 768px) {
    .c-modal-std__container {
        max-height: calc(100dvh - 60 / var(--design-width) * 100vw - 40 / var(--design-width) * 100vw);
        padding-inline: calc(20 / var(--design-width) * 100vw);
        padding-block: calc(20 / var(--design-width) * 100vw);
    }
}
.c-modal-std--type2 .c-modal-std__container {
    padding-block: 80px;
}
@media screen and (max-width: 768px) {
    .c-modal-std--type2 .c-modal-std__container {
        padding-block: 40px;
    }
}
.c-modal-std__close-btn {
    position: absolute;
    top: -57px;
    right: -57px;
    display: block;
    width: 114px;
    aspect-ratio: 1/1;
    cursor: pointer;
    background: url(../img/common/icon/ico_close.png) 0 0 no-repeat;
    background-size: contain;
}
@media (hover: hover) and (pointer: fine) {
    .c-modal-std__close-btn {
        transition: opacity var(--hover-duration);
    }
    .c-modal-std__close-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-modal-std__close-btn {
        top: calc(-25 / var(--design-width) * 100vw);
        right: calc(-11 / var(--design-width) * 100vw);
        width: calc(50 / var(--design-width) * 100vw);
        background-image: url(../img/common/icon/sp/ico_close.png);
        background-position: center;
        background-size: 100% auto;
    }
}
.c-modal-std__column {
    padding-block: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: flex-start;
    gap: 38px;
}
@media screen and (max-width: 768px) {
    .c-modal-std__column {
        padding-block: calc(10 / var(--design-width) * 100vw) calc(30 / var(--design-width) * 100vw);
        grid-template-columns: repeat(1, 1fr);
        gap: calc(26 / var(--design-width) * 100vw);
    }
}
.c-modal-std__fig {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 768px) {
    .c-modal-std__fig {
        padding-top: calc(10 / var(--design-width) * 100vw);
    }
}
.c-modal-std__fig img {
    max-width: 285px;
    width: 100%;
    filter: drop-shadow(0 4px 7px rgba(var(--color-black-1-rgb), 0.25));
}
@media screen and (max-width: 768px) {
    .c-modal-std__fig img {
        max-width: none;
        width: calc(208 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .c-modal-std__detail {
        padding-top: 10px;
    }
}
.c-modal-std__link {
    margin-top: 12px;
}
.c-modal-std__link .c-link-2 {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
}
.c-modal-std[aria-hidden=false] .c-modal-std__overlay {
    animation: mmfadeIn 0.5s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal-std[aria-hidden=false] .c-modal-std__inner {
    animation: mmslideIn 0.5s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal-std[aria-hidden=true] .c-modal-std__overlay {
    animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal-std[aria-hidden=true] .c-modal-std__inner {
    animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal-std__overlay, .c-modal-std__inner {
    will-change: transform;
}

/* ---------------------------------------------
*   c-section-contact
--------------------------------------------- */
.c-section-contact {
    aspect-ratio: 1280/420;
    position: relative;
}
@media screen and (max-width: 768px) {
    .c-section-contact {
        aspect-ratio: 375/360;
    }
}
.c-section-contact__contents {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    position: relative;
    overflow: hidden;
}
.c-section-contact__contents::before, .c-section-contact__contents::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
}
.c-section-contact__contents::before {
    background-color: rgba(var(--color-black-1-rgb), 0.24);
    z-index: 1;
}
.c-section-contact__contents::after {
    background: url(../img/common/bg_contact.jpg) no-repeat center left 52%/cover;
    z-index: 0;
    transition: scale 0.3s;
}
@media screen and (max-width: 768px) {
    .c-section-contact__contents::after {
        background-image: url(../img/common/sp/bg_contact.jpg);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-section-contact__contents:has(.c-section-contact__link:hover)::after {
        scale: 1.1;
    }
}
.c-section-contact__container {
    width: 100%;
    max-width: calc((1104 + var(--contents-side-padding) * 2) * 1px);
    padding-inline: calc(var(--contents-side-padding) * 1px);
    display: grid;
    grid-template-columns: auto max-content;
    justify-content: space-between;
    align-items: center;
    position: relative;
    gap: 2em;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .c-section-contact__container {
        margin-top: calc(15 / var(--design-width) * 100%);
        padding-inline: calc(var(--contents-side-padding) * 1px);
        grid-template-columns: 1fr;
        gap: 0;
    }
}
.c-section-contact__ttl {
    color: var(--color-white-1);
    font-size: calc(90 / var(--root-fz) * 1rem);
    font-family: var(--ff-montserrat);
    font-weight: 700;
    line-height: 1;
}
@media screen and (max-width: 900px) {
    .c-section-contact__ttl {
        font-size: calc(70 / var(--root-fz) * 1rem);
    }
}
@media screen and (max-width: 768px) {
    .c-section-contact__ttl {
        font-size: calc(50 / var(--root-fz) * 1rem);
    }
}
.c-section-contact__txt {
    margin-top: 16px;
}
@media screen and (min-width: 769px) {
    .c-section-contact__txt {
        max-width: 460px;
    }
}
@media screen and (max-width: 768px) {
    .c-section-contact__txt {
        margin-top: 10px;
    }
}
.c-section-contact__link {
    width: -moz-fit-content;
    width: fit-content;
    margin-right: 12px;
    display: flex;
    align-items: center;
    gap: 30px;
    color: var(--color-white-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    position: relative;
}
@media screen and (min-width: 769px) {
    .c-section-contact__link {
        min-width: 324px;
    }
}
@media screen and (max-width: 768px) {
    .c-section-contact__link {
        margin-top: 20px;
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.c-section-contact__link-icon {
    display: block;
    position: relative;
}
.c-section-contact__link-icon::before, .c-section-contact__link-icon::after {
    content: "";
    display: block;
}
.c-section-contact__link-icon::before {
    width: 22px;
    aspect-ratio: 13/9;
    -webkit-mask: url(../img/common/icon/ico_arrow-1.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_arrow-1.svg) no-repeat center/contain;
    background-color: var(--color-white-1);
    transition: background-color 0.3s, transform 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .c-section-contact__link-icon::before {
        width: 15px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-section-contact__link:hover .c-section-contact__link-icon::before {
        background-color: var(--color-theme-1);
        transform: translate(calc(-50% + 2px), -50%);
    }
}
.c-section-contact__link-icon::after {
    width: 100px;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/circle-large.svg) no-repeat center/contain;
            mask: url(../img/common/circle-large.svg) no-repeat center/contain;
    background-color: var(--color-blue-1);
    transition: background-color 0.3s;
}
@media screen and (max-width: 768px) {
    .c-section-contact__link-icon::after {
        width: 70px;
        -webkit-mask-image: url(../img/common/circle.svg);
                mask-image: url(../img/common/circle.svg);
        background-color: var(--color-blue-4);
        opacity: 0.4;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-section-contact__link:hover .c-section-contact__link-icon::after {
        animation: rotateLoop 2.4s linear infinite;
        background-color: var(--color-white-1);
    }
}
.c-section-contact__link-icon-inner {
    display: block;
    width: 82px;
    aspect-ratio: 1/1;
    transition: background-color 0.3s;
    background-color: transparent;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .c-section-contact__link-icon-inner {
        width: 57.4px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-section-contact__link:hover .c-section-contact__link-icon-inner {
        background-color: var(--color-white-1);
    }
}

/* ---------------------------------------------
*   c-section-1
--------------------------------------------- */
.c-section-1 {
    padding-block: 50px 80px;
}
@media screen and (max-width: 768px) {
    .c-section-1 {
        padding-block: 40px 64px;
    }
}
.c-section-1:not(:last-of-type) {
    border-bottom: 2px solid var(--color-blue-1);
}
.c-section-1:last-of-type {
    padding-bottom: 0;
}
.c-section-1__body {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .c-section-1__body {
        margin-top: 26px;
    }
}

/* ---------------------------------------------
*   c-selector
--------------------------------------------- */
.c-selector {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
@media screen and (max-width: 768px) {
    .c-selector {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}
.c-selector__item {
    display: block;
    width: 100%;
    padding: 24px 5.5248618785%;
    text-align: left;
    border-radius: 6px;
    background-color: var(--color-white-1);
    border: 2px solid var(--color-blue-1);
    transition: background-color var(--hover-duration), border-color var(--hover-duration);
}
@media screen and (max-width: 768px) {
    .c-selector__item {
        padding: 13px 14px;
    }
}
.c-selector__item.is-active {
    background-color: var(--color-theme-1);
    border-color: var(--color-theme-1);
    pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
    .c-selector__item:hover {
        background-color: var(--color-theme-1);
        border-color: var(--color-theme-1);
    }
    .c-selector__item:hover .c-selector__txt {
        color: var(--color-white-1);
    }
    .c-selector__item:hover .c-selector__txt-num {
        color: var(--color-white-1);
    }
}
.c-selector__txt {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--color-black-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 700;
    transition: color var(--hover-duration);
}
@media screen and (max-width: 768px) {
    .c-selector__txt {
        gap: 5px;
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.c-selector__item.is-active .c-selector__txt {
    color: var(--color-white-1);
}

.c-selector__txt-num {
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    font-family: var(--ff-montserrat);
    letter-spacing: 0.02em;
    transition: color var(--hover-duration);
}
.c-selector__item.is-active .c-selector__txt-num {
    color: var(--color-white-1);
}

/* ---------------------------------------------
*   c-selector-input
--------------------------------------------- */
.c-selector-input {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
@media screen and (max-width: 768px) {
    .c-selector-input {
        grid-template-columns: 1fr;
        gap: 9px;
    }
}
.c-selector-input__item {
    position: relative;
}
@media (hover: hover) and (pointer: fine) {
    .c-selector-input__item:hover .c-selector-input__txt {
        color: var(--color-white-1);
        background-color: var(--color-theme-1);
        border-color: var(--color-theme-1);
    }
    .c-selector-input__item:hover .c-selector-input__txt-num {
        color: var(--color-white-1);
    }
}
.c-selector-input__item:has(input:checked) {
    pointer-events: none;
}
.c-selector-input input {
    position: absolute;
    inset: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline-offset: 3px;
    border-radius: 4px;
    cursor: pointer;
}
.c-selector-input input:checked + .c-selector-input__txt {
    color: var(--color-white-1);
    background-color: var(--color-theme-1);
    border-color: var(--color-theme-1);
    pointer-events: none;
}
.c-selector-input input:checked + .c-selector-input__txt .c-selector-input__txt-num {
    color: var(--color-white-1);
}
.c-selector-input input:checked {
    pointer-events: none;
}
.c-selector-input__txt {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 700;
    width: 100%;
    padding: 27px 18px;
    border-radius: 6px;
    color: var(--color-base-1);
    background-color: var(--color-white-1);
    border: 2px solid var(--color-blue-1);
    transition: background-color var(--hover-duration), border-color var(--hover-duration), color var(--hover-duration);
}
@media screen and (max-width: 768px) {
    .c-selector-input__txt {
        padding: 15px 14px 16px;
        gap: 5px;
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.c-selector-input__txt-num {
    position: relative;
    top: 0.1em;
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    font-family: var(--ff-montserrat);
    letter-spacing: 0.02em;
    transition: color var(--hover-duration);
}
@media screen and (max-width: 768px) {
    .c-selector-input__txt-num {
        top: 0.05em;
    }
}

/* ---------------------------------------------
*   c-selector-news
--------------------------------------------- */
.c-selector-news {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
}
@media screen and (max-width: 768px) {
    .c-selector-news {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px 8px;
    }
}
@media screen and (min-width: 769px) {
    .c-selector-news::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 2px;
        background-color: var(--color-blue-1);
        z-index: -1;
    }
}
.c-selector-news__item {
    position: relative;
}
@media (hover: hover) and (pointer: fine) {
    .c-selector-news__item:hover .c-selector-news__txt {
        color: var(--color-white-1);
        background-color: var(--color-theme-1);
        border-color: var(--color-theme-1);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 768px) {
    .c-selector-news__item:hover .c-selector-news__txt {
        position: relative;
        z-index: 1;
    }
}
.c-selector-news__item:has(input:checked) {
    pointer-events: none;
}
@media screen and (max-width: 768px) {
    .c-selector-news__item:nth-of-type(1), .c-selector-news__item:nth-of-type(4) {
        position: relative;
    }
    .c-selector-news__item:nth-of-type(1)::after, .c-selector-news__item:nth-of-type(4)::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        width: calc(var(--contents-width) / var(--design-width) * 100vw);
        height: 2px;
        background-color: var(--color-blue-1);
    }
}
.c-selector-news input {
    position: absolute;
    inset: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline-offset: 3px;
    border-radius: 4px;
    cursor: pointer;
}
.c-selector-news input:checked + .c-selector-news__txt {
    color: var(--color-white-1);
    background-color: var(--color-theme-1);
    border-color: var(--color-theme-1);
    pointer-events: none;
}
@media screen and (max-width: 768px) {
    .c-selector-news input:checked + .c-selector-news__txt {
        position: relative;
        z-index: 1;
    }
}
.c-selector-news input:checked {
    pointer-events: none;
}
.c-selector-news__txt {
    padding: 6px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: calc(17 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    border-radius: 10px 10px 0 0;
    background-color: var(--color-white-1);
    color: var(--color-theme-1);
    border: 2px solid var(--color-blue-1);
    transition: background-color var(--hover-duration), border-color var(--hover-duration), color var(--hover-duration);
}
@media screen and (max-width: 768px) {
    .c-selector-news__txt {
        font-size: calc(15 / var(--root-fz) * 1rem);
        min-height: 60px;
    }
}

/* ---------------------------------------------
*   c-tabs
--------------------------------------------- */
.c-tabs__tab-list {
    display: flex;
    gap: 8px;
    border-bottom: 2px solid var(--color-blue-1);
}
.c-tabs__tab {
    display: inline-block;
    margin-bottom: -2px;
    padding: 20px 0.5em;
    color: var(--color-theme-1);
    font-size: calc(17 / var(--root-fz) * 1rem);
    font-weight: 700;
    background-color: var(--color-white-1);
    border: 2px solid var(--color-blue-1);
    border-radius: 10px 10px 0 0;
    touch-action: manipulation;
    cursor: pointer;
    transition: background-color var(--hover-duration), border-color var(--hover-duration), color var(--hover-duration);
}
@media screen and (min-width: 769px) {
    .c-tabs__tab {
        min-width: 200px;
    }
}
@media screen and (max-width: 768px) {
    .c-tabs__tab {
        width: 100%;
        padding-block: 12px;
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 1.3;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-tabs__tab:hover {
        color: var(--color-white-1);
        background-color: var(--color-theme-1);
        border-color: var(--color-theme-1);
    }
}
.c-tabs__tab.is-current {
    color: var(--color-white-1);
    background-color: var(--color-theme-1);
    border-color: var(--color-theme-1);
    pointer-events: none;
}

/* ---------------------------------------------
*   c-tile-1
--------------------------------------------- */
.c-tile-1 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 15px;
}
@media screen and (max-width: 1024px) {
    .c-tile-1 {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 768px) {
    .c-tile-1 {
        grid-template-columns: repeat(1, 1fr);
        gap: 8px;
        margin-top: -6px;
    }
}

/* ---------------------------------------------
*   c-ttl-1
--------------------------------------------- */
.c-ttl-1 {
    position: relative;
}
@media screen and (max-width: 768px) {
    .c-ttl-1 {
        padding-top: 26px;
    }
}
@media screen and (min-width: 769px) {
    .c-ttl-1--horizontal-pc {
        display: flex;
        align-items: center;
        gap: calc(35 / var(--contents-width) * 100%);
    }
}
@media screen and (min-width: 769px) {
    .c-ttl-1--horizontal-pc .c-ttl-1__wrap {
        flex-shrink: 0;
    }
}

.c-ttl-1__en {
    color: var(--color-theme-2);
    font-size: calc(136 / var(--root-fz) * 1rem);
    font-family: var(--ff-montserrat);
    font-weight: 700;
    white-space: nowrap;
    opacity: 0.2;
    position: absolute;
    top: -64px;
    left: -40px;
}
@media screen and (max-width: 768px) {
    .c-ttl-1__en {
        font-size: calc(64 / var(--root-fz) * 1rem);
        letter-spacing: 0.02em;
        top: 0;
        left: -10px;
    }
}
@media screen and (max-width: 768px) {
    .c-ttl-1__en--small-sp {
        font-size: calc(56 / var(--root-fz) * 1rem);
        letter-spacing: 0;
    }
}
@media screen and (max-width: 768px) {
    .c-ttl-1__en--midium-sp {
        font-size: calc(58 / var(--root-fz) * 1rem);
    }
}
.c-ttl-1__txt {
    font-size: calc(36 / var(--root-fz) * 1rem);
    letter-spacing: var(--letter-spacing);
    line-height: 1.4;
    font-weight: 700;
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .c-ttl-1__txt {
        font-size: calc(30 / var(--root-fz) * 1rem);
    }
}
@media screen and (min-width: 769px) {
    .c-ttl-1__txt--large-pc {
        font-size: calc(56 / var(--root-fz) * 1rem);
    }
}
@media screen and (min-width: 769px) {
    .c-ttl-1__txt--medium-pc {
        font-size: calc(46 / var(--root-fz) * 1rem);
    }
}
.c-ttl-1__txt-sub {
    display: block;
    margin-top: 7px;
    font-size: calc(20 / var(--root-fz) * 1rem);
    letter-spacing: var(--letter-spacing);
    line-height: 1.4;
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .c-ttl-1__txt-sub {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.c-ttl-1__txt .c-ttl-1__txt-sub {
    margin-bottom: -4px;
}

.c-ttl-1__txt-small {
    display: inline-block;
    margin-left: 10px;
    font-size: calc(18 / var(--root-fz) * 1rem);
    line-height: 1.4;
    letter-spacing: 0;
    font-weight: 700;
    transform: translateY(-0.1em);
}
@media screen and (max-width: 768px) {
    .c-ttl-1__txt-small {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.c-ttl-1__wrap + .c-ttl-1__desc {
    margin-top: 20px;
}
@media screen and (max-width: 768px) {
    .c-ttl-1__wrap + .c-ttl-1__desc {
        margin-top: 10px;
    }
}

@media screen and (min-width: 769px) {
    .c-ttl-1--horizontal-pc .c-ttl-1__desc {
        margin-top: 2em;
    }
}

.c-ttl-1--white .c-ttl-1__en {
    color: var(--color-white-1);
}
.c-ttl-1--white .c-ttl-1__txt {
    color: var(--color-white-1);
}
.c-ttl-1--white .c-ttl-1__txt-sub {
    color: var(--color-white-1);
}
.c-ttl-1--white .c-ttl-1__desc {
    color: var(--color-white-1);
}

/* ---------------------------------------------
*   c-ttl-2
--------------------------------------------- */
.c-ttl-2--center {
    text-align: center;
}
.c-ttl-2__txt {
    font-size: calc(34 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .c-ttl-2__txt {
        font-size: calc(26 / var(--root-fz) * 1rem);
    }
}
.c-ttl-2--white .c-ttl-2__txt {
    color: var(--color-white-1);
}
.c-ttl-2__en {
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    font-family: var(--ff-montserrat);
    letter-spacing: 0.02em;
}
.c-ttl-2--white .c-ttl-2__en {
    color: var(--color-white-1);
}
.c-ttl-2__desc {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .c-ttl-2__desc {
        margin-top: 26px;
    }
}

/* ---------------------------------------------
*   c-ttl-3
--------------------------------------------- */
.c-ttl-3 {
    font-size: calc(26 / var(--root-fz) * 1rem);
    line-height: 1.6;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .c-ttl-3 {
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}

@media screen and (min-width: 769px) {
    .c-ttl-3-pc {
        font-size: calc(26 / var(--root-fz) * 1rem);
        line-height: 1.6;
        letter-spacing: var(--letter-spacing);
        font-weight: 700;
    }
}

@media screen and (max-width: 768px) {
    .c-ttl-3-sp {
        line-height: 1.6;
        letter-spacing: var(--letter-spacing);
        font-size: calc(20 / var(--root-fz) * 1rem);
        font-weight: 700;
    }
}

/* ---------------------------------------------
*   c-ttl-4
--------------------------------------------- */
.c-ttl-4 {
    font-size: calc(24 / var(--root-fz) * 1rem);
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .c-ttl-4 {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}

@media screen and (min-width: 769px) {
    .c-ttl-4-pc {
        font-size: calc(24 / var(--root-fz) * 1rem);
        line-height: 1.4;
        letter-spacing: var(--letter-spacing);
        font-weight: 700;
    }
}

@media screen and (max-width: 768px) {
    .c-ttl-4-sp {
        font-size: calc(17 / var(--root-fz) * 1rem);
        line-height: 1.4;
        letter-spacing: var(--letter-spacing);
        font-weight: 700;
    }
}

/* ---------------------------------------------
*   c-ttl-5
--------------------------------------------- */
.c-ttl-5 {
    font-size: calc(18 / var(--root-fz) * 1rem);
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .c-ttl-5 {
        font-size: calc(17 / var(--root-fz) * 1rem);
        line-height: 1.4;
    }
}

@media screen and (min-width: 769px) {
    .c-ttl-5-pc {
        font-size: calc(18 / var(--root-fz) * 1rem);
        line-height: 1.5;
        letter-spacing: var(--letter-spacing);
        font-weight: 700;
    }
}

@media screen and (max-width: 768px) {
    .c-ttl-5-sp {
        font-size: calc(17 / var(--root-fz) * 1rem);
        line-height: 1.5;
        letter-spacing: var(--letter-spacing);
        font-weight: 700;
    }
}

/* ---------------------------------------------
*   c-ttl-6
--------------------------------------------- */
.c-ttl-6 {
    padding-bottom: 10px;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    border-bottom: 2px solid var(--color-blue-1);
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .c-ttl-6 {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}
.c-ttl-6--border-small {
    position: relative;
    padding-bottom: 25px;
    border: none;
}
@media screen and (max-width: 768px) {
    .c-ttl-6--border-small {
        padding-bottom: 18px;
    }
}
.c-ttl-6--border-small::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 42px;
    height: 1px;
    background-color: var(--color-theme-1);
    transform: translateX(-50%);
}
.c-ttl-6--border-non {
    padding-block: 0;
    border: none;
}
.c-ttl-6--large {
    font-size: calc(26 / var(--root-fz) * 1rem);
    padding-bottom: 14px;
}
@media screen and (max-width: 768px) {
    .c-ttl-6--large {
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
.c-ttl-6--small {
    font-size: calc(18 / var(--root-fz) * 1rem);
    padding-bottom: 14px;
}
@media screen and (max-width: 768px) {
    .c-ttl-6--small {
        font-size: calc(17 / var(--root-fz) * 1rem);
        padding-bottom: 12px;
    }
}

/* ---------------------------------------------
*   c-ttl-7
--------------------------------------------- */
.c-ttl-7 {
    position: relative;
}
.c-ttl-7__txt {
    position: relative;
    z-index: 1;
    font-size: calc(26 / var(--root-fz) * 1rem);
    font-weight: bold;
    letter-spacing: var(--letter-spacing);
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .c-ttl-7__txt {
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
.c-ttl-7__en {
    position: absolute;
    top: -17px;
    left: -28px;
    color: var(--color-blue-6);
    font-family: var(--ff-montserrat);
    font-size: calc(35 / var(--root-fz) * 1rem);
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1;
}
@media screen and (max-width: 768px) {
    .c-ttl-7__en {
        top: -13px;
        left: -10px;
        font-size: calc(30 / var(--root-fz) * 1rem);
    }
}
.c-ttl-7__en--report {
    left: -13px;
}
@media screen and (max-width: 768px) {
    .c-ttl-7__en--report {
        left: -10px;
    }
}

/* ---------------------------------------------
*   c-ttl-8
--------------------------------------------- */
.c-ttl-8 {
    font-size: calc(34 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
    text-align: center;
}
@media screen and (max-width: 768px) {
    .c-ttl-8 {
        font-size: calc(26 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-ttl-9
--------------------------------------------- */
.c-ttl-9 {
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .c-ttl-9 {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   c-ttl-10
--------------------------------------------- */
.c-ttl-10 {
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1.6;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .c-ttl-10 {
        font-size: calc(17 / var(--root-fz) * 1rem);
        line-height: 1.5;
    }
}

/* ---------------------------------------------
*   c-txt-1 body
--------------------------------------------- */
.c-txt-1 {
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 2;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .c-txt-1 {
        font-size: calc(15 / var(--root-fz) * 1rem);
        line-height: 1.7;
    }
}
@media screen and (max-width: 768px) {
    .c-txt-1--large-sp {
        font-size: calc(16 / var(--root-fz) * 1rem);
        line-height: 2;
    }
}
.c-txt-1--border {
    padding: 11px 16px 14px;
    line-height: 1;
    border: 2px solid var(--color-gray-3);
}
@media screen and (max-width: 768px) {
    .c-txt-1--border {
        padding: 6px 10px 9px;
    }
    .android .c-txt-1--border {
        padding-bottom: 7px;
    }
}

@media screen and (min-width: 769px) {
    .c-txt-1-pc {
        font-size: calc(16 / var(--root-fz) * 1rem);
        line-height: 2;
        letter-spacing: var(--letter-spacing);
    }
}

@media screen and (max-width: 768px) {
    .c-txt-1-sp {
        font-size: calc(15 / var(--root-fz) * 1rem);
        line-height: 1.8;
        letter-spacing: var(--letter-spacing);
    }
}

/* ---------------------------------------------
*   c-txt-2 subbody
--------------------------------------------- */
.c-txt-2 {
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1.8;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .c-txt-2 {
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 1.7;
    }
}
@media screen and (max-width: 768px) {
    .c-txt-2--large-sp {
        font-size: calc(16 / var(--root-fz) * 1rem);
        line-height: 1.8;
    }
}

@media screen and (min-width: 769px) {
    .c-txt-2-pc {
        font-size: calc(16 / var(--root-fz) * 1rem);
        line-height: 1.8;
        letter-spacing: var(--letter-spacing);
    }
}

@media screen and (max-width: 768px) {
    .c-txt-2-sp {
        font-size: calc(14 / var(--root-fz) * 1rem);
        line-height: 1.7;
        letter-spacing: var(--letter-spacing);
    }
}

/* ---------------------------------------------
*   c-txt-3 body-s
--------------------------------------------- */
.c-txt-3 {
    font-size: calc(13 / var(--root-fz) * 1rem);
    line-height: 1.8;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .c-txt-3 {
        font-size: calc(12 / var(--root-fz) * 1rem);
        line-height: 1.7;
    }
}
@media screen and (max-width: 768px) {
    .c-txt-3--large-sp {
        font-size: calc(13 / var(--root-fz) * 1rem);
        line-height: 1.8;
        letter-spacing: var(--letter-spacing);
    }
}

@media screen and (min-width: 769px) {
    .c-txt-3-pc {
        font-size: calc(13 / var(--root-fz) * 1rem);
        line-height: 1.8;
        letter-spacing: var(--letter-spacing);
    }
}

@media screen and (max-width: 768px) {
    .c-txt-3-sp {
        font-size: calc(12 / var(--root-fz) * 1rem);
        line-height: 1.7;
        letter-spacing: var(--letter-spacing);
    }
}

/* ---------------------------------------------
*   c-txt-4
--------------------------------------------- */
.c-txt-4 {
    font-size: calc(18 / var(--root-fz) * 1rem);
    letter-spacing: var(--letter-spacing);
    line-height: 2.2;
}
@media screen and (max-width: 768px) {
    .c-txt-4 {
        font-size: calc(15 / var(--root-fz) * 1rem);
        line-height: 1.7;
    }
}

/* ---------------------------------------------
*   p-about-intro
--------------------------------------------- */
.p-about-intro {
    padding-block: 80px 0;
}
@media screen and (max-width: 768px) {
    .p-about-intro {
        padding-block: 60px calc(30 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-about-section-vision
--------------------------------------------- */
.p-about-section-vision {
    padding-block: 80px 0;
}
@media screen and (max-width: 768px) {
    .p-about-section-vision {
        padding-block: 60px 0;
    }
}
.p-about-section-vision__container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2rem;
}
@media screen and (max-width: 768px) {
    .p-about-section-vision__container {
        display: block;
    }
}
.p-about-section-vision__head {
    flex-shrink: 0;
}
.p-about-section-vision__body {
    max-width: 774px;
    width: 100%;
}
@media screen and (max-width: 768px) {
    .p-about-section-vision__body {
        margin-top: 25px;
    }
}

/* ---------------------------------------------
*   p-about-section-message
--------------------------------------------- */
.p-about-section-message {
    padding-block: 80px 60px;
}
@media screen and (max-width: 768px) {
    .p-about-section-message {
        padding-block: 60px 40px;
    }
}

/* ---------------------------------------------
*   p-about-section-message2
--------------------------------------------- */
.p-about-section-message2 {
    margin-top: calc(-70 / var(--design-width) * 100vw);
    padding-block: calc(70 / var(--design-width) * 100vw + 76px) 80px;
    background-color: var(--color-blue-3);
}
@media screen and (max-width: 768px) {
    .p-about-section-message2 {
        margin-top: calc(-22 / var(--design-width) * 100vw);
        padding-block: calc(22 / var(--design-width) * 100vw + 60px) 60px;
    }
}

/* ---------------------------------------------
*   p-about-box-message
--------------------------------------------- */
.p-about-box-message {
    display: grid;
    grid-template-columns: calc(290 / var(--contents-width) * 100%) calc(776 / var(--contents-width) * 100%);
    align-items: flex-start;
    gap: calc(56 / var(--contents-width) * 100%);
}
@media screen and (max-width: 768px) {
    .p-about-box-message {
        display: block;
    }
}
.p-about-box-message__fig {
    display: block;
}
@media screen and (max-width: 768px) {
    .p-about-box-message__fig {
        width: calc(220 / var(--contents-width) * 100%);
        margin-inline: auto;
    }
}
.p-about-box-message__fig img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-about-box-message__inner {
    margin-top: -10px;
}
@media screen and (max-width: 768px) {
    .p-about-box-message__inner {
        margin-top: 25px;
    }
}
.p-about-box-message__sign {
    display: block;
    width: 197px;
    margin-top: 5px;
    margin-left: auto;
}
@media screen and (max-width: 768px) {
    .p-about-box-message__sign {
        width: 131px;
    }
}
.p-about-box-message__sign--2 {
    width: 272px;
}
@media screen and (max-width: 768px) {
    .p-about-box-message__sign--2 {
        width: 182px;
    }
}
.p-about-box-message + .p-about-box-message {
    margin-top: 80px;
}

/* ---------------------------------------------
*   p-about-section-member
--------------------------------------------- */
.p-about-section-member {
    padding-block: 80px 0;
}
@media screen and (max-width: 768px) {
    .p-about-section-member {
        padding-block: 60px 0;
    }
}
.p-about-section-member__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

/* ---------------------------------------------
*   p-about-loop
--------------------------------------------- */
.p-about-loop {
    display: flex;
    gap: 60px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .p-about-loop {
        gap: calc(18 / var(--design-width) * 100vw);
    }
}
.p-about-loop + .p-about-loop {
    margin-top: 54px;
}
@media screen and (max-width: 768px) {
    .p-about-loop + .p-about-loop {
        margin-top: calc(16 / var(--design-width) * 100vw);
    }
}
.p-about-loop__list {
    display: flex;
    gap: 60px;
    animation: infiniteLoop 80s linear 0.5s infinite both;
}
@media screen and (max-width: 768px) {
    .p-about-loop__list {
        gap: calc(18 / var(--design-width) * 100vw);
    }
}
.p-about-loop__list--ltr {
    animation: infiniteLoop2 87s linear 0.5s infinite both;
}
.p-about-loop__item {
    flex-shrink: 0;
    width: 160px;
    will-change: transform;
    backface-visibility: hidden;
}
@media screen and (max-width: 768px) {
    .p-about-loop__item {
        width: calc(47 / var(--design-width) * 100vw);
    }
}
.p-about-loop__item img {
    display: block;
    width: 100%;
    height: auto;
}

@keyframes infiniteLoop {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}
@keyframes infiniteLoop2 {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(0);
    }
}
/* ---------------------------------------------
*   p-about-cassette
--------------------------------------------- */
@media screen and (min-width: 769px) {
    .p-about-cassette {
        align-items: flex-start;
        gap: calc(54 / 1122 * 100%);
        display: flex;
    }
}
@media screen and (max-width: 768px) {
    .p-about-cassette {
        position: relative;
        overflow: hidden;
        display: block;
    }
}
.p-about-cassette__head {
    position: sticky;
    top: 50%;
    transform: translateY(calc(-50% + var(--fixed-header-height) * 1px));
    width: calc(584 / 1122 * 100%);
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .p-about-cassette__head {
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        width: min(306 / var(--design-width) * 100dvh, 306 / var(--design-width) * 100vw);
        transform: translate(-50%, -70%);
    }
}
.p-about-cassette__body {
    position: relative;
    padding-bottom: 20dvh;
    width: calc(490 / 1122 * 100%);
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .p-about-cassette__body {
        padding-bottom: 0;
        width: 100%;
    }
}
.p-about-cassette__inner {
    position: relative;
}
@media screen and (max-width: 768px) {
    .p-about-cassette__inner {
        width: -moz-fit-content;
        width: fit-content;
        height: 100dvh;
        display: flex;
        flex-wrap: nowrap;
    }
}

/*  p-about-main-img
--------------------------------------------- */
.p-about-main-img {
    display: block;
}
@media screen and (max-width: 768px) {
    .p-about-main-img {
        position: relative;
    }
}
.p-about-main-img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: none;
}
.p-about-main-img img.is-current {
    display: block;
}
.p-about-main-img--block img {
    display: block;
}

/*  p-about-sub-img
--------------------------------------------- */
.p-about-sub-img {
    position: absolute;
    display: block;
    width: calc(104 / 585 * 100%);
    transform-origin: center center;
    transition: transform 0.3s;
    transform: scale(1);
}
.p-about-sub-img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-about-sub-img img:first-of-type {
    display: block;
}
.p-about-sub-img img:last-of-type {
    display: none;
}
.p-about-sub-img.is-current {
    animation: poyopoyo 0.7s ease-out forwards;
}
.p-about-sub-img.is-current img:first-of-type {
    display: none;
}
.p-about-sub-img.is-current img:last-of-type {
    display: block;
}
.p-about-sub-img--1 {
    top: 11.7%;
    left: 14.5%;
}
.p-about-sub-img--2 {
    bottom: 11.6%;
    left: 14.1%;
}
.p-about-sub-img--3 {
    top: 12.8%;
    right: 14%;
}
.p-about-sub-img--4 {
    bottom: 11.6%;
    right: 13.9%;
}

@keyframes poyopoyo {
    50% {
        transform: scale(1.97);
    }
    100% {
        transform: scale(1.7);
    }
}
/*  p-about-txt-wrap
--------------------------------------------- */
@media screen and (min-width: 769px) {
    .p-about-txt-wrap {
        height: 100dvh;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }
    .p-about-txt-wrap--contents-non {
        height: 20dvh;
    }
}
@media screen and (max-width: 768px) {
    .p-about-txt-wrap {
        position: relative;
        padding-inline: calc(4 / var(--design-width) * 100vw);
    }
}

/*  p-about-cassette-wrap
--------------------------------------------- */
.p-about-cassette-wrap {
    position: relative;
    padding-block: 0 120px;
    margin-top: 260px;
    background-color: var(--color-blue-3);
}
@media screen and (max-width: 768px) {
    .p-about-cassette-wrap {
        padding-block: 0;
        width: 100%;
        margin-top: 100px;
    }
}
.p-about-cassette-wrap::before {
    content: "";
    position: absolute;
    top: -260px;
    left: 0;
    display: block;
    width: 100%;
    height: 260px;
    background: url(../img/about/bg.png) top center no-repeat;
    background-size: 100% 100%;
}
@media screen and (max-width: 768px) {
    .p-about-cassette-wrap::before {
        top: -100px;
        height: 100px;
    }
}
.p-about-cassette-wrap__container {
    padding-inline: calc(var(--contents-side-padding) * 1px);
    max-width: calc(1122px + var(--contents-side-padding) * 2px);
    margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .p-about-cassette-wrap__container {
        padding-inline: 0;
        max-width: none;
    }
}

/*  js-img-scope
--------------------------------------------- */
.js-img-scope {
    opacity: 0;
    transition: opacity 0.5s;
}

.js-anim-area .p-about-scroll {
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s;
}
.js-anim-area.is-show .js-img-scope {
    opacity: 1;
}
.js-anim-area.is-show .p-about-scroll {
    opacity: 1;
    visibility: visible;
}
.js-anim-area.is-show .p-about-scroll__icon::before {
    animation: scroll 2s infinite;
}

/* 矢印のアニメーション */
@keyframes scroll {
    0% {
        opacity: 0;
        transform: translate(-50%, -100%) rotate(90deg);
    }
    40% {
        opacity: 1;
    }
    80% {
        opacity: 0;
        transform: translate(-50%, 0%) rotate(90deg);
    }
    100% {
        opacity: 0;
    }
}
/* ---------------------------------------------
*   p-about-slider
--------------------------------------------- */
.p-about-slider {
    padding-inline: calc(34 / var(--design-width) * 100vw);
}
.p-about-slider__content {
    position: relative;
    padding-block: calc(60 / var(--design-width) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: calc(60 / var(--design-width) * 100vw);
}
.p-about-slider__content--none {
    padding-block: 10dvh;
    height: auto;
}

/* ---------------------------------------------
*   p-about-scroll
--------------------------------------------- */
.p-about-scroll {
    position: sticky;
    bottom: 23px;
}
.p-about-scroll__icon {
    position: relative;
    display: block;
    width: 62px;
    margin-inline: auto;
}
.p-about-scroll__icon::before, .p-about-scroll__icon::after {
    content: "";
    display: block;
}
.p-about-scroll__icon::before {
    width: 16px;
    aspect-ratio: 13/9;
    -webkit-mask: url(../img/common/icon/ico_arrow-1.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_arrow-1.svg) no-repeat center/contain;
    background-color: var(--color-theme-1);
    transition: background-color 0.3s, transform 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    transform-origin: center;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .p-about-scroll__icon::before {
        width: 12px;
    }
}
.p-about-scroll__icon::after {
    width: 62px;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/circle.svg) no-repeat center/contain;
            mask: url(../img/common/circle.svg) no-repeat center/contain;
    background-color: var(--color-blue-1);
    transition: background-color 0.3s;
}
@media screen and (max-width: 768px) {
    .p-about-scroll__icon::after {
        width: 48px;
        -webkit-mask-image: url(../img/common/sp/circle.svg);
                mask-image: url(../img/common/sp/circle.svg);
    }
}
.p-about-scroll__icon-inner {
    display: block;
    width: 48px;
    aspect-ratio: 1/1;
    transition: background-color 0.3s;
    background-color: transparent;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .p-about-scroll__icon-inner {
        width: 37.1612903226px;
    }
}
.p-about-scroll__txt {
    display: block;
    font-size: calc(14 / var(--root-fz) * 1rem);
    letter-spacing: 0.02em;
    margin-top: 8px;
}

/* ---------------------------------------------
*   p-detail-overview
--------------------------------------------- */
.p-detail-overview {
    margin-top: 40px;
}
@media screen and (min-width: 769px) {
    .p-detail-overview {
        max-width: calc((730 + var(--contents-side-padding) * 2) * 1px);
        margin-inline: auto;
        padding-inline: calc(var(--contents-side-padding) * 1px);
    }
}
@media screen and (max-width: 768px) {
    .p-detail-overview {
        margin-top: 26px;
    }
}
.p-detail-overview__inner {
    padding: 26px 30px;
    background-color: var(--color-theme-1);
    border-radius: 20px;
}
@media screen and (max-width: 768px) {
    .p-detail-overview__inner {
        padding: 26px 20px;
    }
}
.p-detail-overview__dl {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 0.5em;
}
@media screen and (max-width: 768px) {
    .p-detail-overview__dl {
        gap: 16px;
    }
}
@media screen and (min-width: 769px) {
    .p-detail-overview__dl--type2 {
        flex-direction: column;
        gap: 22px;
    }
}
.p-detail-overview__dl dt {
    min-width: 96px;
    padding: 6px 0.25em;
    color: var(--color-black-3);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    font-family: var(--ff-montserrat);
    text-align: center;
    background-color: var(--color-white-1);
    border-radius: 50em;
}
.p-detail-overview__dl dd {
    margin-top: 0.1em;
    color: var(--color-white-1);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .p-detail-overview__dl dd {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.p-detail-overview__dl dd small {
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 400;
    letter-spacing: var(--letter-spacing);
}
.p-detail-overview__dl dd ul li {
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
}
.p-detail-overview__dl dd ul li::before {
    content: "・";
}
.p-detail-overview__item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
@media screen and (max-width: 768px) {
    .p-detail-overview__item {
        width: 100%;
        flex-direction: column;
        gap: 7px;
    }
}
@media screen and (min-width: 769px) {
    .p-detail-overview__item:not(:last-of-type) {
        width: calc((100% - 0.5em) / 2);
    }
}
@media screen and (min-width: 769px) {
    .p-detail-overview__dl--type2 .p-detail-overview__item, .p-detail-overview__dl--type2 .p-detail-overview__item:last-of-type {
        width: 100%;
    }
}
.p-detail-overview__item:last-of-type {
    width: 100%;
}

/* ---------------------------------------------
*   p-detail-block
--------------------------------------------- */
.p-detail-block--type2 {
    margin-top: 60px;
}
@media screen and (max-width: 768px) {
    .p-detail-block--type2 {
        margin-top: 40px;
    }
}
.p-detail-block :has(+ hr) {
    margin-bottom: 72px;
}
@media screen and (max-width: 768px) {
    .p-detail-block :has(+ hr) {
        margin-bottom: 56px;
    }
}
.p-detail-block h2 {
    font-size: calc(34 / var(--root-fz) * 1rem);
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .p-detail-block h2 {
        font-size: calc(26 / var(--root-fz) * 1rem);
    }
}
.p-detail-block--type2 h2:not(:first-of-type) {
    margin-top: 80px;
}
@media screen and (max-width: 768px) {
    .p-detail-block--type2 h2:not(:first-of-type) {
        margin-top: 56px;
    }
}

.p-detail-block h3 {
    font-size: calc(26 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .p-detail-block h3 {
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
.p-detail-block h3:not(:first-child) {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .p-detail-block h3:not(:first-child) {
        margin-top: 24px;
    }
}
.p-detail-block p {
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 2;
    letter-spacing: var(--letter-spacing);
    text-align: justify;
}
@media screen and (max-width: 768px) {
    .p-detail-block p {
        font-size: calc(15 / var(--root-fz) * 1rem);
        line-height: 1.7;
    }
}
.p-detail-block p:not(:first-child) {
    margin-top: 28px;
}
@media screen and (max-width: 768px) {
    .p-detail-block p:not(:first-child) {
        margin-top: 24px;
    }
}
.p-detail-block p strong,
.p-detail-block p strong * {
    font-weight: 700;
}
.p-detail-block p mark {
    padding-bottom: 0.25em;
    background: linear-gradient(transparent 53%, var(--color-blue-5) 53%);
}
.p-detail-block div:has(img):not(:first-child) {
    margin-top: 32px;
}
@media screen and (max-width: 768px) {
    .p-detail-block div:has(img):not(:first-child) {
        margin-top: 24px;
    }
}
.p-detail-block div:has(img + img) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 28px;
}
@media screen and (max-width: 768px) {
    .p-detail-block div:has(img + img) {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}
.p-detail-block div img {
    aspect-ratio: 296/166;
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-detail-block div figure div {
    aspect-ratio: 296/166;
    overflow: hidden;
}
.p-detail-block div figure figcaption {
    margin-top: 0.5em;
    color: var(--color-black-1);
    font-size: calc(13 / var(--root-fz) * 1rem);
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .p-detail-block div figure figcaption {
        font-size: calc(12 / var(--root-fz) * 1rem);
    }
}
.p-detail-block a {
    color: var(--color-theme-1);
    text-underline-offset: 3px;
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .p-detail-block a:hover {
        text-decoration: none;
    }
}
.p-detail-block a[target]::after {
    content: "";
    display: inline-block;
    width: 10px;
    margin-inline: 0.25em;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/icon/ico_external.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_external.svg) no-repeat center/contain;
    background-color: var(--color-theme-1);
}
.p-detail-block h3 + p:not(:first-child) {
    margin-top: 20px;
}
@media screen and (max-width: 768px) {
    .p-detail-block h3 + p:not(:first-child) {
        margin-top: 16px;
    }
}
.p-detail-block img + h3:not(:first-child) {
    margin-top: 76px;
}
@media screen and (max-width: 768px) {
    .p-detail-block img + h3:not(:first-child) {
        margin-top: 54px;
    }
}
.p-detail-block p + p:not(:first-child) {
    margin-top: 1em;
}
.p-detail-block .c-box-movie {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .p-detail-block .c-box-movie {
        margin-top: 24px;
    }
}

/* ---------------------------------------------
*   p-detail-container-pc
--------------------------------------------- */
@media screen and (min-width: 769px) {
    .p-detail-container-pc {
        max-width: calc((620 + var(--contents-side-padding) * 2) * 1px);
        margin-inline: auto;
        padding-inline: calc(var(--contents-side-padding) * 1px);
    }
}

/* ---------------------------------------------
*   p-event-about
--------------------------------------------- */
.p-event-about {
    padding-block: 66px 60px;
}
@media screen and (max-width: 768px) {
    .p-event-about {
        padding-block: 60px 40px;
    }
}
.p-event-about__container {
    display: grid;
    grid-template-columns: 215px 1fr;
    gap: calc(130 / var(--contents-width) * 100%);
    justify-content: space-between;
}
@media screen and (max-width: 768px) {
    .p-event-about__container {
        grid-template-columns: 1fr;
        gap: 26px;
    }
}
@media screen and (min-width: 769px) {
    .p-event-about__head {
        margin-top: 1em;
    }
}
.p-event-about__txt {
    color: var(--color-white-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    letter-spacing: var(--letter-spacing);
    line-height: 2.2;
    text-align: justify;
}
@media screen and (max-width: 768px) {
    .p-event-about__txt {
        font-size: calc(15 / var(--root-fz) * 1rem);
        line-height: 1.7;
    }
}
.p-event-about__box {
    margin-top: 50px;
}
@media screen and (max-width: 768px) {
    .p-event-about__box {
        margin-top: 30px;
    }
}

/* ---------------------------------------------
*   p-event-bg
--------------------------------------------- */
.p-event-bg {
    margin-top: calc(-66 / var(--design-width) * 100%);
    padding-block: calc(166 / var(--design-width) * 100%) 40px;
    background-color: var(--color-blue-7);
}
@media screen and (max-width: 768px) {
    .p-event-bg {
        margin-top: calc(-20 / var(--design-width) * 100%);
        padding-block: 76px 20px;
    }
}

/* ---------------------------------------------
*   p-event-recruiting
--------------------------------------------- */
.p-event-recruiting__body {
    margin-top: 25px;
}
@media screen and (min-width: 769px) {
    .p-event-recruiting__body {
        max-width: 644px;
        min-width: -moz-fit-content;
        min-width: fit-content;
        margin-inline: auto;
    }
}
@media screen and (max-width: 768px) {
    .p-event-recruiting__body {
        margin-top: 16px;
    }
}
.p-event-recruiting__foot {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    margin-top: 10px;
}
@media screen and (max-width: 768px) {
    .p-event-recruiting__foot {
        margin-top: 16px;
    }
}

/* ---------------------------------------------
*   p-event-block-loop
--------------------------------------------- */
.p-event-block-loop {
    margin-top: 20px;
}

/* ---------------------------------------------
*   p-event-section-1
--------------------------------------------- */
@media screen and (min-width: 769px) {
    .p-event-section-1 {
        padding-top: 30px;
    }
}

/* ---------------------------------------------
*   p-event-detail-head
--------------------------------------------- */
.p-event-detail-head {
    padding-top: 48px;
}
@media screen and (max-width: 768px) {
    .p-event-detail-head {
        padding-top: 46px;
    }
}
.p-event-detail-head__txt-sub {
    color: var(--color-theme-1);
    font-size: calc(22 / var(--root-fz) * 1rem);
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .p-event-detail-head__txt-sub {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}
@media screen and (min-width: 769px) {
    .p-event-detail-head__txt-wrap {
        max-width: 1000px;
        margin-inline: auto;
    }
}
.p-event-detail-head__txt-wrap h1 {
    margin-top: 10px;
    font-size: calc(40 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .p-event-detail-head__txt-wrap h1 {
        margin-top: 5px;
        font-size: calc(26 / var(--root-fz) * 1rem);
    }
}
.p-event-detail-head img {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .p-event-detail-head img {
        margin-top: 24px;
    }
}
.p-event-detail-head__date {
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 4px;
}
@media screen and (max-width: 768px) {
    .p-event-detail-head__date {
        margin-top: 12px;
    }
}
.p-event-detail-head__date span {
    color: var(--color-theme-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 700;
}
.p-event-detail-head__date-txt {
    font-family: var(--ff-montserrat);
}

/* ---------------------------------------------
*   p-member-list
--------------------------------------------- */
.p-member-list {
    display: grid;
    justify-content: center;
}
@media screen and (max-width: 768px) {
    .p-member-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px calc(22 / var(--contents-width) * 100%);
    }
}
@media screen and (min-width: 769px) {
    .p-member-list--2col {
        max-width: 560px;
        margin-inline: auto;
        grid-template-columns: repeat(2, 1fr);
        gap: 60px;
    }
}
@media screen and (min-width: 769px) {
    .p-member-list--3col {
        max-width: 816px;
        margin-inline: auto;
        grid-template-columns: repeat(3, 1fr);
        gap: 64px 6.6176470588%;
    }
}
@media screen and (min-width: 769px) {
    .p-member-list--5col {
        grid-template-columns: repeat(5, 1fr);
        gap: 62px calc(40 / var(--contents-width) * 100%);
    }
}
@media screen and (max-width: 768px) {
    .p-member-list--5col {
        row-gap: 22px;
    }
}

/* ---------------------------------------------
*   p-member-section
--------------------------------------------- */
.p-member-section {
    margin-top: 84px;
    padding-top: 50px;
    border-top: 2px solid var(--color-blue-1);
}
@media screen and (max-width: 768px) {
    .p-member-section {
        margin-top: 52px;
        padding-top: 38px;
    }
}
@media screen and (min-width: 769px) {
    .p-member-section__head--flex-pc {
        display: grid;
        grid-template-columns: max-content 1fr;
        justify-content: space-between;
        gap: 2rem;
    }
}
.p-member-section__head-txt {
    margin-top: 20px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 2;
}
@media screen and (min-width: 769px) {
    .p-member-section__head-txt {
        text-align: center;
    }
}
@media screen and (max-width: 768px) {
    .p-member-section__head-txt {
        margin-top: 26px;
        font-size: calc(15 / var(--root-fz) * 1rem);
        line-height: 1.7;
        letter-spacing: var(--letter-spacing);
    }
}
@media screen and (min-width: 769px) {
    .p-member-section__head--flex-pc .p-member-section__head-txt {
        max-width: 540px;
        margin-top: 0;
        margin-inline: auto 0;
    }
}
.p-member-section__head-link {
    margin-top: 10px;
}
@media screen and (min-width: 769px) {
    .p-member-section__head-link {
        width: -moz-fit-content;
        width: fit-content;
        margin-inline: auto;
    }
}
@media screen and (max-width: 768px) {
    .p-member-section__head-link {
        margin-top: 22px;
    }
}
.p-member-section__body {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .p-member-section__body {
        margin-top: 26px;
    }
}

/* ---------------------------------------------
*   p-member-box-wrap
--------------------------------------------- */
.p-member-box-wrap {
    display: flex;
    gap: calc(40 / var(--contents-width) * 100%);
}
@media screen and (min-width: 769px) {
    .p-member-box-wrap {
        align-items: flex-start;
    }
}
@media screen and (max-width: 768px) {
    .p-member-box-wrap {
        flex-direction: column;
        gap: 16px;
    }
}

/* ---------------------------------------------
*   p-member-box
--------------------------------------------- */
.p-member-box {
    padding: 18px 28px 54px;
    border: 2px solid var(--color-blue-1);
    border-radius: 20px;
}
@media screen and (max-width: 768px) {
    .p-member-box {
        padding: 18px 18px 30px;
    }
}
@media screen and (min-width: 1025px) {
    .p-member-box:first-of-type {
        width: min(100%, 442px);
    }
}
@media screen and (min-width: 1025px) {
    .p-member-box:nth-of-type(2) {
        flex-grow: 1;
        min-width: 560px;
    }
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
    .p-member-box {
        width: 50%;
    }
}
.p-member-box__ttl {
    padding-bottom: 12px;
    color: var(--color-theme-1);
    font-size: calc(22 / var(--root-fz) * 1rem);
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
    border-bottom: 2px solid var(--color-blue-1);
}
@media screen and (max-width: 768px) {
    .p-member-box__ttl {
        padding-bottom: 10px;
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}
.p-member-box__list {
    display: grid;
    margin-top: 26px;
    row-gap: 23px;
}
@media screen and (max-width: 768px) {
    .p-member-box__list {
        row-gap: 21px;
    }
}
@media screen and (min-width: 1025px) {
    .p-member-box__list--2col {
        max-width: initial;
        grid-template-columns: repeat(2, 1fr);
    }
}
.p-member-box__item {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .p-member-box__item {
        font-size: calc(18 / var(--root-fz) * 1rem);
    }
}
.p-member-box__en {
    font-size: calc(14 / var(--root-fz) * 1rem);
    color: var(--color-theme-1);
    font-family: var(--ff-montserrat);
    font-weight: 700;
    letter-spacing: 0.02em;
}

/* ---------------------------------------------
*   p-member-modal-content-1
--------------------------------------------- */
@media screen and (min-width: 769px) {
    .p-member-modal-content-1__head {
        display: grid;
        grid-template-columns: 47.7541371158% 1fr;
    }
}
@media screen and (min-width: 769px) {
    .p-member-modal-content-1--type2 .p-member-modal-content-1__head {
        align-items: center;
    }
}
.p-member-modal-content-1__ttl-wrap {
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__ttl-wrap {
        margin-top: 16px;
    }
}
@media screen and (min-width: 769px) {
    .p-member-modal-content-1--type2 .p-member-modal-content-1__txt-wrap {
        padding-right: 8.5972850679%;
    }
}
.p-member-modal-content-1__sns-list {
    display: flex;
    align-items: center;
    gap: 20px;
}
.p-member-modal-content-1__sns-link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .p-member-modal-content-1__sns-link {
        transition: opacity var(--hover-duration);
    }
    .p-member-modal-content-1__sns-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__sns-link {
        width: 24px;
    }
}
.p-member-modal-content-1__sns-link--x {
    width: 25px;
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__sns-link--x {
        width: 20px;
    }
}
.p-member-modal-content-1__sns-link--note {
    width: 24px;
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__sns-link--note {
        width: 20px;
    }
}
.p-member-modal-content-1__name-jp {
    font-size: calc(36 / var(--root-fz) * 1rem);
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__name-jp {
        font-size: calc(28 / var(--root-fz) * 1rem);
    }
}
.p-member-modal-content-1__name-en {
    display: block;
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    line-height: 1.4;
    font-family: var(--ff-montserrat);
}
@media screen and (min-width: 769px) {
    .p-member-modal-content-1__name-en {
        margin-bottom: 5px;
    }
}
.p-member-modal-content-1__title {
    display: block;
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    line-height: 1.4;
}
@media screen and (min-width: 769px) {
    .p-member-modal-content-1__title {
        margin-top: 5px;
    }
}
.p-member-modal-content-1__desc {
    margin-top: 22px;
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__desc {
        margin-top: 15px;
    }
}
.p-member-modal-content-1__img {
    text-align: center;
}
.p-member-modal-content-1__img img {
    width: 64.3564356436%;
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__img img {
        width: 61.6949152542%;
    }
}
.p-member-modal-content-1__tag-list {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__tag-list {
        margin-top: 12px;
        gap: 4px 6px;
    }
}
.p-member-modal-content-1__tag {
    padding: 1.5px 7px 2.5px;
    color: var(--color-theme-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
    border-radius: 50em;
    border: 2px solid var(--color-blue-1);
    background-color: var(--color-white-1);
}
.firefox .p-member-modal-content-1__tag {
    padding-block: 1px 3px;
}

.p-member-modal-content-1__body {
    margin-top: 34px;
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__body {
        margin-top: 30px;
    }
}
.p-member-modal-content-1__box {
    padding: 18px 28px 32px;
    border-radius: 20px;
    border: 2px solid var(--color-blue-1);
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__box {
        padding: 16px 18px 28px;
    }
}
.p-member-modal-content-1__box-desc {
    margin-top: 12px;
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__box-desc {
        margin-top: 16px;
    }
}
.p-member-modal-content-1__foot {
    margin-top: 40px;
}
@media screen and (min-width: 769px) {
    .p-member-modal-content-1__foot {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 4.4917257683%;
    }
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__foot {
        margin-top: 28px;
    }
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__section + .p-member-modal-content-1__section {
        margin-top: 30px;
    }
}
.p-member-modal-content-1__section-body {
    margin-top: 22px;
}
.p-member-modal-content-1__section-list {
    display: grid;
    grid-template-columns: repeat(2, 46.5346534653%);
    gap: 6.9306930693%;
}
@media screen and (max-width: 768px) {
    .p-member-modal-content-1__section-list {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}
.p-member-modal-content-1__link {
    text-align: right;
    margin-top: 10px;
}

/* ---------------------------------------------
*   p-member-modal-box
--------------------------------------------- */
.p-member-modal-box {
    padding: 26px 28px;
    border: 2px solid var(--color-blue-1);
    border-radius: 20px;
}
@media screen and (max-width: 768px) {
    .p-member-modal-box {
        padding: 16px 18px;
    }
}
.p-member-modal-box__dl {
    display: grid;
    grid-template-columns: 154px 1fr;
    gap: 20px;
}
@media screen and (max-width: 768px) {
    .p-member-modal-box__dl {
        grid-template-columns: 1fr;
        gap: 0;
    }
}
@media screen and (max-width: 768px) {
    .p-member-modal-box__dd + .p-member-modal-box__dt {
        margin-top: 22px;
    }
}
.p-member-modal-box__dt {
    color: var(--color-theme-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    line-height: 1.8;
}
@media screen and (max-width: 768px) {
    .p-member-modal-box__dt {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}
.p-member-modal-box__dd {
    margin-top: 0.15em;
    font-size: calc(16 / var(--root-fz) * 1rem);
    letter-spacing: var(--letter-spacing);
    line-height: 1.8;
    text-align: justify;
}
@media screen and (max-width: 768px) {
    .p-member-modal-box__dd {
        margin-top: 4px;
        font-size: calc(15 / var(--root-fz) * 1rem);
        line-height: 1.7;
    }
}
@media screen and (min-width: 769px) {
    .p-member-modal-box__dd-list {
        display: grid;
        grid-template-columns: max-content 1fr;
        gap: 0 10px;
    }
}
@media screen and (min-width: 769px) {
    .p-member-modal-box__dd-list-item {
        display: contents;
    }
}
@media screen and (max-width: 768px) {
    .p-member-modal-box__dd-list-item {
        display: grid;
        grid-template-columns: 1fr;
        gap: 2px;
    }
}
.p-member-modal-box__dd-list-item:not(:first-of-type) {
    margin-top: 2px;
}
@media screen and (max-width: 768px) {
    .p-member-modal-box__dd-list-item:not(:first-of-type) {
        margin-top: 3px;
    }
}
.p-member-modal-box__dd-date {
    display: block;
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.4;
}
@media screen and (min-width: 769px) {
    .p-member-modal-box__dd-date {
        margin-top: 0.4em;
    }
}
@media screen and (min-width: 769px) {
    .p-member-modal-box__dd-date {
        text-align: right;
    }
}
.p-member-modal-box__dd-date-num {
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.4;
    font-family: var(--ff-montserrat);
}

/* ---------------------------------------------
*   p-top-nav
--------------------------------------------- */
.p-top-nav {
    margin-top: 25px;
}

/* ---------------------------------------------
*   p-top-about-us
--------------------------------------------- */
.p-top-about-us {
    margin-top: 155px;
}
@media screen and (max-width: 900px) and (min-width: 769px) {
    .p-top-about-us {
        padding-bottom: 27.5555555556%;
    }
}
@media screen and (max-width: 768px) {
    .p-top-about-us {
        margin-top: calc(38 / var(--design-width) * 100%);
    }
}
.p-top-about-us__container {
    padding-bottom: 50px;
    display: grid;
    grid-template-columns: calc(445 / var(--contents-width) * 100%) 1fr;
    gap: calc(40 / var(--contents-width) * 100%);
    position: relative;
}
@media screen and (max-width: 900px) {
    .p-top-about-us__container {
        grid-template-columns: 1fr;
    }
}
@media screen and (max-width: 768px) {
    .p-top-about-us__container {
        padding-bottom: calc(82 / var(--design-width) * 100%);
        gap: 0;
    }
}
.p-top-about-us__list {
    margin-top: 30px;
}
@media screen and (max-width: 768px) {
    .p-top-about-us__list {
        margin-top: 26px;
    }
}
.p-top-about-us__movie-wrap {
    height: -moz-max-content;
    height: max-content;
    position: relative;
}
@media screen and (max-width: 900px) {
    .p-top-about-us__movie-wrap {
        margin-top: 100px;
    }
}
@media screen and (max-width: 768px) {
    .p-top-about-us__movie-wrap {
        margin-top: calc(48 / var(--contents-width) * 100%);
    }
}
.p-top-about-us__movie {
    aspect-ratio: 637/358;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .p-top-about-us__movie {
        margin-inline: auto;
    }
}
.p-top-about-us__movie video {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-top-about-us__movie-icon {
    display: block;
    width: 86px;
    aspect-ratio: 1/1;
    background-color: var(--color-theme-1);
    transition: background-color 0.3s;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .p-top-about-us__movie-icon {
        width: 16.9491525424%;
    }
}
@media (hover: hover) and (pointer: fine) {
    .p-top-about-us__movie-btn:hover .p-top-about-us__movie-icon {
        background-color: var(--color-white-1);
    }
}
.p-top-about-us__movie-icon::before, .p-top-about-us__movie-icon::after {
    content: "";
    display: block;
}
.p-top-about-us__movie-icon::before {
    width: 15px;
    aspect-ratio: 15/19;
    -webkit-mask: url(../img/common/icon/ico_play.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_play.svg) no-repeat center/contain;
    background-color: var(--color-white-1);
    transition: background-color 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-35%, -50%);
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .p-top-about-us__movie-icon::before {
        width: 18%;
    }
}
@media (hover: hover) and (pointer: fine) {
    .p-top-about-us__movie-btn:hover .p-top-about-us__movie-icon::before {
        background-color: var(--color-theme-1);
    }
}
.p-top-about-us__movie-icon::after {
    width: 75px;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/circle.svg) no-repeat center/contain;
            mask: url(../img/common/circle.svg) no-repeat center/contain;
    background-color: rgba(var(--color-white-1-rgb), 0.4);
    transition: background-color 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
@media screen and (max-width: 768px) {
    .p-top-about-us__movie-icon::after {
        width: 86%;
        -webkit-mask-image: url(../img/common/sp/circle.svg);
                mask-image: url(../img/common/sp/circle.svg);
    }
}
@media (hover: hover) and (pointer: fine) {
    .p-top-about-us__movie-btn:hover .p-top-about-us__movie-icon::after {
        animation: rotateLoop 2.4s linear infinite;
        background-color: var(--color-theme-1);
    }
}
.p-top-about-us__movie-btn {
    position: absolute;
    inset: 0;
    z-index: 10;
    cursor: pointer;
    background-color: rgba(var(--color-white-1-rgb), 0);
    will-change: background-color;
    transition: background-color var(--hover-duration);
}
.p-top-about-us__img {
    pointer-events: none;
    position: absolute;
    right: 0;
}
.p-top-about-us__img--1 {
    width: 31.3385826772%;
    margin-top: -12.125984252%;
    margin-right: -10.0787401575%;
    top: 0;
}
@media screen and (max-width: 768px) {
    .p-top-about-us__img--1 {
        width: calc(76 / var(--contents-width) * 100%);
        margin-top: calc(-40 / var(--contents-width) * 100%);
        margin-right: calc(-40 / var(--contents-width) * 100%);
    }
}
.p-top-about-us__img--2 {
    width: 63.3070866142%;
    margin-bottom: -32.4409448819%;
    margin-right: -7.874015748%;
    bottom: 0;
}
@media screen and (max-width: 768px) {
    .p-top-about-us__img--2 {
        width: calc(154 / var(--contents-width) * 100%);
        margin-bottom: calc(-84 / var(--contents-width) * 100%);
        margin-right: calc(-22 / var(--contents-width) * 100%);
    }
}

/* ---------------------------------------------
*   p-top-project
--------------------------------------------- */
.p-top-project {
    margin-top: 20px;
    padding-top: 270px;
}
@media screen and (max-width: 768px) {
    .p-top-project {
        margin-top: 18px;
        padding-top: 115px;
    }
}
.p-top-project__body {
    margin-top: 20px;
}
@media screen and (max-width: 768px) {
    .p-top-project__body {
        margin-top: 42px;
    }
}
.p-top-project__foot {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto 0;
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .p-top-project__foot {
        margin-top: 16px;
    }
}

/* ---------------------------------------------
*   p-top-report
--------------------------------------------- */
.p-top-report {
    margin-top: 162px;
    padding-bottom: 450px;
    position: relative;
}
@media screen and (max-width: 768px) {
    .p-top-report {
        margin-top: 57px;
        padding-bottom: calc(42px + 160 / var(--design-width) * 100vw);
    }
}
.p-top-report__container {
    display: grid;
    grid-template-columns: calc(634 / var(--contents-width) * 100%) calc(482 / var(--contents-width) * 100%);
    justify-content: center;
    gap: calc(46 / var(--contents-width) * 100%);
    position: relative;
}
@media screen and (min-width: 769px) {
    .p-top-report__container {
        transform: translateX(-20px);
    }
}
@media screen and (max-width: 768px) {
    .p-top-report__container {
        grid-template-columns: 1fr;
        gap: 0;
    }
}
@media screen and (min-width: 769px) {
    .p-top-report__txt-wrap {
        max-width: 482px;
    }
}
@media screen and (min-width: 769px) {
    .p-top-report__ttl {
        position: static;
    }
}
@media screen and (min-width: 769px) {
    .p-top-report__ttl-en {
        position: absolute;
        top: -65px;
        left: 20px;
    }
}
@media screen and (min-width: 769px) {
    .p-top-report__ttl-sub {
        margin-top: 0;
    }
}
.p-top-report__link {
    margin-top: 28px;
}
.p-top-report__img {
    margin-top: 2px;
}
@media screen and (max-width: 768px) {
    .p-top-report__img {
        margin-top: 25px;
    }
}
.p-top-report__box {
    margin-top: 32px;
}
@media screen and (max-width: 768px) {
    .p-top-report__box {
        margin-top: 22px;
    }
}
.p-top-report__detail {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
}
.p-top-report__link {
    margin-top: 18px;
}
@media screen and (max-width: 768px) {
    .p-top-report__link {
        margin-top: 14px;
    }
}

/* ---------------------------------------------
*   p-top-palette
--------------------------------------------- */
.p-top-palette {
    padding-top: 156px;
}
@media screen and (max-width: 768px) {
    .p-top-palette {
        padding-top: 38px;
    }
}
@media screen and (min-width: 769px) {
    .p-top-palette__head {
        min-width: 450px;
    }
}
.p-top-palette__overview {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(37 / var(--contents-width) * 100%);
}
@media screen and (max-width: 900px) {
    .p-top-palette__overview {
        grid-template-columns: 1fr;
    }
}
.p-top-palette__img {
    margin-top: 10px;
    aspect-ratio: 542/305;
    overflow: hidden;
}
@media screen and (min-width: 901px) {
    .p-top-palette__img {
        max-width: 542px;
    }
}
@media screen and (max-width: 900px) {
    .p-top-palette__img {
        margin-top: 18px;
    }
}
@media screen and (max-width: 768px) {
    .p-top-palette__img {
        margin-block: 18px 24px;
    }
}
.p-top-palette__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
@media screen and (max-width: 900px) {
    .p-top-palette__img--pc {
        display: none;
    }
}
@media screen and (min-width: 901px) {
    .p-top-palette__img--sp {
        display: none;
    }
}
.p-top-palette__link {
    margin-top: 12px;
}
@media screen and (max-width: 768px) {
    .p-top-palette__link {
        margin-top: 14px;
    }
}
.p-top-palette__ttl-desc {
    margin-top: 12px;
}

/* ---------------------------------------------
*   p-top-event
--------------------------------------------- */
.p-top-event {
    margin-top: 58px;
    padding-block: 21px 42px;
    position: relative;
}
@media screen and (max-width: 768px) {
    .p-top-event {
        margin-top: 18px;
        padding-bottom: 42px;
    }
}
.p-top-event__ttl {
    width: -moz-fit-content;
    width: fit-content;
    padding: 10px 20px;
    color: var(--color-white-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
    background-color: var(--color-theme-1);
    border-radius: 50em;
    position: absolute;
    top: 0;
    left: 60px;
}
@media screen and (max-width: 768px) {
    .p-top-event__ttl {
        font-size: calc(16 / var(--root-fz) * 1rem);
        left: 19px;
    }
}
.p-top-event__inner {
    padding: 60px min(56 / var(--contents-width) * 100%, 56px);
    background-color: var(--color-white-1);
    border-radius: 20px;
    border: 2px solid var(--color-blue-1);
}
@media screen and (max-width: 768px) {
    .p-top-event__inner {
        padding: 50px 28px 40px;
    }
}

/* ---------------------------------------------
*   p-top-news
--------------------------------------------- */
.p-top-news {
    margin-top: 140px;
}
@media screen and (max-width: 768px) {
    .p-top-news {
        margin-top: 25px;
    }
}
.p-top-news__container {
    display: grid;
    grid-template-columns: 318px 1fr;
    grid-template-rows: repeat(10, auto);
    -moz-column-gap: calc(69 / var(--contents-width) * 100%);
         column-gap: calc(69 / var(--contents-width) * 100%);
}
@media screen and (max-width: 768px) {
    .p-top-news__container {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(3, auto);
        gap: 0;
    }
}
.p-top-news__head {
    grid-area: 1/1/2/2;
}
@media screen and (max-width: 768px) {
    .p-top-news__head {
        grid-area: 1/1/2/2;
    }
}
.p-top-news__box {
    grid-area: 2/1/3/2;
    margin-top: 28px;
}
@media screen and (max-width: 768px) {
    .p-top-news__box {
        grid-area: 3/1/4/2;
        margin-top: 24px;
    }
}
.p-top-news__list {
    grid-area: 1/2/11/3;
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .p-top-news__list {
        grid-area: 2/1/3/2;
        margin-top: 36px;
    }
}
.p-top-news__link {
    margin-top: 20px;
}

/* ---------------------------------------------
*   p-top-account
--------------------------------------------- */
.p-top-account {
    margin-top: 78px;
    padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
    .p-top-account {
        margin-top: 42px;
    }
}
.p-top-account__container {
    padding: 40px 42px 50px;
    background-color: var(--color-blue-3);
    border-radius: 20px;
}
@media screen and (max-width: 768px) {
    .p-top-account__container {
        padding: 30px 20px;
    }
}
.p-top-account__body {
    display: grid;
    margin-top: 28px;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.7881040892%;
}
@media screen and (max-width: 768px) {
    .p-top-account__body {
        margin-top: 20px;
        grid-template-columns: 1fr;
        gap: 12px;
    }
}
.p-top-account__ttl {
    font-size: calc(34 / var(--root-fz) * 1rem);
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .p-top-account__ttl {
        font-size: calc(24 / var(--root-fz) * 1rem);
        line-height: 1.3;
    }
}
.p-top-account__ttl-txt-small {
    display: block;
    color: var(--color-theme-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .p-top-account__ttl-txt-small {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.p-top-account__item {
    padding: 26px;
    display: grid;
    gap: 5px;
    background-color: var(--color-white-1);
    border-radius: 16px;
    position: relative;
}
@media screen and (min-width: 769px) {
    .p-top-account__item {
        grid-template-rows: subgrid;
        grid-row: span 3;
    }
}
@media screen and (max-width: 768px) {
    .p-top-account__item {
        padding: 20px;
        gap: 0;
    }
}
@media screen and (min-width: 769px) {
    .p-top-account__item-txt {
        padding-right: 108px;
    }
}
@media screen and (max-width: 768px) {
    .p-top-account__item-txt {
        width: 65.8823529412%;
    }
}
.p-top-account__img {
    max-width: 100px;
    position: absolute;
    top: 50%;
    right: 26px;
    transform: translateY(-58%);
}
@media screen and (max-width: 768px) {
    .p-top-account__img {
        width: 23.7288135593%;
        top: 20px;
        right: 20px;
        transform: none;
    }
}
.p-top-account__link {
    margin-top: 12px;
}
@media screen and (max-width: 768px) {
    .p-top-account__link {
        margin-top: 7px;
    }
}

/* ---------------------------------------------
*   p-top-project-list
--------------------------------------------- */
.p-top-project-list {
    margin-top: 60px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(40 / var(--contents-width) * 100%);
}
@media screen and (max-width: 768px) {
    .p-top-project-list {
        margin-top: 40px;
        grid-template-columns: 1fr;
        gap: 42px;
    }
}

/* ---------------------------------------------
*   p-top-kv
--------------------------------------------- */
.p-top-kv {
    aspect-ratio: 1280/540;
    position: relative;
    overflow: hidden;
}
@media screen and (min-width: 769px) {
    .p-top-kv {
        margin-top: calc(var(--fixed-header-height) * -1px);
        display: grid;
        align-items: center;
    }
}
@media screen and (max-width: 768px) {
    .p-top-kv {
        aspect-ratio: 375/574;
    }
}
.p-top-kv__inner {
    width: 100%;
    position: relative;
    z-index: 2;
}
@media screen and (min-width: 769px) {
    .p-top-kv__inner {
        width: min(1200 / var(--design-width) * 100%, 1400px);
        margin-inline: auto;
        transform: translateY(calc(-68 / var(--design-width) * 100vw));
    }
}
@media screen and (max-width: 768px) {
    .p-top-kv__inner {
        height: 100%;
        padding: calc(30 / var(--design-width) * 100%) calc(20 / var(--design-width) * 100%) calc(167 / var(--design-width) * 100%);
    }
}
.p-top-kv__txt {
    margin-top: 3.8333333333%;
    padding-left: 80px;
    color: var(--color-white-1);
    font-size: calc(58 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5172413793;
}
@media screen and (max-width: 1024px) {
    .p-top-kv__txt {
        font-size: calc(48 / var(--root-fz) * 1rem);
    }
}
@media screen and (max-width: 900px) {
    .p-top-kv__txt {
        font-size: calc(40 / var(--root-fz) * 1rem);
    }
}
@media screen and (max-width: 768px) {
    .p-top-kv__txt {
        margin-top: calc(115 / var(--contents-width) * 100%);
        padding-left: 0;
        font-size: calc(40 / var(--root-fz) * 1rem);
        line-height: 1.5;
    }
}
.p-top-kv__logo {
    width: 16.6666666667%;
    margin-inline: auto 0;
}
@media screen and (max-width: 768px) {
    .p-top-kv__logo {
        width: calc(160 / var(--contents-width) * 100%);
    }
}
.p-top-kv__logo img {
    width: 100%;
}

/* ---------------------------------------------
*   p-top-slider
--------------------------------------------- */
.p-top-slider {
    -webkit-mask: url(../img/top/kv_mask.svg) no-repeat center/100% 100%;
            mask: url(../img/top/kv_mask.svg) no-repeat center/100% 100%;
    position: absolute;
    inset: 0;
    z-index: -1;
}
@media screen and (max-width: 768px) {
    .p-top-slider {
        -webkit-mask-image: url(../img/top/sp/kv_mask.svg);
                mask-image: url(../img/top/sp/kv_mask.svg);
    }
}
.p-top-slider::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background-color: var(--color-black-1);
    opacity: 0.1;
    z-index: 1;
}
.p-top-slider__img {
    width: 100%;
}
@media screen and (max-width: 768px) {
    .p-top-slider__img {
        height: 100%;
    }
}
.p-top-slider__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transform: scale(1.1);
    transition: transform 7s linear;
}
.splide__slide.is-active .p-top-slider__img img {
    transform: scale(1);
    transition-delay: 0s;
}

.p-top-slider.is-first-animate .splide__slide:first-of-type.splide__slide img {
    animation: zoomOut 7s linear;
}
@keyframes zoomOut {
    0% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

/* ---------------------------------------------
*   ローディングアニメーション用
--------------------------------------------- */
.p-top-loading {
    display: grid;
    place-items: center;
    background-color: var(--color-white-1);
    position: fixed;
    inset: 0;
    z-index: 600;
    transition: opacity 0.8s, visibility 0.8s;
}
.p-top-loading.is-hide {
    opacity: 0;
    visibility: hidden;
}

.p-top-loading #animation_container {
    position: relative;
    width: max(640 / var(--design-width) * 100%, 640px) !important;
    height: auto !important;
    aspect-ratio: 640/480;
}
@media screen and (max-width: 768px) {
    .p-top-loading #animation_container {
        width: 100% !important;
    }
}
.p-top-loading #canvas {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: auto !important;
}
.p-top-loading #dom_overlay_container {
    pointer-events: none;
    position: absolute;
    inset: 0;
}

/* ---------------------------------------------
*   p-project-tab-content
--------------------------------------------- */
.p-project-tab-content {
    padding-top: 60px;
}
@media screen and (max-width: 768px) {
    .p-project-tab-content {
        padding-top: 40px;
    }
}
.p-project-tab-content--padding-none {
    padding-top: 0;
}
.p-project-tab-content--type2 {
    padding-top: 40px;
}

/* ---------------------------------------------
*   .p-project-section-1 
--------------------------------------------- */
.p-project-section-1 {
    margin-top: 60px;
    padding-top: 80px;
}
@media screen and (max-width: 768px) {
    .p-project-section-1 {
        margin-top: 40px;
        padding-top: 60px;
    }
}
.p-project-section-1__body {
    margin-top: 40px;
}

/* ---------------------------------------------
*   p-project-btn-more
--------------------------------------------- */
.p-project-btn-more {
    margin-top: 40px;
}

/* ---------------------------------------------
*   p-project-tab
--------------------------------------------- */
.p-project-tab {
    margin-top: -70px;
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .p-project-tab {
        margin-top: -65px;
    }
}

/* ---------------------------------------------
*   p-project-selector
--------------------------------------------- */
.p-project-selector__body {
    margin-top: 50px;
}
@media screen and (max-width: 768px) {
    .p-project-selector__body {
        margin-top: 40px;
    }
}

/* ---------------------------------------------
*   p-project-block-map
--------------------------------------------- */
.p-project-block-map {
    margin-top: -2px;
    padding-block: 105px;
    background-color: var(--color-theme-1);
    position: relative;
}
@media screen and (min-width: 769px) {
    .p-project-block-map {
        min-height: 832px;
        display: flex;
        flex: 1;
    }
}
@media screen and (max-width: 768px) {
    .p-project-block-map {
        padding-block: 40px 20px;
    }
}
@media screen and (min-width: 769px) {
    .p-project-block-map__container {
        max-width: calc(var(--design-width) * 1px);
        margin-inline: auto;
        display: flex;
        flex: 1;
    }
}
@media screen and (max-width: 768px) {
    .p-project-block-map__container {
        display: flex;
        flex-direction: column-reverse;
    }
}
.p-project-block-map__img {
    width: clamp(600px, 754 / var(--design-width) * 100%, 754px);
}
@media screen and (min-width: 769px) {
    .p-project-block-map__img {
        position: absolute;
        bottom: calc(105px - 12%);
        left: 50%;
        transform: translateX(-42%);
    }
}
@media screen and (max-width: 768px) {
    .p-project-block-map__img {
        width: calc(335 / var(--design-width) * 100%);
        margin-inline: auto;
        margin-top: 12px;
    }
}
@media screen and (min-width: 769px) {
    .p-project-block-map__inner {
        max-width: 1240px;
        margin-inline: auto 0;
        padding-inline: 40px;
        display: flex;
        justify-content: space-between;
        flex: 1;
    }
}
@media screen and (min-width: 769px) {
    .p-project-block-map__item {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }
}
@media screen and (min-width: 769px) {
    .p-project-block-map__item:has(.p-project-block-map__anchor-list) {
        justify-content: space-between;
    }
}
.p-project-block-map__anchor-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    position: relative;
    z-index: 1;
}
@media screen and (min-width: 901px) {
    .p-project-block-map__anchor-list {
        max-width: 480px;
    }
}
@media screen and (max-width: 900px) and (min-width: 769px) {
    .p-project-block-map__anchor-list {
        max-width: 400px;
    }
}
@media screen and (max-width: 768px) {
    .p-project-block-map__anchor-list {
        padding-inline: 35px;
    }
}
.p-project-block-map__anchor-link {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--color-white-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
    position: relative;
}
@media (hover: hover) and (pointer: fine) {
    .p-project-block-map__anchor-link {
        transition: opacity var(--hover-duration);
    }
    .p-project-block-map__anchor-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.p-project-block-map__anchor-link::before {
    content: "";
    display: block;
    width: 14px;
    aspect-ratio: 14/7;
    background: url(../img/common/icon/ico_arrow-3.svg) no-repeat center/contain;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.p-project-block-map__anchor-link::after {
    content: "";
    display: block;
    width: 14px;
    aspect-ratio: 1/1;
    background-color: var(--color-white-1);
    border-radius: 50%;
}
.p-project-block-map__region-link {
    display: block;
    height: 100%;
    padding: 14px 9.1743119266% 20px;
    background-color: var(--color-white-1);
    border-radius: 10px;
}
@media (hover: hover) and (pointer: fine) {
    .p-project-block-map__region-link {
        transition: opacity var(--hover-duration);
    }
    .p-project-block-map__region-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.p-project-block-map__region-link.pointer-events-none {
    pointer-events: none;
}
.p-project-block-map__img-wrap {
    margin-top: 8px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10.1123595506%;
}
.p-project-block-map__region {
    max-width: min(446 / var(--design-width) * 100vw, 446px);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 10px;
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .p-project-block-map__region {
        display: none;
    }
}
@media screen and (min-width: 769px) {
    .p-project-block-map__anchor-list + .p-project-block-map__region {
        margin-top: 100px;
    }
}

.p-project-block-map__region--type1 .p-project-block-map__region-item--1 {
    grid-area: 1/1/2/2;
}
.p-project-block-map__region--type1 .p-project-block-map__region-item--2 {
    grid-area: 1/2/2/3;
}
.p-project-block-map__region--type1 .p-project-block-map__region-item--3 {
    grid-area: 2/1/3/2;
}
.p-project-block-map__region--type1 .p-project-block-map__region-item--4 {
    grid-area: 2/2/3/3;
}
.p-project-block-map__region--type2 {
    grid-template-rows: repeat(4, 1fr);
}
.p-project-block-map__region--type2 .p-project-block-map__region-item--1 {
    grid-area: 1/2/2/3;
}
.p-project-block-map__region--type2 .p-project-block-map__region-item--2 {
    grid-area: 2/2/3/3;
}
.p-project-block-map__region--type2 .p-project-block-map__region-item--3 {
    grid-area: 3/1/4/2;
}
.p-project-block-map__region--type2 .p-project-block-map__region-item--4 {
    grid-area: 3/2/4/3;
}
.p-project-block-map__region--type2 .p-project-block-map__region-item--5 {
    grid-area: 4/1/5/2;
}
.p-project-block-map__region--type2 .p-project-block-map__region-item--6 {
    grid-area: 4/2/5/3;
}
.p-project-block-map__region-item.display-none {
    display: none;
}
.p-project-block-map__region-img {
    aspect-ratio: 1/1;
}
.p-project-block-map__region-img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-project-block-map__region-ttl {
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
}

/* ---------------------------------------------
*   p-project-detail-contents
--------------------------------------------- */
.p-project-detail-contents {
    margin-top: 60px;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
}
@media screen and (min-width: 769px) {
    .p-project-detail-contents {
        max-width: calc((1008 + var(--contents-side-padding) * 2) * 1px);
    }
}
@media screen and (max-width: 768px) {
    .p-project-detail-contents {
        margin-top: 26px;
        flex-direction: column;
        gap: 40px;
    }
}
.p-project-detail-contents__main {
    max-width: 620px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-contents__main {
        max-width: 100%;
    }
}
.p-project-detail-contents__side {
    width: 28.373015873%;
}
@media screen and (min-width: 769px) {
    .p-project-detail-contents__side {
        min-width: 240px;
        position: sticky;
        top: calc((var(--fixed-header-height) + 40) * 1px);
        left: 0;
    }
}
@media screen and (max-width: 768px) {
    .p-project-detail-contents__side {
        width: 100%;
    }
}

/* ---------------------------------------------
*   p-project-detail-nav
--------------------------------------------- */
.p-project-detail-nav {
    width: 100%;
    border: 2px solid var(--color-blue-1);
    padding: 21px 28px 18px;
    background-color: var(--color-white-1);
    border-radius: 20px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-nav {
        padding: 17px 18px 14px;
    }
}
.p-project-detail-nav__ttl {
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
}
.p-project-detail-nav__list {
    margin-top: 20px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-nav__list {
        margin-top: 16px;
    }
}
.p-project-detail-nav__list li {
    border-top: 2px solid var(--color-blue-1);
}
.p-project-detail-nav__list li a {
    display: block;
    padding-block: 12px;
    color: var(--color-theme-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 700;
}
@media (hover: hover) and (pointer: fine) {
    .p-project-detail-nav__list li a {
        transition: opacity var(--hover-duration);
    }
    .p-project-detail-nav__list li a:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .p-project-detail-nav__list li a {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}

/* ---------------------------------------------
*   p-project-detail-head
--------------------------------------------- */
.p-project-detail-head {
    padding-top: 60px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-head {
        padding-top: 46px;
    }
}
@media screen and (min-width: 769px) {
    .p-project-detail-head__txt-wrap {
        max-width: 1000px;
        margin-inline: auto;
    }
}
.p-project-detail-head__txt-wrap h1 {
    font-size: calc(40 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .p-project-detail-head__txt-wrap h1 {
        font-size: calc(26 / var(--root-fz) * 1rem);
    }
}
.p-project-detail-head__txt-wrap > span {
    display: block;
    color: var(--color-theme-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 700;
    font-family: var(--ff-montserrat);
}
@media screen and (max-width: 768px) {
    .p-project-detail-head__txt-wrap > span {
        font-size: calc(14 / var(--root-fz) * 1rem);
        letter-spacing: 0.02em;
    }
}
.p-project-detail-head img {
    margin-top: 40px;
    width: 100%;
}
@media screen and (max-width: 768px) {
    .p-project-detail-head img {
        margin-top: 24px;
    }
}
.p-project-detail-head__tag-list {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-head__tag-list {
        margin-top: 16px;
    }
}
.p-project-detail-head__tag-list li {
    padding: 2px 7px 1px;
    color: var(--color-theme-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    line-height: 1.5;
    font-weight: 700;
    font-family: var(--ff-montserrat);
    text-align: center;
    border-radius: 50em;
    border: 2px solid var(--color-blue-1);
    background-color: var(--color-white-1);
}

/* ---------------------------------------------
*   p-project-detail-box
--------------------------------------------- */
.p-project-detail-box {
    margin-top: 48px;
    padding: 30px;
    background-color: var(--color-blue-3);
}
@media screen and (max-width: 768px) {
    .p-project-detail-box {
        margin-top: 40px;
        padding: 20px;
    }
}
.p-project-detail-box__txt {
    margin-top: 10px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-box__txt {
        margin-top: 10px;
    }
}

/* ---------------------------------------------
*   p-project-detail-section
--------------------------------------------- */
.p-project-detail-section {
    margin-top: 58px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-section {
        margin-top: 40px;
    }
}
.p-project-detail-section__body {
    margin-top: 30px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-section__body {
        margin-top: 16px;
    }
}
.p-project-detail-section--box {
    padding: 22px 28px 28px;
    border: 2px solid var(--color-blue-1);
    border-radius: 20px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-section--box {
        padding: 16px 22px 30px;
    }
}

/* ---------------------------------------------
*   p-project-detail-report-list
--------------------------------------------- */
.p-project-detail-report-list__item {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 30px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-report-list__item {
        grid-template-columns: 28.2685512367% 1fr;
        gap: 8.480565371%;
        align-items: center;
    }
}
.p-project-detail-report-list__item:not(:first-of-type) {
    margin-top: 30px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-report-list__item:not(:first-of-type) {
        margin-top: 20px;
    }
}
.p-project-detail-report-list__img img {
    will-change: filter;
    filter: drop-shadow(0 4px 7px rgba(var(--color-black-1-rgb), 0.25));
}
.p-project-detail-report-list h3 {
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .p-project-detail-report-list h3 {
        font-size: calc(14 / var(--root-fz) * 1rem);
    }
}
.p-project-detail-report-list h3 + a {
    margin-top: 10px;
}

/* ---------------------------------------------
*   p-project-detail-member"
--------------------------------------------- */
.p-project-detail-member {
    margin-top: 68px;
    padding-block: 78px 60px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-member {
        margin-top: 40px;
        padding-block: 60px 40px;
    }
}
.p-project-detail-member__container {
    display: grid;
    grid-template-columns: max-content 1fr;
    justify-content: space-between;
    gap: 10.4743083004%;
}
@media screen and (min-width: 769px) {
    .p-project-detail-member__container {
        max-width: calc((1012 + var(--contents-side-padding) * 2) * 1px);
    }
}
@media screen and (max-width: 768px) {
    .p-project-detail-member__container {
        grid-template-columns: 1fr;
        gap: 26px;
    }
}
.p-project-detail-member__ttl {
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .p-project-detail-member__ttl {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}
.p-project-detail-member__list-item:not(:first-of-type) {
    margin-top: 30px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-member__list-item:not(:first-of-type) {
        margin-top: 24px;
    }
}
.p-project-detail-member__list-head {
    display: grid;
    grid-template-columns: 100px 1fr;
    align-items: center;
    gap: 20px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-member__list-head {
        grid-template-columns: calc(100 / var(--contents-width) * 100%) 1fr;
        gap: calc(20 / var(--contents-width) * 100%);
    }
}
.p-project-detail-member__list-body {
    margin-top: 10px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-member__list-body {
        margin-top: 14px;
    }
}
.p-project-detail-member__img {
    aspect-ratio: 1/1;
    border-radius: 50%;
    overflow: hidden;
}
.p-project-detail-member__name {
    display: block;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .p-project-detail-member__name {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}
.p-project-detail-member__title {
    display: block;
    color: var(--color-theme-1);
    margin-top: 4px;
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .p-project-detail-member__title {
        margin-top: 5px;
    }
}
.p-project-detail-member__title-en {
    display: block;
    margin-bottom: 6px;
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 700;
    font-family: var(--ff-montserrat);
    letter-spacing: var(--letter-spacing);
}
.p-project-detail-member__link {
    margin-top: 28px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-member__link {
        margin-top: 16px;
    }
}

/* ---------------------------------------------
*   p-project-detail-link
--------------------------------------------- */
.p-project-detail-link {
    margin-top: 20px;
    margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .p-project-detail-link {
        margin-top: 40px;
    }
}

/* ---------------------------------------------
*   p-project-detail-note
--------------------------------------------- */
.p-project-detail-note {
    margin-top: 40px;
    margin-inline: auto;
    padding-right: 10px;
    padding-bottom: 10px;
}
.p-project-detail-note__inner {
    padding: 14px 6.5573770492% 40px;
    border: 1px solid var(--color-black-1);
    background-color: var(--color-white-1);
    position: relative;
}
@media screen and (max-width: 768px) {
    .p-project-detail-note__inner {
        padding: 8px 17px 30px 20px;
    }
}
.p-project-detail-note__inner::before {
    content: "";
    display: block;
    width: calc(100% + 2px);
    height: calc(100% + 3px);
    border: 1px solid var(--color-black-1);
    background-color: var(--color-white-1);
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: -1;
}
@media screen and (max-width: 768px) {
    .p-project-detail-note__inner::before {
        top: 8px;
    }
}
.p-project-detail-note__head {
    display: grid;
    grid-template-columns: 1fr 100px;
    align-items: center;
    gap: 20px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-note__head {
        grid-template-columns: 1fr 68px;
        gap: 10px;
        justify-content: space-between;
    }
}
.p-project-detail-note__ttl, .p-project-detail-note__ttl span:not(.p-project-detail-note__ttl-desc) {
    font-size: calc(26 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .p-project-detail-note__ttl, .p-project-detail-note__ttl span:not(.p-project-detail-note__ttl-desc) {
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
.p-project-detail-note__ttl-desc {
    display: block;
    margin-bottom: 0.4em;
    color: var(--color-theme-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .p-project-detail-note__ttl-desc {
        margin-bottom: 0.25em;
    }
}
@media screen and (min-width: 769px) {
    .p-project-detail-note__img {
        transform: translateY(10px);
    }
}
.p-project-detail-note__txt {
    margin-top: 8px;
}
@media screen and (min-width: 769px) {
    .p-project-detail-note__txt {
        width: 67.803030303%;
    }
}
@media screen and (max-width: 768px) {
    .p-project-detail-note__txt {
        margin-top: 12px;
    }
}
.p-project-detail-note__link {
    margin-top: 12px;
}

/* ---------------------------------------------
*   p-project-detail-audio
--------------------------------------------- */
.p-project-detail-audio {
    margin-top: 46px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-audio {
        margin-top: 38px;
    }
}
.p-project-detail-audio__ttl {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .p-project-detail-audio__ttl {
        font-size: calc(15 / var(--root-fz) * 1rem);
    }
}
.p-project-detail-audio__box {
    margin-top: 10px;
    padding: 30px 40px;
    background-color: var(--color-beige-1);
}
@media screen and (max-width: 768px) {
    .p-project-detail-audio__box {
        margin-top: 7px;
        padding: 24px 20px;
    }
}
.p-project-detail-audio__box h3 {
    font-size: calc(22 / var(--root-fz) * 1rem);
    letter-spacing: bar(--letter-spacing);
    line-height: 1.5;
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .p-project-detail-audio__box h3 {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}
.p-project-detail-audio__box p {
    font-size: calc(13 / var(--root-fz) * 1rem);
    letter-spacing: var(--letter-spacing);
    line-height: 1.8;
}
.p-project-detail-audio__content {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 144px 1fr;
    gap: 22px;
}
@media screen and (max-width: 768px) {
    .p-project-detail-audio__content {
        margin-top: 16px;
        grid-template-columns: 1fr;
        gap: 22px;
    }
}
.p-project-detail-audio__thumbnail {
    margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .p-project-detail-audio__thumbnail {
        width: 48.813559322%;
    }
}
.p-project-detail-audio__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-project-detail-audio__btn {
    display: block;
    width: 100%;
    position: relative;
    cursor: pointer;
}
.p-project-detail-audio__icon {
    display: block;
    width: 40px;
    aspect-ratio: 1/1;
    background-color: var(--color-theme-1);
    transition: background-color 0.3s;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .p-project-detail-audio__icon {
        width: 27.7777777778%;
    }
}
@media (hover: hover) and (pointer: fine) {
    .p-project-detail-audio__btn:hover .p-project-detail-audio__icon {
        background-color: var(--color-white-1);
    }
}
.p-project-detail-audio__icon::before, .p-project-detail-audio__icon::after {
    content: "";
    display: block;
}
.p-project-detail-audio__icon::before {
    background-color: var(--color-white-1);
    transition: background-color 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
}
@media (hover: hover) and (pointer: fine) {
    .p-project-detail-audio__btn:hover .p-project-detail-audio__icon::before {
        background-color: var(--color-theme-1);
    }
}
.p-project-detail-audio__icon::after {
    width: 34px;
    aspect-ratio: 1/1;
    -webkit-mask: url(../img/common/circle.svg) no-repeat center/contain;
            mask: url(../img/common/circle.svg) no-repeat center/contain;
    background-color: rgba(var(--color-white-1-rgb), 0.4);
    transition: background-color 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
@media screen and (max-width: 768px) {
    .p-project-detail-audio__icon::after {
        width: 85%;
        -webkit-mask-image: url(../img/common/sp/circle.svg);
                mask-image: url(../img/common/sp/circle.svg);
    }
}
@media (hover: hover) and (pointer: fine) {
    .p-project-detail-audio__btn:hover .p-project-detail-audio__icon::after {
        animation: rotateLoop 2.4s linear infinite;
        background-color: var(--color-theme-1);
    }
}
.p-project-detail-audio__icon--play::before {
    width: 7px;
    aspect-ratio: 15/19;
    -webkit-mask: url(../img/common/icon/ico_play.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_play.svg) no-repeat center/contain;
    transform: translate(-35%, -50%);
}
@media screen and (max-width: 768px) {
    .p-project-detail-audio__icon--play::before {
        width: 17.5%;
    }
}
.is-play .p-project-detail-audio__icon--play {
    display: none;
}

.p-project-detail-audio__icon--pause {
    display: none;
}
.p-project-detail-audio__icon--pause::before {
    width: 10px;
    aspect-ratio: 10/8;
    -webkit-mask: url(../img/common/icon/ico_pause.svg) no-repeat center/contain;
            mask: url(../img/common/icon/ico_pause.svg) no-repeat center/contain;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .p-project-detail-audio__icon--pause::before {
        width: 25%;
    }
}
.is-play .p-project-detail-audio__icon--pause {
    display: block;
}

/* ---------------------------------------------
*   p-report-cassette
--------------------------------------------- */
.p-report-cassette {
    padding-block: 50px 80px;
}
@media screen and (max-width: 768px) {
    .p-report-cassette {
        padding-block: 40px 63px;
    }
}
.p-report-cassette + .p-report-cassette {
    border-top: 2px solid var(--color-blue-1);
}
.p-report-cassette__head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}
@media screen and (max-width: 768px) {
    .p-report-cassette__head {
        gap: 4px;
    }
}
.p-report-cassette__body {
    display: grid;
    grid-template-columns: calc(440 / var(--contents-width) * 100%) 1fr;
    align-items: flex-start;
    gap: 42px;
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .p-report-cassette__body {
        display: block;
        margin-top: 25px;
    }
}
.p-report-cassette__fig {
    display: block;
    max-width: 330px;
    margin-inline: auto;
    filter: drop-shadow(0 4px 7px rgba(var(--color-black-1-rgb), 0.25));
}
@media screen and (max-width: 768px) {
    .p-report-cassette__fig {
        max-width: none;
        width: calc(218 / var(--design-width) * 100vw);
    }
}
.p-report-cassette__fig img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
@media screen and (min-width: 769px) {
    .p-report-cassette__fig--small {
        max-width: 260px;
    }
}
@media screen and (max-width: 768px) {
    .p-report-cassette__fig--small {
        width: calc(189 / var(--design-width) * 100vw);
    }
}
.p-report-cassette__inner {
    margin-top: -11px;
}
@media screen and (max-width: 768px) {
    .p-report-cassette__inner {
        margin-top: 30px;
    }
}

/* ---------------------------------------------
*   p-report-dl
--------------------------------------------- */
.p-report-dl {
    padding: 23px 28px 14px;
    display: grid;
    grid-template-columns: 2rem 1fr;
    align-items: flex-start;
    gap: calc(44 / 638 * 100%);
    border: 2px solid var(--color-blue-1);
    border-radius: 20px;
}
@media screen and (max-width: 768px) {
    .p-report-dl {
        padding: 23px 18px 13px;
        gap: 14px;
    }
}
.p-report-dl__term {
    line-height: 1.3;
}
.p-report-dl__desc span {
    padding-bottom: 9px;
    display: block;
    border-bottom: 2px solid var(--color-blue-1);
}
.p-report-dl__desc span:last-of-type {
    border: none;
}
.p-report-dl__desc span + span {
    margin-top: 11px;
}

/* ---------------------------------------------
*   p-report-section
--------------------------------------------- */
.p-report-section {
    padding-block: 50px 80px;
    border-top: 2px solid var(--color-blue-1);
}
.p-report-section__body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(41 / var(--contents-width) * 100%);
    margin-top: 40px;
}

/* ---------------------------------------------
*   p-report-card
--------------------------------------------- */
.p-report-card {
    width: 100%;
    text-align: justify;
}
@media (hover: hover) and (pointer: fine) {
    .p-report-card:hover figcaption,
    .p-report-card:hover .p-report-card__caption {
        background-size: 100% 2px;
    }
}
.p-report-card__fig {
    display: block;
}
.p-report-card picture {
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 346/368;
    background-color: var(--color-gray-4);
}
.p-report-card picture img {
    width: calc(204 / 346 * 100%);
    filter: drop-shadow(0 4px 7px rgba(var(--color-black-1-rgb), 0.25));
}
@media screen and (max-width: 768px) {
    .p-report-card picture img {
        width: calc(204 / 335 * 100%);
    }
}
.p-report-card figcaption, .p-report-card__caption {
    display: inline;
    background-image: linear-gradient(var(--color-black-1), var(--color-black-1));
    background-position: 0 100%;
    background-size: 0 2px;
    background-repeat: no-repeat;
    transition: background-size 0.3s;
}

/* ---------------------------------------------
*   p-report-tile
--------------------------------------------- */
.p-report-tile {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

/* ---------------------------------------------
*   p-report-radio
--------------------------------------------- */
.p-report-radio {
    position: relative;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .p-report-radio:hover .p-report-radio__txt {
        border-color: var(--color-theme-1);
        background-color: var(--color-theme-1);
    }
    .p-report-radio:hover .p-report-radio__txt, .p-report-radio:hover .p-report-radio__num {
        color: var(--color-white-1);
    }
}
.p-report-radio__input {
    position: absolute;
    inset: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline-offset: 8px;
    border-radius: 4px;
}
.p-report-radio__input:checked + .p-report-radio__txt {
    pointer-events: none;
    border-color: var(--color-theme-1);
    background-color: var(--color-theme-1);
    color: var(--color-white-1);
}
.p-report-radio__input:checked + .p-report-radio__txt .p-report-radio__num {
    color: var(--color-white-1);
}
.p-report-radio__txt {
    position: relative;
    z-index: 1;
    padding: 16px 18px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 6px;
    width: 100%;
    border-radius: 6px;
    border: 2px solid var(--color-blue-1);
    background-color: var(--color-white-1);
    color: var(--color-base-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.4;
    transition: background-color var(--hover-duration), border-color var(--hover-duration), color var(--hover-duration);
}
.p-report-radio__num {
    color: var(--color-theme-1);
    font-weight: bold;
    transition: color var(--hover-duration);
}

/* ---------------------------------------------
*   p-report-select
--------------------------------------------- */
.p-report-select {
    width: 123px;
    box-sizing: border-box;
    padding-inline: 22px 6px;
    font-family: var(--ff-base-1);
    color: var(--color-base-1);
    text-align: left;
    border-bottom: 2px solid var(--color-blue-1);
    background: url(../img/common/icon/ico_arrow-4.svg) left 4px top 10px/12px auto no-repeat;
    cursor: pointer;
    border-radius: 0;
}
@media screen and (max-width: 768px) {
    .p-report-select {
        padding-inline: 20px 4px;
        width: 113px;
        background: url(../img/common/icon/ico_arrow-4.svg) left 4px top 8px/12px auto no-repeat;
    }
    .safari .p-report-select {
        background: url(../img/common/icon/ico_arrow-4.svg) left 4px top 9px/12px auto no-repeat;
    }
}

/* ---------------------------------------------
*   p-research-top-section-1
--------------------------------------------- */
.p-research-top-section-1 {
    padding-block: 80px 50px;
}
@media screen and (max-width: 768px) {
    .p-research-top-section-1 {
        padding-block: 60px 40px;
    }
}
.p-research-top-section-1__body {
    margin-top: 0;
}
@media screen and (max-width: 768px) {
    .p-research-top-section-1__body {
        margin-top: 28px;
    }
}

/* ---------------------------------------------
*   p-research-top-section-2
--------------------------------------------- */
.p-research-top-section-2 {
    margin-top: 80px;
}
@media screen and (max-width: 768px) {
    .p-research-top-section-2 {
        margin-top: 60px;
    }
}
.p-research-top-section-2__body {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .p-research-top-section-2__body {
        margin-top: 26px;
    }
}

/* ---------------------------------------------
*   p-research-top-list-1
--------------------------------------------- */
.p-research-top-list-1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(80 / var(--contents-width) * 100%);
}
@media screen and (max-width: 768px) {
    .p-research-top-list-1 {
        grid-template-columns: 1fr;
        gap: 38px;
    }
}
@media screen and (min-width: 769px) {
    .p-research-top-list-1__item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 3;
        gap: 0;
    }
}
.p-research-top-list-1__img-wrap {
    display: grid;
    place-items: center;
    aspect-ratio: 320/290;
}
@media screen and (min-width: 769px) {
    .p-research-top-list-1__img-wrap {
        height: 100%;
    }
}
@media screen and (max-width: 768px) {
    .p-research-top-list-1__img-wrap {
        width: calc(320 / var(--contents-width) * 100%);
        margin-inline: auto;
    }
}
.p-research-top-list-1__img {
    margin-inline: auto;
    position: relative;
}
.p-research-top-list-1__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-research-top-list-1__img::before {
    content: "";
    display: block;
    width: 100%;
    background-color: rgba(var(--color-black-1-rgb), 0.2);
    position: absolute;
    inset: 0;
}
.p-research-top-list-1__img--circle {
    width: 79.375%;
    margin-top: 4.6875%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    overflow: hidden;
}
.p-research-top-list-1__img--circle::before {
    background-color: rgba(var(--color-black-1-rgb), 0.1);
}
.p-research-top-list-1__img--triangle {
    width: 93.4375%;
    aspect-ratio: 299/255;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
.p-research-top-list-1__img--rhombus {
    width: 90.625%;
    aspect-ratio: 1/1;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
.p-research-top-list-1__img-txt {
    color: var(--color-white-1);
    font-size: calc(30 / var(--root-fz) * 1rem);
    font-weight: 700;
    font-family: var(--ff-montserrat);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
.p-research-top-list-1__img--circle .p-research-top-list-1__img-txt {
    transform: translate(-50%, -30%);
}
.p-research-top-list-1__img--triangle .p-research-top-list-1__img-txt {
    transform: translate(-50%, 48%);
}
.p-research-top-list-1__ttl {
    margin-top: -1px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-white-1);
    font-size: calc(26 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
}
@media screen and (max-width: 768px) {
    .p-research-top-list-1__ttl {
        margin-top: 0;
        font-size: calc(20 / var(--root-fz) * 1rem);
    }
}
@media screen and (max-width: 768px) {
    .p-research-top-list-1__img-wrap:has(.p-research-top-list-1__img--triangle) + .p-research-top-list-1__ttl {
        margin-top: 3px;
    }
}
.p-research-top-list-1__ttl-num {
    margin-top: 0.3em;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    font-family: var(--ff-montserrat);
}
@media screen and (max-width: 768px) {
    .p-research-top-list-1__ttl-num {
        margin-top: 0.3em;
    }
}
.p-research-top-list-1__txt {
    margin-top: 10px;
    color: var(--color-white-1);
    text-align: justify;
}
@media screen and (max-width: 768px) {
    .p-research-top-list-1__txt {
        margin-top: 16px;
    }
}

/* ---------------------------------------------
*   p-research-top-list-2
--------------------------------------------- */
.p-research-top-list-2 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 56px calc(40 / var(--contents-width) * 100%);
}
@media screen and (max-width: 768px) {
    .p-research-top-list-2 {
        flex-direction: column;
        gap: 20px;
    }
}
@media screen and (min-width: 769px) {
    .p-research-top-list-2__item {
        max-width: calc((100% - 80px) / 3);
    }
}
@media screen and (min-width: 769px) {
    .p-research-top-list-2__link {
        display: flex;
        flex-direction: column;
        height: 100%;
    }
}
.p-research-top-list-2__img {
    aspect-ratio: 346/195;
    overflow: hidden;
}
.p-research-top-list-2__img img {
    transition: scale 0.3s;
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (hover: hover) and (pointer: fine) {
    .p-research-top-list-2__link:hover .p-research-top-list-2__img img {
        scale: 1.1;
    }
}
.p-research-top-list-2__txt-wrap {
    padding: 20px 8.6455331412% 26px;
    background-color: var(--color-theme-1);
    border-radius: 0 0 20px 20px;
    flex-grow: 1;
}
@media screen and (max-width: 768px) {
    .p-research-top-list-2__txt-wrap {
        padding-inline: 20px;
    }
}
.p-research-top-list-2__ttl-inner {
    color: var(--color-white-1);
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing);
    background-image: linear-gradient(var(--color-white-1), var(--color-white-1));
    background-position: 0 100%;
    background-size: 0 1px;
    background-repeat: no-repeat;
    transition: background-size 0.3s;
}
@media screen and (max-width: 768px) {
    .p-research-top-list-2__ttl-inner {
        font-size: calc(17 / var(--root-fz) * 1rem);
    }
}
@media (hover: hover) and (pointer: fine) {
    .p-research-top-list-2__link:hover .p-research-top-list-2__ttl-inner {
        background-size: 100% 1px;
    }
}
.p-research-top-list-2__ttl-num {
    display: inline-block;
    margin-right: 10px;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 700;
    letter-spacing: var(--letter-spacing);
    font-family: var(--ff-montserrat);
    transform: translateY(-0.2em);
}
@media screen and (max-width: 768px) {
    .p-research-top-list-2__ttl-num {
        margin-right: 8px;
        transform: translateY(-0.05em);
    }
}
.p-research-top-list-2__txt {
    margin-top: 10px;
    color: var(--color-white-1);
    text-align: justify;
}

/* ---------------------------------------------
*   p-research-detail-column
--------------------------------------------- */
.p-research-detail-column {
    padding-top: 60px;
    display: grid;
    grid-template-columns: 290px 1fr;
    align-items: flex-start;
    gap: calc(98 / var(--contents-width) * 100%);
}
@media screen and (max-width: 1024px) {
    .p-research-detail-column {
        gap: calc(30 / var(--contents-width) * 100%);
    }
}
@media screen and (max-width: 768px) {
    .p-research-detail-column {
        padding-top: 47px;
        display: block;
    }
}
.p-research-detail-column__side {
    position: sticky;
    top: calc((var(--fixed-header-height) + 40) * 1px);
}
@media screen and (max-width: 768px) {
    .p-research-detail-column__side {
        position: static;
    }
}
.p-research-detail-column__main {
    padding-top: 10px;
}
@media screen and (max-width: 768px) {
    .p-research-detail-column__main {
        padding-top: 0;
        margin-top: 40px;
    }
}
.p-research-detail-column__main p + p,
.p-research-detail-column__main a {
    margin-top: 1em;
}

/* ---------------------------------------------
*   p-research-detail-nav
--------------------------------------------- */
.p-research-detail-nav__item + .p-research-detail-nav__item {
    margin-top: 10px;
}
@media screen and (max-width: 768px) {
    .p-research-detail-nav__item + .p-research-detail-nav__item {
        margin-top: 8px;
    }
}
.p-research-detail-nav__link {
    padding: 16px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    border-radius: 6px;
    border: 2px solid var(--color-blue-1);
    background-color: var(--color-white-1);
}
@media screen and (max-width: 768px) {
    .p-research-detail-nav__link {
        padding: 13px 14px;
    }
}
.p-research-detail-nav__link:not([href]) {
    pointer-events: none;
    border-color: var(--color-theme-1);
    background-color: var(--color-theme-1);
}
.p-research-detail-nav__link:not([href]) .p-research-detail-nav__txt, .p-research-detail-nav__link:not([href]) .p-research-detail-nav__num {
    color: var(--color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .p-research-detail-nav__link {
        transition: background-color var(--hover-duration), border-color var(--hover-duration);
    }
    .p-research-detail-nav__link .p-research-detail-nav__txt, .p-research-detail-nav__link .p-research-detail-nav__num {
        transition: color var(--hover-duration);
    }
    .p-research-detail-nav__link:hover {
        border-color: var(--color-theme-1);
        background-color: var(--color-theme-1);
    }
    .p-research-detail-nav__link:hover .p-research-detail-nav__txt, .p-research-detail-nav__link:hover .p-research-detail-nav__num {
        color: var(--color-white-1);
    }
}
.p-research-detail-nav__txt {
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.4;
}
.p-research-detail-nav__num {
    color: var(--color-theme-1);
    font-weight: bold;
    margin-right: 6px;
}
.p-research-detail-nav__img {
    display: block;
    width: 80px;
}
.p-research-detail-nav__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* ---------------------------------------------
*   p-research-detail-ttl
--------------------------------------------- */
.p-research-detail-ttl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
}
@media screen and (max-width: 768px) {
    .p-research-detail-ttl {
        display: block;
    }
}
.p-research-detail-ttl__num {
    padding-top: calc(15 / var(--root-fz) * 1rem);
    color: var(--color-theme-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    letter-spacing: calc(var(--letter-spacing) * -1em);
}
.p-research-detail-ttl__txt {
    display: block;
    font-size: calc(40 / var(--root-fz) * 1rem);
    letter-spacing: var(--letter-spacing);
    line-height: 1.1;
}
@media screen and (max-width: 768px) {
    .p-research-detail-ttl__txt {
        font-size: calc(26 / var(--root-fz) * 1rem);
        margin-top: 11px;
    }
}

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

.bg-theme {
    background-color: var(--color-theme-1) !important;
}

.bg-blue {
    background-color: var(--color-blue-3) !important;
}

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

.fc-black {
    color: var(--color-base-1) !important;
}

.fc-theme {
    color: var(--color-theme-1) !important;
}

/* ---------------------------------------------
*   display
--------------------------------------------- */
.display-inline-block {
    display: inline-block !important;
}

@media screen and (min-width: 769px) {
    .display-inline-block-pc {
        display: inline-block !important;
    }
}

@media screen and (max-width: 768px) {
    .display-inline-block-sp {
        display: inline-block !important;
    }
}

@media screen and (max-width: 768px) {
    .display-block-sp {
        display: block !important;
    }
}

/* ---------------------------------------------
*   font-family
--------------------------------------------- */
.ff-noto {
    font-family: var(--ff-root) !important;
}

.ff-montserrat {
    font-family: var(--ff-montserrat) !important;
}

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

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

/* ---------------------------------------------
*   line-height
--------------------------------------------- */
.lh-125 {
    line-height: 1.25 !important;
}

@media screen and (min-width: 769px) {
    .lh-125-pc {
        line-height: 1.25 !important;
    }
}

@media screen and (max-width: 768px) {
    .lh-125-sp {
        line-height: 1.25 !important;
    }
}

.lh-13 {
    line-height: 1.3 !important;
}

@media screen and (min-width: 769px) {
    .lh-13-pc {
        line-height: 1.3 !important;
    }
}

@media screen and (max-width: 768px) {
    .lh-13-sp {
        line-height: 1.3 !important;
    }
}

.lh-14 {
    line-height: 1.4 !important;
}

@media screen and (max-width: 768px) {
    .lh-14-pc {
        line-height: 1.3 !important;
    }
}

@media screen and (max-width: 768px) {
    .lh-14-sp {
        line-height: 1.4 !important;
    }
}

.lh-15 {
    line-height: 1.5 !important;
}

@media screen and (min-width: 769px) {
    .lh-15-pc {
        line-height: 1.5 !important;
    }
}

@media screen and (max-width: 768px) {
    .lh-15-sp {
        line-height: 1.5 !important;
    }
}

.lh-16 {
    line-height: 1.6 !important;
}

@media screen and (min-width: 769px) {
    .lh-16-pc {
        line-height: 1.6 !important;
    }
}

@media screen and (max-width: 768px) {
    .lh-16-sp {
        line-height: 1.6 !important;
    }
}

.lh-17 {
    line-height: 1.7 !important;
}

@media screen and (min-width: 769px) {
    .lh-17-pc {
        line-height: 1.7 !important;
    }
}

@media screen and (max-width: 768px) {
    .lh-17-sp {
        line-height: 1.7 !important;
    }
}

@media screen and (max-width: 768px) {
    .lh-173-sp {
        line-height: 1.73 !important;
    }
}

.lh-18 {
    line-height: 1.8 !important;
}

@media screen and (min-width: 769px) {
    .lh-18-pc {
        line-height: 1.8 !important;
    }
}

@media screen and (max-width: 768px) {
    .lh-18-sp {
        line-height: 1.8 !important;
    }
}

.lh-2 {
    line-height: 2 !important;
}

@media screen and (min-width: 769px) {
    .lh-2-pc {
        line-height: 2 !important;
    }
}

@media screen and (max-width: 768px) {
    .lh-2-sp {
        line-height: 2 !important;
    }
}

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

@media screen and (min-width: 769px) {
    .txt-al-center-pc {
        text-align: center !important;
    }
}

@media screen and (max-width: 768px) {
    .txt-al-center-sp {
        text-align: center !important;
    }
}

/*  右寄せ
--------------------------------------------- */
.txt-al-right {
    text-align: right !important;
}

@media screen and (min-width: 769px) {
    .txt-al-right-pc {
        text-align: right !important;
    }
}

@media screen and (max-width: 768px) {
    .txt-al-right-sp {
        text-align: right !important;
    }
}

/*  左寄せ
--------------------------------------------- */
.txt-al-left {
    text-align: left !important;
}

@media screen and (min-width: 769px) {
    .txt-al-left-pc {
        text-align: left !important;
    }
}

@media screen and (max-width: 768px) {
    .txt-al-left-sp {
        text-align: left !important;
    }
}

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

@media screen and (min-width: 769px) {
    .txt-al-justify-pc {
        text-align: justify !important;
    }
}

@media screen and (max-width: 768px) {
    .txt-al-justify-sp {
        text-align: justify !important;
    }
}

/* ---------------------------------------------
*   letter-spacing
--------------------------------------------- */
/*  letter-spacing: 0;
--------------------------------------------- */
.ls-0 {
    letter-spacing: 0 !important;
}

@media screen and (min-width: 769px) {
    .ls-0-pc {
        letter-spacing: 0 !important;
    }
}

@media screen and (max-width: 768px) {
    .ls-0-sp {
        letter-spacing: 0 !important;
    }
}

/* ---------------------------------------------
*   アクセシビリティ対応
--------------------------------------------- */
.visually-hidden {
    position: absolute;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    width: 1px;
    height: 1px;
    overflow: hidden;
    white-space: nowrap;
}

/* ---------------------------------------------
*   既存パーツ
--------------------------------------------- */
#footer:not(.not-rwd) #footer-inner {
    padding-top: 0;
}

#footer #footer-top.active {
    display: none;
}

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

/* ---------------------------------------------
*   js-header-trigger
--------------------------------------------- */
@media screen and (min-width: 769px) {
    .top .js-header {
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s, visibility 0.3s;
    }
}
@media screen and (min-width: 769px) {
    .top .js-header.is-visible {
        opacity: 1;
        visibility: visible;
    }
}

/* ---------------------------------------------
*   js-modal-movie
--------------------------------------------- */
.js-modal-movie {
    transform: translateZ(0);
    will-change: opacity;
}

/* ---------------------------------------------
*   js-more-scope
--------------------------------------------- */
.js-more-scope .is-hide,
.js-more-scope .init-hidden {
    display: none;
}
.js-more-scope.is-show-all .js-more-trigger {
    display: none;
}

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

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

body.is-noscroll {
    overflow: hidden;
}

/* ---------------------------------------------
*   js-pagetop-threshold
--------------------------------------------- */
@media screen and (min-width: 769px) {
    .js-pagetop-threshold {
        position: absolute;
        top: 0;
        height: 300px;
    }
}

@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: 5px !important;
    }
    .mgt-sp--10 {
        margin-top: 10px !important;
    }
    .mgt-sp--15 {
        margin-top: 15px !important;
    }
    .mgt-sp--20 {
        margin-top: 20px !important;
    }
    .mgt-sp--25 {
        margin-top: 25px !important;
    }
    .mgt-sp--30 {
        margin-top: 30px !important;
    }
    .mgt-sp--35 {
        margin-top: 35px !important;
    }
    .mgt-sp--40 {
        margin-top: 40px !important;
    }
    .mgt-sp--45 {
        margin-top: 45px !important;
    }
    .mgt-sp--50 {
        margin-top: 50px !important;
    }
    .mgt-sp--55 {
        margin-top: 55px !important;
    }
    .mgt-sp--60 {
        margin-top: 60px !important;
    }
    .mgt-sp--65 {
        margin-top: 65px !important;
    }
    .mgt-sp--70 {
        margin-top: 70px !important;
    }
    .mgt-sp--75 {
        margin-top: 75px !important;
    }
    .mgt-sp--80 {
        margin-top: 80px !important;
    }
    .mgt-sp--85 {
        margin-top: 85px !important;
    }
    .mgt-sp--90 {
        margin-top: 90px !important;
    }
    .mgt-sp--95 {
        margin-top: 95px !important;
    }
    .mgt-sp--100 {
        margin-top: 100px !important;
    }
    .mgt-sp--105 {
        margin-top: 105px !important;
    }
    .mgt-sp--110 {
        margin-top: 110px !important;
    }
    .mgt-sp--115 {
        margin-top: 115px !important;
    }
    .mgt-sp--120 {
        margin-top: 120px !important;
    }
    .mgt-sp--125 {
        margin-top: 125px !important;
    }
    .mgt-sp--130 {
        margin-top: 130px !important;
    }
    .mgt-sp--135 {
        margin-top: 135px !important;
    }
    .mgt-sp--140 {
        margin-top: 140px !important;
    }
    .mgt-sp--145 {
        margin-top: 145px !important;
    }
    .mgt-sp--150 {
        margin-top: 150px !important;
    }
    .mgt-sp--155 {
        margin-top: 155px !important;
    }
    .mgt-sp--160 {
        margin-top: 160px !important;
    }
    .mgt-sp--165 {
        margin-top: 165px !important;
    }
    .mgt-sp--170 {
        margin-top: 170px !important;
    }
    .mgt-sp--175 {
        margin-top: 175px !important;
    }
    .mgt-sp--180 {
        margin-top: 180px !important;
    }
    .mgt-sp--185 {
        margin-top: 185px !important;
    }
    .mgt-sp--190 {
        margin-top: 190px !important;
    }
    .mgt-sp--195 {
        margin-top: 195px !important;
    }
    .mgt-sp--200 {
        margin-top: 200px !important;
    }
    .mgt-sp--205 {
        margin-top: 205px !important;
    }
    .mgt-sp--210 {
        margin-top: 210px !important;
    }
    .mgt-sp--215 {
        margin-top: 215px !important;
    }
    .mgt-sp--220 {
        margin-top: 220px !important;
    }
    .mgt-sp--225 {
        margin-top: 225px !important;
    }
    .mgt-sp--230 {
        margin-top: 230px !important;
    }
    .mgt-sp--235 {
        margin-top: 235px !important;
    }
    .mgt-sp--240 {
        margin-top: 240px !important;
    }
    .mgt-sp--245 {
        margin-top: 245px !important;
    }
    .mgt-sp--250 {
        margin-top: 250px !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: 5px !important;
    }
    .mgb-sp--10 {
        margin-bottom: 10px !important;
    }
    .mgb-sp--15 {
        margin-bottom: 15px !important;
    }
    .mgb-sp--20 {
        margin-bottom: 20px !important;
    }
    .mgb-sp--25 {
        margin-bottom: 25px !important;
    }
    .mgb-sp--30 {
        margin-bottom: 30px !important;
    }
    .mgb-sp--35 {
        margin-bottom: 35px !important;
    }
    .mgb-sp--40 {
        margin-bottom: 40px !important;
    }
    .mgb-sp--45 {
        margin-bottom: 45px !important;
    }
    .mgb-sp--50 {
        margin-bottom: 50px !important;
    }
    .mgb-sp--55 {
        margin-bottom: 55px !important;
    }
    .mgb-sp--60 {
        margin-bottom: 60px !important;
    }
    .mgb-sp--65 {
        margin-bottom: 65px !important;
    }
    .mgb-sp--70 {
        margin-bottom: 70px !important;
    }
    .mgb-sp--75 {
        margin-bottom: 75px !important;
    }
    .mgb-sp--80 {
        margin-bottom: 80px !important;
    }
    .mgb-sp--85 {
        margin-bottom: 85px !important;
    }
    .mgb-sp--90 {
        margin-bottom: 90px !important;
    }
    .mgb-sp--95 {
        margin-bottom: 95px !important;
    }
    .mgb-sp--100 {
        margin-bottom: 100px !important;
    }
    .mgb-sp--105 {
        margin-bottom: 105px !important;
    }
    .mgb-sp--110 {
        margin-bottom: 110px !important;
    }
    .mgb-sp--115 {
        margin-bottom: 115px !important;
    }
    .mgb-sp--120 {
        margin-bottom: 120px !important;
    }
    .mgb-sp--125 {
        margin-bottom: 125px !important;
    }
    .mgb-sp--130 {
        margin-bottom: 130px !important;
    }
    .mgb-sp--135 {
        margin-bottom: 135px !important;
    }
    .mgb-sp--140 {
        margin-bottom: 140px !important;
    }
    .mgb-sp--145 {
        margin-bottom: 145px !important;
    }
    .mgb-sp--150 {
        margin-bottom: 150px !important;
    }
    .mgb-sp--155 {
        margin-bottom: 155px !important;
    }
    .mgb-sp--160 {
        margin-bottom: 160px !important;
    }
    .mgb-sp--165 {
        margin-bottom: 165px !important;
    }
    .mgb-sp--170 {
        margin-bottom: 170px !important;
    }
    .mgb-sp--175 {
        margin-bottom: 175px !important;
    }
    .mgb-sp--180 {
        margin-bottom: 180px !important;
    }
    .mgb-sp--185 {
        margin-bottom: 185px !important;
    }
    .mgb-sp--190 {
        margin-bottom: 190px !important;
    }
    .mgb-sp--195 {
        margin-bottom: 195px !important;
    }
    .mgb-sp--200 {
        margin-bottom: 200px !important;
    }
    .mgb-sp--205 {
        margin-bottom: 205px !important;
    }
    .mgb-sp--210 {
        margin-bottom: 210px !important;
    }
    .mgb-sp--215 {
        margin-bottom: 215px !important;
    }
    .mgb-sp--220 {
        margin-bottom: 220px !important;
    }
    .mgb-sp--225 {
        margin-bottom: 225px !important;
    }
    .mgb-sp--230 {
        margin-bottom: 230px !important;
    }
    .mgb-sp--235 {
        margin-bottom: 235px !important;
    }
    .mgb-sp--240 {
        margin-bottom: 240px !important;
    }
    .mgb-sp--245 {
        margin-bottom: 245px !important;
    }
    .mgb-sp--250 {
        margin-bottom: 250px !important;
    }
}