@charset "UTF-8";
/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
/* ---------------------------------------------
*   header
--------------------------------------------- */
.header {
    position: fixed;
    z-index: 1003;
    width: 100%;
    height: calc(var(--fixed-header-height) * 1px);
    background-color: var(--color-white);
    display: flex;
    flex-direction: row;
    justify-content: center;
    border-bottom: 1px solid var(--color-light-gray);
}
@media screen and (max-width: 1024px) {
    .header {
        padding-block: var(--spacing-rem);
        height: calc(var(--fixed-header-height) / var(--font-size-base) * 1rem);
    }
}
.header__container {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}
@media screen and (min-width: 1025px) {
    .header__container {
        gap: calc(10 / var(--font-size-base) * 1rem);
        height: 100%;
    }
}
.header__logo {
    display: flex;
    width: calc(237 / var(--font-size-base) * 1rem);
    cursor: pointer;
    overflow: hidden;
    flex-shrink: 0;
}
.header__logo img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
@media (hover: hover) and (pointer: fine) {
    .header__logo {
        transition: opacity var(--transition-seconds);
    }
    .header__logo:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 1150px) {
    .header__logo {
        width: calc(200 / var(--font-size-base) * 1rem);
    }
}
@media screen and (max-width: 1024px) {
    .header__logo {
        width: calc(206 / var(--font-size-base) * 1rem);
    }
}
.header__button {
    padding: calc(10 / var(--font-size-base) * 1rem) calc(20 / var(--font-size-base) * 1rem);
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-white);
    font-size: var(--font-size-small);
    background-color: var(--color-font-base);
    border: 1px solid var(--color-font-base);
    border-radius: 999px;
    flex-shrink: 0;
}
@media (hover: hover) and (pointer: fine) {
    .header__button {
        transition: background-color 0.3s, color 0.3s;
    }
    .header__button:hover {
        background-color: var(--color-white);
        color: var(--color-font-base);
    }
}
@media screen and (max-width: 1024px) {
    .header__button {
        display: none;
    }
}

/* ---------------------------------------------
*   l-shared-subnav
--------------------------------------------- */
.l-shared-subnav {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
@media screen and (max-width: 1024px) {
    .l-shared-subnav {
        display: none;
    }
}
.l-shared-subnav__trigger {
    position: relative;
    display: block;
    width: calc(42 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    cursor: pointer;
    -webkit-mask: url(/public/assets/images/common/icon_search.svg) center center no-repeat;
            mask: url(/public/assets/images/common/icon_search.svg) center center no-repeat;
    -webkit-mask-size: calc(16 / var(--font-size-base) * 1rem) calc(16 / var(--font-size-base) * 1rem);
            mask-size: calc(16 / var(--font-size-base) * 1rem) calc(16 / var(--font-size-base) * 1rem);
    background-color: var(--color-font-base);
}
@media screen and (max-width: 767px) {
    .l-shared-subnav__trigger {
        padding: calc(18 / var(--font-size-base) * 1rem);
        background-size: calc(18 / var(--font-size-base) * 1rem) calc(18 / var(--font-size-base) * 1rem);
    }
}
@media screen and (min-width: 1025px) {
    .is-menu-opened .l-shared-subnav__trigger {
        background-color: var(--color-primary);
    }
}

@media screen and (max-width: 1024px) {
    .l-shared-subnav__trigger.is-menu-opened {
        background-color: var(--color-primary);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 1024px) {
    .l-shared-subnav__trigger:hover {
        background-color: var(--color-primary);
    }
}
.l-shared-subnav__trigger-lang {
    position: relative;
    padding: calc(13 / var(--font-size-base) * 1rem) calc(22 / var(--font-size-base) * 1rem) calc(13 / var(--font-size-base) * 1rem) calc(28 / var(--font-size-base) * 1rem);
    color: var(--color-font-base);
    display: block;
    font-size: var(--font-size-x-small);
    cursor: pointer;
    flex-shrink: 0;
}
.l-shared-subnav__trigger-lang::before, .l-shared-subnav__trigger-lang::after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    transform: translateY(-50%);
}
.l-shared-subnav__trigger-lang::before {
    left: calc(6 / var(--font-size-base) * 1rem);
    width: calc(16 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    -webkit-mask: url(/public/assets/images/common/icon_lang.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_lang.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-font-base);
}
.l-shared-subnav__trigger-lang::after {
    right: calc(6 / var(--font-size-base) * 1rem);
    width: calc(12 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    -webkit-mask: url(/public/assets/images/common/icon_arrow.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_arrow.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-font-base);
}
@media screen and (min-width: 768px) {
    .is-menu-opened .l-shared-subnav__trigger-lang {
        color: var(--color-primary);
    }
    .is-menu-opened .l-shared-subnav__trigger-lang::before, .is-menu-opened .l-shared-subnav__trigger-lang::after {
        background-color: var(--color-primary);
    }
}

@media (hover: hover) and (pointer: fine) {
    .l-shared-subnav__trigger-lang {
        transition: color 0.3s;
    }
    .l-shared-subnav__trigger-lang::before, .l-shared-subnav__trigger-lang::after {
        transition: background-color 0.3s;
    }
    .l-shared-subnav__trigger-lang::after {
        transition: transform 0.3s;
    }
}
@media screen and (hover: hover) and (pointer: fine) and (min-width: 768px) {
    .l-shared-subnav__trigger-lang:hover {
        color: var(--color-primary);
    }
    .l-shared-subnav__trigger-lang:hover::before, .l-shared-subnav__trigger-lang:hover::after {
        background-color: var(--color-primary);
    }
    .l-shared-subnav__trigger-lang:hover::after {
        transform: translateY(-50%) rotate(180deg);
    }
}
.l-shared-subnav__target {
    position: fixed;
    top: calc(var(--fixed-header-height) * 1px);
    left: 0;
    right: 0;
    z-index: 1002;
    display: block;
    width: 100vw;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    overscroll-behavior-y: none;
    overflow-y: auto;
    scrollbar-width: none;
}
.l-shared-subnav__target--lang {
    position: absolute;
    top: 70px;
    left: auto;
    width: auto;
    min-width: 122px;
    height: -moz-fit-content;
    height: fit-content;
}

/* ---------------------------------------------
*   header-menu-button
--------------------------------------------- */
.header-menu-button {
    display: none;
    position: relative;
    width: calc(50 / var(--font-size-base) * 1rem);
    height: calc(50 / var(--font-size-base) * 1rem);
    border: 0;
    border-radius: 0;
    margin: 0;
    box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    touch-action: manipulation;
    cursor: pointer;
    flex-shrink: 0;
    border-radius: var(--border-radius-small);
}
@media screen and (max-width: 1024px) {
    .header-menu-button {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}
@media (hover: hover) and (pointer: fine) {
    .header-menu-button {
        transition: background-color 0.3s;
    }
    .header-menu-button:hover {
        background-color: var(--color-lightest-gray);
    }
}
.header-menu-button__lines {
    position: relative;
    display: block;
    width: calc(22 / var(--font-size-base) * 1rem);
    height: calc(17 / var(--font-size-base) * 1rem);
}
.header-menu-button__line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    padding-top: calc(2 / var(--font-size-base) * 1rem);
    background-color: var(--color-font-base);
    transition: 0.3s;
}
.header-menu-button__line--top {
    top: 0;
}
.is-menu-opened .header-menu-button__line--top {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

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

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

/* ---------------------------------------------
*   header-menu
--------------------------------------------- */
.header-menu {
    height: 100%;
    display: flex;
}
@media screen and (max-width: 1024px) {
    .header-menu {
        position: fixed;
        inset: 0 -100% 0 auto;
        width: 100%;
        transform: translateX(0);
        overscroll-behavior-y: none;
        overflow-y: auto;
        visibility: hidden;
        scrollbar-width: none;
        padding-left: calc(50 / var(--font-size-base) * 1rem);
        background-color: rgba(0, 0, 0, 0.3);
        transition: transform 0.3s, visibility 0.3s;
    }
    .header-menu::-webkit-scrollbar {
        display: none;
    }
    .header-menu.is-menu-opened {
        transform: translateX(-100%);
        visibility: visible;
    }
}
@media screen and (max-width: 1024px) {
    .header-menu__container {
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        background-color: var(--color-white);
        scrollbar-width: none;
    }
    .header-menu__container::-webkit-scrollbar {
        display: none;
    }
}
.header-menu__body {
    height: 100%;
}
@media screen and (max-width: 1024px) {
    .header-menu__body {
        overflow-y: auto;
        padding: 3rem 1rem 2rem;
    }
}
@media screen and (min-width: 1025px) {
    .header-menu__body {
        /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
        -ms-overflow-style: none;
        /*Firefoxへの対応*/
        scrollbar-width: none;
        /*Google Chrome、Safariへの対応*/
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: calc(14 / var(--font-size-base) * 1rem);
    }
    .header-menu__body::-webkit-scrollbar {
        display: none;
    }
}
@media screen and (min-width: 1025px) and (max-width: 1150px) {
    .header-menu__body {
        gap: 0;
    }
}

/*  header-close-button
--------------------------------------------- */
.header-close-button {
    display: none;
}
@media screen and (max-width: 1024px) {
    .header-close-button {
        position: absolute;
        top: 0;
        left: 0;
        width: calc(50 / var(--font-size-base) * 1rem);
        height: calc(50 / var(--font-size-base) * 1rem);
        cursor: pointer;
        flex-shrink: 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}
@media (hover: hover) and (pointer: fine) {
    .header-close-button {
        transition: opacity var(--transition-seconds);
    }
    .header-close-button:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.header-close-button__lines {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(22 / var(--font-size-base) * 1rem);
    height: calc(17 / var(--font-size-base) * 1rem);
}
.header-close-button__line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    padding-top: calc(2 / var(--font-size-base) * 1rem);
    background-color: var(--color-white);
    transition: 0.3s;
}
.header-close-button__line--top {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}
.header-close-button__line--bottom {
    bottom: 50%;
    width: 100%;
    transform: translateY(50%) rotate(-45deg);
}

/* ---------------------------------------------
*   header-login-button
--------------------------------------------- */
.header-login-button {
    position: absolute;
    top: 50%;
    right: calc(50 / var(--font-size-base) * 1rem);
    transform: translateY(-50%);
    display: block;
    width: calc(50 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    flex-shrink: 0;
    border-radius: var(--border-radius-small);
    background-color: var(--color-white);
}
@media screen and (min-width: 1025px) {
    .header-login-button {
        display: none;
    }
}
.header-login-button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 100%;
    height: 100%;
    -webkit-mask: url(/public/assets/images/common/icon_login.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_login.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-font-base);
}
@media (hover: hover) and (pointer: fine) {
    .header-login-button {
        transition: background-color 0.3s;
    }
    .header-login-button:hover {
        background-color: var(--color-lightest-gray);
    }
}
.header-login-button--mypage::before {
    -webkit-mask: url(/public/assets/images/common/icon_mypage.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_mypage.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
}

/* ---------------------------------------------
*   l-header-select-lang
--------------------------------------------- */
.l-header-select-lang {
    display: block;
    position: relative;
    width: 100%;
    margin-top: var(--spacing-rem);
}
@media screen and (min-width: 1025px) {
    .l-header-select-lang {
        display: none;
    }
}
.l-header-select-lang__txts {
    padding: calc(14 / var(--font-size-base) * 1rem);
    width: 100%;
    height: 100%;
    color: var(--color-font-base);
    display: block;
    font-size: var(--font-size-small);
    cursor: pointer;
    flex-shrink: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
    text-align: center;
}
.l-header-select-lang::before, .l-header-select-lang::after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    transform: translate(-50%, -50%);
}
.l-header-select-lang::before {
    left: 45%;
    width: calc(16 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    -webkit-mask: url(/public/assets/images/common/icon_lang.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_lang.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-font-base);
}
@media screen and (max-width: 767px) {
    .l-header-select-lang::before {
        left: 40%;
    }
}
.l-header-select-lang::after {
    right: 44.5%;
    width: calc(12 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    -webkit-mask: url(/public/assets/images/common/icon_arrow.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_arrow.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-font-base);
}
@media screen and (max-width: 767px) {
    .l-header-select-lang::after {
        right: 38%;
    }
}
.l-header-select-lang__select {
    position: absolute;
    inset: 0;
    z-index: 1;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-select-lang__select {
        transition: opacity var(--transition-seconds);
    }
    .l-header-select-lang__select:hover {
        opacity: var(--hover-opacity-ratio);
    }
}

/* ---------------------------------------------
*   globalNav-list
--------------------------------------------- */
.globalNav-list {
    height: 100%;
}
@media screen and (max-width: 1024px) {
    .globalNav-list {
        height: auto;
        margin-top: var(--spacing-rem);
    }
}
.globalNav-list__list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}
@media screen and (max-width: 1024px) {
    .globalNav-list__list {
        display: block;
        width: 100%;
    }
}
@media screen and (min-width: 1025px) {
    .globalNav-list__list {
        flex-wrap: wrap;
        /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
        -ms-overflow-style: none;
        /*Firefoxへの対応*/
        scrollbar-width: none;
        /*Google Chrome、Safariへの対応*/
    }
    .globalNav-list__list::-webkit-scrollbar {
        display: none;
    }
}
.globalNav-list__item {
    flex-shrink: 0;
    height: 100%;
}
@media screen and (max-width: 1024px) {
    .globalNav-list__item + .globalNav-list__item {
        margin-top: var(--spacing-rem);
    }
    .globalNav-list__item.is-open {
        border-radius: var(--spacing-rem);
        border: 1px solid var(--color-border);
        overflow: hidden;
    }
}
.globalNav-list__trigger {
    position: relative;
    padding: calc(10 / var(--font-size-base) * 1rem) calc(37 / var(--font-size-base) * 1rem) calc(10 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem);
    display: flex;
    align-items: center;
    height: calc(100% + 1px);
    font-size: calc(14 / var(--font-size-base) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-font-base);
}
@media screen and (max-width: 1150px) {
    .globalNav-list__trigger {
        padding-left: 0;
    }
}
@media screen and (max-width: 1024px) {
    .globalNav-list__trigger {
        padding: calc(14 / var(--font-size-base) * 1rem) calc(37 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem);
        justify-content: space-between;
        width: 100%;
        height: auto;
        font-size: var(--font-size-small);
        border-radius: var(--spacing-rem);
        border: 1px solid var(--color-border);
    }
    .is-open .globalNav-list__trigger {
        border: none;
        overflow: hidden;
        color: var(--color-dark-gray);
    }
}
.globalNav-list__trigger::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(14 / var(--font-size-base) * 1rem);
    display: block;
    width: calc(16 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    -webkit-mask: url(/public/assets/images/common/icon_arrow.svg) center center no-repeat;
            mask: url(/public/assets/images/common/icon_arrow.svg) center center no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    transform: translateY(-50%);
    background-color: var(--color-primary);
}
@media screen and (max-width: 1024px) {
    .globalNav-list__trigger::after {
        -webkit-mask: url(/public/assets/images/common/icon_plus.svg) center center no-repeat;
                mask: url(/public/assets/images/common/icon_plus.svg) center center no-repeat;
        -webkit-mask-size: 100% auto;
                mask-size: 100% auto;
        background-color: var(--color-dark-gray);
    }
}
@media (hover: hover) and (pointer: fine) {
    .globalNav-list__trigger {
        transition: color 0.3s;
    }
    .globalNav-list__trigger::after {
        transition: transform 0.3s;
    }
    .globalNav-list__trigger:hover {
        color: var(--color-primary);
    }
}
@media screen and (min-width: 1025px) {
    .is-menu-opened .globalNav-list__trigger {
        border-color: var(--color-primary);
        color: var(--color-primary);
    }
    .is-menu-opened .globalNav-list__trigger::after {
        transition: transform 0.3s;
    }
    .is-menu-opened .globalNav-list__trigger::before {
        background-color: var(--color-primary);
    }
    .is-menu-opened .globalNav-list__trigger::after {
        transform: translateY(-50%) rotate(-180deg);
    }
}

@media screen and (max-width: 1024px) {
    .js-acc-scope.is-open .globalNav-list__trigger::after {
        -webkit-mask: url(/public/assets/images/common/icon_minus.svg) center center no-repeat;
                mask: url(/public/assets/images/common/icon_minus.svg) center center no-repeat;
        -webkit-mask-size: 100% auto;
                mask-size: 100% auto;
    }
}

@media screen and (min-width: 1025px) {
    .globalNav-list__trigger--notoggle {
        padding-right: calc(14 / var(--font-size-base) * 1rem);
    }
}
@media screen and (max-width: 1024px) {
    .globalNav-list__trigger--notoggle {
        padding: calc(14 / var(--font-size-base) * 1rem);
    }
}
.globalNav-list__trigger--notoggle::after {
    display: none;
}
.globalNav-list__trigger--notoggle .globalNav-list__trigger-txt::before,
.globalNav-list__trigger--notoggle .globalNav-list__trigger-txt::after {
    display: none;
}
.globalNav-list__trigger--notoggle .globalNav-list__trigger-icon {
    display: none;
}
@media screen and (max-width: 1024px) {
    .globalNav-list__trigger--notoggle .globalNav-list__trigger-icon {
        display: block;
        width: calc(16 / var(--font-size-base) * 1rem);
        aspect-ratio: 1/1;
    }
}
@media screen and (max-width: 1024px) {
    .globalNav-list__trigger--notoggle .globalNav-list__trigger-arrow {
        position: relative;
        display: block;
        flex-shrink: 0;
        width: 100%;
        aspect-ratio: 1/1;
        -webkit-mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
                mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
        -webkit-mask-size: 100% auto;
                mask-size: 100% auto;
        background-color: var(--color-primary);
    }
}
.globalNav-list__target {
    position: fixed;
    top: calc(var(--fixed-header-height) * 1px);
    left: 0;
    right: 0;
    z-index: 1002;
    display: block;
    width: 100vw;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    overscroll-behavior-y: none;
    overflow-y: auto;
    scrollbar-width: none;
}
@media screen and (max-width: 1024px) {
    .js-acc-scope .globalNav-list__target {
        position: static;
        width: 100%;
        background-color: transparent;
    }
}

/* ---------------------------------------------
*   l-gnav-content
--------------------------------------------- */
.l-gnav-content {
    overflow-y: auto;
    box-sizing: border-box;
    overscroll-behavior-y: none;
    scrollbar-width: none;
    text-align: left;
}
.l-gnav-content__overlay {
    position: relative;
    z-index: 1003;
    pointer-events: auto;
    padding-block: var(--spacing-rem-x-large);
    max-height: 100%;
    background-color: var(--color-white);
}
@media screen and (min-width: 1025px) {
    .l-gnav-content__overlay {
        border-bottom: 1px solid var(--color-border);
        overflow-y: scroll;
        max-height: calc(100% - var(--fixed-header-height) / var(--font-size-base) * 1rem);
    }
}
@media screen and (max-width: 1024px) {
    .js-acc-scope .l-gnav-content__overlay {
        padding-block: 0;
    }
}

.l-gnav-content__container {
    overflow-y: scroll;
    scrollbar-width: none;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
@media screen and (max-width: 1024px) {
    .js-acc-scope .l-gnav-content__container {
        padding-inline: 0 !important;
        display: block;
        max-height: none;
    }
}

.l-gnav-content__head {
    padding-right: 1em;
    width: 240px;
    flex-shrink: 0;
}
@media screen and (max-width: 1024px) {
    .l-gnav-content__head {
        display: none;
    }
}
.l-gnav-content__ttl {
    position: relative;
    display: block;
    font-size: var(--font-size-lead);
    font-weight: bold;
    margin-block: calc(8 / var(--font-size-base) * 1rem) calc(56 / var(--font-size-base) * 1rem);
    width: calc(240 / var(--font-size-base) * 1rem);
    padding-right: 1rem;
}
.l-gnav-content__ttl::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: calc(-23 / var(--font-size-base) * 1rem);
    width: calc(32 / var(--font-size-base) * 1rem);
    height: calc(4 / var(--font-size-base) * 1rem);
    background-color: var(--color-primary);
}
.l-gnav-content__body {
    width: 100%;
}
@media screen and (max-width: 1024px) {
    .js-acc-scope .l-gnav-content__body {
        padding-inline: calc(28 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem);
    }
}

.is-open .l-gnav-content__body {
    border-top: 1px solid var(--color-gray);
}

@media screen and (min-width: 1025px) {
    .l-gnav-content--lang {
        overflow-y: initial;
        overscroll-behavior-y: initial;
    }
    .l-gnav-content--lang .l-gnav-content__overlay {
        overflow-y: initial;
        width: -moz-fit-content;
        width: fit-content;
        border-radius: var(--border-radius);
        border: 1px solid var(--color-border);
        padding-block: calc(14 / var(--font-size-base) * 1rem);
        max-height: 100%;
        height: 100%;
    }
    .l-gnav-content--lang .l-gnav-content__container {
        overflow-y: initial;
        overscroll-behavior-y: initial;
    }
}

/* ---------------------------------------------
*   l-gnav-list
--------------------------------------------- */
.l-gnav-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(21 / 1008 * 100%);
}
@media screen and (max-width: 1024px) {
    .l-gnav-list {
        display: block;
    }
}
.l-gnav-list__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: calc(322 / 1008 * 100%);
}
@media screen and (max-width: 1024px) {
    .l-gnav-list__item {
        width: 100%;
    }
}
@media screen and (min-width: 1025px) {
    .l-gnav-list__inner-item + .l-gnav-list__inner-item {
        margin-top: calc(21 / var(--font-size-base) * 1rem);
    }
}

/* ---------------------------------------------
*   l-gnav-close
--------------------------------------------- */
.l-gnav-close {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1003;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    width: 12px;
    aspect-ratio: 1/1;
}
@media (hover: hover) and (pointer: fine) {
    .l-gnav-close {
        transition: opacity var(--transition-seconds);
    }
    .l-gnav-close:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-gnav-close--search {
    right: 62px;
}
@media screen and (max-width: 767px) {
    .l-gnav-close--search {
        right: 18px;
    }
}
@media screen and (max-width: 767px) {
    .edge .l-gnav-close {
        right: 33px;
    }
}

/* ---------------------------------------------
*   l-gnav-lang
--------------------------------------------- */
.l-gnav-lang__link {
    display: block;
    padding: calc(14 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem) calc(21 / var(--font-size-base) * 1rem);
    min-width: calc(119 / var(--font-size-base) * 1rem);
}
@media (hover: hover) and (pointer: fine) {
    .l-gnav-lang__link {
        transition: background-color 0.3s;
    }
    .l-gnav-lang__link:hover {
        background-color: var(--color-lightest-gray);
    }
}

/* ---------------------------------------------
*   l-gnav-dropmenu
--------------------------------------------- */
@media screen and (min-width: 1025px) {
    .l-gnav-dropmenu {
        padding: 0.5rem 1rem;
        border: 1px solid var(--color-border);
        border-radius: 2rem;
    }
}
@media screen and (max-width: 1024px) {
    .l-gnav-dropmenu {
        border-bottom: 1px solid var(--color-border);
    }
}
.l-gnav-dropmenu__head-link {
    padding: calc(14 / var(--font-size-base) * 1rem) calc(7 / var(--font-size-base) * 1rem);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    font-size: var(--font-size-small);
    font-weight: bold;
}
@media screen and (max-width: 1024px) {
    .l-gnav-dropmenu__head-link {
        display: none;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-gnav-dropmenu__head-link {
        transition: color 0.3s;
    }
    .l-gnav-dropmenu__head-link .l-gnav-dropmenu__arrow {
        transition: background-color 0.3s;
    }
    .l-gnav-dropmenu__head-link .l-gnav-dropmenu__arrow::before {
        transition: background-color 0.3s;
    }
    .l-gnav-dropmenu__head-link:hover {
        color: var(--color-primary);
    }
    .l-gnav-dropmenu__head-link:hover .l-gnav-dropmenu__arrow {
        background-color: var(--color-white);
    }
    .l-gnav-dropmenu__head-link:hover .l-gnav-dropmenu__arrow::before {
        background-color: var(--color-primary);
    }
}
.l-gnav-dropmenu__arrow {
    position: relative;
    display: block;
    aspect-ratio: 1/1;
    width: calc(32 / var(--font-size-base) * 1rem);
    border-radius: 50%;
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
    flex-shrink: 0;
}
.l-gnav-dropmenu__arrow::before {
    content: "";
    position: absolute;
    display: block;
    aspect-ratio: 1/1;
    top: 50%;
    left: 50%;
    width: calc(16 / var(--font-size-base) * 1rem);
    -webkit-mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-white);
    transform: translate(-50%, -50%);
}
@media screen and (min-width: 1025px) {
    .l-gnav-dropmenu__acc-trigger {
        display: none;
    }
}
@media screen and (max-width: 1024px) {
    .l-gnav-dropmenu__acc-trigger {
        position: relative;
        padding: calc(14 / var(--font-size-base) * 1rem) calc(37 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem) 0;
        text-align: left;
        display: block;
        width: 100%;
        color: var(--color-font-base);
        font-size: var(--font-size-small);
        font-weight: bold;
    }
    .l-gnav-dropmenu__acc-trigger::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        display: block;
        width: calc(16 / var(--font-size-base) * 1rem);
        aspect-ratio: 1/1;
        -webkit-mask: url(/public/assets/images/common/icon_plus.svg) center center no-repeat;
                mask: url(/public/assets/images/common/icon_plus.svg) center center no-repeat;
        -webkit-mask-size: 100% auto;
                mask-size: 100% auto;
        transform: translateY(-50%);
        background-color: var(--color-dark-gray);
    }
}
@media screen and (max-width: 1024px) and (hover: hover) and (pointer: fine) {
    .l-gnav-dropmenu__acc-trigger {
        transition: color 0.3s;
    }
    .l-gnav-dropmenu__acc-trigger:hover {
        color: var(--color-primary);
    }
}
@media screen and (max-width: 1024px) {
    .l-gnav-list__inner-item.is-open .l-gnav-dropmenu__acc-trigger {
        color: var(--color-dark-gray);
        border-bottom: 1px solid var(--color-border);
    }
    .l-gnav-list__inner-item.is-open .l-gnav-dropmenu__acc-trigger::after {
        -webkit-mask: url(/public/assets/images/common/icon_minus.svg) center center no-repeat;
                mask: url(/public/assets/images/common/icon_minus.svg) center center no-repeat;
        -webkit-mask-size: 100% auto;
                mask-size: 100% auto;
    }
}
@media screen and (max-width: 1024px) {
    .l-gnav-dropmenu__body {
        padding-left: calc(14 / var(--font-size-base) * 1rem);
    }
}
.l-gnav-dropmenu__lv1-list-link {
    padding: calc(14 / var(--font-size-base) * 1rem) calc(7 / var(--font-size-base) * 1rem);
    display: block;
    border-top: 1px solid var(--color-border);
    font-size: var(--font-size-small);
}
@media (hover: hover) and (pointer: fine) {
    .l-gnav-dropmenu__lv1-list-link {
        transition: color 0.3s;
    }
    .l-gnav-dropmenu__lv1-list-link:hover {
        color: var(--color-primary);
    }
}
@media screen and (max-width: 1024px) {
    .l-gnav-dropmenu__lv1-list-link {
        position: relative;
        padding: calc(14 / var(--font-size-base) * 1rem) calc(26 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem) 0;
        border-top: none;
    }
    .l-gnav-dropmenu__lv1-list-link::before {
        content: "";
        position: absolute;
        display: block;
        aspect-ratio: 1/1;
        top: 50%;
        right: 0;
        width: calc(16 / var(--font-size-base) * 1rem);
        -webkit-mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
                mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
        -webkit-mask-size: 100% auto;
                mask-size: 100% auto;
        background-color: var(--color-primary);
        transform: translateY(-50%);
    }
}

/* ---------------------------------------------
*   l-gnav-btn-1
--------------------------------------------- */
.l-gnav-btn-1 {
    padding: calc(14 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem) calc(28 / var(--font-size-base) * 1rem);
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 999px;
    color: var(--color-font-base);
    font-size: var(--font-size-small);
    font-weight: bold;
    flex-shrink: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-rem);
}
@media screen and (max-width: 1024px) {
    .l-gnav-btn-1 {
        position: relative;
        padding: calc(14 / var(--font-size-base) * 1rem) calc(26 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem) 0;
        font-weight: 400;
        border: none;
        border-radius: 0;
    }
    .l-gnav-btn-1::before {
        content: "";
        position: absolute;
        display: block;
        aspect-ratio: 1/1;
        top: 50%;
        right: 0;
        width: calc(16 / var(--font-size-base) * 1rem);
        -webkit-mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
                mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
        -webkit-mask-size: 100% auto;
                mask-size: 100% auto;
        background-color: var(--color-primary);
        transform: translateY(-50%);
    }
}
.l-gnav-btn-1__arrow {
    position: relative;
    display: block;
    aspect-ratio: 1/1;
    width: calc(32 / var(--font-size-base) * 1rem);
    border-radius: 50%;
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
    flex-shrink: 0;
}
@media screen and (max-width: 1024px) {
    .l-gnav-btn-1__arrow {
        display: none;
    }
}
.l-gnav-btn-1__arrow::before {
    content: "";
    position: absolute;
    display: block;
    aspect-ratio: 1/1;
    top: 50%;
    left: 50%;
    width: calc(16 / var(--font-size-base) * 1rem);
    -webkit-mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-white);
    transform: translate(-50%, -50%);
}
@media (hover: hover) and (pointer: fine) {
    .l-gnav-btn-1 {
        transition: color 0.3s, background-color 0.3s, border-color 0.3s;
    }
    .l-gnav-btn-1 .l-gnav-btn-1__arrow {
        transition: background-color 0.3s;
    }
    .l-gnav-btn-1 .l-gnav-btn-1__arrow::before {
        transition: background-color 0.3s;
    }
    .l-gnav-btn-1:hover {
        color: var(--color-primary);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (min-width: 1025px) {
    .l-gnav-btn-1:hover {
        color: var(--color-white);
        background-color: var(--color-primary);
        border-color: var(--color-primary);
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-gnav-btn-1:hover .l-gnav-btn-1__arrow {
        background-color: var(--color-white);
    }
    .l-gnav-btn-1:hover .l-gnav-btn-1__arrow::before {
        background-color: var(--color-primary);
    }
}

/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
.l-contents {
    padding-top: calc(var(--fixed-header-height) * 1px);
}
@media screen and (max-width: 1024px) {
    .l-contents {
        padding-top: calc(var(--fixed-header-height) / var(--font-size-base) * 1rem);
    }
}

/* ---------------------------------------------
*   bg
--------------------------------------------- */
/*  u-bg-lightestPrimary
--------------------------------------------- */
.u-bg-lightestPrimary {
    background-color: var(--color-primary-light);
}

/*  u-bg
--------------------------------------------- */
.u-bg--beige {
    background-color: var(--color-beige);
}
.u-bg--gray {
    background-color: var(--color-gray);
}
.u-bg--lightest-gray {
    background-color: var(--color-lightest-gray);
}

/* ---------------------------------------------
*   container
--------------------------------------------- */
.container {
    width: 100%;
    margin-inline: auto;
    padding-inline: 1rem;
}
.container--large {
    max-width: 1280px;
}
.container--middle {
    max-width: 1024px;
}
.container--search {
    max-width: 800px;
}
.container--small {
    max-width: 884px;
}
@media screen and (max-width: 767px) {
    .container--small {
        padding-inline: 0;
    }
}
.container--x-small {
    max-width: 500px;
    width: 100%;
    margin-inline: auto;
    padding-inline: 0;
}
@media screen and (max-width: 767px) {
    .container--x-small {
        max-width: none;
    }
}
.container--roundedBox {
    padding: 4rem;
    border-radius: var(--border-radius-large);
}
@media screen and (max-width: 767px) {
    .container--roundedBox {
        padding: 1.5rem 2rem;
    }
}
.container--roundedBox--border {
    border: 1px solid var(--color-border);
    padding: 4rem;
    border-radius: var(--border-radius);
}
@media screen and (max-width: 767px) {
    .container--roundedBox--border {
        padding: 1.5rem 2rem;
    }
}
.container--roundedBox--lightestGray {
    background-color: var(--color-lightest-gray);
    padding: 2rem;
    border-radius: var(--border-radius);
}
@media screen and (max-width: 767px) {
    .container--roundedBox--lightestGray {
        padding: 2rem 1rem;
    }
}
.container--roundedBox--lightGray {
    background-color: var(--color-light-gray);
    padding: 4rem;
    border-radius: var(--border-radius-large);
}
@media screen and (max-width: 767px) {
    .container--roundedBox--lightGray {
        padding: 3rem 1.5rem 2rem;
    }
}
.container--roundedBox--gray {
    background-color: var(--color-gray);
    padding: 2rem;
    border-radius: var(--border-radius);
}
.container--roundedBox--beige {
    background-color: var(--color-beige);
    padding: 2rem;
    border-radius: var(--border-radius);
}
.container--roundedBox--white {
    background-color: var(--color-white);
    padding: 4rem;
    border-radius: var(--border-radius-large);
}
@media screen and (max-width: 767px) {
    .container--roundedBox--white {
        padding: 2rem 1.5rem;
    }
}
.container--roundedBox--lightPrimary {
    background-color: var(--color-primary-light);
    padding: 2rem;
    border-radius: var(--border-radius);
}
@media screen and (max-width: 767px) {
    .container--roundedBox--lightPrimary {
        padding: 2rem 1.5rem;
    }
}
.container--spacingVertical {
    padding-block: 5rem;
}
@media screen and (max-width: 767px) {
    .container--spacingVertical {
        padding-block: 3rem;
    }
}
.container--spacingVertical-2 {
    padding-block: 2rem;
}
@media screen and (max-width: 767px) {
    .container--spacingVertical-2 {
        padding-block: 3rem;
    }
}
.container--spacing-large {
    padding: 2rem;
}
@media screen and (max-width: 767px) {
    .container--spacing-large {
        padding: 2rem 1.5rem;
    }
}
.container--rounded-large {
    border-radius: var(--border-radius-large);
}
.container--p2 {
    padding: 2rem;
}
@media screen and (max-width: 767px) {
    .container--spacingVertical--sp {
        padding: 3rem 1rem 3rem;
    }
}
@media screen and (max-width: 767px) {
    .container--sp-vertical {
        padding: 2rem 1.5rem;
    }
}
@media screen and (max-width: 767px) {
    .container--sp-bottom {
        padding-bottom: 3rem;
    }
}

/* ---------------------------------------------
*   container-col2
--------------------------------------------- */
.container-col2 {
    width: 100%;
}
.container-col2--large {
    padding-inline: 1rem;
    max-width: 1280px;
    display: flex;
    justify-content: space-between;
    gap: 4rem;
    margin-inline: auto;
}
@media screen and (max-width: 900px) {
    .container-col2--large {
        display: block;
    }
}
.container-col2__main {
    max-width: 884px;
    width: 100%;
}
.container-col2__side {
    width: 300px;
    flex-shrink: 0;
}
@media screen and (max-width: 900px) {
    .container-col2__side {
        width: 100%;
        margin-top: calc(48 / var(--font-size-base) * 1rem);
    }
}
.container-col2--spacingVertical {
    padding-block: 5rem;
}
@media screen and (max-width: 900px) {
    .container-col2--spacingVertical {
        padding-block: 3rem;
    }
}
@media screen and (max-width: 767px) {
    .container-col2--about {
        display: flex;
        flex-direction: column-reverse;
        gap: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .container-col2--about .container-col2__side {
        margin-top: 0;
    }
}

/* ---------------------------------------------
*   breadcrumbs
--------------------------------------------- */
.breadcrumbs {
    padding-block: var(--spacing-rem-large);
}
@media screen and (max-width: 767px) {
    .breadcrumbs {
        display: none;
    }
}
.breadcrumbs__list {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: calc(36 / var(--font-size-base) * 1rem);
}
.breadcrumbs__item {
    flex-shrink: 0;
    color: var(--color-dark-gray);
    font-size: var(--font-size-x-small);
}
.breadcrumbs__item:not(:last-of-type) {
    position: relative;
}
.breadcrumbs__item:not(:last-of-type)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(-24 / var(--font-size-base) * 1rem);
    display: block;
    width: calc(12 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    -webkit-mask: url(/public/assets/images/common/icon_arrow.svg) center center no-repeat;
            mask: url(/public/assets/images/common/icon_arrow.svg) center center no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    transform: translateY(-50%) rotate(-90deg);
    background-color: var(--color-dark-gray);
}
@media (hover: hover) and (pointer: fine) {
    .breadcrumbs a:hover {
        text-decoration: underline;
    }
}

/* ---------------------------------------------
*   footer
--------------------------------------------- */
.footer {
    padding-block: calc(var(--spacing-rem) * 4);
    border-top: calc(2 / var(--font-size-base) * 1rem) solid var(--color-primary);
    background-color: var(--color-beige);
}
@media screen and (max-width: 767px) {
    .footer {
        padding-block: var(--spacing-rem-x-large);
    }
}
.footer__container {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .footer__container {
        display: block;
    }
}
.footer__logo {
    display: block;
    width: calc(237 / var(--font-size-base) * 1rem);
    overflow: hidden;
}
.footer__logo img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
@media screen and (max-width: 767px) {
    .footer__logo {
        width: calc(206 / var(--font-size-base) * 1rem);
    }
}
.footer__union__info {
    margin-top: calc(21 / var(--font-size-base) * 1rem);
}
.footer__union__info-txt {
    font-size: var(--font-size-small);
    margin-top: calc(7 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .footer__union__info-txt {
        font-size: var(--font-size-x-small);
    }
}
.footer__info-link {
    display: inline-block;
}
@media (hover: hover) and (pointer: fine) {
    .footer__info-link:hover {
        text-decoration: underline;
    }
}
@media screen and (max-width: 767px) {
    .footer__body {
        margin-top: var(--spacing-rem);
    }
}
.footer__foot__nav__link {
    padding-block: calc(7 / var(--font-size-base) * 1rem);
    display: block;
    font-size: var(--font-size-small);
    text-align: right;
}
@media (hover: hover) and (pointer: fine) {
    .footer__foot__nav__link:hover {
        text-decoration: underline;
    }
}
@media screen and (max-width: 767px) {
    .footer__foot__nav__link {
        text-align: left;
    }
}
.footer__copyright {
    display: block;
    font-family: var(--ff-font-en);
    color: var(--color-dark-gray);
    font-size: var(--font-size-x-small);
    margin-top: calc(14 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .footer__copyright {
        font-size: var(--font-size-xx-small-sp);
        text-align: center;
        line-height: 1.8;
    }
}

/* ---------------------------------------------
*   c-scrollTop
--------------------------------------------- */
.c-scrollTop {
    position: fixed;
    right: calc(50 / var(--font-size-base) * 1rem);
    bottom: calc(50 / var(--font-size-base) * 1rem);
    z-index: 100;
    display: block;
    width: calc(50 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: var(--color-dark-gray);
}
.c-scrollTop::before {
    content: "";
    position: absolute;
    display: block;
    aspect-ratio: 1/1;
    top: 50%;
    left: 50%;
    width: calc(16 / var(--font-size-base) * 1rem);
    -webkit-mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-white);
    transform: translate(-50%, -50%) rotate(-90deg);
}
@media (hover: hover) and (pointer: fine) {
    .c-scrollTop {
        transition: background-color 0.3s;
    }
    .c-scrollTop:hover {
        background-color: var(--color-font-base);
    }
}

/* ---------------------------------------------
*   c-badge
--------------------------------------------- */
.c-badge {
    position: relative;
    padding: calc(6 / var(--font-size-base) * 1rem) calc(12 / var(--font-size-base) * 1rem) calc(6 / var(--font-size-base) * 1rem) calc(28 / var(--font-size-base) * 1rem);
    display: block;
    border-radius: 999px;
    border: 1px solid var(--color-border);
    font-size: var(--font-size-x-small);
}
@media screen and (max-width: 767px) {
    .c-badge {
        font-size: var(--font-size-xx-small-sp);
        min-height: calc(27 / var(--font-size-base) * 1rem);
    }
}
.c-badge::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(12 / var(--font-size-base) * 1rem);
    display: block;
    width: calc(8 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    border-radius: 50%;
    transform: translateY(-50%);
}
.c-badge--secondary::before {
    background-color: var(--color-secondary);
}
.c-badge--primary-1::before {
    background-color: var(--color-primary);
}
.c-badge--black {
    padding: calc(7 / var(--font-size-base) * 1rem) calc(12 / var(--font-size-base) * 1rem);
    font-weight: bold;
    background-color: var(--color-font-base);
    font-family: var(--ff-font-en);
    color: var(--color-white);
    border-color: var(--color-font-base);
}
@media screen and (max-width: 767px) {
    .c-badge--black {
        padding: calc(6 / var(--font-size-base) * 1rem) calc(12 / var(--font-size-base) * 1rem);
    }
}
.c-badge--complete {
    padding: calc(2 / var(--font-size-base) * 1rem) calc(12 / var(--font-size-base) * 1rem);
    background-color: var(--color-gray);
    border-color: var(--color-gray);
    color: #666666;
}
@media screen and (max-width: 767px) {
    .c-badge--complete {
        font-size: var(--font-size-x-small);
        min-height: auto;
    }
}
.c-badge--primary {
    padding: calc(2 / var(--font-size-base) * 1rem) calc(12 / var(--font-size-base) * 1rem);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
}
@media screen and (max-width: 767px) {
    .c-badge--primary {
        font-size: var(--font-size-x-small);
        min-height: auto;
    }
}
.c-badge--lightestgray {
    padding: calc(6 / var(--font-size-base) * 1rem) calc(12 / var(--font-size-base) * 1rem);
    background-color: var(--color-lightest-gray);
    border-color: var(--color-lightest-gray);
    min-height: auto;
}
@media screen and (max-width: 767px) {
    .c-badge--lightestgray {
        font-size: var(--font-size-xx-small-sp);
    }
}
.c-badge--green {
    padding: calc(6 / var(--font-size-base) * 1rem) calc(12 / var(--font-size-base) * 1rem);
    background-color: rgba(var(--color-success-rgb), 0.15);
    border-color: transparent;
    color: var(--color-success);
    font-weight: bold;
    text-align: center;
    min-width: calc(100 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-badge--green {
        font-size: var(--font-size-xx-small-sp);
        min-height: auto;
        min-width: calc(70 / var(--font-size-base) * 1rem);
    }
}
.c-badge--red {
    padding: calc(6 / var(--font-size-base) * 1rem) calc(12 / var(--font-size-base) * 1rem);
    background-color: rgba(var(--color-error-rgb), 0.15);
    border-color: transparent;
    color: var(--color-error);
    min-width: calc(100 / var(--font-size-base) * 1rem);
    font-weight: bold;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-badge--red {
        font-size: var(--font-size-xx-small-sp);
        min-height: auto;
        min-width: calc(70 / var(--font-size-base) * 1rem);
    }
}
.c-badge--gray {
    padding: calc(6 / var(--font-size-base) * 1rem) calc(12 / var(--font-size-base) * 1rem);
    background-color: rgba(var(--color-dark-gray-rgb), 0.15);
    border-color: transparent;
    color: var(--color-dark-gray);
    min-width: calc(100 / var(--font-size-base) * 1rem);
    font-weight: bold;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-badge--gray {
        font-size: var(--font-size-xx-small-sp);
        min-height: auto;
        min-width: calc(70 / var(--font-size-base) * 1rem);
    }
}
.c-badge--white {
    background-color: var(--color-white);
}
.c-badge--fw400 {
    font-weight: 400;
}

/*  c-badge-list
--------------------------------------------- */
.c-badge-list {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: var(--spacing-rem-small);
    flex-shrink: 0;
}
.c-badge-list__item {
    flex-shrink: 0;
}
.c-badge-list__item .c-badge {
    height: 100%;
    display: flex;
    align-items: center;
}

/* ---------------------------------------------
*   c-block-supportDesk
--------------------------------------------- */
.c-block-supportDesk {
    margin-block: var(--spacing-rem-x-large) !important;
}
.c-block-supportDesk__container {
    padding: var(--spacing-rem-x-large);
    border-radius: var(--border-radius-large);
    border: 1px solid var(--color-primary);
    background-color: var(--color-white);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(var(--spacing-rem) * 4);
}
@media screen and (max-width: 767px) {
    .c-block-supportDesk__container {
        padding: var(--spacing-rem-x-large) var(--spacing-rem-large);
        display: block;
    }
}
.c-block-supportDesk__heading {
    flex-shrink: 0;
}
.c-block-supportDesk__heading-small {
    color: var(--color-primary);
    font-size: var(--font-size-x-small);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-block-supportDesk__heading-small {
        font-size: var(--font-size-xx-small-sp);
    }
}
.c-block-supportDesk__heading-ttl {
    display: block;
    font-size: var(--font-size-lead) !important;
    font-weight: bold;
    margin-block: var(--spacing-rem-small) 0 !important;
}
.c-block-supportDesk__body {
    width: 100%;
}
@media screen and (max-width: 767px) {
    .c-block-supportDesk__body {
        margin-top: var(--spacing-rem);
    }
}
.c-block-supportDesk__link {
    display: inline;
    color: var(--color-primary);
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-supportDesk__link:hover {
        text-decoration: none;
    }
}
.c-block-supportDesk__txt {
    font-size: var(--font-size-small) !important;
    line-height: 2;
}
.c-block-supportDesk dl {
    margin-top: var(--spacing-rem);
    border-top: 1px solid var(--color-border);
}
.c-block-supportDesk dl > div {
    padding-block: var(--spacing-rem-small);
    border-bottom: 1px solid var(--color-border);
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
}
@media screen and (max-width: 767px) {
    .c-block-supportDesk dl > div {
        display: block;
    }
}
.c-block-supportDesk dl dt {
    padding: 0 var(--spacing-rem-small);
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: calc(160 / 610 * 100%);
    border-right: 1px solid var(--color-border);
    font-size: var(--font-size-base);
    font-weight: bold;
    line-height: 2;
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .c-block-supportDesk dl dt {
        padding: 0;
        width: 100%;
        border-right: none;
    }
}
.c-block-supportDesk dl dd {
    padding-inline: var(--spacing-rem-x-large) var(--spacing-rem);
    line-height: 2;
}
@media screen and (max-width: 767px) {
    .c-block-supportDesk dl dd {
        padding-inline: 0;
    }
}
.c-block-supportDesk dl dd a[href^="tel:"],
.c-block-supportDesk dl dd .js-tel-disabled {
    color: var(--color-font-base);
    text-decoration: none;
}
@media screen and (max-width: 767px) and (hover: hover) and (pointer: fine) {
    .c-block-supportDesk dl dd a[href^="tel:"]:hover,
    .c-block-supportDesk dl dd .js-tel-disabled:hover {
        text-decoration: underline;
    }
}

/* ---------------------------------------------
*   c-box
--------------------------------------------- */
/* ---------------------------------------------
*   c-button
--------------------------------------------- */
.c-button {
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: 999px;
    color: var(--color-white) !important;
    font-size: var(--font-size-base);
    font-weight: bold;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-rem);
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 767px) {
    .c-button {
        font-size: var(--font-size-small);
    }
}
.c-button__arrow {
    position: relative;
    display: block;
    aspect-ratio: 1/1;
    width: calc(32 / var(--font-size-base) * 1rem);
    border-radius: 50%;
    border: 1px solid var(--color-white);
    background-color: var(--color-white);
    flex-shrink: 0;
}
.c-button__arrow::before {
    content: "";
    position: absolute;
    display: block;
    aspect-ratio: 1/1;
    top: 50%;
    left: 50%;
    width: calc(16 / var(--font-size-base) * 1rem);
    -webkit-mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-primary);
    transform: translate(-50%, -50%);
}
.c-button--small {
    padding: calc(12 / var(--font-size-base) * 1rem);
    font-size: var(--font-size-x-small);
}
.c-button--large {
    padding: calc(16 / var(--font-size-base) * 1rem);
}
.c-button--x-large {
    padding: calc(24 / var(--font-size-base) * 1rem);
    font-size: var(--font-size-base);
}
@media screen and (max-width: 767px) {
    .c-button--x-large {
        padding: calc(14 / var(--font-size-base) * 1rem);
        font-size: var(--font-size-small);
    }
}
.c-button--arrow-large {
    padding: calc(16 / var(--font-size-base) * 1rem) calc(16 / var(--font-size-base) * 1rem) calc(16 / var(--font-size-base) * 1rem) calc(32 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-button--arrow-large {
        padding: calc(14 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem) calc(28 / var(--font-size-base) * 1rem);
    }
}
.c-button--arrow-x-large {
    padding: calc(24 / var(--font-size-base) * 1rem) calc(16 / var(--font-size-base) * 1rem) calc(24 / var(--font-size-base) * 1rem) calc(32 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-button--arrow-x-large {
        padding: calc(14 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem) calc(28 / var(--font-size-base) * 1rem);
    }
}
.c-button--center {
    margin-inline: auto;
}
.c-button--w100 {
    width: 100%;
}
@media screen and (max-width: 767px) {
    .c-button--sp-w100 {
        width: 100%;
    }
}
.c-button--arrow-ttb .c-button__arrow::before {
    transform: translate(-50%, -50%) rotate(90deg);
}
@media screen and (max-width: 767px) {
    .c-button--arrow-ttb .c-button__arrow {
        position: absolute;
        top: 50%;
        right: calc(14 / var(--font-size-base) * 1rem);
        transform: translateY(-50%);
    }
}
@media screen and (max-width: 767px) {
    .c-button--arrow-ttb {
        position: relative;
        padding: calc(18 / var(--font-size-base) * 1rem) calc(52 / var(--font-size-base) * 1rem);
    }
}
.c-button--anchor {
    padding: calc(16 / var(--font-size-base) * 1rem) calc(24 / var(--font-size-base) * 1rem) calc(16 / var(--font-size-base) * 1rem) calc(32 / var(--font-size-base) * 1rem);
    width: 100%;
    justify-content: space-between;
}
@media screen and (max-width: 767px) {
    .c-button--anchor {
        position: relative;
        padding: calc(19 / var(--font-size-base) * 1rem) calc(54 / var(--font-size-base) * 1rem);
        justify-content: center;
    }
}
@media screen and (max-width: 767px) {
    .c-button--anchor .c-button__arrow {
        position: absolute;
        top: 50%;
        right: calc(14 / var(--font-size-base) * 1rem);
        transform: translateY(-50%);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-button {
        transition: background-color 0.3s, color 0.3s;
    }
    .c-button .c-button__arrow {
        transition: background-color 0.3s;
    }
    .c-button .c-button__arrow::before {
        transition: background-color 0.3s;
    }
    .c-button:hover {
        background-color: var(--color-white);
        color: var(--color-primary) !important;
    }
    .c-button:hover .c-button__arrow {
        background-color: var(--color-primary);
    }
    .c-button:hover .c-button__arrow::before {
        background-color: var(--color-white);
    }
}
.c-button:disabled {
    pointer-events: none;
    border-color: var(--color-border);
    background-color: var(--color-light-gray);
    color: var(--color-disabled) !important;
}
.c-button:disabled .c-button__arrow {
    border-color: var(--color-border);
    background-color: var(--color-border);
}
.c-button:disabled .c-button__arrow::before {
    background-color: var(--color-white);
}
.c-button--white {
    background-color: var(--color-white);
    color: var(--color-font-base) !important;
    border-color: var(--color-border);
}
.c-button--white .c-button__arrow {
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
}
.c-button--white .c-button__arrow::before {
    background-color: var(--color-white);
}
@media (hover: hover) and (pointer: fine) {
    .c-button--white:hover {
        background-color: var(--color-primary);
        border-color: var(--color-primary);
        color: var(--color-white) !important;
    }
    .c-button--white:hover .c-button__arrow {
        background-color: var(--color-white);
    }
    .c-button--white:hover .c-button__arrow::before {
        background-color: var(--color-primary);
    }
}
.c-button--white-noborder {
    background-color: var(--color-white);
    color: var(--color-primary) !important;
    border-color: transparent;
}
@media (hover: hover) and (pointer: fine) {
    .c-button--white-noborder {
        transition: background-color 0.3s;
    }
    .c-button--white-noborder:hover {
        background-color: var(--color-lightest-gray);
    }
}
.c-button--search {
    font-size: var(--font-size-small);
    padding: calc(14 / var(--font-size-base) * 1rem) calc(36 / var(--font-size-base) * 1rem);
}

/* ---------------------------------------------
*   c-button-icon
--------------------------------------------- */
.c-button-icon {
    padding: calc(12 / var(--font-size-base) * 1rem) calc(18 / var(--font-size-base) * 1rem);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(6 / var(--font-size-base) * 1rem);
    font-size: var(--font-size-x-small);
    font-weight: bold;
    color: var(--color-font-base) !important;
    border-radius: 999px;
    border: 1px solid var(--color-border);
    background-color: var(--color-white);
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .c-button-icon {
        padding: calc(15 / var(--font-size-base) * 1rem);
    }
}
.c-button-icon__icon {
    display: block;
    width: calc(20 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    flex-shrink: 0;
}
.c-button-icon__icon--like {
    background: url(/public/assets/images/common/icon_like.svg) 0 0 no-repeat;
    background-size: 100% auto;
}
.is-active .c-button-icon__icon--like {
    background: url(/public/assets/images/common/icon_like-active.svg) 0 0 no-repeat;
    background-size: 100% auto;
}

.c-button-icon__icon--print {
    background: url(/public/assets/images/common/icon_print.svg) 0 0 no-repeat;
    background-size: 100% auto;
}
@media (hover: hover) and (pointer: fine) {
    .c-button-icon:hover .c-button-icon__icon--like {
        background: url(/public/assets/images/common/icon_like-hover.svg) 0 0 no-repeat;
        background-size: 100% auto;
    }
    .c-button-icon:hover .c-button-icon__icon--print {
        background: url(/public/assets/images/common/icon_print-hover.svg) 0 0 no-repeat;
        background-size: 100% auto;
    }
}
@media screen and (max-width: 767px) {
    .c-button-icon__txt {
        display: none;
    }
}

/*  c-button-icon-wrap
--------------------------------------------- */
.c-button-icon-wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(10 / var(--font-size-base) * 1rem);
}

/*  c-button-list
--------------------------------------------- */
.c-button-list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-rem-small);
}
@media screen and (max-width: 767px) {
    .c-button-list {
        display: block;
    }
}
@media screen and (max-width: 767px) {
    .c-button-list__item + .c-button-list__item {
        margin-top: var(--spacing-rem-small);
    }
}
.c-button-list .c-button {
    flex-shrink: 0;
}

/* ---------------------------------------------
*   c-card
--------------------------------------------- */
.c-card__image {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 395/200;
    border-radius: var(--border-radius);
    border: 1px solid var(--color-border);
    overflow: hidden;
}
.c-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
@media screen and (max-width: 767px) {
    .c-card__image {
        aspect-ratio: 358/200;
    }
}
.c-card__image .c-badge {
    position: absolute;
    z-index: 1;
    right: calc(10 / var(--font-size-base) * 1rem);
    bottom: calc(10 / var(--font-size-base) * 1rem);
}

.c-card__image--wide {
    aspect-ratio: 426/200;
    min-width: 100%;
    max-width: 100%;
}
@media screen and (min-width: 768px) {
    .c-card__image--wide {
        min-width: 400px;
        max-width: 400px;
    }
}

@media screen and (min-width: 768px) {
    .c-card__image--x-wide {
        aspect-ratio: 400/200;
    }
}
.c-card__body {
    margin-top: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-card__body {
        margin-top: var(--spacing-rem-small);
    }
}
.c-card__body__meta {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-rem-small);
}
.c-card__body__date {
    color: var(--color-dark-gray);
    font-family: var(--ff-font-en);
    font-size: var(--font-size-x-small);
    font-weight: bold;
}
.c-card__body__heading {
    display: block;
    font-weight: bold;
    margin-top: var(--spacing-rem-small);
}
.c-card__body__desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: var(--font-size-small);
    margin-top: var(--spacing-rem-small);
    overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
    .c-card .c-card__body__heading {
        transition: color 0.3s;
    }
    .c-card .c-card__image img {
        transition: transform 0.3s;
    }
    .c-card:hover .c-card__body__heading {
        color: var(--color-primary);
    }
    .c-card:hover .c-card__image img {
        transform: scale(1.03);
    }
}

/*  c-card-list
--------------------------------------------- */
.c-card-list {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: var(--spacing-rem-x-large);
    column-gap: var(--spacing-rem-x-large);
    -moz-row-gap: var(--spacing-rem-x-large);
    row-gap: var(--spacing-rem-x-large);
}
@media screen and (max-width: 900px) {
    .c-card-list {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 767px) {
    .c-card-list {
        grid-template-columns: repeat(1, 1fr);
        -moz-column-gap: calc(var(--spacing-rem) * 3);
        column-gap: calc(var(--spacing-rem) * 3);
        -moz-row-gap: calc(var(--spacing-rem) * 3);
        row-gap: calc(var(--spacing-rem) * 3);
        margin-top: calc(var(--spacing-rem) * 2.5);
    }
}
.c-card-list--4col {
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: calc(var(--spacing-rem) * 4);
    column-gap: calc(var(--spacing-rem) * 4);
    -moz-row-gap: calc(var(--spacing-rem) * 4);
    row-gap: calc(var(--spacing-rem) * 4);
}
@media screen and (max-width: 900px) {
    .c-card-list--4col {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 767px) {
    .c-card-list--4col {
        -moz-column-gap: var(--spacing-rem-large);
        column-gap: var(--spacing-rem-large);
        -moz-row-gap: var(--spacing-rem-large);
        row-gap: var(--spacing-rem-large);
    }
}
.c-card-list--narrow {
    -moz-column-gap: var(--spacing-rem-large);
    column-gap: var(--spacing-rem-large);
    -moz-row-gap: var(--spacing-rem-large);
    row-gap: var(--spacing-rem-large);
}
.c-card-list--2col {
    grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
    .c-card-list--2col {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* ---------------------------------------------
*   c-bgImageCard
--------------------------------------------- */
.c-bgImageCard {
    position: relative;
    display: block;
    color: var(--color-white);
}
.c-bgImageCard__image {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 400/300;
    border-radius: var(--border-radius);
    overflow: hidden;
}
.c-bgImageCard__image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
@media screen and (max-width: 767px) {
    .c-bgImageCard__image {
        aspect-ratio: 358/200;
    }
}
.c-bgImageCard__image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #000;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.7) 100%);
}
@media screen and (max-width: 767px) {
    .c-bgImageCard__image::before {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.7) 100%);
    }
}
.c-bgImageCard__body {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: var(--spacing-rem-x-large);
}
@media screen and (max-width: 767px) {
    .c-bgImageCard__body {
        padding: var(--spacing-rem-large);
    }
}
.c-bgImageCard__body__heading {
    position: relative;
    padding-right: calc(var(--spacing-rem) * 3);
    display: block;
    font-size: var(--font-size-lead);
    font-weight: bold;
}
.c-bgImageCard__body__heading::before, .c-bgImageCard__body__heading::after {
    content: "";
    position: absolute;
    top: 50%;
    display: block;
    aspect-ratio: 1/1;
    transform: translateY(-50%);
}
.c-bgImageCard__body__heading::before {
    right: 0;
    width: var(--spacing-rem-x-large);
    border-radius: 50%;
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
}
.c-bgImageCard__body__heading::after {
    right: calc(8 / var(--font-size-base) * 1rem);
    width: var(--spacing-rem);
    -webkit-mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-white);
}
.c-bgImageCard__body__desc {
    font-size: var(--font-size-small);
    font-weight: 300;
    margin-top: var(--spacing-rem);
}
@media (hover: hover) and (pointer: fine) {
    .c-bgImageCard .c-bgImageCard__body__heading::before, .c-bgImageCard .c-bgImageCard__body__heading::after {
        transition: background-color 0.3s;
    }
    .c-bgImageCard .c-bgImageCard__image img {
        transition: transform 0.3s;
    }
    .c-bgImageCard:hover .c-bgImageCard__body__heading::before {
        background-color: var(--color-white);
    }
    .c-bgImageCard:hover .c-bgImageCard__body__heading::after {
        background-color: var(--color-primary);
    }
    .c-bgImageCard:hover .c-bgImageCard__image img {
        transform: scale(1.03);
    }
}

/* ---------------------------------------------
*   c-docsCard
--------------------------------------------- */
.c-docsCard__image {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 288/408;
    overflow: hidden;
}
.c-docsCard__image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
@media screen and (max-width: 767px) {
    .c-docsCard__image {
        width: calc(141 / 358 * 100%);
        margin-inline: auto;
    }
}
.c-docsCard__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: var(--spacing-rem);
}
.c-docsCard__head__heading {
    font-size: var(--font-size-lead);
    font-weight: bold;
}
.c-docsCard__head__date {
    color: var(--color-dark-gray);
    font-size: var(--font-size-x-small);
}
.c-docsCard__body {
    margin-top: var(--spacing-rem-small);
}
@media screen and (max-width: 767px) {
    .c-docsCard__body {
        margin-top: var(--spacing-rem-small);
    }
}
.c-docsCard__body__desc {
    font-size: var(--font-size-small);
}
.c-docsCard__foot {
    margin-top: var(--spacing-rem);
}

/*  c-docsCard-list
--------------------------------------------- */
.c-docsCard-list {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: var(--spacing-rem-x-large);
    column-gap: var(--spacing-rem-x-large);
    -moz-row-gap: calc(var(--spacing-rem) * 3);
    row-gap: calc(var(--spacing-rem) * 3);
}
@media screen and (max-width: 900px) {
    .c-docsCard-list {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 767px) {
    .c-docsCard-list {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* ---------------------------------------------
*   c-cassette
--------------------------------------------- */
/* ---------------------------------------------
*   c-chat
--------------------------------------------- */
.c-chat {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    gap: var(--spacing-rem);
    padding-right: var(--spacing-rem-x-large);
}
@media screen and (max-width: 767px) {
    .c-chat {
        padding: 0;
        gap: var(--spacing-rem-small);
    }
}
.c-chat__avatar {
    flex-shrink: 0;
    display: block;
    width: calc(60 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    border-radius: 50%;
    overflow: hidden;
}
.c-chat__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
@media screen and (max-width: 767px) {
    .c-chat__avatar {
        width: calc(30 / var(--font-size-base) * 1rem);
    }
}
.c-chat__message {
    width: 100%;
}
.c-chat__message__head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-rem);
    font-size: var(--font-size-x-small);
}
.c-chat__message__head-strong {
    font-weight: bold;
}
.c-chat__message__head-date {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.8rem;
    color: var(--color-dark-gray);
}
.c-chat__message__body {
    padding: calc(21 / var(--font-size-base) * 1rem);
    margin-top: calc(7 / var(--font-size-base) * 1rem);
    border-radius: var(--border-radius);
    border: 1px solid var(--color-border);
    background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
    .c-chat__message__body {
        padding: calc(14 / var(--font-size-base) * 1rem);
        margin-top: calc(4 / var(--font-size-base) * 1rem);
    }
}
.c-chat__message__body .c-link {
    display: block;
    margin-top: calc(7 / var(--font-size-base) * 1rem);
}
.c-chat__message__body-txt {
    font-size: var(--font-size-small);
    white-space: pre-line;
}
.c-chat--user {
    padding-left: var(--spacing-rem-x-large);
    padding-right: 0;
    flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
    .c-chat--user {
        padding: 0;
    }
}
.c-chat--user .c-chat__message__head {
    justify-content: flex-end;
}
.c-chat--user .c-chat__message__body {
    background-color: var(--color-gray);
}

/*  c-chat-list
--------------------------------------------- */
.c-chat-list {
    padding: 2rem 2rem 4rem;
}
@media screen and (max-width: 767px) {
    .c-chat-list {
        padding: 0 0.5rem 2rem;
    }
}
.c-chat-list__item {
    margin-top: var(--spacing-rem-x-large);
}
@media screen and (max-width: 767px) {
    .c-chat-list__item {
        margin-top: var(--spacing-rem);
    }
}
.c-chat-list__item:first-of-type {
    margin-top: 0;
}

/* ---------------------------------------------
*   c-figure
--------------------------------------------- */
/* ---------------------------------------------
*   c-form
--------------------------------------------- */
.c-form .FormGroup {
    margin-top: var(--spacing-rem-x-large);
}
.c-form .FormGroup:first-of-type {
    margin-top: 0;
}
.c-form__group {
    margin-top: var(--spacing-rem-x-large);
}
.c-form__fieldset {
    padding-block: calc(var(--spacing-rem) * 3) calc(var(--spacing-rem) * 4);
    border-bottom: 1px solid var(--color-border);
}
@media screen and (max-width: 767px) {
    .c-form__fieldset {
        padding-block: calc(var(--spacing-rem) * 3);
    }
}
.c-form__fieldset:first-of-type {
    padding-top: 0;
}
.c-form__fieldset:last-of-type {
    border-bottom: none;
}
.c-form__message {
    position: relative;
    display: block;
    padding-left: calc(26 / var(--font-size-base) * 1rem);
    color: var(--color-error);
    font-size: var(--font-size-x-small);
    margin-top: calc(6 / var(--font-size-base) * 1rem);
}
.c-form__message::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: calc(20 / var(--font-size-base) * 1rem);
    aspect-ratio: 20/17;
    background: url(/public/assets/images/common/icon_error.svg) 0 0 no-repeat;
    background-size: 100% auto;
    transform: translateY(-50%);
}
.c-form__success {
    position: relative;
    display: block;
    padding-left: calc(22 / var(--font-size-base) * 1rem);
    color: var(--color-success);
    font-size: var(--font-size-x-small);
    margin-top: calc(7 / var(--font-size-base) * 1rem);
}
.c-form__success::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: calc(16 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    background: url(/public/assets/images/common/icon_success.svg) 0 0 no-repeat;
    background-size: 100% auto;
    transform: translateY(-50%);
}
.c-form__label {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(14 / var(--font-size-base) * 1rem);
    font-size: var(--font-size-small);
    font-weight: bold;
    margin-block: 0 calc(7 / var(--font-size-base) * 1rem);
}
.c-form__mail {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-form__mail {
        display: block;
    }
    .c-form__mail .c-button {
        margin-top: var(--spacing-rem-small);
    }
}
.c-form__code {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-form__code {
        align-items: stretch;
    }
    .c-form__code .c-form-input {
        width: calc(174 / var(--font-size-base) * 1rem);
        flex-shrink: 0;
    }
}
.c-form__legend-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(11 / var(--font-size-base) * 1rem);
}
.c-form__legend {
    font-size: var(--font-size-lead);
    font-weight: bold;
}
.c-form__shitenname {
    display: flex;
    gap: var(--spacing-rem);
}
.c-form__shitenname-item {
    width: 100%;
}
.c-form__shitenname-item:first-of-type {
    width: calc(100 / var(--font-size-base) * 1rem);
    flex-shrink: 0;
}
.c-form__shitenname-term {
    display: block;
    font-size: var(--font-size-x-small);
    margin-block: 0 calc(7 / var(--font-size-base) * 1rem);
}
.c-form__attachedFile-list {
    margin-top: var(--spacing-rem);
}
.c-form__attachedFile-list-item {
    padding: calc(10 / var(--font-size-base) * 1rem) 0 calc(10 / var(--font-size-base) * 1rem) calc(12 / var(--font-size-base) * 1rem);
    display: flex;
    justify-content: space-between;
    margin-top: var(--spacing-rem-small);
    border-radius: var(--border-radius);
    border: 1px solid var(--color-border);
}
.c-form__attachedFile-names {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: calc(12 / var(--font-size-base) * 1rem);
}
.c-form__attachedFile-icon {
    position: relative;
    flex-shrink: 0;
    width: var(--spacing-rem-x-large);
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: var(--color-lightest-gray);
}
.c-form__attachedFile-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: var(--spacing-rem);
    aspect-ratio: 1/1;
    background: url(/public/assets/images/common/icon_file.svg) 0 0 no-repeat;
    background-size: 100% auto;
    transform: translate(-50%, -50%);
}
.c-form__attachedFile-name {
    color: var(--color-dark-gray);
    font-size: var(--font-size-small);
}
.c-form__attachedFile-delite {
    flex-shrink: 0;
    display: block;
    width: calc(var(--spacing-rem) * 3);
    -webkit-mask: url(/public/assets/images/common/icon_trash.svg) center center no-repeat;
            mask: url(/public/assets/images/common/icon_trash.svg) center center no-repeat;
    -webkit-mask-size: var(--spacing-rem) var(--spacing-rem);
            mask-size: var(--spacing-rem) var(--spacing-rem);
    background-color: var(--color-disabled);
}
@media (hover: hover) and (pointer: fine) {
    .c-form__attachedFile-delite {
        transition: background-color 0.3s;
    }
    .c-form__attachedFile-delite:hover {
        background-color: var(--color-dark-gray);
    }
}
.c-form__check-txt {
    padding-block: var(--spacing-rem-small);
    font-size: var(--font-size-base);
}
.c-form__ttl {
    display: block;
    font-size: var(--font-size-h3);
    font-weight: bold;
    margin-block: 0 var(48);
    padding-block: 0 var(--spacing-rem-large);
    border-bottom: 1px solid var(--color-border);
}

/* ---------------------------------------------
*   c-form-input
--------------------------------------------- */
.c-form-input {
    padding: var(--spacing-rem);
    border-radius: var(--border-radius-small);
    border: 1px solid var(--color-border);
    background-color: var(--color-white);
    font-size: var(--font-size-base);
    line-height: 1.2;
    width: 100%;
}
.c-form-input::-moz-placeholder {
    color: var(--color-disabled);
}
.c-form-input::placeholder {
    color: var(--color-disabled);
}
.c-form-input:disabled {
    pointer-events: none;
    color: var(--color-dark-gray);
    background-color: var(--color-light-gray);
}
.c-form-input:disabled::-moz-placeholder {
    color: var(--color-dark-gray);
}
.c-form-input:disabled::placeholder {
    color: var(--color-dark-gray);
}
.c-form-input.is-error {
    border-color: var(--color-error) !important;
    background-color: rgba(var(--color-error-background-rgb), 0.15) !important;
}
.c-form-input--textarea {
    min-height: calc(150 / var(--font-size-base) * 1rem);
}

/* ---------------------------------------------
*   c-form-password
--------------------------------------------- */
.c-form-password {
    position: relative;
}
.c-form-password__eye {
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 0;
    display: block;
    width: calc(52 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    background: url(/public/assets/images/common/icon_eye-close.svg) center center no-repeat;
    background-size: calc(20 / var(--font-size-base) * 1rem) calc(20 / var(--font-size-base) * 1rem);
    transform: translateY(-50%);
}
@media (hover: hover) and (pointer: fine) {
    .c-form-password__eye {
        transition: opacity var(--transition-seconds);
    }
    .c-form-password__eye:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-form-password__eye.is-active {
    background: url(/public/assets/images/common/icon_eye.svg) center center no-repeat;
    background-size: calc(20 / var(--font-size-base) * 1rem) calc(20 / var(--font-size-base) * 1rem);
}
.c-form-password .c-form-input {
    padding: var(--spacing-rem) calc(52 / var(--font-size-base) * 1rem) var(--spacing-rem) var(--spacing-rem);
}

/* ---------------------------------------------
*   c-radio
--------------------------------------------- */
.c-radio {
    position: relative;
    display: block;
    cursor: pointer;
    width: -moz-fit-content;
    width: fit-content;
}
@media (hover: hover) and (pointer: fine) {
    .c-radio {
        transition: opacity var(--transition-seconds);
    }
    .c-radio:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-radio__input {
    position: absolute;
    pointer-events: none;
    opacity: 0;
}
.c-radio__txt {
    position: relative;
    display: inline-block;
    padding: var(--spacing-rem-small) calc(70 / var(--font-size-base) * 1rem) var(--spacing-rem-small) var(--spacing-rem-large);
    font-size: var(--font-size-base);
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
@media screen and (max-width: 767px) {
    .c-radio__txt {
        padding: var(--spacing-rem-small) 0 var(--spacing-rem-small) var(--spacing-rem-large);
    }
}
.c-radio__txt::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    box-sizing: border-box;
    display: inline-block;
    width: var(--spacing-rem);
    aspect-ratio: 1/1;
    border: 1px solid var(--color-border);
    background-color: var(--color-white);
    border-radius: 50%;
    transform: translateY(-50%);
    transition: border-color 0.3s;
}
.c-radio__txt::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(4 / var(--font-size-base) * 1rem);
    box-sizing: border-box;
    display: inline-block;
    width: var(--spacing-rem-small);
    aspect-ratio: 1/1;
    border-radius: 50%;
    transform: translateY(-50%);
    transition: opacity 0.3s;
    background-color: var(--color-primary);
    opacity: 0;
}
.c-radio__input:checked + .c-radio__txt::before {
    border-color: var(--color-primary);
}
.c-radio__input:checked + .c-radio__txt::after {
    opacity: 1;
}
.c-radio__input:disabled + .c-radio__txt {
    pointer-events: none;
}
.c-radio__input:disabled + .c-radio__txt::before {
    background-color: var(--color-light-gray);
}
.c-radio.is-error {
    background-color: rgba(var(--color-error-background-rgb), 0.15) !important;
}

/* ---------------------------------------------
*   c-check
--------------------------------------------- */
.c-check {
    position: relative;
    display: block;
    cursor: pointer;
    width: -moz-fit-content;
    width: fit-content;
}
@media (hover: hover) and (pointer: fine) {
    .c-check {
        transition: opacity var(--transition-seconds);
    }
    .c-check:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-check__input {
    position: absolute;
    pointer-events: none;
    opacity: 0;
}
.c-check__txt {
    position: relative;
    display: inline-block;
    padding: var(--spacing-rem-small) calc(70 / var(--font-size-base) * 1rem) var(--spacing-rem-small) var(--spacing-rem-large);
    font-size: var(--font-size-base);
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
@media screen and (max-width: 767px) {
    .c-check__txt {
        padding: var(--spacing-rem-small) 0 var(--spacing-rem-small) var(--spacing-rem-large);
    }
}
.c-check__txt::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    box-sizing: border-box;
    display: inline-block;
    width: var(--spacing-rem);
    aspect-ratio: 1/1;
    border: 1px solid var(--color-border);
    background-color: var(--color-white);
    border-radius: calc(4 / var(--font-size-base) * 1rem);
    transform: translateY(-50%);
    transition: background-color 0.3s;
}
.c-check__txt::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(4 / var(--font-size-base) * 1rem);
    box-sizing: border-box;
    display: inline-block;
    width: calc(8 / var(--font-size-base) * 1rem);
    aspect-ratio: 10/8;
    background: url(/public/assets/images/common/icon_check-1.svg) 0 0 no-repeat;
    background-size: 100% auto;
    transform: translateY(-50%);
    transition: opacity 0.3s;
    opacity: 0;
}
.c-check__input:checked + .c-check__txt::before {
    background-color: var(--color-primary);
}
.c-check__input:checked + .c-check__txt::after {
    opacity: 1;
}
.c-check__input:disabled + .c-check__txt {
    pointer-events: none;
}
.c-check__input:disabled + .c-check__txt::before {
    background-color: var(--color-light-gray);
}
.c-check.is-error {
    background-color: rgba(var(--color-error-background-rgb), 0.15) !important;
}

/* ---------------------------------------------
*   c-form-filearea
--------------------------------------------- */
.c-form-filearea {
    position: relative;
    width: 100%;
    aspect-ratio: 500/194;
    border-radius: var(--border-radius);
    transition: transform 0.3s;
    border: 1px dashed var(--color-dark-gray);
}
@media screen and (max-width: 767px) {
    .c-form-filearea {
        aspect-ratio: 310/194;
    }
}
.c-form-filearea__label {
    padding: var(--spacing-rem-x-large);
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
    .c-form-filearea__label {
        padding: calc(20 / var(--font-size-base) * 1rem);
    }
}
.c-form-filearea__img {
    display: block;
    width: var(--spacing-rem-large);
    margin-bottom: var(--spacing-rem);
    overflow: hidden;
}
.c-form-filearea__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.c-form-filearea__txts {
    display: block;
    font-size: var(--font-size-small);
    line-height: 1.2;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-form-filearea__txts {
        text-align: left;
    }
}
.c-form-filearea__small {
    display: block;
    font-size: var(--font-size-x-small);
    margin-block: var(--spacing-rem-small);
    line-height: 1.2;
}
@media screen and (max-width: 767px) {
    .c-form-filearea__small {
        text-align: center;
    }
}
.c-form-filearea input {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    cursor: pointer;
    opacity: 0;
}
.c-form-filearea.is-error {
    border-color: var(--color-error) !important;
    background-color: rgba(var(--color-error-background-rgb), 0.15) !important;
}

/* ---------------------------------------------
*   c-form-thanks
--------------------------------------------- */
.c-form-thanks h3 {
    font-size: var(--font-size-h3);
    font-weight: bold;
}
.c-form-thanks .c-button {
    margin-top: calc(var(--spacing-rem) * 4);
}
@media screen and (max-width: 767px) {
    .c-form-thanks .c-button {
        margin-top: calc(var(--spacing-rem) * 3);
    }
}

/* ---------------------------------------------
*   c-form-file
--------------------------------------------- */
.c-form-file {
    position: relative;
    padding: var(--spacing-rem) var(--spacing-rem) var(--spacing-rem) calc(40 / var(--font-size-base) * 1rem);
    display: inline-block;
    border: 1px solid var(--color-font-base);
    border-radius: var(--border-radius-small);
    font-size: var(--font-size-base);
    color: var(--color-font-base);
    line-height: 1.2;
    background-color: var(--color-white);
}
.c-form-file::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(16 / var(--font-size-base) * 1rem);
    display: block;
    width: calc(16 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    -webkit-mask: url(/public/assets/images/common/icon_file.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_file.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    transform: translateY(-50%);
    background-color: var(--color-font-base);
}
.c-form-file input[type=file] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 1;
}
.c-form-file.is-disabled {
    border-color: var(--color-border);
    background-color: var(--color-light-gray);
    color: var(--color-disabled);
}
.c-form-file.is-disabled input {
    cursor: not-allowed;
}
.c-form-file.is-error {
    border-color: var(--color-error);
    background-color: rgba(var(--color-error-background-rgb), 0.15);
    color: var(--color-font-base);
}

/*  c-form-file-wrap
--------------------------------------------- */
.c-form-file-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem var(--spacing-rem-x-large);
    margin-top: var(--spacing-rem);
}
.c-form-file-wrap__name {
    display: inline-block;
    color: var(--color-dark-gray);
    font-size: var(--font-size-base);
    line-height: 1.2;
}
.c-form-file-wrap__trash {
    display: block;
    width: calc(48 / var(--font-size-base) * 1rem);
    aspect-ratio: 48/51;
    -webkit-mask: url(/public/assets/images/common/icon_trash.svg) center center no-repeat;
            mask: url(/public/assets/images/common/icon_trash.svg) center center no-repeat;
    -webkit-mask-size: var(--spacing-rem) var(--spacing-rem);
            mask-size: var(--spacing-rem) var(--spacing-rem);
    background-color: var(--color-disabled);
}
@media (hover: hover) and (pointer: fine) {
    .c-form-file-wrap__trash {
        transition: background-color 0.3s;
    }
    .c-form-file-wrap__trash:hover {
        background-color: var(--color-dark-gray);
    }
}

/* ---------------------------------------------
*   c-form-message
--------------------------------------------- */
.c-form-message {
    padding-inline: 2rem;
}
@media screen and (max-width: 767px) {
    .c-form-message {
        padding-inline: 0.5rem;
    }
}
.c-form-message__container {
    border-top: 1px solid var(--color-border);
    padding-block: calc(64 / var(--font-size-base) * 1rem) calc(32 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-form-message__container {
        padding-block: calc(32 / var(--font-size-base) * 1rem) 0;
    }
}
.c-form-message__ttl {
    display: block;
    font-size: var(--font-size-h3);
    font-weight: bold;
    margin-block: 0 var(--spacing-rem-x-large);
}

/* ---------------------------------------------
*   c-searchForm
--------------------------------------------- */
.c-searchForm {
    padding: var(--spacing-rem-x-large);
    border-radius: var(--border-radius);
    background-color: var(--color-light-gray);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-searchForm {
        padding: var(--spacing-rem-x-large) var(--spacing-rem-large);
        display: block;
    }
}
.c-searchForm__fillter {
    position: relative;
    width: 286px;
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .c-searchForm__fillter {
        width: 100%;
    }
}
.c-searchForm__fillter::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%);
    display: block;
    width: calc(16 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    -webkit-mask: url(/public/assets/images/common/icon_arrow.svg) center center no-repeat;
            mask: url(/public/assets/images/common/icon_arrow.svg) center center no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-font-base);
}
.c-searchForm__select {
    width: 100%;
    height: calc(65 / var(--font-size-base) * 1rem);
    background-color: var(--color-white);
    border-radius: 999px;
    border: 1px solid var(--color-border);
    box-sizing: border-box;
    padding: calc(10 / var(--font-size-base) * 1rem) calc(32 / var(--font-size-base) * 1rem);
    color: var(--color-font-base);
    line-height: 1.2;
    font-size: var(--font-size-base);
}
@media screen and (max-width: 767px) {
    .c-searchForm__select {
        height: calc(51 / var(--font-size-base) * 1rem);
    }
}

/*
--------------------------------------------- */
/*  c-searchForm-box
--------------------------------------------- */
.c-searchForm-box {
    position: relative;
    width: 100%;
    height: calc(65 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-searchForm-box {
        height: calc(50 / var(--font-size-base) * 1rem);
        margin-top: var(--spacing-rem);
    }
}
.c-searchForm-box::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(32 / var(--font-size-base) * 1rem);
    display: block;
    width: calc(24 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    -webkit-mask: url(/public/assets/images/common/icon_search.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_search.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    transform: translateY(-50%);
    background-color: var(--color-font-base);
}
@media screen and (max-width: 767px) {
    .c-searchForm-box::before {
        left: calc(24 / var(--font-size-base) * 1rem);
        width: calc(16 / var(--font-size-base) * 1rem);
        background-color: var(--color-primary);
    }
}
.c-searchForm-box__input {
    padding: calc(8 / var(--font-size-base) * 1rem) calc(120 / var(--font-size-base) * 1rem) calc(8 / var(--font-size-base) * 1rem) calc(72 / var(--font-size-base) * 1rem);
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
    border-radius: 999px;
    border: 1px solid var(--color-border);
    box-sizing: border-box;
    color: var(--color-font-base);
    line-height: 1.2;
    font-size: var(--font-size-base);
}
@media screen and (max-width: 767px) {
    .c-searchForm-box__input {
        padding: calc(13 / var(--font-size-base) * 1rem) calc(16 / var(--font-size-base) * 1rem) calc(13 / var(--font-size-base) * 1rem) calc(48 / var(--font-size-base) * 1rem);
    }
}
.c-searchForm-box__input:placeholder {
    color: #999999;
}
.c-searchForm-box__submit-btn {
    position: absolute;
    top: 50%;
    right: calc(7 / var(--font-size-base) * 1rem);
    transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
    .c-searchForm-box__submit-btn {
        display: none;
    }
}
.c-searchForm-box.pc-under {
    height: calc(51 / var(--font-size-base) * 1rem);
}
.c-searchForm-box.pc-under .c-searchForm-box__input {
    padding: calc(8 / var(--font-size-base) * 1rem) calc(24 / var(--font-size-base) * 1rem) calc(8 / var(--font-size-base) * 1rem) calc(44 / var(--font-size-base) * 1rem);
    font-size: calc(14 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 1024px) {
    .c-searchForm-box.pc-under .c-searchForm-box__submit-btn {
        display: none;
    }
}
@media screen and (max-width: 1024px) {
    .c-searchForm-box.pc-under::before {
        left: calc(24 / var(--font-size-base) * 1rem);
        width: calc(16 / var(--font-size-base) * 1rem);
        background-color: var(--color-primary);
    }
}

/* ---------------------------------------------
*   c-form-select
--------------------------------------------- */
.c-form-select {
    position: relative;
    width: 286px;
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .c-form-select {
        width: 100%;
        margin-block: 0 var(--spacing-rem);
    }
}
.c-form-select::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%);
    display: block;
    width: calc(16 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    -webkit-mask: url(/public/assets/images/common/icon_arrow.svg) center center no-repeat;
            mask: url(/public/assets/images/common/icon_arrow.svg) center center no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-font-base);
}
.c-form-select__select {
    width: 100%;
    height: calc(65 / var(--font-size-base) * 1rem);
    background-color: var(--color-white);
    border-radius: 999px;
    border: 1px solid var(--color-border);
    box-sizing: border-box;
    padding: calc(10 / var(--font-size-base) * 1rem) calc(32 / var(--font-size-base) * 1rem);
    color: var(--color-font-base);
    line-height: 1.2;
    font-size: var(--font-size-base);
}
@media screen and (max-width: 767px) {
    .c-form-select__select {
        height: calc(51 / var(--font-size-base) * 1rem);
        background-color: var(--color-lightest-gray);
    }
}
.c-form-select--w100 {
    width: 100%;
}
.c-form-select--w100::after {
    right: 1rem;
}
.c-form-select--w100 .c-form-select__select {
    padding: calc(10 / var(--font-size-base) * 1rem) calc(40 / var(--font-size-base) * 1rem) calc(10 / var(--font-size-base) * 1rem) calc(16 / var(--font-size-base) * 1rem);
    border-radius: var(--border-radius-small);
    height: calc(51 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-form-select--w100 .c-form-select__select {
        height: calc(70 / var(--font-size-base) * 1rem);
        background-color: var(--color-white);
    }
}

/* ---------------------------------------------
*   c-circleImageText
--------------------------------------------- */
.c-circleImageText__image {
    display: block;
    border-radius: 50%;
    width: 100%;
    overflow: hidden;
}
.c-circleImageText__image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.c-circleImageText__body {
    margin-top: var(--spacing-rem-x-large);
    text-align: center;
}
.c-circleImageText__body__title {
    display: block;
    font-size: var(--font-size-base);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-circleImageText__body__title {
        font-size: var(--font-size-x-small);
    }
}
.c-circleImageText__body__desc {
    display: block;
    font-size: var(--font-size-small);
    margin-top: var(--spacing-rem-small);
}
@media screen and (max-width: 767px) {
    .c-circleImageText__body__desc {
        font-size: var(--font-size-x-small);
        margin-top: calc(6 / var(--font-size-base) * 1rem);
    }
}

/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
.c-kv {
    position: relative;
    width: 100%;
    height: 400px;
}
@media screen and (max-width: 767px) {
    .c-kv {
        height: calc(200 / var(--font-size-base) * 1rem);
    }
}
.c-kv__img {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.c-kv__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.c-kv__inner {
    padding: calc(48 / var(--font-size-base) * 1rem) calc(64 / var(--font-size-base) * 1rem);
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    border-radius: var(--border-radius);
    background-color: rgba(var(--color-white-rgb), 0.8);
    transform: translate(-50%, -50%);
    white-space: nowrap;
}
@media screen and (max-width: 767px) {
    .c-kv__inner {
        padding: calc(32 / var(--font-size-base) * 1rem);
    }
}
.c-kv__subHeading {
    position: relative;
    padding-left: calc(15 / var(--font-size-base) * 1rem);
    display: block;
    color: var(--color-primary);
    font-family: var(--ff-font-en);
    font-size: var(--font-size-small);
    font-weight: bold;
    margin-block: 0 var(--spacing-rem-small);
}
@media screen and (max-width: 767px) {
    .c-kv__subHeading {
        padding-left: calc(12 / var(--font-size-base) * 1rem);
        font-size: var(--font-size-xx-small-sp);
    }
}
.c-kv__subHeading::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: var(--spacing-rem-small);
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: var(--color-primary);
    transform: translateY(-50%);
}
.c-kv__ttl {
    font-size: calc(40 / var(--font-size-base) * 1rem);
    font-weight: bold;
    line-height: 1.35;
}
@media screen and (max-width: 767px) {
    .c-kv__ttl {
        font-size: calc(28 / var(--font-size-base) * 1rem);
    }
}

/* ---------------------------------------------
*   c-link
--------------------------------------------- */
.c-link {
    display: inline;
    width: -moz-fit-content;
    width: fit-content;
    word-break: break-all;
    font-size: var(--font-size-base);
    line-height: 2;
    margin-top: var(--spacing-rem-small);
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .c-link:hover {
        text-decoration: none;
    }
}
@media screen and (max-width: 767px) {
    .c-link {
        font-size: var(--font-size-small);
    }
}
.c-link__txt {
    display: inline;
}
.c-link__icon {
    display: inline-block;
    width: calc(23 / var(--font-size-base) * 1rem);
    margin-left: calc(8 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-link__icon {
        transform: translateY(calc(-1 / var(--font-size-base) * 1rem));
    }
}
.c-link__icon img {
    vertical-align: middle;
}
.c-link--small {
    font-size: var(--font-size-small);
    line-height: 1.5;
}
.c-link--nolink {
    pointer-events: none;
}

/*  c-link-wrap
--------------------------------------------- */
.c-link-wrap > li {
    margin-block: calc(7 / var(--font-size-base) * 1rem);
}

/* ---------------------------------------------
*   c-link-1
--------------------------------------------- */
.c-link-1 {
    padding: calc(19 / var(--font-size-base) * 1rem) calc(7 / var(--font-size-base) * 1rem);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-rem);
    max-width: calc(268 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-link-1 {
        max-width: none;
    }
}
.c-link-1.is-current {
    color: var(--color-primary);
    font-weight: bold;
}
.c-link-1__txt {
    font-size: var(--font-size-small);
    font-weight: bold;
}
.c-link-1__arrow {
    position: relative;
    display: block;
    width: var(--spacing-rem-x-large);
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
    flex-shrink: 0;
}
.c-link-1__arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: var(--spacing-rem);
    aspect-ratio: 1/1;
    -webkit-mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-white);
    transform: translate(-50%, -50%);
}
@media (hover: hover) and (pointer: fine) {
    .c-link-1 {
        transition: color 0.3s;
    }
    .c-link-1:hover {
        color: var(--color-primary);
    }
}

/* ---------------------------------------------
*   c-link-2
--------------------------------------------- */
.c-link-2 {
    padding: calc(14 / var(--font-size-base) * 1rem) calc(7 / var(--font-size-base) * 1rem);
    display: block;
    font-size: var(--font-size-small);
}
@media (hover: hover) and (pointer: fine) {
    .c-link-2 {
        transition: color 0.3s;
    }
    .c-link-2:hover {
        color: var(--color-primary);
    }
}
.c-link-2.is-current {
    color: var(--color-primary);
    font-weight: bold;
}

/* ---------------------------------------------
*   c-news-list
--------------------------------------------- */
.c-news-list__item {
    border-bottom: 1px solid var(--color-border);
}

/*  c-news
--------------------------------------------- */
.c-news {
    padding: var(--spacing-rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-news {
        padding: var(--spacing-rem) var(--spacing-rem-small);
    }
}
.c-news__head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-news__head {
        gap: var(--spacing-rem-small);
    }
}
.c-news__date {
    font-family: var(--ff-font-en);
    font-size: var(--font-size-small);
    color: var(--color-dark-gray);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-news__date {
        font-size: var(--font-size-x-small);
        width: calc(70 / var(--font-size-base) * 1rem);
    }
}
@media screen and (max-width: 767px) {
    .c-news__date--nowidth {
        width: auto;
    }
}
.c-news__title {
    position: relative;
    margin-top: var(--spacing-rem-small);
}
.c-news .c-linkIcon {
    position: relative;
    display: block;
    aspect-ratio: 1/1;
    width: calc(32 / var(--font-size-base) * 1rem);
    border-radius: 50%;
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .c-news .c-linkIcon {
        display: none;
    }
}
.c-news .c-linkIcon::before {
    content: "";
    position: absolute;
    display: block;
    aspect-ratio: 1/1;
    top: 50%;
    left: 50%;
    width: calc(16 / var(--font-size-base) * 1rem);
    -webkit-mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-white);
    transform: translate(-50%, -50%);
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 767px) {
    .c-news {
        transition: background-color 0.3s;
    }
}
@media screen and (hover: hover) and (pointer: fine) and (min-width: 768px) {
    .c-news:hover .c-news__title {
        text-decoration: underline;
    }
    .c-news:hover .c-linkIcon {
        background-color: var(--color-white);
    }
    .c-news:hover .c-linkIcon::before {
        background-color: var(--color-primary);
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 767px) {
    .c-news:hover {
        background-color: var(--color-lightest-gray);
    }
}

/* ---------------------------------------------
*   c-list-group
--------------------------------------------- */
.c-list-group__item {
    margin-top: var(--spacing-rem);
}

/*  c-list
--------------------------------------------- */
.c-list {
    padding: var(--spacing-rem);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-rem);
    background-color: var(--color-white);
    border-radius: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-list {
        display: block;
    }
}
.c-list__heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-rem);
}
.c-list__txts {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-list__txts {
        justify-content: flex-start;
        gap: var(--spacing-rem-small);
        margin-top: var(--spacing-rem-small);
    }
}
.c-list__txt {
    font-size: var(--font-size-base);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-list__txt {
        font-size: var(--font-size-small);
    }
}
.c-list__numberBadge {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(20 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    background-color: var(--color-error);
    border-radius: 50%;
    color: var(--color-white);
    font-family: var(--ff-font-en);
    font-size: calc(10 / var(--font-size-base) * 1rem);
    font-weight: bold;
    line-height: 1;
}
.c-list__note {
    color: var(--color-dark-gray);
    font-size: var(--font-size-x-small);
    flex-shrink: 0;
}

/* ---------------------------------------------
*   c-media-list
--------------------------------------------- */
.c-media-list__item:last-of-type {
    border-bottom: 1px solid var(--color-border);
}

/*  c-media
--------------------------------------------- */
.c-media {
    border-top: calc(1 / var(--font-size-base) * 1rem) solid var(--color-border);
    padding-block: var(--spacing-rem-x-large);
}
@media screen and (max-width: 767px) {
    .c-media {
        padding-block: var(--spacing-rem);
    }
}
.c-media__link {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--spacing-rem-x-large);
}
@media (hover: hover) and (pointer: fine) {
    .c-media__link .c-media__image img {
        transition: transform 0.3s;
    }
    .c-media__link:hover .c-media__ttl {
        text-decoration: underline;
    }
    .c-media__link:hover .c-media__image img {
        transform: scale(1.03);
    }
}
@media screen and (max-width: 767px) {
    .c-media__link {
        display: block;
    }
}
.c-media__image {
    display: block;
    flex-shrink: 0;
    width: calc(400 / 992 * 100%);
    aspect-ratio: 400/200;
    border-radius: var(--spacing-rem);
    overflow: hidden;
}
.c-media__image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
@media screen and (max-width: 767px) {
    .c-media__image {
        width: 100%;
    }
}
.c-media__body {
    padding-top: var(--spacing-rem);
}
.c-media__ttl {
    font-size: var(--font-size-lead);
    font-weight: bold;
}
.c-media__txt {
    font-size: var(--font-size-small);
    margin-top: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-media__txt {
        margin-top: var(--spacing-rem-small);
    }
}
.c-media__link-txt {
    display: inline-block;
    color: var(--color-dark-gray);
    font-size: var(--font-size-x-small);
    line-height: 2;
    margin-top: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-media__link-txt {
        margin-top: var(--spacing-rem-small);
    }
}

/* ---------------------------------------------
*   c-faq-list
--------------------------------------------- */
.c-faq-list__item {
    border-bottom: 1px solid var(--color-border);
}

/*  c-faq
--------------------------------------------- */
.c-faq {
    padding: var(--spacing-rem);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: var(--spacing-rem);
}
@media (hover: hover) and (pointer: fine) {
    .c-faq .c-faq__title {
        transition: color 0.3s;
    }
    .c-faq:hover .c-faq__title {
        color: var(--color-primary);
    }
}
@media screen and (max-width: 767px) {
    .c-faq {
        padding: var(--spacing-rem) 0;
    }
}
.c-faq__icon {
    flex-shrink: 0;
    width: var(--spacing-rem-x-large);
    overflow: hidden;
}
.c-faq__icon img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.c-faq__title {
    display: block;
    font-size: var(--font-size-base);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-faq__title {
        font-size: var(--font-size-small);
    }
}

/* ---------------------------------------------
*   c-sideNav
--------------------------------------------- */
.c-sideNav {
    border-top: calc(2 / var(--font-size-base) * 1rem) solid var(--color-primary);
    padding-block: 0 calc(14 / var(--font-size-base) * 1rem);
    border-bottom: 1px solid var(--color-border);
}
.c-sideNav--anchorLink {
    border-bottom: none;
}
@media screen and (min-width: 768px) {
    .c-sideNav--anchorLink {
        position: sticky;
        top: 94px;
    }
}
@media screen and (max-width: 767px) {
    .c-sideNav--anchorLink {
        border-top: none;
    }
}
.c-sideNav--anchorLink .c-sideNav__heading {
    border-bottom: none;
    padding: calc(16 / var(--font-size-base) * 1rem);
    font-size: var(--font-size-lead);
    font-weight: bold;
    margin-top: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-sideNav--anchorLink .c-sideNav__heading {
        display: none;
    }
}
.c-sideNav--anchorLink .c-sideNav__list {
    margin-top: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-sideNav--anchorLink .c-sideNav__list {
        margin-top: 0;
    }
}
.c-sideNav--anchorLink .c-sideNav__list-item {
    margin-top: calc(8 / var(--font-size-base) * 1rem);
}
.c-sideNav + .c-sideNav {
    margin-top: calc(64 / var(--font-size-base) * 1rem);
}
.c-sideNav__heading {
    padding-block: calc(14 / var(--font-size-base) * 1rem);
    border-bottom: 1px solid var(--color-border);
}
.c-sideNav__list {
    margin-top: calc(14 / var(--font-size-base) * 1rem);
}
.c-sideNav__cat-ttl {
    position: relative;
    padding: calc(24 / var(--font-size-base) * 1rem) calc(7 / var(--font-size-base) * 1rem) calc(24 / var(--font-size-base) * 1rem) calc(39 / var(--font-size-base) * 1rem);
    display: block;
    font-size: var(--font-size-small);
    font-weight: bold;
}
.c-sideNav__cat-ttl::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(7 / var(--font-size-base) * 1rem);
    display: block;
    width: calc(16 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    background: url(/public/assets/images/common/icon_tag.svg) 0 0 no-repeat;
    background-size: 100% auto;
    transform: translateY(-50%);
}

/* ---------------------------------------------
*   c-navLink
--------------------------------------------- */
.c-navLink {
    position: relative;
    padding: var(--spacing-rem-x-large);
    display: grid;
    grid-template-rows: auto 1fr;
    gap: var(--spacing-rem);
    border-radius: var(--border-radius);
    background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
    .c-navLink {
        padding: calc(20 / var(--font-size-base) * 1rem) calc(32 / var(--font-size-base) * 1rem);
    }
}
.c-navLink .c-navLink-heading {
    position: relative;
    display: block;
    padding-right: calc(56 / var(--font-size-base) * 1rem);
    font-size: var(--font-size-lead);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-navLink .c-navLink-heading {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: var(--spacing-rem);
    }
}
.c-navLink .c-navLink-heading::before, .c-navLink .c-navLink-heading::after {
    content: "";
    position: absolute;
    display: block;
    aspect-ratio: 1/1;
}
.c-navLink .c-navLink-heading::before {
    right: calc(8 / var(--font-size-base) * 1rem);
    bottom: calc(-1 / var(--font-size-base) * 1rem);
    width: calc(32 / var(--font-size-base) * 1rem);
    border-radius: 50%;
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
}
.c-navLink .c-navLink-heading::after {
    right: calc(16 / var(--font-size-base) * 1rem);
    bottom: calc(7 / var(--font-size-base) * 1rem);
    width: calc(16 / var(--font-size-base) * 1rem);
    -webkit-mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_arrow-1.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-white);
}
.c-navLink .c-navLink-heading__icon {
    display: block;
    width: calc(48 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-navLink .c-navLink-heading__icon {
        width: calc(32 / var(--font-size-base) * 1rem);
    }
}
.c-navLink .c-navLink-heading__txt {
    display: block;
    margin-top: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-navLink .c-navLink-heading__txt {
        margin-top: 0;
    }
}
.c-navLink .c-navLink-heading--noicon::before, .c-navLink .c-navLink-heading--noicon::after {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
}
.c-navLink .c-navLink-heading--noicon .c-navLink-heading__txt {
    margin-top: 0;
}
@media (hover: hover) and (pointer: fine) {
    .c-navLink .c-navLink-heading {
        transition: color 0.3s;
    }
    .c-navLink .c-navLink-heading::before, .c-navLink .c-navLink-heading::after {
        transition: background-color 0.3s;
    }
    .c-navLink:hover .c-navLink-heading {
        color: var(--color-primary);
    }
    .c-navLink:hover .c-navLink-heading::before {
        background-color: var(--color-white);
    }
    .c-navLink:hover .c-navLink-heading::after {
        background-color: var(--color-primary);
    }
}
.c-navLink .c-navLink-body {
    font-size: var(--font-size-small);
}

/*  c-navLink-list
--------------------------------------------- */
.c-navLink-list {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: var(--spacing-rem-x-large);
    column-gap: var(--spacing-rem-x-large);
    -moz-row-gap: var(--spacing-rem-x-large);
    row-gap: var(--spacing-rem-x-large);
}
@media screen and (max-width: 767px) {
    .c-navLink-list {
        grid-template-columns: repeat(1, 1fr);
        -moz-column-gap: var(--spacing-rem);
        column-gap: var(--spacing-rem);
        -moz-row-gap: var(--spacing-rem);
        row-gap: var(--spacing-rem);
    }
}
.c-navLink-list__item {
    display: grid;
}
@media screen and (max-width: 900px) {
    .c-navLink-list--tb2col {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 767px) {
    .c-navLink-list--tb2col {
        grid-template-columns: repeat(1, 1fr);
    }
}
.c-navLink-list--narrow {
    -moz-column-gap: var(--spacing-rem);
    column-gap: var(--spacing-rem);
    -moz-row-gap: var(--spacing-rem);
    row-gap: var(--spacing-rem);
}

/* ---------------------------------------------
*   c-notificationBar
--------------------------------------------- */
.c-notificationBar {
    background-color: var(--color-primary-light);
    padding-block: calc(6 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-notificationBar {
        padding-block: calc(12 / var(--font-size-base) * 1rem);
    }
}
.c-notificationBar__container--spacingVertical {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
@media screen and (max-width: 767px) {
    .c-notificationBar__container--spacingVertical {
        flex-wrap: nowrap;
    }
}
.c-notificationBar__txts {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: var(--spacing-rem-x-large);
}
@media screen and (max-width: 767px) {
    .c-notificationBar__txts {
        display: block;
    }
}
.c-notificationBar__heading {
    position: relative;
    padding-left: calc(22 / var(--font-size-base) * 1rem);
    font-size: var(--font-size-x-small);
    font-weight: bold;
}
.c-notificationBar__heading::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: calc(16 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    display: block;
    -webkit-mask: url(/public/assets/images/common/icon_alert.svg) 0 0 no-repeat;
            mask: url(/public/assets/images/common/icon_alert.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    transform: translateY(-50%);
    background-color: var(--color-primary);
}
.c-notificationBar__txt {
    display: block;
    font-size: var(--font-size-x-small);
}
@media screen and (max-width: 767px) {
    .c-notificationBar__txt {
        font-size: var(--font-size-xx-small-sp);
        margin-top: calc(6 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-pagination
--------------------------------------------- */
.c-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-rem-small);
    margin-block: var(--spacing-rem-x-large);
}
.c-pagination__button {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(45 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    border-radius: 50%;
    color: var(--color-font-base);
    font-size: var(--font-size-base);
    line-height: 1;
    background-color: var(--color-white);
}
.c-pagination__button.is-active {
    background-color: var(--color-font-base);
    color: var(--color-white);
    font-weight: bold;
    pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
    .c-pagination__button {
        transition: background-color 0.3s, color 0.3s;
    }
    .c-pagination__button:hover {
        background-color: var(--color-primary-light);
        color: var(--color-primary);
    }
}
.c-pagination__button.is-prev::after {
    -webkit-mask: url(/public/assets/images/common/icon_arrow.svg) center center no-repeat;
            mask: url(/public/assets/images/common/icon_arrow.svg) center center no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    transform: translate(-50%, -50%) rotate(90deg);
}
.c-pagination__button.is-after::after {
    -webkit-mask: url(/public/assets/images/common/icon_arrow.svg) center center no-repeat;
            mask: url(/public/assets/images/common/icon_arrow.svg) center center no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    transform: translate(-50%, -50%) rotate(-90deg);
}
.c-pagination__button.is-prev::after, .c-pagination__button.is-after::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: calc(16 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    background-color: var(--color-font-base);
}
@media (hover: hover) and (pointer: fine) {
    .c-pagination__button.is-prev::after, .c-pagination__button.is-after::after {
        transition: background-color 0.3s;
    }
    .c-pagination__button.is-prev:hover::after, .c-pagination__button.is-after:hover::after {
        background-color: var(--color-primary);
    }
}
.c-pagination__button.is-disabled {
    pointer-events: none;
}
.c-pagination__button.is-disabled::after {
    background-color: var(--color-disabled);
}

/* ---------------------------------------------
*   section
--------------------------------------------- */
section {
    margin-block: 4rem;
}
@media screen and (max-width: 767px) {
    section {
        margin-block: 3rem;
    }
}
section:last-child {
    margin-block: 4rem 0;
}
@media screen and (max-width: 767px) {
    section:last-child {
        margin-block: 3rem 0;
    }
}
section:first-child {
    margin-block: 0 4rem;
}
@media screen and (max-width: 767px) {
    section:first-child {
        margin-block: 0 3rem;
    }
}

/* ---------------------------------------------
*   c-section-1
--------------------------------------------- */
.c-section-1 h3 {
    display: block;
    font-size: var(--font-size-h3);
    font-weight: bold;
    margin-block: calc(36 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-section-1 h3 {
        margin-block: var(--spacing-rem-x-large);
    }
}

/* ---------------------------------------------
*   c-section-search
--------------------------------------------- */
.c-section-search__head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-rem-small) var(--spacing-rem-x-large);
}
@media screen and (max-width: 767px) {
    .c-section-search__head {
        display: block;
    }
}
.c-section-search__head__heading {
    display: inline-block;
    font-size: var(--font-size-h2);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-section-search__head__heading {
        font-size: calc(20 / var(--font-size-base) * 1rem);
    }
}
.c-section-search__head__nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .c-section-search__head__nav {
        margin-top: var(--spacing-rem-small);
    }
}
.c-section-search__head__nav__total {
    font-size: var(--font-size-base);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-section-search__head__nav__total {
        font-size: var(--font-size-small);
    }
}
.c-section-search__head__nav__gray {
    color: var(--color-dark-gray);
    font-size: var(--font-size-small);
    font-weight: 400;
}
@media screen and (max-width: 767px) {
    .c-section-search__head__nav__gray {
        font-size: var(--font-size-x-small);
    }
}
.c-section-search__head__nav__number {
    font-size: var(--font-size-base);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-section-search__head__nav__number {
        font-size: var(--font-size-small);
    }
}
.c-section-search__body {
    margin-top: var(--spacing-rem-x-large);
}
@media screen and (max-width: 767px) {
    .c-section-search__body {
        margin-top: var(--spacing-rem);
    }
}

/* ---------------------------------------------
*   c-slider
--------------------------------------------- */
/* ---------------------------------------------
*   c-stepBar
--------------------------------------------- */
.c-stepBar {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--spacing-rem);
    margin-block: 0 var(--spacing-rem-x-large);
}
.c-stepBar__step:not(:last-of-type)::after {
    content: "";
    position: absolute;
    top: calc(8 / var(--font-size-base) * 1rem);
    display: block;
    width: calc(50% - 40 / var(--font-size-base) * 1rem);
    height: calc(2 / var(--font-size-base) * 1rem);
    background-color: var(--color-border);
}
.c-stepBar__step:first-of-type::after {
    left: calc(43 / var(--font-size-base) * 1rem);
}
.c-stepBar__step:nth-of-type(2)::after {
    left: calc(50% + 9 / var(--font-size-base) * 1rem);
}
.c-stepBar__step.is-check::after {
    background-color: var(--color-success);
}
.c-stepBar__step.is-first::after {
    background-color: var(--color-border);
}
.c-stepBar__icon {
    position: relative;
    z-index: 1;
    display: block;
    width: calc(20 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: calc(2 / var(--font-size-base) * 1rem) solid var(--color-border);
    background-color: var(--color-white);
    margin-inline: auto;
}
.c-stepBar__icon::after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    width: calc(20 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    z-index: 2;
    transform: translate(-50%, -50%);
}
.is-check .c-stepBar__icon {
    border: transparent;
}
.is-check .c-stepBar__icon::after {
    background: url(/public/assets/images/common/icon_check.svg) 0 0 no-repeat;
    background-size: 100% 100%;
}

.is-under .c-stepBar__icon {
    border: transparent;
}
.is-under .c-stepBar__icon::after {
    background: url(/public/assets/images/common/icon_under.svg) 0 0 no-repeat;
    background-size: 100% 100%;
}

.is-error .c-stepBar__icon {
    border: transparent;
}
.is-error .c-stepBar__icon::after {
    background: url(/public/assets/images/common/icon_error-1.svg) 0 0 no-repeat;
    background-size: 100% 100%;
}

.is-stop .c-stepBar__icon {
    border: transparent;
}
.is-stop .c-stepBar__icon::after {
    background: url(/public/assets/images/common/icon_stop.svg) 0 0 no-repeat;
    background-size: 100% 100%;
}

.c-stepBar__label {
    display: block;
    text-align: center;
    color: var(--color-disabled);
    font-size: var(--font-size-x-small);
    font-weight: bold;
    margin-top: calc(6 / var(--font-size-base) * 1rem);
}
.is-check .c-stepBar__label {
    color: var(--color-success);
}

.is-under .c-stepBar__label {
    color: var(--color-font-base);
}

.is-error .c-stepBar__label {
    color: var(--color-font-base);
}

.is-stop .c-stepBar__label {
    color: var(--color-font-base);
}

.c-stepBar__label-step {
    font-family: var(--ff-font-en);
    margin-right: calc(6 / var(--font-size-base) * 1rem);
}

/* ---------------------------------------------
*   c-table-1
--------------------------------------------- */
.c-table-1 {
    border: 1px solid var(--color-border);
    width: 100%;
}
.c-table-1 tr:not(:last-of-type) {
    border-bottom: 1px solid var(--color-border);
}
.c-table-1 th,
.c-table-1 td {
    padding: var(--spacing-rem-small) var(--spacing-rem);
    font-size: var(--font-size-base);
    line-height: 2;
}
@media screen and (max-width: 767px) {
    .c-table-1 th,
    .c-table-1 td {
        font-size: var(--font-size-small);
    }
}
.c-table-1 th {
    width: 200px;
    font-weight: bold;
    background-color: var(--color-lightest-gray);
    border-right: 1px solid var(--color-border);
}
@media screen and (max-width: 767px) {
    .c-table-1 th {
        width: calc(110 / var(--font-size-base) * 1rem);
    }
}
.c-table-1 a {
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .c-table-1 a:hover {
        text-decoration: none;
    }
}

/* ---------------------------------------------
*   c-tabs
--------------------------------------------- */
.c-tabs__body {
    margin-top: var(--spacing-rem-x-large);
}
.c-tabs__body--wide {
    margin-top: calc(var(--spacing-rem) * 4);
}
@media screen and (max-width: 767px) {
    .c-tabs__body--wide {
        margin-top: calc(54 / var(--font-size-base) * 1rem);
    }
}

/*  c-tab-list
--------------------------------------------- */
.c-tab-list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-rem-small);
}

/*  c-tab
--------------------------------------------- */
.c-tab {
    padding: calc(16 / var(--font-size-base) * 1rem) calc(24 / var(--font-size-base) * 1rem);
    background-color: var(--color-white);
    border-radius: 999px;
    color: var(--color-font-base);
    font-size: var(--font-size-base);
    font-weight: bold;
    flex-shrink: 0;
    transition: background-color 0.3s, color 0.3s;
}
@media screen and (max-width: 767px) {
    .c-tab {
        padding: calc(14 / var(--font-size-base) * 1rem);
        font-size: var(--font-size-small);
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-tab {
        transition: color 0.3s;
    }
    .c-tab:hover {
        color: var(--color-primary);
    }
}
.c-tab.is-current {
    background-color: var(--color-primary);
    color: var(--color-white);
    pointer-events: none;
}
.c-tab--lightest-gray {
    background-color: var(--color-lightest-gray);
}

/*  tab-scroll-area
--------------------------------------------- */
@media screen and (max-width: 767px) {
    .tab-scroll-area {
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
        /*スクロールバー全体*/
        /*スクロールバーの軌道*/
        /*スクロールバーの動く部分*/
    }
    .tab-scroll-area::-webkit-scrollbar {
        height: calc(4 / var(--font-size-base) * 1rem);
    }
    .tab-scroll-area::-webkit-scrollbar-track {
        border-radius: 15px;
        box-shadow: inset 0 0 6px #D9D9D9;
    }
    .tab-scroll-area::-webkit-scrollbar-thumb {
        background-color: #B4AEAE;
        border-radius: calc(2 / var(--font-size-base) * 1rem);
    }
}
@media screen and (max-width: 767px) {
    .tab-scroll-area .c-tab-list {
        min-width: calc(300 / var(--font-size-base) * 1rem);
        flex-wrap: nowrap;
        margin-bottom: calc(7 / var(--font-size-base) * 1rem);
    }
}

/* ---------------------------------------------
*   c-tile
--------------------------------------------- */
/* ---------------------------------------------
*   Top-heading
--------------------------------------------- */
.Top-heading {
    font-family: var(--ff-font-en);
    font-size: var(--font-size-h2);
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: var(--spacing-rem-x-large);
}
@media screen and (max-width: 767px) {
    .Top-heading {
        margin-bottom: var(--spacing-rem-large);
    }
}

/* ---------------------------------------------
*   c-heading
--------------------------------------------- */
.c-heading {
    position: relative;
    padding-block: 0 calc(20 / var(--font-size-base) * 1rem);
    display: block;
    font-size: var(--font-size-h2);
    font-weight: bold;
    text-align: center;
    margin-block: 0 var(--spacing-rem-x-large);
}
.c-heading--border-bottom::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    display: block;
    width: var(--spacing-rem-x-large);
    height: calc(4 / var(--font-size-base) * 1rem);
    background-color: var(--color-primary);
    transform: translateX(-50%);
}
.c-heading--border-bicolor {
    padding-block: 0 var(--spacing-rem-x-large);
    margin-block: 0 calc(52 / var(--font-size-base) * 1rem);
    text-align: left;
}
@media screen and (max-width: 767px) {
    .c-heading--border-bicolor {
        padding-block: 0 calc(17 / var(--font-size-base) * 1rem);
        margin-block: 0;
        font-size: calc(20 / var(--font-size-base) * 1rem);
    }
}
.c-heading--border-bicolor::before, .c-heading--border-bicolor::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    height: calc(2 / var(--font-size-base) * 1rem);
}
.c-heading--border-bicolor::before {
    width: calc(80 / var(--font-size-base) * 1rem);
    background-color: var(--color-primary);
    z-index: 1;
}
.c-heading--border-bicolor::after {
    width: 100%;
    background-color: var(--color-border);
}
.c-heading--left {
    text-align: left;
}
.c-heading--left::before {
    left: 0;
    transform: none;
}
.c-heading--icon {
    padding-block: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: var(--spacing-rem);
    margin-block: 0 var(--spacing-rem-x-large);
    font-size: var(--font-size-h3);
    text-align: left;
}
@media screen and (max-width: 767px) {
    .c-heading--icon {
        gap: calc(11 / var(--font-size-base) * 1rem);
        margin-block: 0 var(--spacing-rem-large);
    }
}
@media screen and (max-width: 767px) {
    .c-heading__icon {
        display: block;
        width: calc(32 / var(--font-size-base) * 1rem);
    }
}
.c-heading--lead {
    font-size: var(--font-size-lead);
}

/*  c-heading-h3
--------------------------------------------- */
.c-heading-h3 {
    display: block;
    font-size: var(--font-size-h3);
    font-weight: bold;
    margin-block: 0 var(--spacing-rem-x-large);
}

/* ---------------------------------------------
*   c-heading-badge
--------------------------------------------- */
.c-heading-badge {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--spacing-rem);
    margin-block: 0 calc(35 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-heading-badge {
        gap: var(--spacing-rem-small);
        margin-block: 0 calc(40 / var(--font-size-base) * 1rem);
    }
}
.c-heading-badge__txt {
    font-size: var(--font-size-h3);
    font-weight: bold;
}

/* ---------------------------------------------
*   c-pageTitle
--------------------------------------------- */
.c-pageTitle {
    padding-block: calc(var(--spacing-rem) * 3);
}
@media screen and (max-width: 767px) {
    .c-pageTitle {
        padding-block: var(--spacing-rem-x-large);
    }
}
.c-pageTitle__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
@media screen and (min-width: 768px) {
    .c-pageTitle__container--end {
        padding-bottom: calc(30 / var(--font-size-base) * 1rem);
    }
}
@media screen and (max-width: 767px) {
    .c-pageTitle__container--end {
        align-items: flex-end;
        gap: calc(10 / var(--font-size-base) * 1rem);
    }
}
.c-pageTitle__subHeading {
    position: relative;
    padding-left: calc(23 / var(--font-size-base) * 1rem);
    display: block;
    color: var(--color-primary);
    font-size: var(--font-size-small);
    font-weight: bold;
    margin-block: 0 var(--spacing-rem-small);
}
@media screen and (max-width: 767px) {
    .c-pageTitle__subHeading {
        padding-left: calc(12 / var(--font-size-base) * 1rem);
        font-size: var(--font-size-xx-small-sp);
    }
}
.c-pageTitle__subHeading::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: var(--spacing-rem-small);
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: var(--color-primary);
    transform: translateY(-50%);
}
.c-pageTitle__ttl {
    font-size: var(--font-size-h1);
    font-weight: bold;
}
.c-pageTitle__avatar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--spacing-rem);
    width: calc(300 / var(--font-size-base) * 1rem);
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .c-pageTitle__avatar {
        width: calc(116 / var(--font-size-base) * 1rem);
        gap: var(--spacing-rem-small);
    }
}
.c-pageTitle__avatar__icon {
    flex-shrink: 0;
    display: block;
    width: calc(50 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    border-radius: 50px;
    overflow: hidden;
}
.c-pageTitle__avatar__icon img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
@media screen and (max-width: 767px) {
    .c-pageTitle__avatar__icon {
        width: calc(30 / var(--font-size-base) * 1rem);
    }
}
.c-pageTitle__avatar__name {
    display: block;
    font-size: var(--font-size-base);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-pageTitle__avatar__name {
        font-size: var(--font-size-x-small);
    }
}
.c-pageTitle__heading__head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-rem);
    margin-block: 0 calc(8 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-pageTitle__heading__head {
        display: block;
        margin-block: 0 calc(10 / var(--font-size-base) * 1rem);
    }
}
.c-pageTitle__heading__head .c-badge {
    background-color: var(--color-white);
}
.c-pageTitle__heading__date {
    display: block;
    color: var(--color-dark-gray);
    font-size: var(--font-size-small);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-pageTitle__heading__date {
        margin-block: 0 calc(8 / var(--font-size-base) * 1rem);
    }
}

/* ---------------------------------------------
*   c-ttl-h3
--------------------------------------------- */
.c-ttl-h3 {
    display: block;
    font-size: var(--font-size-h3);
    font-weight: bold;
    margin-block: 0 var(--spacing-rem-large);
}
@media screen and (max-width: 767px) {
    .c-ttl-h3 {
        margin-block: 0 var(--spacing-rem-x-large);
    }
}

/* ---------------------------------------------
*   c-txt-1
--------------------------------------------- */
.c-txt-1 {
    display: block;
    font-size: var(--font-size-base);
    line-height: 2;
}
@media screen and (max-width: 767px) {
    .c-txt-1--spsmall {
        font-size: var(--font-size-small);
    }
}
.c-txt-1--center {
    text-align: center;
}
@media screen and (min-width: 768px) {
    .c-txt-1--spleft {
        text-align: center;
    }
}

/* ---------------------------------------------
*   c-txt-2
--------------------------------------------- */
.c-txt-2 {
    display: block;
    font-size: var(--font-size-x-small);
}
.c-txt-2--dark-gray {
    color: var(--color-dark-gray);
}

/* ---------------------------------------------
*   c-txt-3
--------------------------------------------- */
.c-txt-3 {
    display: block;
    font-size: var(--font-size-small);
}
.c-txt-3--2 {
    line-height: 2;
}

/* ---------------------------------------------
*   WysiwygEditor-wrapper
--------------------------------------------- */
.WysiwygEditor-wrapper::after {
    content: "";
    display: block;
    clear: both;
}
.WysiwygEditor-wrapper sup {
    vertical-align: super;
    font-size: smaller;
}
.WysiwygEditor-wrapper sub {
    vertical-align: sub;
    font-size: smaller;
}
.WysiwygEditor-wrapper blockquote {
    padding: 1em;
    background-color: #eaeaea;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.WysiwygEditor-wrapper pre {
    display: block;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.WysiwygEditor-wrapper del {
    text-decoration: line-through;
}
.WysiwygEditor-wrapper hr {
    display: block;
    border: none;
    border-top: #9a9a9a 1px solid;
    border-bottom: #eee 1px solid;
}
.WysiwygEditor-wrapper code {
    background-color: #eee;
    padding: 0.1em 0.4em;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
    word-break: break-all;
}
.WysiwygEditor-wrapper h2 {
    position: relative;
    padding-block: 0 calc(20 / var(--font-size-base) * 1rem);
    display: block;
    font-size: var(--font-size-h2);
    font-weight: bold;
    margin-block: 0 var(--spacing-rem-x-large);
}
.WysiwygEditor-wrapper h2::before, .WysiwygEditor-wrapper h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    height: calc(2 / var(--font-size-base) * 1rem);
}
.WysiwygEditor-wrapper h2::before {
    width: calc(80 / var(--font-size-base) * 1rem);
    background-color: var(--color-primary);
    z-index: 1;
}
.WysiwygEditor-wrapper h2::after {
    width: 100%;
    background-color: var(--color-border);
}
.WysiwygEditor-wrapper h3 {
    display: block;
    font-size: var(--font-size-h3);
    font-weight: bold;
    margin-block: calc(36 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper h3 {
        margin-block: 0 var(--spacing-rem-x-large);
    }
}
.WysiwygEditor-wrapper i,
.WysiwygEditor-wrapper strong {
    font-weight: bold;
}
.WysiwygEditor-wrapper em {
    font-style: italic;
}
.WysiwygEditor-wrapper p {
    font-size: var(--font-size-base);
    line-height: 2;
    margin-block: var(--spacing-rem);
}
.WysiwygEditor-wrapper small {
    display: block;
    font-size: var(--font-size-x-small);
    line-height: 2;
}
.WysiwygEditor-wrapper small + .WysiwygEditor-wrapper small {
    margin-block: var(--spacing-rem);
}
.WysiwygEditor-wrapper ul {
    margin-block: var(--spacing-rem);
}
.WysiwygEditor-wrapper ul li {
    display: block;
    font-size: var(--font-size-base);
    line-height: 2;
    margin-block: calc(7 / var(--font-size-base) * 1rem);
}
.WysiwygEditor-wrapper ul li.dot {
    position: relative;
    padding-left: calc(28 / var(--font-size-base) * 1rem);
}
.WysiwygEditor-wrapper ul li.dot::before {
    content: "";
    position: absolute;
    top: calc(13 / var(--font-size-base) * 1rem);
    left: calc(7 / var(--font-size-base) * 1rem);
    display: block;
    width: calc(6 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    background-color: var(--color-font-base);
    border-radius: 50%;
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper ul li.dot::before {
        top: 0.85rem;
        left: calc(8 / var(--font-size-base) * 1rem);
    }
}
.WysiwygEditor-wrapper ul li.dot {
    position: relative;
    padding-left: calc(28 / var(--font-size-base) * 1rem);
}
.WysiwygEditor-wrapper ul li.dot::before {
    content: "";
    position: absolute;
    top: calc(13 / var(--font-size-base) * 1rem);
    left: calc(7 / var(--font-size-base) * 1rem);
    display: block;
    width: calc(6 / var(--font-size-base) * 1rem);
    aspect-ratio: 1/1;
    background-color: var(--color-font-base);
    border-radius: 50%;
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper ul li.dot::before {
        top: 0.85rem;
        left: calc(8 / var(--font-size-base) * 1rem);
    }
}
.WysiwygEditor-wrapper ul li.ast {
    position: relative;
    padding-left: calc(28 / var(--font-size-base) * 1rem);
    font-size: var(--font-size-small);
}
.WysiwygEditor-wrapper ul li.ast::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
}
.WysiwygEditor-wrapper ul + .WysiwygEditor-wrapper ul {
    margin-block: var(--spacing-rem);
}
.WysiwygEditor-wrapper ol {
    counter-reset: listnum;
    margin-block: var(--spacing-rem);
}
.WysiwygEditor-wrapper ol li {
    position: relative;
    padding-left: calc(28 / var(--font-size-base) * 1rem);
    display: block;
    font-size: var(--font-size-base);
    line-height: 2;
    margin-block: calc(7 / var(--font-size-base) * 1rem);
}
.WysiwygEditor-wrapper ol li::before {
    counter-increment: listnum;
    content: counter(listnum) ".";
    position: absolute;
    top: 0.1rem;
    left: 0;
    display: block;
}
.WysiwygEditor-wrapper ol + .WysiwygEditor-wrapper ol {
    margin-block: var(--spacing-rem);
}
.WysiwygEditor-wrapper a {
    color: var(--color-primary);
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .WysiwygEditor-wrapper a:hover {
        text-decoration: none;
    }
}
.WysiwygEditor-wrapper a[target=_blank] {
    width: -moz-fit-content;
    width: fit-content;
    padding-right: calc(20 / var(--font-size-base) * 1rem);
    background: url(/public/assets/images/common/icon_outlink.svg) right center no-repeat;
    background-size: calc(16 / var(--font-size-base) * 1rem) calc(16 / var(--font-size-base) * 1rem);
}
.WysiwygEditor-wrapper a a[href^="tel:"],
.WysiwygEditor-wrapper a .js-tel-disabled {
    color: var(--color-font-base);
    text-decoration: none;
}
@media screen and (max-width: 767px) and (hover: hover) and (pointer: fine) {
    .WysiwygEditor-wrapper a a[href^="tel:"]:hover,
    .WysiwygEditor-wrapper a .js-tel-disabled:hover {
        text-decoration: underline;
    }
}
.WysiwygEditor-wrapper iframe {
    display: block;
    width: 100%;
    border: none;
    aspect-ratio: 16/9;
    margin-block: var(--spacing-rem-x-large);
}
.WysiwygEditor-wrapper .image {
    display: block;
    max-width: 100%;
    margin-inline: auto;
    margin-block: var(--spacing-rem-x-large);
}
.WysiwygEditor-wrapper .image figcaption {
    display: block;
    font-size: var(--font-size-x-small);
    text-align: center;
    margin-block: calc(8 / var(--font-size-base) * 1rem) 0;
}
.WysiwygEditor-wrapper .image img {
    display: block;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.WysiwygEditor-wrapper .image .img-link {
    display: block;
    position: static;
    padding-right: 0;
    width: 100%;
    background: none;
}
@media (hover: hover) and (pointer: fine) {
    .WysiwygEditor-wrapper .image .img-link {
        transition: opacity var(--transition-seconds);
    }
    .WysiwygEditor-wrapper .image .img-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.WysiwygEditor-wrapper .img-col-2 {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-rem-x-large);
    margin-block: var(--spacing-rem-x-large);
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper .img-col-2 {
        grid-template-columns: repeat(1, 1fr);
    }
}
.WysiwygEditor-wrapper .img-col-2 .image {
    margin-block: 0;
}
.WysiwygEditor-wrapper .img-col-3 {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-rem-x-large);
    margin-block: var(--spacing-rem-x-large);
}
@media screen and (min-width: 768px) {
    .WysiwygEditor-wrapper .img-col-3 .img:nth-of-type(n + 4) {
        margin-top: 0;
    }
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper .img-col-3 {
        grid-template-columns: repeat(1, 1fr);
    }
}
.WysiwygEditor-wrapper .img-col-3 .image {
    margin-block: 0;
}
.WysiwygEditor-wrapper .wavy {
    text-decoration: underline;
    text-decoration-style: wavy;
}
.WysiwygEditor-wrapper .marker {
    text-decoration: underline;
    text-decoration-color: rgba(var(--color-secondary-rgb), 0.75);
    text-decoration-thickness: 0.5em;
    text-underline-offset: -0.2em;
    -webkit-text-decoration-skip-ink: none;
            text-decoration-skip-ink: none;
}
.WysiwygEditor-wrapper .indent-1em {
    padding-left: 1em;
}
.WysiwygEditor-wrapper .indent-2em {
    padding-left: 2em;
}
.WysiwygEditor-wrapper .indent-3em {
    padding-left: 3em;
}
.WysiwygEditor-wrapper .lead {
    display: block;
    font-size: var(--font-size-lead);
    font-weight: bold;
    line-height: 2;
    margin-block: 0 var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper .lead {
        font-size: 1.07rem;
    }
}
.WysiwygEditor-wrapper table {
    border: 1px solid var(--color-border);
    width: 100%;
    margin-block: var(--spacing-rem-x-large);
}
.WysiwygEditor-wrapper table.column2 tr:not(:last-of-type) {
    border-bottom: 1px solid var(--color-border);
}
.WysiwygEditor-wrapper table.column2 th,
.WysiwygEditor-wrapper table.column2 td {
    padding: var(--spacing-rem-small) var(--spacing-rem);
    font-size: var(--font-size-base);
    line-height: 2;
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper table.column2 th,
    .WysiwygEditor-wrapper table.column2 td {
        font-size: var(--font-size-small);
    }
}
.WysiwygEditor-wrapper table.column2 th {
    width: 200px;
    font-weight: bold;
    background-color: var(--color-lightest-gray);
    border-right: 1px solid var(--color-border);
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper table.column2 th {
        width: calc(110 / var(--font-size-base) * 1rem);
    }
}
.WysiwygEditor-wrapper table.custom-table {
    border-collapse: collapse;
}
.WysiwygEditor-wrapper table.custom-table tr:not(:last-of-type) {
    border-bottom: 1px solid var(--color-border);
}
.WysiwygEditor-wrapper table.custom-table tr td:not(:last-of-type) {
    border-right: 1px solid var(--color-border);
}
.WysiwygEditor-wrapper table.custom-table thead {
    border-bottom: 1px solid var(--color-border);
}
.WysiwygEditor-wrapper table.custom-table th,
.WysiwygEditor-wrapper table.custom-table td {
    padding: var(--spacing-rem-small) var(--spacing-rem);
    font-size: var(--font-size-base);
    line-height: 2;
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper table.custom-table th,
    .WysiwygEditor-wrapper table.custom-table td {
        font-size: var(--font-size-small);
    }
}
.WysiwygEditor-wrapper table.custom-table th {
    font-weight: bold;
    background-color: var(--color-lightest-gray);
    border-right: 1px solid var(--color-border);
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper table.custom-table th {
        width: calc(110 / var(--font-size-base) * 1rem);
    }
}
.WysiwygEditor-wrapper .c-button {
    text-decoration: none !important;
}
.WysiwygEditor-wrapper .c-link {
    padding-right: 0 !important;
    color: var(--color-font-base) !important;
    text-decoration: underline !important;
    background: none !important;
}
@media (hover: hover) and (pointer: fine) {
    .WysiwygEditor-wrapper .c-link:hover {
        text-decoration: none !important;
    }
}
.WysiwygEditor-wrapper + .WysiwygEditor-wrapper {
    margin-top: 0;
}
.WysiwygEditor-wrapper + .WysiwygEditor-wrapper + .image {
    margin-top: 0;
}
.WysiwygEditor-wrapper .img-left {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-block: var(--spacing-rem-x-large);
    gap: var(--spacing-rem-x-large);
    margin-block: var(--spacing-rem-x-large);
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper .img-left {
        display: block;
    }
}
.WysiwygEditor-wrapper .img-left .image {
    margin-block: 0;
}
@media screen and (min-width: 768px) {
    .WysiwygEditor-wrapper .img-left .image {
        margin-inline: 0;
        width: calc(309 / var(--font-size-base) * 1rem);
        flex-shrink: 0;
    }
}
.WysiwygEditor-wrapper .img-left .WysiwygEditor-wrapper {
    margin-block: 0;
}
@media screen and (min-width: 768px) {
    .WysiwygEditor-wrapper .img-left .WysiwygEditor-wrapper {
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper .img-left .WysiwygEditor-wrapper {
        margin-top: var(--spacing-rem-x-large);
    }
}
.WysiwygEditor-wrapper .img-right {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-block: var(--spacing-rem-x-large);
    gap: var(--spacing-rem-x-large);
    margin-block: var(--spacing-rem-x-large);
}
@media screen and (max-width: 767px) {
    .WysiwygEditor-wrapper .img-right {
        flex-direction: column-reverse;
    }
}
.WysiwygEditor-wrapper .img-right .image {
    margin-block: 0;
}
@media screen and (min-width: 768px) {
    .WysiwygEditor-wrapper .img-right .image {
        margin-inline: 0;
        width: calc(309 / var(--font-size-base) * 1rem);
        flex-shrink: 0;
    }
}
.WysiwygEditor-wrapper .img-right .WysiwygEditor-wrapper {
    margin-block: 0;
}
@media screen and (min-width: 768px) {
    .WysiwygEditor-wrapper .img-right .WysiwygEditor-wrapper {
        width: 100%;
    }
}
.WysiwygEditor-wrapper > *:last-child {
    margin-bottom: 0;
}

/* ---------------------------------------------
*   p-top-hero
--------------------------------------------- */
.p-top-hero {
    position: relative;
    margin: 0 !important;
}
.p-top-hero .splide__track {
    width: 100%;
    height: 600px;
    overflow: hidden;
}
@media screen and (max-width: 767px) {
    .p-top-hero .splide__track {
        height: calc(400 / var(--font-size-base) * 1rem);
    }
}
.p-top-hero .splide__track .container {
    position: absolute;
    inset: 0;
    z-index: 2;
}
.p-top-hero .splide__slide.is-active img {
    transform: scale(1);
    transform-origin: center;
    transition-delay: 0s;
}
.p-top-hero__img {
    position: relative;
    width: 100%;
    height: 100%;
}
.p-top-hero__img::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.25);
    z-index: 1;
}
.p-top-hero__img img {
    width: 100%;
    height: 100%;
    vertical-align: center;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    transition: 9s ease-out;
    transform: scale(1.05);
}
.p-top-hero__ttl {
    position: absolute;
    top: 50%;
    left: 1rem;
    z-index: 2;
    display: block;
    color: var(--color-white);
    font-size: calc(40 / var(--font-size-base) * 1rem);
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.6;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.1));
    transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
    .p-top-hero__ttl {
        top: 53%;
        font-size: calc(20 / var(--font-size-base) * 1rem);
        line-height: 2;
    }
}
.p-top-hero__nav {
    background-color: var(--color-primary);
    padding-block: 0 calc(64 / var(--font-size-base) * 1rem);
    margin-top: calc(-64 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .p-top-hero__nav {
        padding-block: 0 calc(48 / var(--font-size-base) * 1rem);
        margin-top: calc(-31 / var(--font-size-base) * 1rem);
    }
}

/* ---------------------------------------------
*   p-top-guide
--------------------------------------------- */
.p-top-guide {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .p-top-guide {
        display: block;
    }
}
.p-top-guide__text {
    display: block;
    font-size: var(--font-size-base);
    line-height: 2;
    margin-top: calc(40 / var(--font-size-base) * 1rem);
}
.p-top-guide__image-wrap {
    position: relative;
    display: block;
    width: calc(564 / var(--contents-width) * 100%);
    flex-shrink: 0;
    padding-block: 0 calc(32 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .p-top-guide__image-wrap {
        width: 100%;
        margin-top: calc(48 / var(--font-size-base) * 1rem);
    }
}
.p-top-guide__image-wrap::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: calc(500 / 564 * 100%);
    aspect-ratio: 500/200;
    border-radius: var(--border-radius);
    background-color: var(--color-secondary);
}
@media screen and (max-width: 767px) {
    .p-top-guide__image-wrap::before {
        top: calc(86 / var(--font-size-base) * 1rem);
        bottom: auto;
        aspect-ratio: 300/120;
    }
}
.p-top-guide__image {
    position: relative;
    display: block;
    width: calc(500 / 564 * 100%);
    aspect-ratio: 500/300;
    margin-inline: auto 0;
    border-radius: var(--border-radius);
    overflow: hidden;
    -o-object-position: center;
       object-position: center;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: 1;
}
@media screen and (max-width: 767px) {
    .p-top-guide__image {
        right: calc(-6 / var(--font-size-base) * 1rem);
        width: calc(300 / var(--contents-width) * 100%);
        aspect-ratio: 300/180;
    }
}
.p-top-guide__image::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.15);
}

/* ---------------------------------------------
*   p-top-login
--------------------------------------------- */
.p-top-login__text {
    display: block;
    font-size: var(--spacing-rem);
    line-height: 2;
    text-align: center;
    margin-top: calc(var(--spacing-rem) * 4);
}
.p-top-login .c-card-list {
    margin-top: calc(var(--spacing-rem) * 3);
}

/* ---------------------------------------------
*   p-about-ol
--------------------------------------------- */
.p-about-ol {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-rem-small);
    margin-block: var(--spacing-rem);
}
@media screen and (max-width: 900px) {
    .p-about-ol {
        grid-template-columns: repeat(1, 1fr);
    }
}
.p-about-ol__item {
    padding: var(--spacing-rem-large) var(--spacing-rem-x-large);
    background-color: var(--color-lightest-gray);
    border-radius: var(--border-radius);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--spacing-rem-large);
}
@media screen and (max-width: 767px) {
    .p-about-ol__item {
        padding: var(--spacing-rem-large) var(--spacing-rem-large);
        gap: var(--spacing-rem);
    }
}
.p-about-ol__num {
    flex-shrink: 0;
    font-family: var(--ff-font-en);
    color: var(--color-primary);
    font-size: var(--font-size-h2);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .p-about-ol__num {
        font-size: calc(20 / var(--font-size-base) * 1rem);
    }
}
.p-about-ol__txt {
    display: block;
    font-size: var(--font-size-base);
    font-weight: bold;
    line-height: 2;
    margin-top: calc(8 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .p-about-ol__txt {
        margin-top: 0;
    }
}

/* ---------------------------------------------
*   p-about-ol-2
--------------------------------------------- */
.p-about-ol-2 {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: var(--spacing-rem-small);
}
.p-about-ol-2__item {
    padding: var(--spacing-rem-large) var(--spacing-rem-x-large) var(--spacing-rem-x-large);
    background-color: var(--color-white);
    border-radius: var(--border-radius);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--spacing-rem-large);
}
@media screen and (max-width: 767px) {
    .p-about-ol-2__item {
        padding: var(--spacing-rem-large) var(--spacing-rem-large);
        gap: var(--spacing-rem);
    }
}
.p-about-ol-2__num {
    flex-shrink: 0;
    font-family: var(--ff-font-en);
    color: var(--color-primary);
    font-size: var(--font-size-h2);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .p-about-ol-2__num {
        font-size: calc(20 / var(--font-size-base) * 1rem);
    }
}
.p-about-ol-2__txt {
    display: block;
    font-size: var(--font-size-small);
    line-height: 2;
    margin-top: calc(8 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .p-about-ol-2__txt {
        margin-top: 0;
    }
}

/* ---------------------------------------------
*   p-about-list-mvv
--------------------------------------------- */
.p-about-list-mvv {
    margin-top: calc(48 / var(--font-size-base) * 1rem);
}
.p-about-list-mvv__item + .p-about-list-mvv__item {
    margin-top: var(--spacing-rem-small);
}

/*  p-about-mvv
--------------------------------------------- */
.p-about-mvv {
    background-color: var(--color-lightest-gray);
    border-radius: var(--spacing-rem);
    padding: calc(24 / var(--font-size-base) * 1rem) calc(30 / var(--font-size-base) * 1rem) calc(32 / var(--font-size-base) * 1rem) calc(32 / var(--font-size-base) * 1rem);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--spacing-rem-large);
}
@media screen and (max-width: 767px) {
    .p-about-mvv {
        padding: calc(32 / var(--font-size-base) * 1rem) calc(24 / var(--font-size-base) * 1rem);
        display: block;
    }
}
.p-about-mvv__heading {
    flex-shrink: 0;
    display: block;
    font-family: var(--ff-font-en);
    color: var(--color-primary);
    font-size: var(--font-size-h2);
    font-weight: bold;
    flex-shrink: 0;
    width: calc(130 / var(--font-size-base) * 1rem);
    text-align: center;
}
@media screen and (max-width: 767px) {
    .p-about-mvv__heading {
        font-size: calc(20 / var(--font-size-base) * 1rem);
        width: auto;
        text-align: left;
    }
}
.p-about-mvv__body {
    width: 100%;
    margin-top: calc(4 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .p-about-mvv__body {
        margin-top: calc(22 / var(--font-size-base) * 1rem);
    }
}
@media screen and (max-width: 767px) {
    .p-about-mvv__body__lead {
        position: relative;
        padding-inline: calc(16 / var(--font-size-base) * 1rem);
        display: block;
    }
}
.p-about-mvv__quort {
    position: relative;
    display: inline-block;
    font-family: var(--ff-font-en);
    color: var(--color-primary);
    font-size: var(--font-size-h2);
    font-weight: bold;
    line-height: 1;
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .p-about-mvv__quort {
        position: absolute;
        font-size: calc(20 / var(--font-size-base) * 1rem);
    }
}
@media screen and (min-width: 768px) {
    .p-about-mvv__quort--front {
        top: 0.2rem;
        padding-right: calc(8 / var(--font-size-base) * 1rem);
    }
}
@media screen and (max-width: 767px) {
    .p-about-mvv__quort--front {
        top: -0.2rem;
        left: 0;
    }
}
@media screen and (min-width: 768px) {
    .p-about-mvv__quort--back {
        top: 0.7rem;
        padding-left: calc(8 / var(--font-size-base) * 1rem);
    }
}
@media screen and (max-width: 767px) {
    .p-about-mvv__quort--back {
        bottom: -0.2em;
        right: 0;
    }
}
.p-about-mvv__lead-txt {
    display: inline;
    font-size: var(--font-size-lead);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .p-about-mvv__lead-txt {
        display: inline-block;
        font-size: calc(17 / var(--font-size-base) * 1rem);
    }
}
.p-about-mvv__txt {
    padding-left: calc(10 / var(--font-size-base) * 1rem);
    display: block;
    font-size: var(--font-size-small);
    line-height: 2;
    margin-top: calc(28 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .p-about-mvv__txt {
        padding-left: 0;
        margin-top: calc(14 / var(--font-size-base) * 1rem);
    }
}

/* ---------------------------------------------
*   p-about-message
--------------------------------------------- */
.p-about-message {
    position: relative;
    border-radius: var(--border-radius-large);
    overflow: hidden;
    margin-block: var(--spacing-rem-x-large);
}
.p-about-message img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.p-about-message__text {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    transform: translateY(-50%);
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
    background-color: rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
    .p-about-message__text {
        position: static;
        transform: none;
        border-radius: 0 0 var(--border-radius-large) var(--border-radius-large);
        background-color: var(--color-dark-gray);
    }
}
.p-about-message__text__inner {
    padding-block: calc(44 / var(--font-size-base) * 1rem) calc(36 / var(--font-size-base) * 1rem);
    color: var(--color-white);
    font-weight: bold;
    padding-inline: calc(64 / var(--font-size-base) * 1rem) calc(68 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .p-about-message__text__inner {
        padding: var(--spacing-rem) var(--spacing-rem-large);
    }
}
.p-about-message__text__union {
    display: block;
    font-size: var(--font-size-lead);
}
@media screen and (max-width: 767px) {
    .p-about-message__text__union {
        font-size: calc(17 / var(--font-size-base) * 1rem);
        line-height: 1.5;
    }
}
.p-about-message__text__title {
    display: block;
    font-size: var(--font-size-lead);
    margin-top: calc(46 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .p-about-message__text__title {
        display: inline-block;
        font-size: calc(17 / var(--font-size-base) * 1rem);
        margin-top: calc(24 / var(--font-size-base) * 1rem);
        margin-right: calc(12 / var(--font-size-base) * 1rem);
    }
}
.p-about-message__text__name {
    display: block;
    font-size: calc(48 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .p-about-message__text__name {
        display: inline-block;
        font-size: calc(28 / var(--font-size-base) * 1rem);
    }
}

/* ---------------------------------------------
*   p-about-dl
--------------------------------------------- */
.p-about-dl__item {
    margin-block: var(--spacing-rem-x-large);
}
.p-about-dl__term {
    padding-block: var(--spacing-rem);
    display: block;
    font-size: var(--font-size-lead);
    font-weight: bold;
}
.p-about-dl__list-lv1 {
    border-top: 1px solid var(--color-border);
}
.p-about-dl__list-lv1-item {
    padding: calc(10 / var(--font-size-base) * 1rem) calc(14 / var(--font-size-base) * 1rem);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    border-bottom: 1px solid var(--color-border);
    font-size: var(--font-size-small);
    line-height: 2;
}
@media screen and (max-width: 767px) {
    .p-about-dl__list-lv1-item {
        padding: calc(7 / var(--font-size-base) * 1rem);
        display: block;
    }
}
.p-about-dl__name {
    display: block;
    flex-shrink: 0;
    width: calc(160 / var(--font-size-base) * 1rem);
    padding-right: var(--spacing-rem);
}
@media screen and (max-width: 767px) {
    .p-about-dl__name {
        padding-right: 0;
        width: 100%;
    }
}
.p-about-dl__affiliation {
    display: block;
}

/* ---------------------------------------------
*   p-about-heading
--------------------------------------------- */
.p-about-heading {
    position: relative;
    display: block;
    font-size: var(--font-size-lead);
    font-weight: bold;
    margin-block: calc(48 / var(--font-size-base) * 1rem) calc(56 / var(--font-size-base) * 1rem);
}
@media screen and (max-width: 767px) {
    .p-about-heading {
        margin-block: calc(48 / var(--font-size-base) * 1rem);
        font-size: calc(17 / var(--font-size-base) * 1rem);
    }
}
.p-about-heading::before {
    content: "";
    position: absolute;
    bottom: calc(-23 / var(--font-size-base) * 1rem);
    left: 0;
    display: block;
    width: var(--spacing-rem-x-large);
    height: calc(4 / var(--font-size-base) * 1rem);
    background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
    .p-about-heading::before {
        bottom: calc(-22 / var(--font-size-base) * 1rem);
    }
}

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

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

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

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

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

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

/* ---------------------------------------------
*   アコーディオン
--------------------------------------------- */
@media screen and (max-width: 1024px) {
    .js-acc-target {
        height: 0;
        overflow: hidden;
        transition: height 0.3s ease;
    }
}
/* ---------------------------------------------
*   ヘッダー開閉
--------------------------------------------- */
@media screen and (min-width: 1025px) {
    .js-menu-target {
        scrollbar-width: none;
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.4s, visibility 0.4s, background-color 0.4s, opacity 0.4s;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
    }
    .js-menu-target.is-menu-opened {
        grid-template-rows: 1fr;
        visibility: visible;
        opacity: 1;
    }
}

.l-shared-subnav .js-menu-target {
    scrollbar-width: none;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s, visibility 0.4s, background-color 0.4s, opacity 0.4s;
    visibility: hidden;
    opacity: 0;
}
.l-shared-subnav .js-menu-target.is-menu-opened {
    grid-template-rows: 1fr;
    visibility: visible;
    opacity: 1;
}

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

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

@media print and (min-width: 768px), screen and (min-width: 768px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (max-width: 767px), screen and (max-width: 767px) {
    .sp-hide {
        display: none !important;
    }
}
@media print and (min-width: 1025px), screen and (min-width: 1025px) {
    .pc-under {
        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: 767px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: calc(5 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--10 {
        margin-top: calc(10 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--15 {
        margin-top: calc(15 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--20 {
        margin-top: calc(20 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--25 {
        margin-top: calc(25 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--30 {
        margin-top: calc(30 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--35 {
        margin-top: calc(35 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--40 {
        margin-top: calc(40 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--45 {
        margin-top: calc(45 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--50 {
        margin-top: calc(50 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--55 {
        margin-top: calc(55 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--60 {
        margin-top: calc(60 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--65 {
        margin-top: calc(65 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--70 {
        margin-top: calc(70 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--75 {
        margin-top: calc(75 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--80 {
        margin-top: calc(80 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--85 {
        margin-top: calc(85 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--90 {
        margin-top: calc(90 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--95 {
        margin-top: calc(95 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--100 {
        margin-top: calc(100 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--105 {
        margin-top: calc(105 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--110 {
        margin-top: calc(110 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--115 {
        margin-top: calc(115 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--120 {
        margin-top: calc(120 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--125 {
        margin-top: calc(125 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--130 {
        margin-top: calc(130 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--135 {
        margin-top: calc(135 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--140 {
        margin-top: calc(140 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--145 {
        margin-top: calc(145 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--150 {
        margin-top: calc(150 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--155 {
        margin-top: calc(155 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--160 {
        margin-top: calc(160 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--165 {
        margin-top: calc(165 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--170 {
        margin-top: calc(170 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--175 {
        margin-top: calc(175 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--180 {
        margin-top: calc(180 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--185 {
        margin-top: calc(185 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--190 {
        margin-top: calc(190 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--195 {
        margin-top: calc(195 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--200 {
        margin-top: calc(200 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--205 {
        margin-top: calc(205 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--210 {
        margin-top: calc(210 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--215 {
        margin-top: calc(215 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--220 {
        margin-top: calc(220 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--225 {
        margin-top: calc(225 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--230 {
        margin-top: calc(230 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--235 {
        margin-top: calc(235 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--240 {
        margin-top: calc(240 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--245 {
        margin-top: calc(245 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--250 {
        margin-top: calc(250 / var(--design-width) * 100vw) !important;
    }
}
.mgt-pc--8 {
    margin-top: var(--spacing-rem-small) !important;
}

.mgt-pc--16 {
    margin-top: var(--spacing-rem) !important;
}

.mgt-pc--24 {
    margin-top: var(--spacing-rem-large) !important;
}

.mgt-pc--32 {
    margin-top: var(--spacing-rem-x-large) !important;
}

.mgt-pc--40 {
    margin-top: calc(var(--spacing-rem) * 2.5) !important;
}

.mgt-pc--48 {
    margin-top: calc(var(--spacing-rem) * 3) !important;
}

.mgt-pc--64 {
    margin-top: calc(var(--spacing-rem) * 4) !important;
}

@media screen and (max-width: 767px) {
    .mgt-sp--32 {
        margin-top: var(--spacing-rem-x-large) !important;
    }
}

@media screen and (max-width: 767px) {
    .mgt-sp--48 {
        margin-top: calc(var(--spacing-rem) * 3) !important;
    }
}

.mgb-pc--32 {
    margin-bottom: var(--spacing-rem-x-large) !important;
}

@media screen and (max-width: 767px) {
    .mgb-sp--32 {
        margin-bottom: var(--spacing-rem-x-large) !important;
    }
}

@media screen and (max-width: 767px) {
    .mgb-sp--96 {
        margin-bottom: 6rem !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: 767px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: calc(5 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--10 {
        margin-bottom: calc(10 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--15 {
        margin-bottom: calc(15 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--20 {
        margin-bottom: calc(20 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--25 {
        margin-bottom: calc(25 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--30 {
        margin-bottom: calc(30 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--35 {
        margin-bottom: calc(35 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--40 {
        margin-bottom: calc(40 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--45 {
        margin-bottom: calc(45 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--50 {
        margin-bottom: calc(50 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--55 {
        margin-bottom: calc(55 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--60 {
        margin-bottom: calc(60 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--65 {
        margin-bottom: calc(65 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--70 {
        margin-bottom: calc(70 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--75 {
        margin-bottom: calc(75 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--80 {
        margin-bottom: calc(80 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--85 {
        margin-bottom: calc(85 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--90 {
        margin-bottom: calc(90 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--95 {
        margin-bottom: calc(95 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--100 {
        margin-bottom: calc(100 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--105 {
        margin-bottom: calc(105 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--110 {
        margin-bottom: calc(110 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--115 {
        margin-bottom: calc(115 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--120 {
        margin-bottom: calc(120 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--125 {
        margin-bottom: calc(125 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--130 {
        margin-bottom: calc(130 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--135 {
        margin-bottom: calc(135 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--140 {
        margin-bottom: calc(140 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--145 {
        margin-bottom: calc(145 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--150 {
        margin-bottom: calc(150 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--155 {
        margin-bottom: calc(155 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--160 {
        margin-bottom: calc(160 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--165 {
        margin-bottom: calc(165 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--170 {
        margin-bottom: calc(170 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--175 {
        margin-bottom: calc(175 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--180 {
        margin-bottom: calc(180 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--185 {
        margin-bottom: calc(185 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--190 {
        margin-bottom: calc(190 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--195 {
        margin-bottom: calc(195 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--200 {
        margin-bottom: calc(200 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--205 {
        margin-bottom: calc(205 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--210 {
        margin-bottom: calc(210 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--215 {
        margin-bottom: calc(215 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--220 {
        margin-bottom: calc(220 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--225 {
        margin-bottom: calc(225 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--230 {
        margin-bottom: calc(230 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--235 {
        margin-bottom: calc(235 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--240 {
        margin-bottom: calc(240 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--245 {
        margin-bottom: calc(245 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--250 {
        margin-bottom: calc(250 / var(--design-width) * 100vw) !important;
    }
}

/* Radix UI Toast サンプル用スタイル */
.ToastRoot {
  background: #fff;
  color: #222;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.15);
  padding: 1rem 1.5rem;
  min-width: 280px;
  max-width: 90vw;
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 1rem;
  border: 1px solid #eee;
}
.ToastTitle {
  font-weight: bold;
  margin-bottom: 0.25rem;
}
.ToastDescription {
  color: #666;
  font-size: 0.95em;
}
.ToastAction {
  margin-top: 0.5rem;
  align-self: flex-end;
}
.ToastViewport {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  outline: none;
}
.Button.large.violet {
  background: #7c3aed;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  cursor: pointer;
  margin-bottom: 2rem;
}
.Button.small.green {
  background: #22c55e;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 0.4rem 1rem;
  font-size: 0.95rem;
  cursor: pointer;
}