@charset "UTF-8";
/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
/* ---------------------------------------------
*   l-header
--------------------------------------------- */
.l-header {
    position: fixed;
    z-index: 1003;
    padding-inline: calc(26 / var(--design-width) * 100vw) calc(23 / var(--design-width) * 100vw);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    width: 100%;
    height: calc(var(--fixed-header-height) / var(--design-width) * 100vw);
    background-color: transparent;
    transition: background-color 0.3s;
}
@media screen and (max-width: 768px) {
    .l-header {
        padding-inline: calc(12 / var(--design-width-sp) * 100vw) 0;
        height: calc(var(--fixed-header-height) / var(--design-width-sp) * 100vw);
        background-color: var(--color-white-1);
    }
}
.l-header__logo-link {
    display: flex;
    width: calc(178 / var(--design-width) * 100vw);
    cursor: pointer;
}
@media screen and (max-width: 768px) {
    .l-header__logo-link {
        width: calc(114 / var(--design-width-sp) * 100vw);
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-header__logo-link {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-header__logo-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header__logo-link img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.l-header.is-active {
    background-color: var(--color-white-1);
}

/* ---------------------------------------------
*   l-search-form
--------------------------------------------- */
.l-search-form {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1000px;
    width: 100%;
    margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .l-search-form {
        display: block;
        padding-inline: 16px;
    }
}
.l-search-form__term {
    display: block;
    width: 136px;
    flex-shrink: 0;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .l-search-form__term {
        font-size: 16px;
    }
}
.l-search-form__inputs {
    position: relative;
    width: 100%;
    height: 48px;
}
@media screen and (max-width: 768px) {
    .l-search-form__inputs {
        margin-top: 16px;
    }
}
.l-search-form__input {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 12px;
    color: var(--color-base-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 400;
    border-radius: 4px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 768px) {
    .l-search-form__input {
        font-size: 16px;
    }
}
.l-search-form__input::-moz-placeholder {
    color: var(--color-gray-4);
}
.l-search-form__input::placeholder {
    color: var(--color-gray-4);
}
.l-search-form__submit-btn {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(56 / var(--root-fz) * 1rem);
    height: 100%;
    color: var(--color-white-1);
    background-color: var(--color-red-1);
    border-radius: 0 4px 4px 0;
}
@media (hover: hover) and (pointer: fine) {
    .l-search-form__submit-btn {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-search-form__submit-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-search-form__submit-btn-txt {
    display: inline-block;
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1;
}
@media screen and (max-width: 768px) {
    .l-search-form__submit-btn-txt {
        font-size: 16px;
    }
}

/* ---------------------------------------------
*   l-header-menu-button
--------------------------------------------- */
.l-header-menu-button {
    display: none;
    position: relative;
    width: calc(60 / var(--design-width-sp) * 100vw);
    height: calc(60 / var(--design-width-sp) * 100vw);
    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;
}
@media screen and (max-width: 768px) {
    .l-header-menu-button {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-header-menu-button {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-header-menu-button:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-menu-button__lines {
    position: relative;
    display: block;
    width: calc(20 / var(--design-width-sp) * 100vw);
    height: calc(14 / var(--design-width-sp) * 100vw);
}
.l-header-menu-button__line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    padding-top: calc(1 / var(--design-width) * 100vw);
    background-color: var(--color-black-2);
    transition: 0.3s;
}
.l-header-menu-button__line--top {
    top: 0;
}
.is-menu-opened .l-header-menu-button__line--top {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

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

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

/* ---------------------------------------------
*   l-header-menu
--------------------------------------------- */
.l-header-menu {
    height: 100%;
    display: flex;
}
@media screen and (max-width: 768px) {
    .l-header-menu {
        position: fixed;
        inset: calc(var(--fixed-header-height) / var(--design-width) * 100vw) 0 0;
        display: block;
        background-color: var(--color-white-1);
        overflow-y: auto;
        overscroll-behavior-y: none;
        height: calc(100vh - var(--fixed-header-height) / var(--design-width) * 100vw);
        opacity: 0;
        visibility: hidden;
        scrollbar-width: none;
    }
    .l-header-menu::-webkit-scrollbar {
        display: none;
    }
    .l-header-menu.is-animating {
        transition: opacity 0.3s, visibility 0.3s;
    }
    .l-header-menu.is-menu-opened {
        visibility: visible;
        opacity: 1;
    }
}
@media screen and (max-width: 768px) {
    .l-header-menu__container {
        overflow-y: auto;
        height: calc(100% + 1px);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        box-sizing: border-box;
    }
}
.l-header-menu__body {
    height: 100%;
}
@media screen and (min-width: 769px) {
    .l-header-menu__body {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .l-header-menu__body {
        padding: calc(7 / var(--design-width-sp) * 100vw) calc(20 / var(--design-width-sp) * 100vw);
    }
}

/* ---------------------------------------------
*   l-header-contact
--------------------------------------------- */
.l-header-contact {
    padding: calc(14 / var(--design-width) * 100vw) calc(28 / var(--design-width) * 100vw) calc(14 / var(--design-width) * 100vw) calc(23 / var(--design-width) * 100vw);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(10 / var(--design-width) * 100vw);
    color: var(--color-white-1);
    font-size: calc(15 / var(--design-width) * 100vw);
    border-radius: 9999px;
    background-color: var(--color-green-2);
}
@media (hover: hover) and (pointer: fine) {
    .l-header-contact {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-header-contact:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-contact::before {
    content: "";
    display: block;
    width: calc(20 / var(--design-width) * 100vw);
    aspect-ratio: 204/150;
    background: url(../img/common/ico_contact.svg) 0 0 no-repeat;
    background-size: 100% auto;
    flex-shrink: 0;
}

/*  l-header-contact-wrap
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .l-header-contact-wrap {
        padding-block: 0 calc(25 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   l-header-search
--------------------------------------------- */
.l-header-search {
    position: relative;
    display: block;
    width: calc(51 / var(--design-width) * 100vw);
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-4);
    background-color: var(--color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .l-header-search {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-header-search:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-search::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 48.3%;
    display: block;
    width: calc(21 / var(--design-width) * 100vw);
    aspect-ratio: 21/21;
    background: url(../img/common/ico_search.svg) 0 0 no-repeat;
    background-size: 100% auto;
    transform: translate(-50%, -50%);
}

/* ---------------------------------------------
*   l-header-search-sp
--------------------------------------------- */
.l-header-search-sp {
    position: relative;
    height: calc(50 / var(--design-width-sp) * 100vw);
}
.l-header-search-sp__input {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding-inline: calc(20 / var(--design-width-sp) * 100vw) calc(60 / var(--design-width-sp) * 100vw);
    border: calc(1 / var(--design-width-sp) * 100vw) solid var(--color-gray-4);
    border-radius: 999px;
    font-size: calc(16 / var(--design-width) * 100vw);
}
.l-header-search-sp__submit-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: calc(10 / var(--design-width-sp) * 100vw);
    width: calc(40 / var(--design-width-sp) * 100vw);
    height: 100%;
    transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-search-sp__submit-btn {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-header-search-sp__submit-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-search-sp__submit-btn img {
    width: calc(21 / var(--design-width-sp) * 100vw);
    height: auto;
}

/* ---------------------------------------------
*   l-header-search-pc
--------------------------------------------- */
.l-header-search-pc {
    position: relative;
}
.l-header-search-pc__edit {
    display: flex;
    justify-content: space-between;
    gap: calc(4 / var(--design-width) * 100vw);
    margin-top: calc(17 / var(--design-width) * 100vw);
}
.l-header-search-pc__input {
    padding-inline: calc(20 / var(--design-width) * 100vw);
    display: block;
    width: calc(205 / var(--design-width) * 100vw);
    height: calc(56 / var(--design-width) * 100vw);
    font-size: calc(15 / var(--design-width) * 100vw);
    font-weight: bold;
    box-sizing: border-box;
    border-radius: calc(10 / var(--design-width) * 100vw);
    background-color: var(--color-gray-5);
}
.l-header-search-pc__input:placeholder {
    color: #b3b3b3;
}
.l-header-search-pc__submit-btn {
    display: block;
    width: calc(40 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .l-header-search-pc__submit-btn {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-header-search-pc__submit-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-search-pc__submit-btn img {
    width: calc(21 / var(--design-width) * 100vw);
    height: auto;
}

/*  l-header-search-wrap
--------------------------------------------- */
.l-header-search-wrap {
    position: relative;
}
.l-header-search-wrap .l-gnav__target-inner {
    left: auto;
    right: 0;
    transform: translateX(0);
}

/* ---------------------------------------------
*   l-gnav
--------------------------------------------- */
@media screen and (min-width: 769px) {
    .l-gnav {
        padding-top: calc(4 / var(--design-width) * 100vw);
        height: 100%;
        margin-right: calc(15 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .l-gnav {
        height: auto;
        margin-top: calc(11 / var(--design-width-sp) * 100vw);
    }
}
.l-gnav__list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: calc(30 / var(--design-width) * 100vw);
    height: 100%;
}
@media screen and (max-width: 768px) {
    .l-gnav__list {
        display: block;
        width: 100%;
    }
}
@media screen and (min-width: 769px) {
    .l-gnav__list {
        flex-wrap: wrap;
        /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
        -ms-overflow-style: none;
        /*Firefoxへの対応*/
        scrollbar-width: none;
        /*Google Chrome、Safariへの対応*/
    }
    .l-gnav__list::-webkit-scrollbar {
        display: none;
    }
}
.l-gnav__item {
    flex-shrink: 0;
    height: 100%;
}
@media screen and (min-width: 769px) {
    .l-gnav__item {
        position: relative;
    }
}
@media screen and (max-width: 768px) {
    .l-gnav__item {
        border-bottom: calc(1 / var(--design-width-sp) * 100vw) solid var(--color-gray-4);
    }
}
.l-gnav__trigger-txt {
    position: relative;
}
@media screen and (min-width: 769px) {
    .l-gnav__trigger-txt::before {
        content: "";
        position: absolute;
        bottom: calc(-7 / var(--design-width) * 100vw);
        left: 0;
        display: block;
        width: 100%;
        height: calc(2 / var(--design-width) * 100vw);
        background-color: transparent;
    }
}
.l-gnav__trigger {
    position: relative;
    display: flex;
    align-items: center;
    height: calc(100% + 1px);
    color: var(--color-base-1);
}
@media screen and (max-width: 768px) {
    .l-gnav__trigger {
        padding-block: calc(17 / var(--design-width-sp) * 100vw);
        width: 100%;
    }
}
@media screen and (max-width: 768px) and (hover: hover) and (pointer: fine) {
    .l-gnav__trigger {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-gnav__trigger:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .l-gnav__trigger::before, .l-gnav__trigger::after {
        content: "";
        position: absolute;
        top: 50%;
        right: calc(12 / var(--design-width-sp) * 100vw);
        display: block;
        width: calc(1 / var(--design-width-sp) * 100vw);
        height: calc(15 / var(--design-width-sp) * 100vw);
        background-color: var(--color-black-2);
        transform: translateY(-50%);
    }
    .l-gnav__trigger::after {
        transform: translateY(-50%) rotate(90deg);
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-gnav__trigger::after {
        transition: transform 0.3s;
    }
}
@media screen and (min-width: 769px) {
    .is-menu-opened .l-gnav__trigger::after {
        transition: transform 0.3s;
    }
    .is-menu-opened .l-gnav__trigger .l-gnav__trigger-txt::before {
        background-color: var(--color-blue-1);
    }
    .is-menu-opened .l-gnav__trigger::after {
        transform: translateY(-50%) rotate(-90deg);
    }
}

@media screen and (max-width: 768px) {
    .js-acc-scope.is-open .l-gnav__trigger .l-gnav__trigger-txt::before {
        opacity: 0;
    }
    .js-acc-scope.is-open .l-gnav__trigger::before {
        opacity: 0;
    }
}

.l-gnav__trigger--notoggle::before, .l-gnav__trigger--notoggle::after {
    display: none;
}
@media screen and (max-width: 768px) {
    .l-gnav__trigger-txt {
        text-align: left;
    }
}
.l-gnav__target-inner {
    display: block;
}
@media screen and (min-width: 769px) {
    .l-gnav__target-inner {
        position: absolute;
        z-index: 1002;
        top: 100%;
        padding-top: calc(17 / var(--design-width) * 100vw);
        left: 50%;
        transform: translate(-50%, calc(-20 / var(--design-width) * 100vw));
        height: calc(100vh - var(--fixed-header-height) / var(--design-width) * 100vw - 17 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .l-gnav__target-inner {
        width: 100%;
    }
}
@media screen and (min-width: 769px) {
    .l-gnav__bg {
        position: fixed;
        z-index: 1000;
        top: 0;
        left: 0;
        right: 0;
        width: 100vw;
        height: 100%;
        margin-left: auto;
        margin-right: auto;
        background-color: rgba(var(--color-black-1-rgb), 0.5);
        opacity: 0;
        transition: opacity 0.3s ease-in-out;
    }
    .is-menu-opened .l-gnav__bg {
        opacity: 1;
    }
}
@media screen and (max-width: 768px) {
    .l-gnav__target {
        padding-left: calc(16 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   l-gnav-content
--------------------------------------------- */
.l-gnav-content {
    text-align: left;
    box-sizing: border-box;
}
@media screen and (min-width: 769px) {
    .l-gnav-content {
        overflow-y: auto;
        overscroll-behavior-y: none;
        scrollbar-width: none;
        max-height: 100%;
        border-radius: calc(10 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .l-gnav-content__overlay {
        position: relative;
        z-index: 1003;
        pointer-events: auto;
        overflow-y: auto;
        height: calc(100% + 1px);
    }
}
@media screen and (min-width: 769px) {
    .l-gnav-content__container {
        padding-block: calc(27 / var(--design-width) * 100vw);
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        width: -moz-fit-content;
        width: fit-content;
        background-color: var(--color-white-1);
        border-radius: calc(10 / var(--design-width) * 100vw);
        min-width: calc(300 / var(--design-width) * 100vw);
        padding-inline: calc(30 / var(--design-width) * 100vw);
        display: block;
    }
}
.l-gnav-content__head .l-gnav-link {
    position: static;
    align-items: center;
}
@media screen and (max-width: 768px) {
    .l-gnav-content__head .l-gnav-link {
        width: -moz-fit-content;
        width: fit-content;
    }
    .l-gnav-content__head .l-gnav-link::before {
        opacity: 0;
    }
}
.l-gnav-content__body {
    width: 100%;
}
@media screen and (max-width: 768px) {
    .l-gnav-content__body {
        border-top: 1px solid var(--color-blue-1);
    }
}
.l-gnav-content__ttl {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .l-gnav-content__ttl {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-gnav-content__ttl:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .l-gnav-content__ttl {
        padding-block: 0 calc(10 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   l-gnav-list
--------------------------------------------- */
.l-gnav-list {
    display: block;
}
.l-gnav-list__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
}
.l-gnav-list__item:last-of-type .l-gnav-link {
    border-bottom: none;
}

/* ---------------------------------------------
*   l-gnav-link
--------------------------------------------- */
.l-gnav-link {
    position: relative;
    padding-block: calc(16 / var(--design-width) * 100vw);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    border-bottom: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-4);
}
@media (hover: hover) and (pointer: fine) {
    .l-gnav-link {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-gnav-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .l-gnav-link {
        padding-block: calc(8 / var(--design-width) * 100vw);
    }
}
.l-gnav-link::after {
    content: "";
    display: block;
    width: calc(15 / var(--design-width) * 100vw);
    aspect-ratio: 300/119;
    -webkit-mask: url(../img/common/ico_arrow-2.svg) 0 0 no-repeat;
            mask: url(../img/common/ico_arrow-2.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: var(--color-blue-1);
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .l-gnav-link::after {
        margin-right: calc(5 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .l-contents {
        padding-top: calc(var(--fixed-header-height) / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   l-container
--------------------------------------------- */
.l-container {
    padding-inline: calc(var(--contents-side-padding) / var(--design-width) * 100vw);
    max-width: calc((var(--contents-width) * 1px + var(--contents-side-padding) * 2px) / var(--design-width) * 100vw);
    width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
}
@media screen and (max-width: 768px) {
    .l-container {
        max-width: none;
    }
}
@media screen and (max-width: 768px) {
    .l-container--sp-none {
        padding-inline: 0;
    }
}

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

/* ---------------------------------------------
*   l-side
--------------------------------------------- */
.l-side {
    padding-top: calc(37 / var(--design-width) * 100vw);
    padding-inline: calc(var(--contents-side-padding) / var(--design-width) * 100vw);
    display: grid;
    grid-template-columns: calc(268 / var(--design-width) * 100vw) 1fr;
    gap: calc(30 / var(--design-width) * 100vw);
    max-width: calc(1127 / var(--design-width) * 100vw);
    width: 100%;
    margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .l-side {
        padding-top: calc(39 / var(--design-width) * 100vw);
        gap: calc(58 / var(--design-width) * 100vw);
        display: flex;
        flex-direction: column-reverse;
        max-width: none;
    }
}

/* ---------------------------------------------
*   breadcrumbs
--------------------------------------------- */
#breadcrumbs ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(4 / var(--design-width) * 100vw);
}
#breadcrumbs ul li {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: calc(4 / var(--design-width) * 100vw);
    color: var(--color-gray-1);
    font-family: var(--ff-zen);
    font-size: calc(14 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.7142857143;
}
#breadcrumbs ul li:not(:last-of-type)::after {
    content: ">";
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    #breadcrumbs ul li a:hover {
        text-decoration: underline;
    }
}

/* ---------------------------------------------
*   l-footer
--------------------------------------------- */
.l-footer {
    margin-top: calc(95 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .l-footer {
        margin-top: calc(30 / var(--design-width) * 100vw);
    }
}
.l-footer__container {
    padding: calc(41 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .l-footer__container {
        padding: 0;
    }
}
.l-footer__content {
    display: grid;
    grid-template-columns: calc(444 / var(--design-width) * 100vw) 1fr;
    gap: calc(80 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .l-footer__content {
        display: block;
    }
}
@media screen and (max-width: 768px) {
    .l-footer__left {
        padding-inline: calc(15 / var(--design-width) * 100vw);
    }
}
.l-footer__right {
    margin-top: calc(-3 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .l-footer__right {
        margin-top: calc(27 / var(--design-width) * 100vw);
    }
}
.l-footer__copyright {
    margin-top: calc(60 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .l-footer__copyright {
        text-align: center;
        margin-top: calc(33 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   l-footer-logo
--------------------------------------------- */
.l-footer-logo {
    display: block;
    width: calc(177 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-logo {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-footer-logo:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .l-footer-logo {
        width: calc(135 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   l-footer-company
--------------------------------------------- */
.l-footer-company {
    margin-top: calc(39 / var(--design-width) * 100vw);
}
.l-footer-company__list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(31 / var(--design-width) * 100vw) calc(50 / var(--design-width) * 100vw);
}
.l-footer-company__item {
    width: calc((100% - 50 / var(--design-width) * 100vw) / 2);
}
.l-footer-company__item:first-of-type {
    width: 100%;
}
.l-footer-company__detail {
    margin-top: calc(1 / var(--design-width) * 100vw);
}

/* ---------------------------------------------
*   l-footer-nav
--------------------------------------------- */
.l-footer-nav__list {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    gap: calc(31 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .l-footer-nav__list {
        gap: 0;
        flex-wrap: wrap;
        border-bottom: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-4);
    }
}
@media screen and (min-width: 769px) {
    .l-footer-nav__item:nth-of-type(2) {
        width: calc(162 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .l-footer-nav__item:nth-of-type(3) {
        width: calc(132 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .l-footer-nav__item:nth-of-type(4) {
        width: calc(169 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .l-footer-nav__item:nth-of-type(5) {
        width: calc(117 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .l-footer-nav__item {
        padding: calc(16 / var(--design-width) * 100vw);
        width: 50%;
        border-top: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-4);
        text-align: center;
    }
    .l-footer-nav__item:nth-of-type(2n + 1) {
        border-right: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-4);
    }
    .l-footer-nav__item:last-of-type {
        width: 100%;
        border-right: none;
    }
}
.l-footer-nav__link {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (min-width: 769px) and (hover: hover) and (pointer: fine) {
    .l-footer-nav__link:hover {
        text-decoration: underline;
    }
}
@media screen and (max-width: 768px) {
    .l-footer-nav__link {
        width: 100%;
    }
}
@media screen and (max-width: 768px) and (hover: hover) and (pointer: fine) {
    .l-footer-nav__link {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-footer-nav__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-footer-nav__lv1-list {
    margin-top: calc(10 / var(--design-width) * 100vw);
}
.l-footer-nav__lv1-list-item + .l-footer-nav__lv1-list-item {
    margin-top: calc(10 / var(--design-width) * 100vw);
}
.l-footer-nav__lv1-list-link {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-nav__lv1-list-link:hover {
        text-decoration: underline;
    }
}

/* ---------------------------------------------
*   l-footer-sub-nav
--------------------------------------------- */
.l-footer-sub-nav {
    margin-top: calc(32 / var(--design-width) * 100vw);
}
.l-footer-sub-nav__link {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: calc(9 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-sub-nav__link:hover {
        text-decoration: underline;
    }
}

/* ---------------------------------------------
*   l-pagetop
--------------------------------------------- */
.l-pagetop {
    position: fixed;
    right: calc(45 / var(--design-width) * 100vw);
    bottom: calc(45 / var(--design-width) * 100vw);
    z-index: 9;
    width: calc(90 / var(--design-width) * 100vw);
    display: block;
    opacity: 0;
    transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
    .l-pagetop {
        right: calc(15 / var(--design-width) * 100vw);
        bottom: calc(15 / var(--design-width) * 100vw);
        width: calc(40 / var(--design-width) * 100vw);
    }
}
.l-pagetop.is-active {
    opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
    .l-pagetop {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-pagetop:hover {
        opacity: var(--hover-opacity-ratio);
    }
}

/* ---------------------------------------------
*   l-footer-contact
--------------------------------------------- */
.l-footer-contact {
    padding: calc(24 / var(--design-width) * 100vw) calc(28 / var(--design-width) * 100vw);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(10 / var(--design-width) * 100vw);
    color: var(--color-white-1);
    font-size: calc(15 / var(--design-width) * 100vw);
    background-color: var(--color-green-2);
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-contact {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .l-footer-contact:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-footer-contact::before {
    content: "";
    display: block;
    width: calc(20 / var(--design-width) * 100vw);
    aspect-ratio: 204/150;
    background: url(../img/common/ico_contact.svg) 0 0 no-repeat;
    background-size: 100% auto;
    flex-shrink: 0;
}
.l-footer-contact__txt {
    margin-top: calc(-1 / var(--design-width) * 100vw);
}

/* ---------------------------------------------
*   c-block-recruit
--------------------------------------------- */
.c-block-recruit {
    padding-top: calc(36 / var(--design-width) * 100vw);
}
.c-block-recruit__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: calc(10 / var(--design-width) * 100vw);
    margin-top: calc(33 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-block-recruit__list {
        grid-template-columns: repeat(2, 1fr);
    }
}
.c-block-recruit__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-recruit__link {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-block-recruit__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}

/* ---------------------------------------------
*   c-box-contact
--------------------------------------------- */
.c-box-contact__link {
    display: flex;
    width: 100%;
    height: calc(400 / var(--design-width) * 100vw);
    border-radius: calc(10 / var(--design-width) * 100vw);
    overflow: hidden;
    background: url(../img/common/bg_contact.png) center center no-repeat;
    background-size: cover;
}
@media (hover: hover) and (pointer: fine) {
    .c-box-contact__link {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-box-contact__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-box-contact__link {
        height: calc(350 / var(--design-width) * 100vw);
        border-radius: 0;
    }
}
.c-box-contact__inner {
    position: relative;
    display: flex;
}
@media screen and (max-width: 768px) {
    .c-box-contact__inner {
        padding-top: calc(37 / var(--design-width) * 100vw);
        display: block;
        width: calc(265 / var(--design-width) * 100vw);
        margin-inline: auto;
    }
}
.c-box-contact__txts {
    padding-left: calc(4 / var(--design-width) * 100vw);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
@media screen and (max-width: 768px) {
    .c-box-contact__txts {
        padding-left: 0;
    }
}
.c-box-contact__ttl {
    font-size: calc(40 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-box-contact__ttl {
        font-size: calc(30 / var(--design-width) * 100vw);
    }
}
.c-box-contact__ttl small {
    display: block;
    font-size: calc(18 / var(--design-width) * 100vw);
    margin-top: calc(3 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-box-contact__ttl small {
        font-size: calc(16 / var(--design-width) * 100vw);
        margin-top: calc(8 / var(--design-width) * 100vw);
    }
}
.c-box-contact__txt {
    font-size: calc(18 / var(--design-width) * 100vw);
    line-height: 1.7777777778;
    margin-top: calc(29 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-box-contact__txt {
        font-size: calc(15 / var(--design-width) * 100vw);
        line-height: 1.7333333333;
        margin-top: calc(24 / var(--design-width) * 100vw);
    }
}
.c-box-contact__arr {
    position: absolute;
    top: 49%;
    right: 2.1%;
    display: block;
    width: calc(140 / var(--design-width) * 100vw);
    aspect-ratio: 1/1;
    border: calc(1 / var(--design-width) * 100vw) solid var(--color-white-1);
    border-radius: 50%;
    transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
    .c-box-contact__arr {
        width: calc(53 / var(--design-width) * 100vw);
        top: auto;
        bottom: 12%;
        right: 50%;
        transform: translateX(50%);
    }
}
.c-box-contact__arr::after {
    content: "";
    position: absolute;
    top: 48.2%;
    left: 51.5%;
    display: block;
    width: calc(27 / var(--design-width) * 100vw);
    aspect-ratio: 27/10;
    background: url(../img/common/ico_arrow.svg) 0 0 no-repeat;
    background-size: contain;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .c-box-contact__arr::after {
        width: calc(10 / var(--design-width) * 100vw);
        aspect-ratio: 300/122;
        background: url(../img/common/sp/ico_arrow.svg) 0 0 no-repeat;
        background-size: 100% auto;
    }
}

/* ---------------------------------------------
*   c-btn-1
--------------------------------------------- */
.c-btn-1 {
    padding: calc(17 / var(--design-width) * 100vw) calc(69 / var(--design-width) * 100vw) calc(19 / var(--design-width) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    color: var(--color-white-1);
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: bold;
    background-color: var(--color-blue-1);
    border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-1 {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-btn-1:hover {
        opacity: var(--hover-opacity-ratio);
    }
}

/* ---------------------------------------------
*   c-card-technical
--------------------------------------------- */
.c-card-technical {
    position: relative;
}
.c-card-technical__link {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: var(--color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-card-technical__link {
        transition: opacity 0.3s;
    }
    .c-card-technical__link:hover {
        opacity: 0.3;
    }
}
.c-card-technical__article {
    display: block;
}
.c-card-technical__article > *:last-child {
    margin-bottom: 0;
}
.c-card-technical__fig {
    padding: calc(10 / var(--design-width) * 100vw);
    border-radius: calc(10 / var(--design-width) * 100vw);
    border: 1px solid var(--color-gray-4);
    margin-block: calc(7 / var(--design-width) * 100vw) calc(13 / var(--design-width) * 100vw);
    aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
    .c-card-technical__fig {
        padding: calc(6 / var(--design-width) * 100vw);
        border-radius: calc(7 / var(--design-width) * 100vw);
        margin-block: calc(3 / var(--design-width) * 100vw) calc(8 / var(--design-width) * 100vw);
    }
}
.c-card-technical__fig img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}
.c-card-technical--products .c-card-technical__ttl {
    margin-block: calc(9 / var(--design-width) * 100vw) calc(6 / var(--design-width) * 100vw);
}

/* ---------------------------------------------
*   c-card-2
--------------------------------------------- */
.c-card-2 {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-2 {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-card-2:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-card-2__ttl {
    display: block;
    margin-block: calc(15 / var(--design-width) * 100vw) calc(1 / var(--design-width) * 100vw);
}
.c-card-2__txt {
    display: block;
}

/* ---------------------------------------------
*   c-cassette
--------------------------------------------- */
/* ---------------------------------------------
*   c-column-1
--------------------------------------------- */
.c-column-1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(24 / var(--design-width) * 100vw) calc(32 / var(--design-width) * 100vw);
    margin-top: calc(7 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-column-1 {
        grid-template-columns: repeat(2, 1fr);
        gap: calc(18 / var(--design-width) * 100vw);
        margin-top: 0;
    }
}
.c-column-1__item {
    display: contents;
}
.c-column-1__item--block {
    display: block;
}
@media screen and (min-width: 769px) {
    .c-column-1--2col {
        grid-template-columns: repeat(2, 1fr);
        gap: calc(45 / var(--design-width) * 100vw) calc(40 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .c-column-1--2col {
        grid-template-columns: repeat(1, 1fr);
        gap: calc(40 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .c-column-1--5col {
        grid-template-columns: repeat(5, 1fr);
        gap: calc(28 / var(--design-width) * 100vw) calc(24 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-figure
--------------------------------------------- */
/* ---------------------------------------------
*   searchform
--------------------------------------------- */
#searchform {
    padding: calc(25 / var(--design-width) * 100vw) calc(35 / var(--design-width) * 100vw) calc(29 / var(--design-width) * 100vw);
    display: flex;
    flex-wrap: wrap;
    gap: calc(18 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw);
    background-color: var(--color-blue-2);
    border-radius: calc(10 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    #searchform {
        padding: calc(var(--contents-side-padding) / var(--design-width) * 100vw);
        border-radius: 0;
    }
}
#searchform .title {
    padding-left: calc(5 / var(--design-width) * 100vw);
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: calc(27 / var(--design-width) * 100vw);
    font-size: calc(18 / var(--design-width) * 100vw);
    font-weight: bold;
    line-height: 1.7222222222;
}
@media screen and (min-width: 769px) {
    #searchform .title {
        flex-shrink: 0;
    }
}
@media screen and (max-width: 768px) {
    #searchform .title {
        padding-left: 0;
        flex-wrap: wrap;
        gap: 0;
    }
}
#searchform .title .message {
    padding-left: 1rem;
    text-indent: -1rem;
    font-size: calc(15 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.8;
    margin-top: calc(2 / var(--design-width) * 100vw);
}
#searchform select, #searchform input {
    color: var(--color-base-1);
    font-size: calc(15 / var(--design-width) * 100vw);
    line-height: 2;
    border-radius: calc(10 / var(--design-width) * 100vw);
    background-color: var(--color-white-1);
    border: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-2);
    height: calc(57 / var(--design-width) * 100vw);
}
#searchform select::-moz-placeholder, #searchform input::-moz-placeholder {
    color: var(--color-gray-3);
}
#searchform select::placeholder, #searchform select:invalid, #searchform input::placeholder, #searchform input:invalid {
    color: var(--color-gray-3);
}
#searchform input#q {
    padding-inline: calc(19 / var(--design-width) * 100vw);
    width: calc(445 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    #searchform input#q {
        width: 100%;
    }
}
#searchform select {
    padding-inline: calc(19 / var(--design-width) * 100vw);
    width: calc(310 / var(--design-width) * 100vw);
    background: var(--color-white-1) url("../img/common/ico_arrow-1.svg") right calc(20 / var(--design-width) * 100vw) center/calc(11 / var(--design-width) * 100vw) auto no-repeat;
}
@media screen and (max-width: 768px) {
    #searchform select {
        width: 100%;
    }
}
#searchform button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(134 / var(--design-width) * 100vw);
    height: calc(57 / var(--design-width) * 100vw);
    color: var(--color-white-1);
    font-size: calc(18 / var(--design-width) * 100vw);
    font-weight: bold;
    line-height: 1;
    border-radius: calc(10 / var(--design-width) * 100vw);
    background-color: var(--color-blue-1);
}
@media (hover: hover) and (pointer: fine) {
    #searchform button {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    #searchform button:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    #searchform button {
        width: 100%;
    }
}

/* ---------------------------------------------
*   c-form
--------------------------------------------- */
.c-form {
    font-size: calc(15 / var(--design-width) * 100vw);
}
@media screen and (min-width: 769px) {
    .c-form {
        padding-right: calc(10 / var(--design-width) * 100vw);
    }
}
.c-form__item {
    display: grid;
    grid-template-columns: calc(222 / var(--design-width) * 100vw) 1fr;
    gap: calc(29 / var(--design-width) * 100vw);
    margin-top: calc(34 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-form__item {
        display: block;
    }
}
.c-form__term {
    padding-top: calc(12 / var(--design-width) * 100vw);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}
@media screen and (max-width: 768px) {
    .c-form__term {
        padding-top: 0;
        justify-content: flex-start;
    }
}
.c-form__tag {
    padding: calc(7 / var(--design-width) * 100vw) calc(9 / var(--design-width) * 100vw) calc(8 / var(--design-width) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-white-1);
    font-size: calc(13 / var(--design-width) * 100vw);
    font-weight: bold;
    line-height: 1;
    border-radius: calc(5 / var(--design-width) * 100vw);
    background-color: var(--color-gray-7);
    margin-top: calc(3 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-form__tag {
        margin-top: calc(2 / var(--design-width) * 100vw);
    }
}
.c-form__tag--required {
    background-color: var(--color-red-1);
}
@media screen and (max-width: 768px) {
    .c-form__desc {
        margin-top: calc(10 / var(--design-width) * 100vw);
    }
}

/*  c-form-name
--------------------------------------------- */
.c-form-name {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(27 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-form-name {
        gap: calc(17 / var(--design-width) * 100vw);
    }
}
.c-form-name__item {
    display: grid;
    grid-template-columns: calc(45 / var(--design-width) * 100vw) 1fr;
    align-items: center;
    gap: 0;
}
@media screen and (max-width: 768px) {
    .c-form-name__item {
        grid-template-columns: calc(25 / var(--design-width) * 100vw) 1fr;
    }
}

/*  c-input
--------------------------------------------- */
.c-input input, .c-input textarea {
    padding: calc(16 / var(--design-width) * 100vw) calc(19 / var(--design-width) * 100vw);
    width: 100%;
    border: 1px solid var(--color-gray-8);
    border-radius: calc(10 / var(--design-width) * 100vw);
    background-color: var(--color-gray-9);
    font-size: calc(15 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-input input, .c-input textarea {
        border-radius: calc(5 / var(--design-width) * 100vw);
    }
}
.c-input input:placeholder, .c-input textarea:placeholder {
    color: var(--color-gray-10);
}
.c-input--textarea textarea {
    height: calc(210 / var(--design-width) * 100vw);
}

/*  c-checkbox
--------------------------------------------- */
.c-checkbox {
    padding-top: calc(5 / var(--design-width) * 100vw);
}
.c-checkbox label {
    position: relative;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    cursor: pointer;
    margin-top: calc(12 / var(--design-width) * 100vw);
}
@media (hover: hover) and (pointer: fine) {
    .c-checkbox label {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-checkbox label:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-checkbox label input {
    position: absolute;
    pointer-events: none;
    opacity: 0;
}
.c-checkbox label span {
    position: relative;
    display: inline-block;
    padding-left: calc(38 / var(--design-width) * 100vw);
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    font-size: calc(15 / var(--design-width) * 100vw);
}
.c-checkbox label span::before, .c-checkbox label span::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
    display: inline-block;
}
.c-checkbox label span::before {
    top: 0;
    left: 0;
    width: calc(25 / var(--design-width) * 100vw);
    height: calc(25 / var(--design-width) * 100vw);
    border: 1px solid var(--color-gray-8);
    background-color: var(--color-gray-9);
    border-radius: calc(5 / var(--design-width) * 100vw);
}
.c-checkbox label span::after {
    top: calc(4 / var(--design-width) * 100vw);
    left: calc(8 / var(--design-width) * 100vw);
    width: calc(8 / var(--design-width) * 100vw);
    height: calc(14 / var(--design-width) * 100vw);
    border-right: calc(2 / var(--design-width) * 100vw) solid var(--color-blue-1);
    border-bottom: calc(2 / var(--design-width) * 100vw) solid var(--color-blue-1);
    transform: rotateZ(45deg);
    opacity: 0;
}
.c-checkbox label input:checked + span::after {
    opacity: 1;
}

/*  c-form-btn
--------------------------------------------- */
.c-form-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(133 / var(--design-width) * 100vw);
    height: calc(50 / var(--design-width) * 100vw);
    color: var(--color-white-1);
    font-size: calc(15 / var(--design-width) * 100vw);
    font-weight: bold;
    border-radius: calc(10 / var(--design-width) * 100vw);
    background-color: var(--color-green-2);
}
@media (hover: hover) and (pointer: fine) {
    .c-form-btn {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-form-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-form-btn {
        border-radius: calc(5 / var(--design-width) * 100vw);
    }
}

/*  c-form-address
--------------------------------------------- */
.c-form-address__item {
    display: grid;
    grid-template-columns: calc(244 / var(--design-width) * 100vw) 1fr;
    align-items: center;
    gap: 0;
}
@media screen and (max-width: 768px) {
    .c-form-address__item {
        display: block;
    }
}
.c-form-address__item + .c-form-address__item {
    margin-top: calc(24 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-form-address__item + .c-form-address__item {
        margin-top: calc(15 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .c-form-address__desc {
        margin-top: calc(8 / var(--design-width) * 100vw);
    }
}
.c-form-address__desc--zip {
    display: grid;
    grid-template-columns: calc(201 / var(--design-width) * 100vw) 1fr;
    align-items: center;
    gap: calc(13 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-form-address__desc--zip {
        grid-template-columns: 1fr auto;
    }
}

/* ---------------------------------------------
*   c-form-submit
--------------------------------------------- */
.c-form-submit {
    margin-top: calc(48 / var(--design-width) * 100vw);
}
.c-form-submit__agree label {
    position: relative;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    cursor: pointer;
    margin-inline: auto;
}
@media (hover: hover) and (pointer: fine) {
    .c-form-submit__agree label {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-form-submit__agree label:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-form-submit__agree label input {
    position: absolute;
    pointer-events: none;
    opacity: 0;
}
.c-form-submit__agree label .c-form-submit__txt {
    position: relative;
    display: inline-block;
    padding-left: calc(38 / var(--design-width) * 100vw);
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    font-size: calc(15 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-form-submit__agree label .c-form-submit__txt {
        font-size: calc(13 / var(--design-width) * 100vw);
    }
}
.c-form-submit__agree label .c-form-submit__txt::before, .c-form-submit__agree label .c-form-submit__txt::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
    display: inline-block;
}
.c-form-submit__agree label .c-form-submit__txt::before {
    top: 0;
    left: 0;
    width: calc(25 / var(--design-width) * 100vw);
    height: calc(25 / var(--design-width) * 100vw);
    border: 1px solid var(--color-gray-8);
    background-color: var(--color-gray-9);
    border-radius: calc(5 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-form-submit__agree label .c-form-submit__txt::before {
        top: calc(-3 / var(--design-width) * 100vw);
    }
}
.c-form-submit__agree label .c-form-submit__txt::after {
    top: calc(4 / var(--design-width) * 100vw);
    left: calc(8 / var(--design-width) * 100vw);
    width: calc(8 / var(--design-width) * 100vw);
    height: calc(14 / var(--design-width) * 100vw);
    border-right: calc(2 / var(--design-width) * 100vw) solid var(--color-blue-1);
    border-bottom: calc(2 / var(--design-width) * 100vw) solid var(--color-blue-1);
    transform: rotateZ(45deg);
    opacity: 0;
}
@media screen and (max-width: 768px) {
    .c-form-submit__agree label .c-form-submit__txt::after {
        top: calc(1 / var(--design-width) * 100vw);
    }
}
.c-form-submit__agree label a {
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .c-form-submit__agree label a:hover {
        text-decoration: none;
    }
}
.c-form-submit__agree label:has(input:checked) .c-form-submit__txt::after {
    opacity: 1;
}
.c-form-submit__btn {
    margin-top: calc(32 / var(--design-width) * 100vw);
}
.c-form-submit__btn input {
    padding: calc(20 / var(--design-width) * 100vw) calc(73 / var(--design-width) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-white-1);
    font-size: calc(20 / var(--design-width) * 100vw);
    font-weight: bold;
    margin-inline: auto;
    background-color: var(--color-blue-1);
    cursor: pointer;
    border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
    .c-form-submit__btn input {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-form-submit__btn input:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-form-submit__btn input {
        padding-block: calc(13 / var(--design-width) * 100vw);
        font-size: calc(18 / var(--design-width) * 100vw);
    }
}
.c-form-submit__btn input[disabled] {
    background-color: #ccc;
    cursor: not-allowed;
}

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

/* ---------------------------------------------
*   c-img-center
--------------------------------------------- */
.c-img-center img {
    display: block;
    margin-inline: auto;
}

/* ---------------------------------------------
*   c-kv-1
--------------------------------------------- */
.c-kv-1 {
    position: relative;
    display: block;
    width: 100%;
}
@media screen and (max-width: 768px) {
    .c-kv-1 {
        aspect-ratio: 640/600;
    }
}
.c-kv-1__img {
    display: block;
}
@media screen and (max-width: 768px) {
    .c-kv-1__img {
        height: 100%;
    }
    .c-kv-1__img img {
        display: block;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
}
.c-kv-1__container {
    position: absolute;
    top: 48.3%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
    .c-kv-1__container {
        top: 90.6%;
    }
}
.c-kv-1__breadcrumb {
    position: absolute;
    bottom: 21.9%;
    left: 50%;
    transform: translate(-50%, 0);
}
@media screen and (max-width: 768px) {
    .c-kv-1__breadcrumb {
        display: none;
    }
}
.c-kv-1 img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* ---------------------------------------------
*   c-link-underline
--------------------------------------------- */
@media (hover: hover) and (pointer: fine) {
    .c-link-underline:hover {
        text-decoration: underline;
    }
}

/* ---------------------------------------------
*   c-link-underline-none
--------------------------------------------- */
.c-link-underline-none {
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .c-link-underline-none:hover {
        text-decoration: none;
    }
}

/* ---------------------------------------------
*   c-list-news
--------------------------------------------- */
.c-list-news__item {
    position: relative;
    padding: calc(22 / var(--design-width) * 100vw) calc(15 / var(--design-width) * 100vw);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: calc(34 / var(--design-width) * 100vw);
    border-bottom: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-4);
}
@media (hover: hover) and (pointer: fine) {
    .c-list-news__item {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-list-news__item:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-list-news__item {
        padding: calc(16 / var(--design-width) * 100vw) 0;
        display: block;
    }
}
.c-list-news__link {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: var(--color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-list-news__link {
        transition: opacity 0.3s;
    }
    .c-list-news__link:hover {
        opacity: 0.3;
    }
}
.c-list-news__top {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: calc(24 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-list-news__top {
        flex-wrap: wrap;
        gap: calc(10 / var(--design-width) * 100vw) calc(17 / var(--design-width) * 100vw);
    }
}
.c-list-news__date {
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .c-list-news__date {
        margin-top: calc(-3 / var(--design-width) * 100vw);
    }
}
.c-list-news__txt {
    display: -webkit-box; /* 必須 */
    -webkit-box-orient: vertical; /* 必須 */
    -webkit-line-clamp: 1; /* 行数を制限 */
    overflow: hidden; /* はみ出た部分を非表示 */
}
@media screen and (max-width: 768px) {
    .c-list-news__txt {
        margin-top: calc(13 / var(--design-width) * 100vw);
        -webkit-line-clamp: 2; /* 行数を制限 */
    }
}
@media screen and (min-width: 769px) {
    .c-list-news--info {
        margin-top: calc(-11 / var(--design-width) * 100vw);
    }
}
.c-list-news--info .c-list-news__item {
    padding: calc(14 / var(--design-width) * 100vw) calc(2 / var(--design-width) * 100vw) calc(17 / var(--design-width) * 100vw);
    display: block;
}
.c-list-news--info .c-list-news__top {
    gap: calc(10 / var(--design-width) * 100vw) calc(32 / var(--design-width) * 100vw);
}
@media screen and (min-width: 769px) {
    .c-list-news--info .c-tag-1 {
        position: relative;
        top: calc(2 / var(--design-width) * 100vw);
        padding: calc(4 / var(--design-width) * 100vw) calc(4 / var(--design-width) * 100vw) calc(5 / var(--design-width) * 100vw);
    }
}
.c-list-news--info .c-list-news__txt {
    margin-top: calc(11 / var(--design-width) * 100vw);
}

/* ---------------------------------------------
*   c-dl-cat
--------------------------------------------- */
.c-dl-cat__term {
    padding-block: 0 calc(17 / var(--design-width) * 100vw);
    border-bottom: calc(1 / var(--design-width) * 100vw) solid var(--color-blue-1);
}
.c-dl-cat__desc {
    margin-top: calc(3 / var(--design-width) * 100vw);
}
.c-dl-cat__list2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(10 / var(--design-width) * 100vw);
    margin-top: calc(16 / var(--design-width) * 100vw);
}
.c-dl-cat__item:not(:has(.c-dl-cat__link2)) {
    border-bottom: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-4);
}
.c-dl-cat__link {
    padding-block: calc(17 / var(--design-width) * 100vw);
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .c-dl-cat__link {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-dl-cat__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-dl-cat__link2 {
    padding-block: calc(6 / var(--design-width) * 100vw);
    border-radius: calc(5 / var(--design-width) * 100vw);
    border: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-4);
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-4);
}
@media (hover: hover) and (pointer: fine) {
    .c-dl-cat__link2 {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-dl-cat__link2:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-dl-cat__sub {
    padding-left: calc(36 / var(--design-width) * 100vw);
    padding-bottom: calc(20 / var(--design-width) * 100vw);
    margin-top: calc(-10 / var(--design-width) * 100vw);
}
.c-dl-cat__sub-link {
    position: relative;
    display: block;
    line-height: 2.2 !important;
}
@media (hover: hover) and (pointer: fine) {
    .c-dl-cat__sub-link {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-dl-cat__sub-link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-dl-cat__sub-link::before {
    content: "";
    position: absolute;
    top: calc(17 / var(--design-width) * 100vw);
    left: calc(-16 / var(--design-width) * 100vw);
    display: block;
    width: calc(5 / var(--design-width) * 100vw);
    height: calc(2 / var(--design-width) * 100vw);
    background-color: var(--color-base-1);
}
.c-dl-cat .cat-item {
    border-bottom: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-4);
}
.c-dl-cat .cat-item a {
    padding-block: calc(17 / var(--design-width) * 100vw);
    display: block;
    font-size: calc(15 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.7333333333;
}
@media (hover: hover) and (pointer: fine) {
    .c-dl-cat .cat-item a {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-dl-cat .cat-item a:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-dl-cat .cat-item a {
        font-size: calc(15 / var(--design-width) * 100vw);
    }
}

/*  categories-2
--------------------------------------------- */
.side_navi .widgettitle {
    padding-block: 0 calc(17 / var(--design-width) * 100vw);
    border-bottom: calc(1 / var(--design-width) * 100vw) solid var(--color-blue-1);
    font-size: calc(18 / var(--design-width) * 100vw);
    font-weight: bold;
    line-height: 1.7777777778;
}
@media screen and (max-width: 768px) {
    .side_navi .widgettitle {
        font-size: calc(18 / var(--design-width-sp) * 100vw);
    }
}
.side_navi ul {
    margin-top: calc(3 / var(--design-width) * 100vw);
}
.side_navi li {
    border-bottom: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-4);
}
.side_navi a {
    padding-block: calc(17 / var(--design-width) * 100vw);
    display: block;
    font-size: calc(15 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.7333333333;
}
@media (hover: hover) and (pointer: fine) {
    .side_navi a {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .side_navi a:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .side_navi a {
        font-size: calc(15 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-list-search
--------------------------------------------- */
.c-list-search__link {
    padding-block: calc(19 / var(--design-width) * 100vw);
    display: block;
    width: 100%;
    border-bottom: 1px solid var(--color-gray-4);
}
@media (hover: hover) and (pointer: fine) {
    .c-list-search__link {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-list-search__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}

/* ---------------------------------------------
*   c-pager
--------------------------------------------- */
.c-pager .tablenav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(10 / var(--design-width) * 100vw);
}
.c-pager .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(45 / var(--design-width) * 100vw);
    aspect-ratio: 1/1;
    border-radius: calc(10 / var(--design-width) * 100vw);
    border: calc(2 / var(--design-width) * 100vw) solid var(--color-blue-1);
    color: var(--color-blue-1);
    font-size: calc(15 / var(--design-width) * 100vw);
    font-weight: bold;
    line-height: 1;
    transition: background-color 0.3s, color 0.3s;
}
.c-pager .page-numbers.current {
    background-color: var(--color-blue-1);
    color: var(--color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-pager a {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-pager a:hover {
        opacity: var(--hover-opacity-ratio);
    }
}

/* ---------------------------------------------
*   c-section-1
--------------------------------------------- */
.c-section-1 {
    padding-top: calc(27 / var(--design-width) * 100vw);
}

/* ---------------------------------------------
*   c-section-2
--------------------------------------------- */
.c-section-2 {
    padding-block: calc(84 / var(--design-width) * 100vw) 0;
}
@media screen and (max-width: 768px) {
    .c-section-2 {
        padding-block: calc(48 / var(--design-width) * 100vw) 0;
    }
}
@media screen and (max-width: 768px) {
    .c-section-2 + .c-section-2 {
        padding-top: calc(30 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-section-news
--------------------------------------------- */
.c-section-news__head {
    padding-block: 0 calc(29 / var(--design-width) * 100vw);
    border-bottom: 1px solid var(--color-gray-4);
}
@media screen and (max-width: 768px) {
    .c-section-news__head {
        padding-block: 0 calc(15 / var(--design-width) * 100vw);
    }
}
.c-section-news__top {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(10 / var(--design-width) * 100vw) calc(30 / var(--design-width) * 100vw);
    margin-block: 0 calc(30 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-section-news__top {
        margin-block: 0 calc(15 / var(--design-width) * 100vw);
    }
}
.c-section-news .c-tag-1 {
    position: relative;
    top: calc(2 / var(--design-width) * 100vw);
}
.c-section-news__body {
    margin-top: calc(28 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-section-news__body {
        margin-top: calc(15 / var(--design-width) * 100vw);
    }
}
.c-section-news__foot {
    margin-top: calc(52 / var(--design-width) * 100vw);
}
.c-section-news__links {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
.c-section-news__back {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
}

/* ---------------------------------------------
*   c-slider
--------------------------------------------- */
/* ---------------------------------------------
*   c-table-1
--------------------------------------------- */
.c-table-1 {
    font-size: calc(16 / var(--design-width) * 100vw);
    line-height: 1.25;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .c-table-1 {
        font-size: calc(7 / var(--design-width) * 100vw);
    }
}
.c-table-1 table {
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid var(--color-gray-6);
}
.c-table-1 th {
    padding: calc(13 / var(--design-width) * 100vw) calc(5 / var(--design-width) * 100vw) calc(15 / var(--design-width) * 100vw);
    font-weight: bold;
    background-color: var(--color-gray-5);
}
@media screen and (max-width: 768px) {
    .c-table-1 th {
        padding: calc(8 / var(--design-width) * 100vw) calc(3 / var(--design-width) * 100vw);
    }
}
.c-table-1 th:nth-of-type(1) {
    width: calc(308 / 1000 * 100%);
}
@media screen and (max-width: 768px) {
    .c-table-1 th:nth-of-type(1) {
        width: calc(93 / 345 * 100%);
    }
}
@media screen and (min-width: 1025px) {
    .c-table-1 th:nth-of-type(2), .c-table-1 th:nth-of-type(3), .c-table-1 th:nth-of-type(4) {
        width: calc(184 / 1000 * 100%);
    }
}
@media screen and (max-width: 768px) {
    .c-table-1 th:nth-of-type(2) {
        width: calc(67 / 345 * 100%);
    }
    .c-table-1 th:nth-of-type(3) {
        width: calc(52 / 345 * 100%);
    }
    .c-table-1 th:nth-of-type(4) {
        width: calc(62 / 345 * 100%);
    }
}
.c-table-1 th:nth-of-type(5) {
    width: calc(140 / 1000 * 100%);
}
@media screen and (max-width: 768px) {
    .c-table-1 th:nth-of-type(5) {
        width: calc(68 / 345 * 100%);
    }
}
.c-table-1 td {
    padding: calc(20 / var(--design-width) * 100vw) calc(11 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-table-1 td {
        padding: calc(10 / var(--design-width) * 100vw) calc(5 / var(--design-width) * 100vw);
    }
}
.c-table-1 th, .c-table-1 td {
    text-align: center;
    border-right: 1px solid var(--color-gray-6);
}
.c-table-1 th:last-of-type, .c-table-1 td:last-of-type {
    border-right: none;
}
.c-table-1 tr {
    border-top: 1px solid var(--color-gray-6);
}
.c-table-1 a {
    padding: calc(10 / var(--design-width) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-blue-1);
    font-weight: bold;
    border-radius: calc(5 / var(--design-width) * 100vw);
    border: calc(2 / var(--design-width) * 100vw) solid var(--color-blue-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-table-1 a {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-table-1 a:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (min-width: 769px) {
    .c-table-1 a {
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .c-table-1 a {
        padding: calc(5 / var(--design-width) * 100vw) calc(2 / var(--design-width) * 100vw);
        border-width: 1px;
        border-radius: calc(3 / var(--design-width) * 100vw);
        white-space: nowrap;
    }
}

/* ---------------------------------------------
*   c-tag-1
--------------------------------------------- */
.c-tag-1 {
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    padding: calc(4 / var(--design-width) * 100vw);
    border-radius: 999px;
    color: var(--color-white-1);
    min-width: calc(150 / var(--design-width) * 100vw);
    background-color: var(--color-gray-7);
}
@media screen and (max-width: 768px) {
    .c-tag-1 {
        min-width: calc(130 / var(--design-width) * 100vw);
    }
}
.c-tag-1[data-cat=info] {
    background-color: var(--color-blue-1);
}
.c-tag-1[data-cat=scienceblog] {
    background-color: var(--color-blue-3);
}
.c-tag-1[data-cat=seminarinformation] {
    background-color: var(--color-blue-4);
}
.c-tag-1[data-cat=exhibition-information] {
    background-color: var(--color-green-3);
}
.c-tag-1[data-cat=product-information] {
    background-color: var(--color-blue-5);
}
.c-tag-1[data-cat=others] {
    background-color: #047ab5;
}
.c-tag-1[data-cat=usp-information] {
    background-color: #00b7e8;
}
.c-tag-1[href] {
    position: relative;
    z-index: 1;
}
@media (hover: hover) and (pointer: fine) {
    .c-tag-1[href] {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-tag-1[href]:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-tag-1--300 {
    width: calc(300 / var(--design-width) * 100vw);
}

/* ---------------------------------------------
*   c-tag-2
--------------------------------------------- */
.c-tag-2 {
    padding: calc(7 / var(--design-width) * 100vw) calc(11 / var(--design-width) * 100vw) calc(6 / var(--design-width) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: calc(5 / var(--design-width) * 100vw);
    color: var(--color-white-1);
    background-color: var(--color-blue-1);
}
@media screen and (max-width: 768px) {
    .c-tag-2 {
        padding: calc(2 / var(--design-width) * 100vw) calc(4 / var(--design-width) * 100vw);
    }
    .edge .c-tag-2 {
        padding-inline: calc(3 / var(--design-width) * 100vw);
    }
}
.c-tag-2[href] {
    position: relative;
    z-index: 1;
}
@media (hover: hover) and (pointer: fine) {
    .c-tag-2[href] {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .c-tag-2[href]:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-tag-2 + .c-tag-2 {
    margin-top: calc(5 / var(--design-width) * 100vw);
}

/* ---------------------------------------------
*   c-tile
--------------------------------------------- */
/* ---------------------------------------------
*   c-ttl-1
--------------------------------------------- */
.c-ttl-1__jp {
    font-size: calc(45 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-ttl-1__jp {
        font-size: calc(30 / var(--design-width) * 100vw);
    }
}
.c-ttl-1__en {
    display: block;
    font-size: calc(22 / var(--design-width) * 100vw);
    margin-top: calc(5 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-ttl-1__en {
        font-size: calc(16 / var(--design-width) * 100vw);
        margin-top: calc(2 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-ttl-2
--------------------------------------------- */
.c-ttl-2 {
    font-size: calc(30 / var(--design-width) * 100vw);
    line-height: 1.7333333333;
}
@media screen and (max-width: 768px) {
    .c-ttl-2 {
        font-size: calc(23 / var(--design-width) * 100vw);
    }
}
.c-ttl-2--border {
    position: relative;
    padding-block: 0 calc(15 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-ttl-2--border {
        padding-block: 0 calc(10 / var(--design-width) * 100vw);
    }
}
.c-ttl-2--border::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: calc(60 / var(--design-width) * 100vw);
    height: calc(3 / var(--design-width) * 100vw);
    background-color: var(--color-blue-1);
}
.c-ttl-2--border-l {
    position: relative;
    padding-block: 0 calc(11 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-ttl-2--border-l {
        padding-block: 0 calc(7 / var(--design-width) * 100vw);
    }
}
.c-ttl-2--border-l::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: calc(1 / var(--design-width) * 100vw);
    background-color: var(--color-blue-1);
}
@media screen and (min-width: 769px) {
    .c-ttl-2.c-txt-1 {
        padding-block: 0 calc(22 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-ttl-3
--------------------------------------------- */
.c-ttl-3__jp {
    font-size: calc(40 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-ttl-3__jp {
        font-size: calc(30 / var(--design-width) * 100vw);
    }
}
.c-ttl-3__en {
    display: block;
    font-size: calc(18 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-ttl-3__en {
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-ttl-4
--------------------------------------------- */
.c-ttl-4 {
    font-size: calc(22 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-ttl-4 {
        font-size: calc(20 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-txt-1
--------------------------------------------- */
.c-txt-1 {
    font-size: calc(16 / var(--design-width) * 100vw);
    line-height: 1.75;
}
@media screen and (max-width: 768px) {
    .c-txt-1 {
        font-size: calc(15 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-txt-2
--------------------------------------------- */
.c-txt-2 {
    font-size: calc(15 / var(--design-width) * 100vw);
    line-height: 1.7333333333;
}
@media screen and (max-width: 768px) {
    .c-txt-2 {
        font-size: calc(16 / var(--design-width-sp) * 100vw);
    }
}
.c-txt-2--indent {
    padding-left: calc(14 / var(--design-width) * 100vw);
    text-indent: calc(-14 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-txt-2--sp15 {
        font-size: calc(15 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .c-txt-2--sp13 {
        font-size: calc(13 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-txt-3
--------------------------------------------- */
.c-txt-3 {
    font-size: calc(18 / var(--design-width) * 100vw);
    line-height: 1.7777777778;
}
@media screen and (max-width: 768px) {
    .c-txt-3 {
        font-size: calc(16 / var(--design-width-sp) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .c-txt-3--sp15 {
        font-size: calc(15 / var(--design-width-sp) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .c-txt-3--sp18 {
        font-size: calc(18 / var(--design-width-sp) * 100vw);
    }
}

/* ---------------------------------------------
*   c-txt-4
--------------------------------------------- */
.c-txt-4 {
    font-size: calc(13 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-txt-4 {
        font-size: calc(12 / var(--design-width-sp) * 100vw);
    }
}

/* ---------------------------------------------
*   c-txt-5
--------------------------------------------- */
.c-txt-5 {
    font-size: calc(12 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-txt-5 {
        font-size: calc(12 / var(--design-width-sp) * 100vw);
    }
}

/* ---------------------------------------------
*   c-txt-6
--------------------------------------------- */
.c-txt-6 {
    font-size: calc(24 / var(--design-width) * 100vw);
}

/* ---------------------------------------------
*   c-txt-7
--------------------------------------------- */
.c-txt-7 {
    font-size: calc(20 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-txt-7 {
        font-size: calc(18 / var(--design-width-sp) * 100vw);
    }
}

/* c-wysiwyg
--------------------------------------------- */
.c-wysiwyg {
    font-size: calc(16 / var(--design-width) * 100vw);
    line-height: 2.1875;
    overflow: hidden;
}
.c-wysiwyg--news {
    font-size: calc(15 / var(--design-width) * 100vw);
    font-weight: 500;
    line-height: 1.7333333333;
}
.c-wysiwyg::after {
    content: "";
    display: block;
    clear: both;
}
.c-wysiwyg > :first-child {
    margin-top: 0 !important;
}
.c-wysiwyg > :last-child {
    margin-bottom: 0 !important;
}
.c-wysiwyg sup {
    vertical-align: super;
    font-size: smaller;
}
.c-wysiwyg sub {
    vertical-align: sub;
    font-size: smaller;
}
.c-wysiwyg h1, .c-wysiwyg h2, .c-wysiwyg h3 {
    margin-top: 1.7rem;
}
.c-wysiwyg h4, .c-wysiwyg h5, .c-wysiwyg h6 {
    margin-top: 1.7rem;
}
.c-wysiwyg h1, .c-wysiwyg h2, .c-wysiwyg h3, .c-wysiwyg h4, .c-wysiwyg h5, .c-wysiwyg h6 {
    font-weight: 700;
}
.c-wysiwyg i,
.c-wysiwyg strong {
    font-weight: bold;
}
.c-wysiwyg p {
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.c-wysiwyg h3 + p {
    margin-top: 0;
}
.c-wysiwyg em {
    font-style: italic;
}
.c-wysiwyg a {
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .c-wysiwyg a:hover {
        text-decoration: none;
    }
}
.c-wysiwyg ul {
    list-style-type: disc;
    padding-left: 2em;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.c-wysiwyg ol {
    list-style-type: decimal;
    padding-left: 2em;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.c-wysiwyg li {
    display: list-item;
    text-align: -webkit-match-parent;
}
.c-wysiwyg blockquote {
    padding: 1em;
    background-color: #eaeaea;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.c-wysiwyg pre {
    display: block;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.c-wysiwyg del {
    text-decoration: line-through;
}
.c-wysiwyg hr {
    display: block;
    border: none;
    border-top: #9a9a9a 1px solid;
    border-bottom: #eee 1px solid;
}
.c-wysiwyg code {
    background-color: #eee;
    padding: 0.1em 0.4em;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
    word-break: break-all;
}
.c-wysiwyg .aligncenter {
    display: block;
    max-width: 100%;
    margin: 1rem auto;
}
.c-wysiwyg .alignright {
    float: right;
    max-width: 100%;
    margin-top: 0.5rem;
    margin-left: 1rem;
}
.c-wysiwyg .alignleft {
    float: left;
    max-width: 100%;
    margin-top: 0.5rem;
    margin-right: 1rem;
}
.c-wysiwyg img[class*=wp-image-],
.c-wysiwyg img[class*=attachment-] {
    height: auto;
    max-width: 100%;
}
.c-wysiwyg .wp-caption {
    max-width: 100%;
    text-align: left;
}
.c-wysiwyg .wp-caption img {
    width: 100%;
}
.c-wysiwyg .wp-caption-text {
    display: block;
    padding: 0.5em 1rem 0;
    text-align: left;
    color: #8a8a8a;
    font-size: 0.875em;
    margin: 0;
}
.c-wysiwyg table {
    margin-top: 1em;
    margin-bottom: 1em;
    border-top: calc(2 / var(--design-width) * 100vw) solid var(--color-base-1);
    border-right: calc(2 / var(--design-width) * 100vw) solid var(--color-base-1);
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .c-wysiwyg table {
        font-size: calc(8 / var(--design-width) * 100vw);
    }
}
.c-wysiwyg table th {
    padding: 0.3em 0.8em;
}
.c-wysiwyg table td {
    padding: calc(10 / var(--design-width) * 100vw) calc(13 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .c-wysiwyg table td {
        padding: calc(5 / var(--design-width) * 100vw);
    }
}
.c-wysiwyg table th,
.c-wysiwyg table td {
    border-left: 1px solid var(--color-base-1);
    border-bottom: 1px solid var(--color-base-1);
}
.c-wysiwyg table tr {
    border-left: calc(2 / var(--design-width) * 100vw) solid var(--color-base-1);
}
.c-wysiwyg table tr:last-of-type td {
    border-bottom-width: calc(2 / var(--design-width) * 100vw);
}
.c-wysiwyg table th {
    background-color: #eee;
}
.c-wysiwyg h3 {
    position: relative;
    display: flex;
    justify-content: flex-start;
    gap: calc(3 / var(--design-width) * 100vw);
}
.c-wysiwyg h3::before {
    content: "●";
    color: var(--color-blue-1);
}

/* ---------------------------------------------
*   p-top-kv
--------------------------------------------- */
.p-top-kv {
    position: relative;
    color: var(--color-black-2);
}
@media screen and (max-width: 768px) {
    .p-top-kv {
        padding-block: 0 calc(60 / var(--design-width) * 100vw);
    }
}
.p-top-kv__img {
    display: block;
    width: 100%;
}
.p-top-kv__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-top-kv__txts {
    position: absolute;
    bottom: calc(88 / var(--design-width) * 100vw);
    padding-left: calc(72 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .p-top-kv__txts {
        bottom: 0;
        padding-left: calc(23 / var(--design-width) * 100vw);
    }
}
.p-top-kv__en {
    display: block;
    font-size: calc(62 / var(--design-width) * 100vw);
    line-height: 1.4193548387;
    margin-block: 0 calc(12 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .p-top-kv__en {
        font-size: calc(26 / var(--design-width) * 100vw);
        line-height: 1.3846153846;
        margin-block: 0 calc(6 / var(--design-width) * 100vw);
    }
}
.p-top-kv__jp {
    display: block;
    font-size: calc(28 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .p-top-kv__jp {
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-top-tabs
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .p-top-tabs {
        border-bottom: calc(1 / var(--design-width) * 100vw) solid var(--color-blue-7);
    }
}
.p-top-tabs__tab-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: calc(8 / var(--design-width) * 100vw);
}
.p-top-tabs__tab {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-blue-1);
    font-size: calc(17 / var(--design-width) * 100vw);
    font-weight: bold;
    transition: color 0.3s, background-color 0.3s;
}
@media (hover: hover) and (pointer: fine) {
    .p-top-tabs__tab {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .p-top-tabs__tab:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (min-width: 769px) {
    .p-top-tabs__tab {
        padding: calc(25 / var(--design-width) * 100vw) calc(10 / var(--design-width) * 100vw);
        border-radius: calc(10 / var(--design-width) * 100vw);
        background-color: var(--color-blue-6);
    }
}
@media screen and (max-width: 768px) {
    .p-top-tabs__tab {
        padding: calc(13 / var(--design-width) * 100vw) calc(10 / var(--design-width) * 100vw) calc(16 / var(--design-width) * 100vw);
        width: 100%;
        border-top: calc(1 / var(--design-width) * 100vw) solid var(--color-blue-7);
        background-color: var(--color-blue-6);
    }
    .is-open .p-top-tabs__tab {
        color: var(--color-white-1);
        background-color: var(--color-blue-1);
        border-color: var(--color-blue-1);
    }
}
.p-top-tabs__tab::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
@media screen and (min-width: 769px) {
    .p-top-tabs__tab::before {
        bottom: calc(-26 / var(--design-width) * 100vw);
        border: calc(12 / var(--design-width) * 100vw) solid transparent;
        border-top: calc(15 / var(--design-width) * 100vw) solid var(--color-blue-1);
        opacity: 0;
        transition: opacity 0.3s;
    }
}
@media screen and (max-width: 768px) {
    .p-top-tabs__tab::after {
        content: "";
        position: absolute;
        top: 50%;
        right: calc(20 / var(--design-width) * 100vw);
        display: block;
        width: calc(14 / var(--design-width) * 100vw);
        aspect-ratio: 27/15;
        -webkit-mask: url(../img/common/ico_arrow-3.svg) 0 0 no-repeat;
                mask: url(../img/common/ico_arrow-3.svg) 0 0 no-repeat;
        -webkit-mask-size: 100% auto;
                mask-size: 100% auto;
        transform: translateY(-50%);
        transition: transform 0.3s, background-color 0.3s;
        background-color: var(--color-blue-1);
    }
    .is-open .p-top-tabs__tab::after {
        transform: translateY(-50%) rotate(180deg);
        background-color: var(--color-white-1);
    }
}
.p-top-tabs__tab.is-current {
    background-color: var(--color-blue-1);
    color: var(--color-white-1);
    pointer-events: none;
}
.p-top-tabs__tab.is-current::before {
    opacity: 1;
}
.p-top-tabs__body {
    margin-top: calc(34 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .p-top-tabs__body {
        margin-top: 0;
    }
}

/* ---------------------------------------------
*   p-top-tab-content
--------------------------------------------- */
.p-top-tab-content {
    padding: calc(46 / var(--design-width) * 100vw) calc(60 / var(--design-width) * 100vw) calc(40 / var(--design-width) * 100vw);
    background-color: var(--color-gray-5);
    border-radius: calc(15 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .p-top-tab-content {
        position: relative;
        padding: calc(20 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw) calc(25 / var(--design-width) * 100vw);
        border-radius: 0;
    }
}
.p-top-tab-content__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: calc(40 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .p-top-tab-content__list {
        position: relative;
        grid-template-columns: repeat(2, 1fr);
        gap: calc(21 / var(--design-width) * 100vw) calc(12 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    [data-target-id=tab-maker] .p-top-tab-content__list {
        gap: calc(20 / var(--design-width) * 100vw) calc(40 / var(--design-width) * 100vw);
    }
}

.p-top-tab-content__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .p-top-tab-content__link {
        transition: opacity var(--hover-duration);
        will-change: opacity;
    }
    .p-top-tab-content__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
[data-target-id=tab-maker] .p-top-tab-content__link {
    aspect-ratio: 225/143;
}
[data-target-id=tab-maker] .p-top-tab-content__link img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}

.p-top-tab-content__fig {
    padding: calc(17 / var(--design-width) * 100vw);
    display: flex;
    justify-content: center;
    border: calc(1 / var(--design-width) * 100vw) solid var(--color-gray-4);
    border-radius: calc(7 / var(--design-width) * 100vw);
    aspect-ratio: 1/1;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 768px) {
    .p-top-tab-content__fig {
        padding: calc(12 / var(--design-width) * 100vw);
    }
}
.p-top-tab-content__fig img {
    width: 100%;
    border-radius: calc(7 / var(--design-width) * 100vw);
    overflow: hidden;
    -o-object-fit: contain;
       object-fit: contain;
}
.p-top-tab-content__caption {
    display: block;
    margin-top: calc(13 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .p-top-tab-content__caption {
        margin-top: calc(8 / var(--design-width) * 100vw);
    }
}

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

/* ---------------------------------------------
*   font-color
--------------------------------------------- */
.fc-base-1 {
    color: var(--color-base-1);
}

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

.fc-white-1 {
    color: var(--color-white-1);
}

.fc-gray-1 {
    color: var(--color-gray-1);
}

.fc-gray-2 {
    color: var(--color-gray-2);
}

.fc-gray-3 {
    color: var(--color-gray-3);
}

.fc-gray-4 {
    color: var(--color-gray-4);
}

.fc-green-1 {
    color: var(--color-green-1);
}

.fc-green-2 {
    color: var(--color-green-2);
}

.fc-blue-1 {
    color: var(--color-blue-1);
}

/* ---------------------------------------------
*   font-wight
--------------------------------------------- */
.fw-thin {
    font-weight: 200 !important;
}

.fw-light {
    font-weight: 300 !important;
}

.fw-regular {
    font-weight: 400 !important;
}

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

@media screen and (min-width: 769px) {
    .fw-normal-pc {
        font-weight: 500 !important;
    }
}
.fw-medium {
    font-weight: 600 !important;
}

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

@media screen and (max-width: 768px) {
    .fw-bold-sp {
        font-weight: 700 !important;
    }
}
.fw-black {
    font-weight: 900 !important;
}

/* ---------------------------------------------
*   line-height
--------------------------------------------- */
.lh-12 {
    line-height: 1.2 !important;
}

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

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

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

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

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

.lh-175 {
    line-height: 1.75 !important;
}

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

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

.lh-19 {
    line-height: 1.9 !important;
}

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

.lh-23 {
    line-height: 2.3 !important;
}

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

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

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

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

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

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

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

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

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

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

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

/* ---------------------------------------------
*   margin-inline
--------------------------------------------- */
.margin-inline-auto {
    margin-inline: auto;
}

.margin-inline-right {
    margin-inline: auto 0;
}

@media screen and (max-width: 768px) {
    .margin-inline-auto-sp {
        margin-inline: auto;
    }
}

@media screen and (max-width: 768px) {
    .margin-inline-right-sp {
        margin-inline: auto 0;
    }
}

/* ---------------------------------------------
*   display-block
--------------------------------------------- */
.display-block {
    display: block;
}

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

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

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

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

/* ---------------------------------------------
*   ff
--------------------------------------------- */
.ff-zen {
    font-family: var(--ff-zen);
}

.ff-barlow {
    font-family: var(--ff-barlow);
}

/* ---------------------------------------------
*   アコーディオン
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .js-acc-target {
        --acc-body-height: 0px;
        height: 0;
        overflow: hidden;
    }
    .js-acc-scope.is-close .js-acc-target {
        animation: closeAccAnim 0.5s forwards;
    }
    .js-acc-scope.is-open .js-acc-target {
        animation: openAccAnim 0.5s forwards;
    }
}
@media screen and (max-width: 768px) {
    header .js-acc-target {
        --acc-body-height: 0px;
        height: 0;
        overflow: hidden;
    }
}

@media screen and (max-width: 768px) {
    header .js-acc-scope.is-close .js-acc-target {
        animation: closeAccAnim 0.5s forwards;
    }
    header .js-acc-scope.is-open .js-acc-target {
        animation: openAccAnim 0.5s forwards;
    }
}
@keyframes openAccAnim {
    0% {
        height: 0px;
        visibility: hidden;
    }
    99% {
        visibility: visible;
        height: var(--acc-body-height);
    }
    100% {
        height: auto;
    }
}
@keyframes closeAccAnim {
    0% {
        height: var(--acc-body-height);
    }
    99% {
        visibility: visible;
    }
    100% {
        height: 0px;
        visibility: hidden;
    }
}

/* ---------------------------------------------
*   ヘッダー開閉
--------------------------------------------- */
@media screen and (min-width: 769px) {
    .js-menu-target {
        scrollbar-width: none;
        transition: opacity 0.25s 0.0833333333s, visibility 0.25s;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
    }
    .js-menu-target .l-gnav__target-inner {
        transition: transform 0.3333333333s cubic-bezier(0.33, 0, 0.24, 1);
    }
    .js-menu-target.is-menu-opened {
        visibility: visible;
        opacity: 1;
        transition: opacity 0.25s;
    }
    .js-menu-target.is-menu-opened .l-gnav__target-inner {
        pointer-events: auto;
        transform: translate(-50%, 0);
        transition: transform 0.3333333333s cubic-bezier(0.33, 0, 0, 1);
    }
    .l-header-search-wrap .js-menu-target.is-menu-opened .l-gnav__target-inner {
        transform: translate(0, 0);
    }
}

.l-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-subnav .js-menu-target.is-menu-opened {
    grid-template-rows: 1fr;
    visibility: visible;
    opacity: 1;
}

/*  js-scroll-threshold
--------------------------------------------- */
.js-scroll-threshold {
    position: absolute;
    top: 0;
    height: calc(10 / var(--design-width) * 100vw);
}

/*  .js-tab-target
--------------------------------------------- */
@media screen and (min-width: 769px) {
    .js-tab-target {
        display: none;
    }
    .js-tab-target.is-current {
        display: block;
    }
}

@media screen and (max-width: 768px) {
    .js-top-acc-target {
        --top-acc-body-height: 0px;
        height: 0;
        overflow: hidden;
    }
    .js-top-acc-scope.is-close .js-top-acc-target {
        animation: closeAccAnim 0.5s forwards;
    }
    .js-top-acc-scope.is-open .js-top-acc-target {
        animation: openAccAnim 0.5s forwards;
    }
    @keyframes openAccAnim {
        0% {
            height: 0px;
            visibility: hidden;
        }
        99% {
            height: var(--top-acc-body-height);
            visibility: visible;
        }
        100% {
            height: auto;
        }
    }
    @keyframes closeAccAnim {
        0% {
            height: var(--top-acc-body-height);
        }
        99% {
            visibility: visible;
        }
        100% {
            height: 0px;
            visibility: hidden;
        }
    }
}

@media print and (min-width: 769px), screen and (min-width: 769px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (max-width: 768px), screen and (max-width: 768px) {
    .sp-hide {
        display: none !important;
    }
}
@media print and (max-width: 1024px), screen and (max-width: 1024px) {
    .tb-hide {
        display: none !important;
    }
}
@media print and (min-width: 1025px), screen and (min-width: 1025px) {
    .tb-over {
        display: none !important;
    }
}
/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
    margin-top: 0 !important;
}

.mgt-pc--5 {
    margin-top: calc(5 / var(--design-width) * 100vw) !important;
}

.mgt-pc--10 {
    margin-top: calc(10 / var(--design-width) * 100vw) !important;
}

.mgt-pc--15 {
    margin-top: calc(15 / var(--design-width) * 100vw) !important;
}

.mgt-pc--20 {
    margin-top: calc(20 / var(--design-width) * 100vw) !important;
}

.mgt-pc--25 {
    margin-top: calc(25 / var(--design-width) * 100vw) !important;
}

.mgt-pc--30 {
    margin-top: calc(30 / var(--design-width) * 100vw) !important;
}

.mgt-pc--35 {
    margin-top: calc(35 / var(--design-width) * 100vw) !important;
}

.mgt-pc--40 {
    margin-top: calc(40 / var(--design-width) * 100vw) !important;
}

.mgt-pc--45 {
    margin-top: calc(45 / var(--design-width) * 100vw) !important;
}

.mgt-pc--50 {
    margin-top: calc(50 / var(--design-width) * 100vw) !important;
}

.mgt-pc--55 {
    margin-top: calc(55 / var(--design-width) * 100vw) !important;
}

.mgt-pc--60 {
    margin-top: calc(60 / var(--design-width) * 100vw) !important;
}

.mgt-pc--65 {
    margin-top: calc(65 / var(--design-width) * 100vw) !important;
}

.mgt-pc--70 {
    margin-top: calc(70 / var(--design-width) * 100vw) !important;
}

.mgt-pc--75 {
    margin-top: calc(75 / var(--design-width) * 100vw) !important;
}

.mgt-pc--80 {
    margin-top: calc(80 / var(--design-width) * 100vw) !important;
}

.mgt-pc--85 {
    margin-top: calc(85 / var(--design-width) * 100vw) !important;
}

.mgt-pc--90 {
    margin-top: calc(90 / var(--design-width) * 100vw) !important;
}

.mgt-pc--95 {
    margin-top: calc(95 / var(--design-width) * 100vw) !important;
}

.mgt-pc--100 {
    margin-top: calc(100 / var(--design-width) * 100vw) !important;
}

.mgt-pc--105 {
    margin-top: calc(105 / var(--design-width) * 100vw) !important;
}

.mgt-pc--110 {
    margin-top: calc(110 / var(--design-width) * 100vw) !important;
}

.mgt-pc--115 {
    margin-top: calc(115 / var(--design-width) * 100vw) !important;
}

.mgt-pc--120 {
    margin-top: calc(120 / var(--design-width) * 100vw) !important;
}

.mgt-pc--125 {
    margin-top: calc(125 / var(--design-width) * 100vw) !important;
}

.mgt-pc--130 {
    margin-top: calc(130 / var(--design-width) * 100vw) !important;
}

.mgt-pc--135 {
    margin-top: calc(135 / var(--design-width) * 100vw) !important;
}

.mgt-pc--140 {
    margin-top: calc(140 / var(--design-width) * 100vw) !important;
}

.mgt-pc--145 {
    margin-top: calc(145 / var(--design-width) * 100vw) !important;
}

.mgt-pc--150 {
    margin-top: calc(150 / var(--design-width) * 100vw) !important;
}

.mgt-pc--155 {
    margin-top: calc(155 / var(--design-width) * 100vw) !important;
}

.mgt-pc--160 {
    margin-top: calc(160 / var(--design-width) * 100vw) !important;
}

.mgt-pc--165 {
    margin-top: calc(165 / var(--design-width) * 100vw) !important;
}

.mgt-pc--170 {
    margin-top: calc(170 / var(--design-width) * 100vw) !important;
}

.mgt-pc--175 {
    margin-top: calc(175 / var(--design-width) * 100vw) !important;
}

.mgt-pc--180 {
    margin-top: calc(180 / var(--design-width) * 100vw) !important;
}

.mgt-pc--185 {
    margin-top: calc(185 / var(--design-width) * 100vw) !important;
}

.mgt-pc--190 {
    margin-top: calc(190 / var(--design-width) * 100vw) !important;
}

.mgt-pc--195 {
    margin-top: calc(195 / var(--design-width) * 100vw) !important;
}

.mgt-pc--200 {
    margin-top: calc(200 / var(--design-width) * 100vw) !important;
}

.mgt-pc--205 {
    margin-top: calc(205 / var(--design-width) * 100vw) !important;
}

.mgt-pc--210 {
    margin-top: calc(210 / var(--design-width) * 100vw) !important;
}

.mgt-pc--215 {
    margin-top: calc(215 / var(--design-width) * 100vw) !important;
}

.mgt-pc--220 {
    margin-top: calc(220 / var(--design-width) * 100vw) !important;
}

.mgt-pc--225 {
    margin-top: calc(225 / var(--design-width) * 100vw) !important;
}

.mgt-pc--230 {
    margin-top: calc(230 / var(--design-width) * 100vw) !important;
}

.mgt-pc--235 {
    margin-top: calc(235 / var(--design-width) * 100vw) !important;
}

.mgt-pc--240 {
    margin-top: calc(240 / var(--design-width) * 100vw) !important;
}

.mgt-pc--245 {
    margin-top: calc(245 / var(--design-width) * 100vw) !important;
}

.mgt-pc--250 {
    margin-top: calc(250 / var(--design-width) * 100vw) !important;
}

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

.mgb-pc--5 {
    margin-bottom: calc(5 / var(--design-width) * 100vw) !important;
}

.mgb-pc--10 {
    margin-bottom: calc(10 / var(--design-width) * 100vw) !important;
}

.mgb-pc--15 {
    margin-bottom: calc(15 / var(--design-width) * 100vw) !important;
}

.mgb-pc--20 {
    margin-bottom: calc(20 / var(--design-width) * 100vw) !important;
}

.mgb-pc--25 {
    margin-bottom: calc(25 / var(--design-width) * 100vw) !important;
}

.mgb-pc--30 {
    margin-bottom: calc(30 / var(--design-width) * 100vw) !important;
}

.mgb-pc--35 {
    margin-bottom: calc(35 / var(--design-width) * 100vw) !important;
}

.mgb-pc--40 {
    margin-bottom: calc(40 / var(--design-width) * 100vw) !important;
}

.mgb-pc--45 {
    margin-bottom: calc(45 / var(--design-width) * 100vw) !important;
}

.mgb-pc--50 {
    margin-bottom: calc(50 / var(--design-width) * 100vw) !important;
}

.mgb-pc--55 {
    margin-bottom: calc(55 / var(--design-width) * 100vw) !important;
}

.mgb-pc--60 {
    margin-bottom: calc(60 / var(--design-width) * 100vw) !important;
}

.mgb-pc--65 {
    margin-bottom: calc(65 / var(--design-width) * 100vw) !important;
}

.mgb-pc--70 {
    margin-bottom: calc(70 / var(--design-width) * 100vw) !important;
}

.mgb-pc--75 {
    margin-bottom: calc(75 / var(--design-width) * 100vw) !important;
}

.mgb-pc--80 {
    margin-bottom: calc(80 / var(--design-width) * 100vw) !important;
}

.mgb-pc--85 {
    margin-bottom: calc(85 / var(--design-width) * 100vw) !important;
}

.mgb-pc--90 {
    margin-bottom: calc(90 / var(--design-width) * 100vw) !important;
}

.mgb-pc--95 {
    margin-bottom: calc(95 / var(--design-width) * 100vw) !important;
}

.mgb-pc--100 {
    margin-bottom: calc(100 / var(--design-width) * 100vw) !important;
}

.mgb-pc--105 {
    margin-bottom: calc(105 / var(--design-width) * 100vw) !important;
}

.mgb-pc--110 {
    margin-bottom: calc(110 / var(--design-width) * 100vw) !important;
}

.mgb-pc--115 {
    margin-bottom: calc(115 / var(--design-width) * 100vw) !important;
}

.mgb-pc--120 {
    margin-bottom: calc(120 / var(--design-width) * 100vw) !important;
}

.mgb-pc--125 {
    margin-bottom: calc(125 / var(--design-width) * 100vw) !important;
}

.mgb-pc--130 {
    margin-bottom: calc(130 / var(--design-width) * 100vw) !important;
}

.mgb-pc--135 {
    margin-bottom: calc(135 / var(--design-width) * 100vw) !important;
}

.mgb-pc--140 {
    margin-bottom: calc(140 / var(--design-width) * 100vw) !important;
}

.mgb-pc--145 {
    margin-bottom: calc(145 / var(--design-width) * 100vw) !important;
}

.mgb-pc--150 {
    margin-bottom: calc(150 / var(--design-width) * 100vw) !important;
}

.mgb-pc--155 {
    margin-bottom: calc(155 / var(--design-width) * 100vw) !important;
}

.mgb-pc--160 {
    margin-bottom: calc(160 / var(--design-width) * 100vw) !important;
}

.mgb-pc--165 {
    margin-bottom: calc(165 / var(--design-width) * 100vw) !important;
}

.mgb-pc--170 {
    margin-bottom: calc(170 / var(--design-width) * 100vw) !important;
}

.mgb-pc--175 {
    margin-bottom: calc(175 / var(--design-width) * 100vw) !important;
}

.mgb-pc--180 {
    margin-bottom: calc(180 / var(--design-width) * 100vw) !important;
}

.mgb-pc--185 {
    margin-bottom: calc(185 / var(--design-width) * 100vw) !important;
}

.mgb-pc--190 {
    margin-bottom: calc(190 / var(--design-width) * 100vw) !important;
}

.mgb-pc--195 {
    margin-bottom: calc(195 / var(--design-width) * 100vw) !important;
}

.mgb-pc--200 {
    margin-bottom: calc(200 / var(--design-width) * 100vw) !important;
}

.mgb-pc--205 {
    margin-bottom: calc(205 / var(--design-width) * 100vw) !important;
}

.mgb-pc--210 {
    margin-bottom: calc(210 / var(--design-width) * 100vw) !important;
}

.mgb-pc--215 {
    margin-bottom: calc(215 / var(--design-width) * 100vw) !important;
}

.mgb-pc--220 {
    margin-bottom: calc(220 / var(--design-width) * 100vw) !important;
}

.mgb-pc--225 {
    margin-bottom: calc(225 / var(--design-width) * 100vw) !important;
}

.mgb-pc--230 {
    margin-bottom: calc(230 / var(--design-width) * 100vw) !important;
}

.mgb-pc--235 {
    margin-bottom: calc(235 / var(--design-width) * 100vw) !important;
}

.mgb-pc--240 {
    margin-bottom: calc(240 / var(--design-width) * 100vw) !important;
}

.mgb-pc--245 {
    margin-bottom: calc(245 / var(--design-width) * 100vw) !important;
}

.mgb-pc--250 {
    margin-bottom: calc(250 / var(--design-width) * 100vw) !important;
}

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