@charset "UTF-8";
/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
/* ---------------------------------------------
*   l-header
--------------------------------------------- */
.l-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: calc(var(--fixed-header-height) * 1px);
    padding-inline: 16px;
    background-color: var(--color-lightgray-1);
}
@media screen and (max-width: 1300px) {
    .l-header {
        padding-inline: 0;
    }
}
.l-header__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    margin-inline: auto;
    border-bottom: 1px solid var(--color-base-1);
}
@media screen and (max-width: 1300px) {
    .l-header__container {
        max-width: none;
        padding-inline: 16px 8px;
    }
}
.l-header__head {
    flex-shrink: 0;
}
.l-header__body {
    display: flex;
    align-items: center;
    gap: 0 24px;
}
@media screen and (max-width: 1300px) {
    .l-header__body {
        gap: 0 12px;
    }
}

/*  l-header-logo
--------------------------------------------- */
.l-header-logo__link {
    display: flex;
    align-items: flex-end;
    gap: 0 15px;
}
@media screen and (max-width: 1300px) {
    .l-header-logo__link {
        display: block;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-header-logo__link {
        transition: opacity var(--hover-duration);
    }
    .l-header-logo__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-logo__img {
    display: block;
    width: 273px;
}
@media screen and (max-width: 1300px) {
    .l-header-logo__img {
        width: 185px;
    }
}
.l-header-logo__img img {
    display: block;
    width: 100%;
    height: auto;
}
.l-header-logo__lead {
    font-weight: 700;
    font-size: 12px;
    line-height: 1;
    margin-bottom: 10px;
}
@media screen and (max-width: 1300px) {
    .l-header-logo__lead {
        display: none;
    }
}
.l-header-logo__txt-wrap {
    display: flex;
    flex-direction: column;
    gap: 1px 0;
}
@media screen and (max-width: 1300px) {
    .l-header-logo__txt-wrap {
        gap: 3px 0;
        margin-top: 4px;
    }
}
.l-header-logo__upper {
    font-weight: 700;
    font-size: 13px;
    line-height: 1.4615384615;
    letter-spacing: 0.185em;
}
@media screen and (max-width: 1300px) {
    .l-header-logo__upper {
        font-size: 9px;
        line-height: 0.6923076923;
        letter-spacing: 0.18em;
    }
}
.l-header-logo__main {
    font-family: var(--ff-outfit);
    font-weight: 600;
    font-size: 34px;
    line-height: 1.2647058824;
}
@media screen and (max-width: 1300px) {
    .l-header-logo__main {
        font-size: 23px;
        line-height: 1.2608695652;
    }
}

/*  l-header-logo-sub
--------------------------------------------- */
.l-header-logo-sub {
    flex-shrink: 0;
}
.l-header-logo-sub__link {
    display: block;
    width: 143px;
}
@media screen and (max-width: 1300px) {
    .l-header-logo-sub__link {
        width: 94px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-header-logo-sub__link {
        transition: opacity var(--hover-duration);
    }
    .l-header-logo-sub__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-header-logo-sub__link img {
    display: block;
    width: 100%;
    height: auto;
}

/*  l-header-menu
--------------------------------------------- */
@media screen and (max-width: 1300px) {
    .l-header-menu {
        position: fixed;
        inset: calc(var(--fixed-header-height) * 1px) 0 0;
        opacity: 0;
        visibility: hidden;
        overflow-y: auto;
        overscroll-behavior-y: none;
        scrollbar-width: none;
    }
    .l-header-menu::-webkit-scrollbar {
        display: none;
    }
    .l-header-menu.is-animating {
        transition: opacity var(--hover-duration), visibility var(--hover-duration);
    }
    .is-menu-opened .l-header-menu {
        opacity: 1;
        visibility: visible;
    }
}
.l-header-menu__container {
    display: flex;
    align-items: center;
    gap: 0 24px;
}
@media screen and (max-width: 1300px) {
    .l-header-menu__container {
        display: block;
        height: calc(100% + 1px);
        background-color: var(--color-base-1);
        overflow-y: auto;
    }
}

/*  l-header-nav
--------------------------------------------- */
.l-header-nav__list {
    display: flex;
    gap: 0 40px;
}
@media screen and (max-width: 1300px) {
    .l-header-nav__list {
        display: block;
    }
}
@media screen and (max-width: 1300px) {
    .l-header-nav__item {
        border-bottom: 1px solid var(--color-white-1);
    }
}
.l-header-nav__link {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.1111111111;
    text-decoration: none;
}
@media screen and (max-width: 1300px) {
    .l-header-nav__link {
        position: relative;
        display: block;
        padding: 16px 47px 16px 16px;
        color: var(--color-white-1);
        font-size: 16px;
        line-height: 1.5;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-header-nav__link:hover {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 8px;
    }
}
@media screen and (max-width: 1300px) {
    .l-header-nav__link::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 16px;
        transform: translateY(-50%);
        width: 8px;
        aspect-ratio: 8/14;
        -webkit-mask: url("../img/icon_arrow.svg") center center no-repeat;
                mask: url("../img/icon_arrow.svg") center center no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        background-color: var(--color-white-1);
    }
}

/*  l-header-menu-button
--------------------------------------------- */
.l-header-menu-button {
    display: none;
}
@media screen and (max-width: 1300px) {
    .l-header-menu-button {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 48px;
        height: 48px;
        border: 1px solid var(--color-base-1);
        border-radius: 9999px;
        background-color: var(--color-base-1);
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        outline: none;
        transition: background-color var(--hover-duration);
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-header-menu-button:hover {
        background-color: var(--color-white-1);
    }
}
.l-header-menu-button__lines {
    position: relative;
    display: block;
    width: 24px;
    height: 11px;
}
.l-header-menu-button__line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 1px;
    background-color: var(--color-white-1);
    transition: var(--hover-duration);
}
@media (hover: hover) and (pointer: fine) {
    .l-header-menu-button:hover .l-header-menu-button__line {
        background-color: var(--color-base-1);
    }
}
.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%;
    margin-top: -1px;
}
.is-menu-opened .l-header-menu-button__line--center {
    background-color: rgba(var(--color-white-1-rgb), 0) !important;
}

.l-header-menu-button__line--bottom {
    bottom: 0;
}
.is-menu-opened .l-header-menu-button__line--bottom {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
}

/*  l-header-search
--------------------------------------------- */
.l-header-search {
    position: fixed;
    top: calc(var(--fixed-header-height) * 1px);
    left: 0;
    right: 0;
    z-index: 999;
    background-color: var(--color-base-1);
    /* 閉じている状態 */
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    transition: opacity var(--hover-duration);
}
.is-search-open .l-header-search {
    opacity: 1;
    pointer-events: auto;
}

@media screen and (max-width: 1300px) {
    .l-header-search {
        display: contents;
        pointer-events: auto;
    }
}
.l-header-search__inner {
    max-width: 1312px;
    margin-inline: auto;
    padding: 32px 16px;
}
@media screen and (max-width: 1300px) {
    .l-header-search__inner {
        display: contents;
    }
}

/* ---------------------------------------------
*   l-global-nav
--------------------------------------------- */
/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
.l-contents {
    padding-top: calc(var(--fixed-header-height) * 1px);
    overflow: clip;
}
.l-contents__head {
    display: flex;
    flex-direction: column-reverse;
}
@media screen and (max-width: 600px) {
    .l-contents__head {
        display: block;
    }
}

/* ---------------------------------------------
*   l-container
--------------------------------------------- */
.l-container {
    max-width: calc((var(--contents-width) + var(--contents-side-padding) * 2) * 1px);
    margin-inline: auto;
    padding-inline: calc(var(--contents-side-padding) * 1px);
}
@media screen and (max-width: 600px) {
    .l-container {
        max-width: none;
    }
}
@media screen and (min-width: 601px) {
    .l-container--full {
        max-width: none;
        padding-inline: 0;
    }
}
@media screen and (min-width: 601px) {
    .l-container--1520 {
        max-width: calc((1520 + var(--contents-side-padding) * 2) * 1px);
    }
}
@media screen and (min-width: 601px) {
    .l-container--1280 {
        max-width: calc((1280 + var(--contents-side-padding) * 2) * 1px);
    }
}
@media screen and (min-width: 601px) {
    .l-container--960 {
        max-width: calc((960 + var(--contents-side-padding) * 2) * 1px);
    }
}

/* ---------------------------------------------
*   l-breadcrumb
--------------------------------------------- */
.l-breadcrumb {
    border-bottom: 1px solid var(--color-base-1);
    background-color: var(--color-lightgray-1);
}
@media screen and (max-width: 600px) {
    .l-breadcrumb {
        border-bottom: none;
    }
}
.l-breadcrumb__container {
    max-width: 1312px;
    margin-inline: auto;
    padding: 16px;
}
@media screen and (max-width: 600px) {
    .l-breadcrumb__container {
        max-width: none;
        padding-bottom: 0;
    }
}
.l-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
}
.l-breadcrumb__item {
    font-size: 0;
    line-height: 0;
}
.l-breadcrumb__item:not(:first-of-type) {
    position: relative;
    margin-left: 30px;
}
@media screen and (max-width: 600px) {
    .l-breadcrumb__item:not(:first-of-type) {
        margin-left: 20px;
    }
}
.l-breadcrumb__item:not(:first-of-type)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -15px;
    transform: translate(-50%, -50%);
    width: 6px;
    aspect-ratio: 8/14;
    -webkit-mask: url("../img/icon_arrow.svg") center center no-repeat;
            mask: url("../img/icon_arrow.svg") center center no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    background-color: var(--color-gray-1);
}
@media screen and (max-width: 600px) {
    .l-breadcrumb__item:not(:first-of-type)::before {
        left: -10px;
        width: 4px;
    }
}
.l-breadcrumb__txt {
    font-size: 16px;
    line-height: 1.5;
}
@media screen and (max-width: 600px) {
    .l-breadcrumb__txt {
        font-size: 12px;
        line-height: 1.4166666667;
    }
}
.l-breadcrumb__txt[href] {
    color: var(--color-gray-1);
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .l-breadcrumb__txt[href]:hover {
        color: var(--color-base-1);
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
    }
}

/* ---------------------------------------------
*   l-footer
--------------------------------------------- */
.l-footer {
    background-color: var(--color-base-1);
    color: var(--color-white-1);
}
.l-footer__container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 45px 90px;
    margin-inline: auto;
    padding: 85px 16px;
}
@media screen and (max-width: 800px) {
    .l-footer__container {
        display: block;
        max-width: none;
        padding: 45px 16px;
    }
}
.l-footer__head {
    flex-shrink: 0;
}

/*  l-footer-logo
--------------------------------------------- */
.l-footer-logo__link {
    display: flex;
    align-items: flex-end;
    gap: 0 15px;
}
@media screen and (max-width: 800px) {
    .l-footer-logo__link {
        display: block;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-logo__link {
        transition: opacity var(--hover-duration);
    }
    .l-footer-logo__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-footer-logo__img {
    display: block;
    width: 273px;
}
@media screen and (max-width: 800px) {
    .l-footer-logo__img {
        margin-inline: auto;
    }
}
.l-footer-logo__img img {
    display: block;
    width: 100%;
    height: auto;
}
.l-footer-logo__lead {
    font-weight: 700;
    font-size: 11px;
    line-height: 1;
    margin-bottom: 10px;
}
@media screen and (max-width: 800px) {
    .l-footer-logo__lead {
        display: none;
    }
}
.l-footer-logo__txt-wrap {
    display: flex;
    flex-direction: column;
    gap: 2px 0;
}
@media screen and (max-width: 800px) {
    .l-footer-logo__txt-wrap {
        text-align: center;
    }
}
.l-footer-logo__upper {
    font-weight: 700;
    font-size: 13px;
    line-height: 1.4615384615;
    letter-spacing: 0.3em;
}
.l-footer-logo__upper .ls0 {
    letter-spacing: normal;
}
.l-footer-logo__main {
    font-family: var(--ff-outfit);
    font-weight: 600;
    font-size: 34px;
    line-height: 1.2647058824;
}

/*  l-footer-nav
--------------------------------------------- */
@media screen and (max-width: 800px) {
    .l-footer-nav {
        display: none;
    }
}
.l-footer-nav__list {
    display: flex;
    gap: 0 40px;
}
.l-footer-nav__link {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.1111111111;
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-nav__link:hover {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 8px;
    }
}

/*  l-footer-lower
--------------------------------------------- */
.l-footer-lower {
    background-color: var(--color-lightgray-1);
}
.l-footer-lower__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-inline: auto;
    padding: 24px 16px;
}
@media screen and (max-width: 800px) {
    .l-footer-lower__container {
        display: block;
        max-width: none;
        padding: 40px 16px 24px;
    }
}
.l-footer-lower__logo {
    flex-shrink: 0;
}
.l-footer-lower__link {
    display: block;
    width: 169px;
}
@media screen and (max-width: 800px) {
    .l-footer-lower__link {
        margin-inline: auto;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-lower__link {
        transition: opacity var(--hover-duration);
    }
    .l-footer-lower__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.l-footer-lower__link img {
    display: block;
    width: 100%;
    height: auto;
}
.l-footer-lower__copyright {
    font-size: 14px;
    line-height: 1.4285714286;
}
@media screen and (max-width: 800px) {
    .l-footer-lower__copyright {
        margin-top: 24px;
        text-align: center;
    }
}

/*  l-footer-pagetop
--------------------------------------------- */
.l-footer-pagetop {
    position: sticky;
    bottom: 0;
    z-index: 1;
    padding-top: 120px;
    pointer-events: none;
}
@media screen and (max-width: 800px) {
    .l-footer-pagetop {
        position: static;
        padding-top: 0;
    }
}
.l-footer-pagetop__btn {
    position: absolute;
    bottom: 24px;
    right: 24px;
    z-index: 9;
    display: block;
    width: 64px;
    height: 64px;
    border: 1px solid var(--color-base-1);
    border-radius: 50%;
    background-color: var(--color-base-1);
    transition: background-color var(--hover-duration), opacity var(--hover-duration), visibility var(--hover-duration);
    opacity: 0;
    visibility: hidden;
    pointer-events: auto;
}
@media screen and (max-width: 800px) {
    .l-footer-pagetop__btn {
        position: relative;
        bottom: auto;
        right: auto;
        display: block;
        width: 100%;
        height: 54px;
        border: none;
        border-top: 1px solid var(--color-base-1);
        border-bottom: 1px solid var(--color-white-1);
        border-radius: 0;
        opacity: 1 !important;
        visibility: visible !important;
    }
}
.l-footer-pagetop__btn.is-show {
    opacity: 1;
    visibility: visible;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-pagetop__btn.is-show:hover {
        background-color: var(--color-white-1);
    }
    .l-footer-pagetop__btn.is-show:hover::before {
        background-color: var(--color-base-1);
    }
}
.l-footer-pagetop__btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-90deg);
    width: 8px;
    aspect-ratio: 8/14;
    -webkit-mask: url("../img/icon_arrow.svg") center center no-repeat;
            mask: url("../img/icon_arrow.svg") center center no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    background-color: var(--color-white-1);
    transition: background-color var(--hover-duration);
}

/* ---------------------------------------------
*   c-article
--------------------------------------------- */
.c-article {
    margin-top: 16px;
}
@media screen and (max-width: 600px) {
    .c-article {
        padding-top: 16px;
        background: repeating-linear-gradient(to right, currentColor 0 2px, transparent 2px 8px) left top no-repeat;
        background-size: 100% 1px;
    }
}
.c-article:first-of-type {
    margin-top: 0;
    padding-top: 0;
    background: none;
}
.c-article__link {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}
@media screen and (max-width: 600px) {
    .c-article__link {
        gap: 16px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-article__link:hover .c-article__ttl-outer,
    .c-article__link:hover .c-article__tag-wrap {
        opacity: var(--hover-opacity-ratio);
    }
    .c-article__link:hover .c-article__img img {
        transform: scale(1.1, 1.1);
    }
}
.c-article-wrap--ranking .c-article__link {
    position: relative;
}
.c-article-wrap--ranking .c-article__link::after {
    content: "";
    position: absolute;
    top: -8px;
    left: 8px;
    z-index: 1;
    width: 32px;
    height: 32px;
    background: url("../img/icon_rank_1.svg") center center no-repeat;
    background-size: 100% auto;
}

.c-article-wrap--ranking .c-article:nth-of-type(2) .c-article__link::after {
    background-image: url("../img/icon_rank_2.svg");
}

.c-article-wrap--ranking .c-article:nth-of-type(3) .c-article__link::after {
    background-image: url("../img/icon_rank_3.svg");
}

.c-article-wrap--ranking .c-article:nth-of-type(4) .c-article__link::after {
    background-image: url("../img/icon_rank_4.svg");
}

.c-article-wrap--ranking .c-article:nth-of-type(5) .c-article__link::after {
    background-image: url("../img/icon_rank_5.svg");
}

.c-article-wrap--ranking .c-article:nth-of-type(n+6) .c-article__link::after {
    content: normal;
}

.c-article__img {
    flex-shrink: 0;
    position: relative;
    width: 35.6140350877%;
    min-width: 100px;
    aspect-ratio: 203/136;
    overflow: hidden;
}
@media screen and (max-width: 600px) {
    .c-article__img {
        width: 140px;
        min-width: auto;
        aspect-ratio: 140/94;
    }
}
.c-article__img::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border: 1px solid var(--color-base-1);
    pointer-events: none;
}
.c-article__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform var(--hover-duration);
}
.c-article__txt-wrap {
    flex: 1;
    align-self: center;
}
.c-article__info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
}
.c-article__info time {
    flex-shrink: 0;
}
.c-article__ttl-outer {
    margin-top: 8px;
    transition: opacity var(--hover-duration);
}
.c-article__tag-wrap {
    margin-top: 8px;
    transition: opacity var(--hover-duration);
}

/* ---------------------------------------------
*   c-block
--------------------------------------------- */
/*  c-block-sns
--------------------------------------------- */
.c-block-sns__heading {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    margin-bottom: 24px;
    padding-bottom: 3px;
    border-bottom: 1px solid var(--color-base-1);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.5;
}
.c-block-sns__list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.c-block-sns__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-sns__link {
        transition: opacity var(--hover-duration);
    }
    .c-block-sns__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-block-sns__item--x .c-block-sns__link {
    width: 28px;
    height: 29px;
}
.c-block-sns__item--facebook .c-block-sns__link {
    width: 40px;
    height: 40px;
}
.c-block-sns__item--line .c-block-sns__link {
    width: 34px;
    height: 34px;
}
.c-block-sns__link img {
    display: block;
    width: 100%;
    height: auto;
}

/*  c-block-contact
--------------------------------------------- */
.c-block-contact {
    position: relative;
    padding: 64px 40px;
    background: url("../img/bg_contact.jpg") center center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 600px) {
    .c-block-contact {
        padding: 24px 16px;
    }
}
.c-block-contact::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid var(--color-base-1);
    pointer-events: none;
}
.c-block-contact__inner {
    max-width: 660px;
    margin-inline: auto;
}
@media screen and (max-width: 600px) {
    .c-block-contact__inner {
        max-width: none;
    }
}
.c-block-contact__heading {
    margin-bottom: 36px;
    color: var(--color-white-1);
    font-weight: 700;
    font-size: 32px;
    line-height: 1.4375;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .c-block-contact__heading {
        margin-bottom: 24px;
        font-size: 20px;
        line-height: 1.4;
    }
}
.c-block-contact__row {
    margin-top: 20px;
}
@media screen and (max-width: 600px) {
    .c-block-contact__row {
        margin-top: 24px;
    }
}
.c-block-contact__row:first-of-type {
    margin-top: 0;
}
.c-block-contact__txt {
    color: var(--color-white-1);
    font-weight: 500;
    font-size: 16px;
    line-height: 2;
}
@media screen and (max-width: 600px) {
    .c-block-contact__txt {
        font-size: 14px;
        line-height: 1.5714285714;
    }
}
.c-block-contact__txt + .c-block-contact__txt {
    margin-top: 4px;
}
.c-block-contact__txt--center {
    text-align: center;
}
.c-block-contact__btn-outer {
    max-width: 572px;
    margin-inline: auto;
}
@media screen and (max-width: 600px) {
    .c-block-contact__btn-outer {
        width: 100%;
    }
}

/*  c-block-about
--------------------------------------------- */
.c-block-about {
    position: relative;
    padding: 64px 40px;
    background: url("../img/bg_about.jpg") center center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 600px) {
    .c-block-about {
        padding: 24px 16px;
    }
}
.c-block-about::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid var(--color-base-1);
    pointer-events: none;
}
.c-block-about__inner {
    max-width: 660px;
    margin-inline: auto;
}
@media screen and (max-width: 600px) {
    .c-block-about__inner {
        max-width: none;
    }
}
.c-block-about__heading {
    margin-bottom: 36px;
    color: var(--color-white-1);
    font-weight: 700;
    font-size: 32px;
    line-height: 1.4375;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .c-block-about__heading {
        margin-bottom: 24px;
        font-size: 20px;
        line-height: 1.4;
    }
}
.c-block-about__row {
    margin-top: 20px;
}
@media screen and (max-width: 600px) {
    .c-block-about__row {
        margin-top: 24px;
    }
}
.c-block-about__row:first-of-type {
    margin-top: 0;
}
.c-block-about__txt {
    color: var(--color-white-1);
    font-weight: 500;
    font-size: 16px;
    line-height: 2;
}
@media screen and (max-width: 600px) {
    .c-block-about__txt {
        font-size: 14px;
        line-height: 1.5714285714;
    }
}

/*  c-block-new
--------------------------------------------- */
.c-block-new-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    align-items: flex-start;
}
@media screen and (max-width: 600px) {
    .c-block-new-wrap {
        grid-template-columns: repeat(1, 1fr);
        gap: 24px;
    }
}

.c-block-new {
    border: 1px solid var(--color-base-1);
}
.c-block-new__head {
    padding: 16px;
    background-color: var(--color-lightgray-1);
    text-align: center;
}
.c-block-new__ttl {
    font-weight: 700;
    font-size: 24px;
    line-height: 1.4583333333;
}
@media screen and (max-width: 600px) {
    .c-block-new__ttl {
        font-size: 20px;
        line-height: 1.45;
    }
}
.c-block-new__body {
    padding: 24px;
}
@media screen and (max-width: 600px) {
    .c-block-new__body {
        padding: 16px;
    }
}
.c-block-new__foot {
    padding: 24px;
    background-color: var(--color-lightgray-1);
}
@media screen and (max-width: 600px) {
    .c-block-new__foot {
        padding: 16px;
    }
}

/* ---------------------------------------------
*   c-box
--------------------------------------------- */
/* ---------------------------------------------
*   c-btn
--------------------------------------------- */
.c-btn-outer--w572 {
    max-width: 572px;
    margin-inline: auto;
}
@media screen and (max-width: 600px) {
    .c-btn-outer--w572 {
        max-width: none;
    }
}

.c-btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 22px 64px;
    border-radius: 10px;
    border: 1px solid var(--color-base-1);
    background-color: var(--color-white-1);
    transition: background-color var(--hover-duration);
    will-change: background-color;
}
@media screen and (max-width: 600px) {
    .c-btn {
        padding: 17px 45px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn:hover {
        background-color: var(--color-base-1);
    }
    .c-btn:hover::before {
        background-color: var(--color-white-1);
    }
    .c-btn:hover::after {
        background-color: var(--color-base-1);
    }
    .c-btn:hover .c-btn__txt {
        color: var(--color-white-1);
    }
}
.c-btn::before, .c-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translate(50%, -50%);
    transition: background-color var(--hover-duration), border-color var(--hover-duration);
    will-change: background-color;
}
@media screen and (max-width: 600px) {
    .c-btn::before, .c-btn::after {
        right: 28px;
    }
}
.c-btn::before {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--color-base-1);
}
@media screen and (max-width: 600px) {
    .c-btn::before {
        width: 26px;
        height: 26px;
    }
}
.c-btn::after {
    width: 8px;
    aspect-ratio: 7/11;
    -webkit-mask: url("../img/icon_arrow_pager.svg") center center no-repeat;
            mask: url("../img/icon_arrow_pager.svg") center center no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 600px) {
    .c-btn::after {
        width: 6px;
    }
}
.c-btn--arrow-left::before, .c-btn--arrow-left::after {
    right: auto;
    left: 40px;
    transform: translate(-50%, -50%) rotate(180deg);
}
@media screen and (max-width: 600px) {
    .c-btn--arrow-left::before, .c-btn--arrow-left::after {
        left: 28px;
    }
}
.c-btn__txt {
    color: var(--color-base-1);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.4444444444;
    transition: color var(--hover-duration);
    will-change: color;
}
@media screen and (max-width: 600px) {
    .c-btn__txt {
        font-size: 14px;
        line-height: 1.4285714286;
    }
}

/* ---------------------------------------------
*   c-card
--------------------------------------------- */
.c-card-wrap--4col {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}
@media screen and (max-width: 600px) {
    .c-card-wrap--4col {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 16px;
    }
}

.c-card__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .c-card__link:hover .c-card__ttl-outer,
    .c-card__link:hover .c-card__tag-wrap {
        opacity: var(--hover-opacity-ratio);
    }
    .c-card__link:hover .c-card__img img {
        transform: scale(1.1, 1.1);
    }
}
.c-card__img {
    position: relative;
    overflow: hidden;
}
.c-card__img::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border: 1px solid var(--color-base-1);
    pointer-events: none;
}
.c-card__img img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 350/233;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform var(--hover-duration);
}
@media screen and (max-width: 600px) {
    .c-card__img img {
        aspect-ratio: 164/110;
    }
}
.c-card__info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-top: 16px;
}
@media screen and (max-width: 600px) {
    .c-card__info {
        margin-top: 8px;
    }
}
.c-card__info time {
    flex-shrink: 0;
}
.c-card__ttl-outer {
    margin-top: 16px;
    letter-spacing: 0.05em;
    transition: opacity var(--hover-duration);
}
@media screen and (max-width: 600px) {
    .c-card__ttl-outer {
        margin-top: 8px;
    }
}
.c-card__tag-wrap {
    margin-top: 16px;
    transition: opacity var(--hover-duration);
}
@media screen and (max-width: 600px) {
    .c-card__tag-wrap {
        margin-top: 8px;
    }
}

/* ---------------------------------------------
*   c-cassette
--------------------------------------------- */
/*  c-cassette-about
--------------------------------------------- */
.c-cassette-about__inner {
    display: flex;
    gap: 2.6315789474%;
}
@media screen and (max-width: 600px) {
    .c-cassette-about__inner {
        display: block;
    }
}
.c-cassette-about__txt-wrap {
    flex-grow: 1;
}
.c-cassette-about__ttl {
    font-weight: 700;
    font-size: 48px;
    line-height: 1.3333333333;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .c-cassette-about__ttl {
        font-size: 32px;
        line-height: 1.59375;
    }
}
.c-cassette-about--about .c-cassette-about__ttl {
    font-size: 40px;
    line-height: 1.6;
}
@media screen and (max-width: 600px) {
    .c-cassette-about--about .c-cassette-about__ttl {
        font-size: 28px;
        line-height: 1.6071428571;
    }
}
.c-cassette-about__txt {
    margin-top: 40px;
    font-weight: 500;
    font-size: 18px;
    line-height: 2.6111111111;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .c-cassette-about__txt {
        margin-top: 24px;
        font-size: 16px;
        line-height: 2.625;
    }
}
.c-cassette-about--about .c-cassette-about__txt {
    margin-top: 64px;
}
@media screen and (max-width: 600px) {
    .c-cassette-about--about .c-cassette-about__txt {
        margin-top: 40px;
    }
}
.c-cassette-about__img {
    flex-shrink: 0;
    width: 21.0526315789%;
}
@media screen and (max-width: 600px) {
    .c-cassette-about__img {
        display: none;
    }
}
.c-cassette-about__img--right {
    align-self: flex-end;
}
.c-cassette-about__foot {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-block: 80px 40px;
}
@media screen and (max-width: 980px) {
    .c-cassette-about__foot {
        grid-template-columns: repeat(1, 1fr);
        gap: 24px;
    }
}
@media screen and (max-width: 600px) {
    .c-cassette-about__foot {
        margin-block: 40px;
    }
}
@media screen and (min-width: 601px) {
    .c-cassette-about--top .c-cassette-about__foot {
        margin-bottom: 8px;
    }
}
.c-cassette-about--about .c-cassette-about__foot {
    margin-top: 120px;
}
@media screen and (max-width: 600px) {
    .c-cassette-about--about .c-cassette-about__foot {
        margin-top: 80px;
    }
}

/*  c-cassette-publicrelation
--------------------------------------------- */
.c-cassette-publicrelation__row {
    margin-top: 40px;
}
.c-cassette-publicrelation__row:first-of-type {
    margin-top: 0;
}
.c-cassette-publicrelation__txt {
    font-size: 18px;
    line-height: 1.7777777778;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .c-cassette-publicrelation__txt {
        font-size: 16px;
        line-height: 1.8125;
        text-align: left;
    }
}

/* ---------------------------------------------
*   c-entry
--------------------------------------------- */
/*  c-entry-section
--------------------------------------------- */
.c-entry-section {
    margin-block: 120px;
}
@media screen and (max-width: 600px) {
    .c-entry-section {
        margin-block: 80px;
    }
}
.c-entry-section:first-of-type {
    margin-top: 80px;
}
@media screen and (max-width: 600px) {
    .c-entry-section:first-of-type {
        margin-top: 16px;
    }
}
.c-entry-section:last-of-type {
    margin-bottom: 40px;
}
.c-entry-section--bg-gray {
    padding-block: 120px;
    background-color: var(--color-lightgray-1);
}
@media screen and (max-width: 600px) {
    .c-entry-section--bg-gray {
        padding-block: 80px;
    }
}
.c-entry-section:not(.c-entry-section--bg-gray)[id^=anchor-] {
    padding-top: 120px;
    margin-top: -120px;
}
@media screen and (max-width: 600px) {
    .c-entry-section:not(.c-entry-section--bg-gray)[id^=anchor-] {
        padding-top: 80px;
        margin-top: -80px;
    }
}
.c-entry-section .l-container > * {
    margin-block: 40px;
}
.c-entry-section .l-container > *:first-child {
    margin-top: 0;
}
.c-entry-section .l-container > *:last-child {
    margin-bottom: 0;
}
.c-entry-section .l-container > *.c-entry-panel + .c-entry-panel {
    margin-top: 60px;
}

/*  c-entry-ttl
--------------------------------------------- */
.c-entry-ttl {
    font-weight: 700;
    font-size: 36px;
    line-height: 1.6111111111;
}
@media screen and (max-width: 600px) {
    .c-entry-ttl {
        font-size: 24px;
        line-height: 1.5833333333;
    }
}
.c-entry-ttl--underline {
    padding-bottom: 24px;
    border-bottom: 1px solid var(--color-base-1);
}
@media screen and (max-width: 600px) {
    .c-entry-ttl--underline {
        padding-bottom: 16px;
    }
}

/*  c-entry-ttl-s
--------------------------------------------- */
.c-entry-ttl-s {
    font-weight: 700;
    font-size: 28px;
    line-height: 1.6071428571;
}
@media screen and (max-width: 600px) {
    .c-entry-ttl-s {
        font-size: 20px;
        line-height: 1.6;
    }
}

/*  c-entry-profile
--------------------------------------------- */
.c-entry-profile {
    position: relative;
    padding: 40px;
    background-color: var(--color-lightgray-1);
}
@media screen and (max-width: 600px) {
    .c-entry-profile {
        padding: 24px 24px 40px;
    }
}
.c-entry-profile::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid var(--color-base-1);
    pointer-events: none;
}
.c-entry-profile__inner {
    display: flex;
    gap: 40px;
}
@media screen and (max-width: 600px) {
    .c-entry-profile__inner {
        display: block;
    }
}
.c-entry-profile__img-outer {
    flex-shrink: 0;
}
.c-entry-profile__img {
    width: 160px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    overflow: hidden;
}
@media screen and (max-width: 600px) {
    .c-entry-profile__img {
        width: 120px;
        margin-inline: auto;
    }
}
.c-entry-profile__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-entry-profile__content {
    flex-grow: 1;
}
.c-entry-profile__lead {
    margin-bottom: 16px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5714285714;
}
@media screen and (max-width: 600px) {
    .c-entry-profile__lead {
        margin-top: 21px;
        font-size: 16px;
        line-height: 1.625;
        text-align: center;
    }
}
.c-entry-profile__name {
    display: block;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2857142857;
}
@media screen and (max-width: 600px) {
    .c-entry-profile__name {
        font-size: 24px;
        line-height: 1.5;
        text-align: center;
    }
}
.c-entry-profile__name + .c-entry-profile__name {
    margin-top: 8px;
}
@media screen and (max-width: 600px) {
    .c-entry-profile__name + .c-entry-profile__name {
        margin-top: 10px;
    }
}
.c-entry-profile__position {
    margin-left: 6px;
    font-weight: 700;
    font-size: 18px;
    line-height: 2;
}
@media screen and (max-width: 600px) {
    .c-entry-profile__position {
        display: block;
        margin-top: 1px;
        margin-left: 0;
        font-size: 16px;
        line-height: 2.25;
        text-align: center;
    }
}
.c-entry-profile__txt {
    margin-top: 21px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5714285714;
}
@media screen and (max-width: 600px) {
    .c-entry-profile__txt {
        margin-top: 16px;
        font-size: 16px;
        line-height: 1.625;
    }
}
.c-entry-profile__label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: 0 auto;
    margin-bottom: 26px;
    padding-inline: 16px;
    background-color: var(--color-base-1);
    color: var(--color-white-1);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
}
@media screen and (max-width: 600px) {
    .c-entry-profile__label {
        margin-inline: auto;
        margin-top: 16px;
        margin-bottom: 16px;
    }
}
.c-entry-profile__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 25px;
    margin-top: 21px;
}
@media screen and (max-width: 600px) {
    .c-entry-profile__list {
        justify-content: center;
        gap: 8px 40px;
        margin-top: 18px;
    }
}
.c-entry-profile__link {
    position: relative;
    display: block;
    padding-left: 15px;
    font-size: 16px;
    line-height: 1.5;
}
@media (hover: hover) and (pointer: fine) {
    .c-entry-profile__link:hover {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
    }
}
.c-entry-profile__link::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 1px;
    width: 8px;
    height: 8px;
    border-top: 1px solid var(--color-base-1);
    border-right: 1px solid var(--color-base-1);
    transform: rotate(45deg);
    transform-origin: left top;
}

/*  c-entry-anchor
--------------------------------------------- */
.c-entry-anchor__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.c-entry-anchor__item {
    border-right: 1px solid var(--color-base-1);
}
.c-entry-anchor__item:first-of-type {
    border-left: 1px solid var(--color-base-1);
}
.c-entry-anchor__link {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-block: 12px;
}
@media (hover: hover) and (pointer: fine) {
    .c-entry-anchor__link {
        transition: opacity var(--hover-duration);
    }
    .c-entry-anchor__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-entry-anchor__txt {
    position: relative;
    padding-bottom: 24px;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.4444444444;
}
@media screen and (max-width: 600px) {
    .c-entry-anchor__txt {
        font-size: 14px;
        line-height: 1.4285714286;
    }
}
.c-entry-anchor__txt::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 16px;
    background: url("../img/icon_arrow_anchor.svg") center center no-repeat;
    background-size: contain;
}

/*  c-entry-heading
--------------------------------------------- */
.c-entry-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.4583333333;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .c-entry-heading {
        gap: 24px;
        font-size: 20px;
        line-height: 1.45;
    }
}
.c-entry-heading::before, .c-entry-heading::after {
    content: "";
    flex: 1 1 auto;
    min-width: 16px;
    height: 1px;
    background: var(--color-base-1);
}

/*  c-entry-txt
--------------------------------------------- */
.c-entry-txt {
    font-size: 18px;
    line-height: 1.7777777778;
}
@media screen and (max-width: 600px) {
    .c-entry-txt {
        font-size: 16px;
        line-height: 1.8125;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-entry-txt a[href]:hover {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
    }
}
.c-entry-txt strong {
    font-weight: 700;
}

/*  c-entry-panel
--------------------------------------------- */
.c-entry-panel__heading {
    display: flex;
    gap: 16px;
    margin-bottom: 18px;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.7777777778;
}
@media screen and (max-width: 600px) {
    .c-entry-panel__heading {
        font-size: 16px;
        line-height: 1.625;
    }
}
.c-entry-panel__heading::before {
    content: "";
    width: 40px;
    height: 1px;
    margin-top: 16px;
    background-color: #707070;
    flex-shrink: 0;
}
@media screen and (max-width: 600px) {
    .c-entry-panel__heading::before {
        width: 16px;
    }
}
.c-entry-panel__content {
    display: flex;
}
@media screen and (max-width: 600px) {
    .c-entry-panel__content {
        display: block;
    }
}
.c-entry-panel__content + .c-entry-panel__content {
    margin-top: 18px;
}
.c-entry-panel__txt-wrap {
    display: contents;
}
@media screen and (max-width: 600px) {
    .c-entry-panel__txt-wrap {
        display: flex;
    }
}
.c-entry-panel__speaker {
    flex-shrink: 0;
    width: 2em;
    margin-right: 16px;
    font-size: 18px;
    line-height: 1.7777777778;
}
@media screen and (max-width: 600px) {
    .c-entry-panel__speaker {
        font-size: 16px;
        line-height: 1.625;
    }
}
.c-entry-panel--char-1 .c-entry-panel__speaker {
    width: 1em;
}
.c-entry-panel--char-3 .c-entry-panel__speaker {
    width: 3em;
}
.c-entry-panel--char-4 .c-entry-panel__speaker {
    width: 4em;
}
.c-entry-panel--char-5 .c-entry-panel__speaker {
    width: 5em;
}
.c-entry-panel__txt {
    flex-grow: 1;
    font-size: 18px;
    line-height: 1.7777777778;
}
@media screen and (max-width: 600px) {
    .c-entry-panel__txt {
        font-size: 16px;
        line-height: 1.625;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-entry-panel__txt a[href]:hover {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
    }
}
.c-entry-panel__txt strong {
    font-weight: 700;
}
.c-entry-panel__img {
    flex-shrink: 0;
    align-self: center;
    width: 38.5416666667%;
    margin-left: 24px;
}
@media screen and (max-width: 600px) {
    .c-entry-panel__img {
        width: 100%;
        margin-top: 40px;
        margin-left: 0;
    }
}
.c-entry-panel__img figcaption {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.4285714286;
    text-align: center;
}

/*  c-entry-box
--------------------------------------------- */
.c-entry-box {
    position: relative;
    padding: 40px;
    background-color: var(--color-lightgray-1);
}
@media screen and (max-width: 600px) {
    .c-entry-box {
        padding: 24px;
    }
}
.c-entry-box::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid var(--color-base-1);
    pointer-events: none;
}
.c-entry-box__inner {
    display: flex;
    align-items: center;
}
@media screen and (max-width: 600px) {
    .c-entry-box__inner {
        display: block;
    }
}
.c-entry-box__txt-wrap {
    flex-grow: 1;
}
.c-entry-box__ttl {
    font-weight: 700;
    font-size: 28px;
    line-height: 1.6071428571;
}
@media screen and (max-width: 600px) {
    .c-entry-box__ttl {
        font-size: 24px;
        line-height: 1.5833333333;
    }
}
.c-entry-box__txt {
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.625;
}
@media (hover: hover) and (pointer: fine) {
    .c-entry-box__txt a[href]:hover {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
    }
}
.c-entry-box__img {
    flex-shrink: 0;
    width: 45.4545454545%;
    margin-left: 40px;
}
@media screen and (max-width: 600px) {
    .c-entry-box__img {
        width: 100%;
        margin-top: 24px;
        margin-left: 0;
    }
}
.c-entry-box__img figcaption {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.4285714286;
    text-align: center;
}

/*  c-entry-block
--------------------------------------------- */
.c-entry-block--reverse .c-entry-block__content {
    flex-direction: row-reverse;
}
.c-entry-block--reverse .c-entry-block__img {
    margin-left: 0;
    margin-right: 40px;
}
@media screen and (max-width: 600px) {
    .c-entry-block--reverse .c-entry-block__img {
        margin-right: 0;
    }
}
.c-entry-block__content {
    display: flex;
}
@media screen and (max-width: 600px) {
    .c-entry-block__content {
        display: block;
    }
}
.c-entry-block__txt {
    flex-grow: 1;
    font-size: 18px;
    line-height: 1.7777777778;
}
@media screen and (max-width: 600px) {
    .c-entry-block__txt {
        font-size: 16px;
        line-height: 1.8125;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-entry-block__txt a[href]:hover {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
    }
}
.c-entry-block__txt strong {
    font-weight: 700;
}
.c-entry-block__img {
    flex-shrink: 0;
    align-self: center;
    width: 38.5416666667%;
    margin-left: 40px;
}
@media screen and (max-width: 600px) {
    .c-entry-block__img {
        width: 100%;
        margin-top: 40px;
        margin-left: 0;
    }
}
.c-entry-block__img figcaption {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.4285714286;
    text-align: center;
}

/*  c-entry-figure
--------------------------------------------- */
.c-entry-figure {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media screen and (max-width: 600px) {
    .c-entry-figure {
        display: block;
    }
}
@media screen and (max-width: 600px) {
    .c-entry-figure__item {
        margin-top: 32px;
    }
    .c-entry-figure__item:first-of-type {
        margin-top: 0;
    }
}
.c-entry-figure__img {
    display: block;
    width: 100%;
}
.c-entry-figure__img img {
    display: block;
    width: 100%;
    height: auto;
}
.c-entry-figure__img figcaption {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.4285714286;
    text-align: center;
}

/*  c-entry-table
--------------------------------------------- */
.c-table-outer {
    overflow-x: auto;
}

.c-entry-table {
    width: 100%;
    min-width: 960px;
    border-top: 1px solid var(--color-base-1);
    border-right: 1px solid var(--color-base-1);
}
.c-entry-table th, .c-entry-table td {
    padding: 12px;
    border-bottom: 1px solid var(--color-base-1);
    border-left: 1px solid var(--color-base-1);
    font-size: 18px;
    line-height: 1.4444444444;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .c-entry-table th, .c-entry-table td {
        padding: 12px 6px;
        font-size: 14px;
        line-height: 1.5714285714;
    }
}
.c-entry-table th:first-of-type {
    width: 20.8550573514%;
    vertical-align: middle;
}
@media screen and (max-width: 600px) {
    .c-entry-table th:first-of-type {
        width: 17.5438596491%;
    }
}
.c-entry-table thead th {
    background-color: var(--color-base-1);
    color: var(--color-white-1);
    font-weight: bold;
}
.c-entry-table thead th:nth-of-type(n+2) {
    border-left-color: var(--color-gray-1);
}
.c-entry-table tbody th {
    background-color: var(--color-lightgray-1);
    vertical-align: top;
}

/*  c-entry-list
--------------------------------------------- */
.c-entry-list--circle .c-entry-list__item::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-base-1);
    margin-right: 8px;
}
.c-entry-list--num {
    counter-reset: number;
}
.c-entry-list--num .c-entry-list__item::before {
    content: counters(number, "-") ". ";
    counter-increment: number;
}
.c-entry-list__item {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 18px;
    line-height: 1.7777777778;
}
@media (hover: hover) and (pointer: fine) {
    .c-entry-list__item a[href]:hover {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
    }
}
.c-entry-list__item strong {
    font-weight: 700;
}

/*  c-entry-note
--------------------------------------------- */
.c-entry-note {
    position: relative;
    padding: 24px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 600px) {
    .c-entry-note {
        padding: 16px;
    }
}
.c-entry-note::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid #CBCBCB;
}
.c-entry-note__heading {
    margin-bottom: 10px;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.5714285714;
}
.c-entry-note__item {
    font-size: 14px;
    line-height: 1.5714285714;
}

/*  c-entry-movie
--------------------------------------------- */
.c-entry-movie {
    position: relative;
    padding-top: 56.25%;
}
.c-entry-movie iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/*  c-entry-foot
--------------------------------------------- */
.c-entry-foot__row {
    border-top: 1px solid var(--color-base-1);
}
.c-entry-foot__tag-wrap {
    margin-block: 24px;
}
@media screen and (max-width: 600px) {
    .c-entry-foot__tag-wrap {
        margin-block: 16px;
    }
}
.c-entry-foot__sns-wrap {
    margin-block: 40px;
}
.c-entry-foot__btn-outer {
    max-width: 572px;
    margin-inline: auto;
    margin-block: 40px;
}
@media screen and (max-width: 600px) {
    .c-entry-foot__btn-outer {
        width: 100%;
    }
}
.c-entry-foot__info {
    margin-block: 40px;
}

/* ---------------------------------------------
*   c-figure
--------------------------------------------- */
/* ---------------------------------------------
*   c-form
--------------------------------------------- */
/* ---------------------------------------------
*   c-img
--------------------------------------------- */
/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
/* ---------------------------------------------
*   c-label
--------------------------------------------- */
.c-label {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.c-label__item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-inline: 16px;
}
@media screen and (max-width: 600px) {
    .c-label__item {
        padding-inline: 8px;
    }
}
.c-label__item::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid var(--color-gray-1);
    pointer-events: none;
}
.c-label__txt {
    color: var(--color-gray-1);
    font-size: 14px;
    line-height: 1.4285714286;
}
@media screen and (max-width: 600px) {
    .c-label__txt {
        font-size: 12px;
        line-height: 1.5;
    }
}

/*  c-label-2
--------------------------------------------- */
.c-label-2 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.c-label-2__item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-inline: 16px;
}
.c-label-2__item::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid var(--color-gray-1);
    pointer-events: none;
}
.c-label-2__txt {
    color: var(--color-gray-1);
    font-size: 16px;
    line-height: 1.5;
}

/* ---------------------------------------------
*   c-link
--------------------------------------------- */
/* ---------------------------------------------
*   c-list
--------------------------------------------- */
/* ---------------------------------------------
*   c-pager
--------------------------------------------- */
.c-pager {
    margin-top: 40px;
}
@media screen and (max-width: 600px) {
    .c-pager {
        margin-top: 24px;
    }
}
.c-pager__list {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    padding: 8px 140px;
}
@media screen and (max-width: 600px) {
    .c-pager__list {
        width: 100%;
        padding: 0 64px;
    }
}
.c-pager__item {
    margin-inline: 4px;
}
.c-pager__item a, .c-pager__item span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--color-base-1);
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    transition: background-color var(--hover-duration), color var(--hover-duration);
    will-change: background-color, color;
}
@media (hover: hover) and (pointer: fine) {
    .c-pager__item a:hover {
        background-color: var(--color-gray-2);
    }
}
.c-pager__item.is-current a, .c-pager__item.is-current span {
    background-color: var(--color-base-1);
    color: var(--color-white-1);
}
.c-pager__item.is-ellipsis a, .c-pager__item.is-ellipsis span {
    border: none;
}
.c-pager__item.is-prev, .c-pager__item.is-next {
    margin-inline: 0;
}
.c-pager__item.is-prev a, .c-pager__item.is-next a {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 120px;
    height: 56px;
    border-radius: 10px;
}
@media screen and (max-width: 600px) {
    .c-pager__item.is-prev a, .c-pager__item.is-next a {
        width: auto;
        height: auto;
        border-radius: 0;
        border: none;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-pager__item.is-prev a:hover, .c-pager__item.is-next a:hover {
        background-color: var(--color-base-1);
        color: var(--color-white-1);
    }
    .c-pager__item.is-prev a:hover::before, .c-pager__item.is-next a:hover::before {
        background-color: var(--color-white-1);
    }
    .c-pager__item.is-prev a:hover::after, .c-pager__item.is-next a:hover::after {
        background-color: var(--color-base-1);
    }
}
.c-pager__item.is-prev a::before, .c-pager__item.is-prev a::after, .c-pager__item.is-next a::before, .c-pager__item.is-next a::after {
    content: "";
    position: absolute;
    top: 50%;
    transition: background-color var(--hover-duration);
    will-change: background-color;
}
.c-pager__item.is-prev a::before, .c-pager__item.is-next a::before {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: var(--color-base-1);
}
.c-pager__item.is-prev a::after, .c-pager__item.is-next a::after {
    width: 7px;
    aspect-ratio: 7/11;
    -webkit-mask: url("../img/icon_arrow_pager.svg") center center no-repeat;
            mask: url("../img/icon_arrow_pager.svg") center center no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    background-color: var(--color-white-1);
}
.c-pager__item.is-prev a {
    left: 0;
    padding-left: 16px;
}
@media screen and (max-width: 600px) {
    .c-pager__item.is-prev a {
        padding-left: 32px;
    }
}
.c-pager__item.is-prev a::before, .c-pager__item.is-prev a::after {
    left: 24px;
    transform: translate(-50%, -50%) rotate(180deg);
}
@media screen and (max-width: 600px) {
    .c-pager__item.is-prev a::before, .c-pager__item.is-prev a::after {
        left: 12px;
    }
}
.c-pager__item.is-next a {
    right: 0;
    padding-right: 16px;
}
@media screen and (max-width: 600px) {
    .c-pager__item.is-next a {
        padding-right: 32px;
    }
}
.c-pager__item.is-next a::before, .c-pager__item.is-next a::after {
    right: 24px;
    transform: translate(50%, -50%);
}
@media screen and (max-width: 600px) {
    .c-pager__item.is-next a::before, .c-pager__item.is-next a::after {
        right: 12px;
    }
}

/* ---------------------------------------------
*   c-section
--------------------------------------------- */
.c-section--bg-gray {
    background-color: var(--color-lightgray-1);
}
.c-section__inner {
    padding-block: 80px;
}
@media screen and (max-width: 600px) {
    .c-section__inner {
        padding-block: 40px;
    }
}
.c-section__inner--pdb-0 {
    padding-bottom: 0;
}
.c-section__body {
    margin-top: 40px;
}
@media screen and (max-width: 600px) {
    .c-section__body {
        margin-top: 24px;
    }
}
.c-section__row {
    margin-top: 40px;
}
@media screen and (max-width: 600px) {
    .c-section__row {
        margin-top: 24px;
    }
}
.c-section__row:first-of-type {
    margin-top: 0;
}

/* ---------------------------------------------
*   c-slider
--------------------------------------------- */
.c-slider-outer {
    padding-block: 16px;
    border-bottom: 1px solid var(--color-base-1);
}

.c-slider__wrapper {
    position: relative;
    padding-inline: 72px;
}
@media screen and (max-width: 600px) {
    .c-slider__wrapper {
        padding-inline: 44px;
    }
}
.c-slider .splide__slide {
    transform: translate3d(0, 0, 0);
}
.c-slider .splide__arrow {
    --arrow-pos-x: 16px;
    position: absolute;
    top: 50%;
    z-index: 1;
    translate: 0 -50%;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--color-base-1);
    background-color: var(--color-base-1);
    box-sizing: border-box;
    touch-action: manipulation;
    cursor: pointer;
    overflow: hidden;
    transition: background-color var(--hover-duration);
    will-change: background-color;
}
@media screen and (max-width: 600px) {
    .c-slider .splide__arrow {
        --arrow-pos-x: 0;
    }
}
.c-slider .splide__arrow--prev {
    left: var(--arrow-pos-x);
    rotate: 180deg;
}
.c-slider .splide__arrow--next {
    right: var(--arrow-pos-x);
}
.c-slider .splide__arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translate(50%, -50%);
    width: 8px;
    aspect-ratio: 7/11;
    -webkit-mask: url("../img/icon_arrow_pager.svg") center center no-repeat;
            mask: url("../img/icon_arrow_pager.svg") center center no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    background-color: var(--color-white-1);
    transition: background-color var(--hover-duration);
    will-change: background-color;
}
@media (hover: hover) and (pointer: fine) {
    .c-slider .splide__arrow:hover {
        background-color: var(--color-white-1);
    }
    .c-slider .splide__arrow:hover::before {
        background-color: var(--color-base-1);
    }
}
@media screen and (max-width: 600px) {
    .c-slider .c-tag-2__link {
        padding: 8px 12px;
    }
    .c-slider .c-tag-2__txt {
        font-size: 16px;
        line-height: 1.5;
    }
}

/* ---------------------------------------------
*   c-search
--------------------------------------------- */
@media screen and (max-width: 1300px) {
    .c-search-form {
        padding: 16px;
        border-bottom: 1px solid var(--color-white-1);
    }
}

.c-search {
    position: relative;
}
.c-search__input {
    width: 100%;
    height: 40px;
    padding: 8px 48px 8px 16px;
    border-radius: 9999px;
    background-color: var(--color-white-1);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
}
.c-search__input::-moz-placeholder {
    color: var(--color-gray-1);
}
.c-search__input::placeholder {
    color: var(--color-gray-1);
}
.c-search__submit-btn {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    display: block;
    width: 18px;
    height: 18px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    -webkit-mask: url("../img/icon_search.svg") center center no-repeat;
            mask: url("../img/icon_search.svg") center center no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    background-color: var(--color-base-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-search__submit-btn {
        transition: opacity var(--hover-duration);
    }
    .c-search__submit-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}

.c-search-trigger {
    flex-shrink: 0;
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
    border: 1px solid var(--color-base-1);
    border-radius: 50%;
    background-color: var(--color-base-1);
    transition: background-color var(--hover-duration);
}
@media screen and (max-width: 1300px) {
    .c-search-trigger {
        display: none;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-search-trigger:hover {
        background-color: var(--color-white-1);
    }
    .c-search-trigger:hover::before {
        background-color: var(--color-base-1);
    }
}
.c-search-trigger::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 18px;
    height: 18px;
    -webkit-mask: url("../img/icon_search.svg") center center no-repeat;
            mask: url("../img/icon_search.svg") center center no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    background-color: var(--color-white-1);
    transition: background-color var(--hover-duration);
}
@media screen and (max-width: 1300px) {
    .c-search-trigger::before {
        content: normal;
    }
}
.is-search-open .c-search-trigger::before {
    width: 16px;
    height: 16px;
    -webkit-mask-image: url("../img/icon_close.svg");
            mask-image: url("../img/icon_close.svg");
}

/* ---------------------------------------------
*   c-table
--------------------------------------------- */
/* ---------------------------------------------
*   c-tag
--------------------------------------------- */
.c-tag {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
}
.c-tag__item {
    display: flex;
    justify-content: center;
    align-items: center;
}
.c-tag__txt {
    font-size: 14px;
    line-height: 1.4285714286;
}
@media screen and (max-width: 600px) {
    .c-tag__txt {
        font-size: 12px;
        line-height: 1.5;
    }
}
.c-tag__txt::before {
    content: "#";
}

/*  c-tag-2
--------------------------------------------- */
.c-tag-2 {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
}
.c-tag-2__item {
    display: flex;
    justify-content: center;
    align-items: center;
}
.c-tag-2__link {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 12px;
    background-color: var(--color-lightgray-1);
    transition: background-color var(--hover-duration);
}
@media screen and (max-width: 600px) {
    .c-tag-2__link {
        padding: 4px 8px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-tag-2__link:hover {
        background-color: var(--color-gray-2);
    }
    .c-tag-2__link:hover::before {
        border-color: var(--color-base-1);
    }
}
.c-tag-2__link::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid transparent;
    pointer-events: none;
    transition: border-color var(--hover-duration);
}
.c-tag-2__txt {
    font-weight: 500;
    font-size: 18px;
    line-height: 1.4444444444;
}
@media screen and (max-width: 600px) {
    .c-tag-2__txt {
        font-size: 14px;
        line-height: 1.4285714286;
    }
}
.c-tag-2__txt::before {
    content: "#";
}

/* ---------------------------------------------
*   c-tile
--------------------------------------------- */
/* ---------------------------------------------
*   c-ttl
--------------------------------------------- */
.c-ttl {
    font-family: var(--ff-outfit);
    font-weight: 500;
    font-size: 40px;
    line-height: 1.25;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .c-ttl {
        font-size: 32px;
        line-height: 1.25;
    }
}

/*  c-ttl-related
--------------------------------------------- */
.c-ttl-related {
    font-weight: 700;
    font-size: 36px;
    line-height: 1.4444444444;
}
@media screen and (max-width: 600px) {
    .c-ttl-related {
        font-size: 20px;
        line-height: 1.45;
    }
}

/*  c-ttl-40
--------------------------------------------- */
.c-ttl-40 {
    font-family: var(--ff-outfit);
    font-weight: 500;
    font-size: 40px;
    line-height: 1.25;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .c-ttl-40 {
        font-size: 32px;
        line-height: 1.25;
    }
}

/*  c-ttl-36
--------------------------------------------- */
.c-ttl-36 {
    font-weight: 700;
    font-size: 36px;
    line-height: 1.4444444444;
}
@media screen and (max-width: 600px) {
    .c-ttl-36 {
        font-size: 20px;
        line-height: 1.45;
    }
}

/* ---------------------------------------------
*   c-txt
--------------------------------------------- */
/*  c-txt-14
--------------------------------------------- */
.c-txt-14 {
    font-size: 14px;
    line-height: 1.4285714286;
}
@media screen and (max-width: 600px) {
    .c-txt-14 {
        font-size: 12px;
        line-height: 1.5;
    }
}

/*  c-txt-16
--------------------------------------------- */
.c-txt-16 {
    font-size: 16px;
    line-height: 1.5;
}

/*  c-txt-20
--------------------------------------------- */
.c-txt-20 {
    font-size: 20px;
    line-height: 1.6;
}
@media screen and (max-width: 600px) {
    .c-txt-20 {
        font-size: 14px;
        line-height: 1.5714285714;
    }
}

/*  c-txt-40
--------------------------------------------- */
.c-txt-40 {
    font-size: 40px;
    line-height: 1.45;
}
@media screen and (max-width: 600px) {
    .c-txt-40 {
        font-size: 28px;
        line-height: 1.4285714286;
    }
}

/* ---------------------------------------------
*   c-wysiwyg
--------------------------------------------- */
/* ---------------------------------------------
*   p-top
--------------------------------------------- */
/*  p-top-kv
--------------------------------------------- */
.p-top-kv {
    background-color: var(--color-lightgray-1);
    padding-block: 40px;
}
@media screen and (max-width: 600px) {
    .p-top-kv {
        padding-block: 12px 24px;
    }
}

/*  p-top-slider
--------------------------------------------- */
.p-top-slider .splide__list {
    align-items: center;
}
.p-top-slider .splide__slide {
    will-change: height, opacity;
}
.p-top-slider .splide__slide,
.p-top-slider .splide__slide.splide__slide--clone.is-active {
    height: 0;
    opacity: 0;
}
.p-top-slider .splide__slide.is-active {
    height: auto;
    opacity: 1;
    transition: opacity 1s;
}
.p-top-slider__track-outer {
    margin-top: 40px;
}
@media screen and (max-width: 600px) {
    .p-top-slider__track-outer {
        margin-top: 16px;
    }
}

/*  p-top-slider-ctrl
--------------------------------------------- */
.p-top-slider-ctrl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.p-top-slider-ctrl--sp {
    display: none;
}
@media screen and (max-width: 1300px) {
    .p-top-slider-ctrl--sp {
        display: flex;
        margin-top: 40px;
    }
}
@media screen and (max-width: 600px) {
    .p-top-slider-ctrl--sp {
        margin-top: 16px;
    }
}
.p-top-slider-ctrl__heading {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
}
.p-top-slider-ctrl__heading::before, .p-top-slider-ctrl__heading::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: var(--color-base-1);
}
.p-top-slider-ctrl__heading-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    max-width: 500px;
    margin-inline: auto;
}
@media screen and (max-width: 600px) {
    .p-top-slider-ctrl__heading-inner {
        gap: 0;
        max-width: 75.8017492711%;
    }
}
.p-top-slider-ctrl__cat {
    padding-inline: 8px;
    background-color: var(--color-white-1);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .p-top-slider-ctrl__cat {
        font-size: 14px;
        line-height: 1.4285714286;
    }
}
.p-top-slider-ctrl__current {
    font-weight: 700;
    font-size: 36px;
    line-height: 1.4444444444;
    text-decoration: underline;
    text-underline-offset: 8px;
    text-decoration-thickness: 2px;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .p-top-slider-ctrl__current {
        font-size: 32px;
        line-height: 1.4375;
    }
}
.p-top-slider-ctrl__prev, .p-top-slider-ctrl__next {
    flex: auto;
    align-self: stretch;
    max-width: 400px;
}
.p-top-slider-ctrl__prev .c-btn, .p-top-slider-ctrl__next .c-btn {
    height: 100%;
}
@media screen and (max-width: 1300px) {
    .p-top-slider-ctrl__prev, .p-top-slider-ctrl__next {
        flex: 1;
        max-width: none;
    }
    .p-top-slider-ctrl--pc .p-top-slider-ctrl__prev, .p-top-slider-ctrl--pc .p-top-slider-ctrl__next {
        display: none;
    }
    .p-top-slider-ctrl__prev .c-btn, .p-top-slider-ctrl__next .c-btn {
        padding: 12px;
    }
    .p-top-slider-ctrl__prev .c-btn::before, .p-top-slider-ctrl__next .c-btn::before {
        border: 1px solid transparent;
    }
    .p-top-slider-ctrl__prev .c-btn::before,
    .p-top-slider-ctrl__prev .c-btn::after, .p-top-slider-ctrl__next .c-btn::before,
    .p-top-slider-ctrl__next .c-btn::after {
        left: auto;
        right: 0;
    }
    .p-top-slider-ctrl__prev .c-btn--arrow-left::before,
    .p-top-slider-ctrl__prev .c-btn--arrow-left::after, .p-top-slider-ctrl__next .c-btn--arrow-left::before,
    .p-top-slider-ctrl__next .c-btn--arrow-left::after {
        left: 0;
        right: auto;
    }
}
@media screen and (max-width: 1300px) and (hover: hover) and (pointer: fine) {
    .p-top-slider-ctrl__prev .c-btn:hover::before, .p-top-slider-ctrl__next .c-btn:hover::before {
        border-color: var(--color-base-1);
    }
}

/*  p-top-article
--------------------------------------------- */
.p-top-article-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 40px;
    max-width: 1280px;
    margin-inline: auto;
}
@media screen and (max-width: 600px) {
    .p-top-article-wrap {
        grid-template-columns: repeat(1, 1fr);
        gap: 0;
    }
}
.p-top-article-wrap--type1 {
    align-items: center;
}
.p-top-article-wrap--type1 .p-top-article:first-of-type {
    grid-area: 1/1/3/2;
}
@media screen and (max-width: 600px) {
    .p-top-article-wrap--type1 .p-top-article:first-of-type {
        grid-area: auto;
    }
}
.p-top-article-wrap--type1 .p-top-article:first-of-type .p-top-article__link {
    display: block;
}
.p-top-article-wrap--type1 .p-top-article:first-of-type .p-top-article__img {
    width: 100%;
}
.p-top-article-wrap--type1 .p-top-article:first-of-type .p-top-article__txt-wrap {
    margin-top: 16px;
}
.p-top-article-wrap--type1 .p-top-article:nth-of-type(2) {
    align-self: flex-end;
}
@media screen and (min-width: 601px) {
    .p-top-article-wrap--type1 .p-top-article:nth-of-type(2) {
        margin-top: 0;
    }
}
.p-top-article-wrap--type1 .p-top-article:last-of-type {
    align-self: flex-start;
}
@media screen and (min-width: 601px) {
    .p-top-article-wrap--type2 .p-top-article:last-of-type {
        margin-top: 0;
        padding-top: 0;
        padding-bottom: 0;
        background: none;
    }
}
.p-top-article-wrap--type2 .p-top-article__link {
    display: block;
}
.p-top-article-wrap--type2 .p-top-article__img {
    width: 100%;
}
.p-top-article-wrap--type2 .p-top-article__txt-wrap {
    margin-top: 16px;
}
@media screen and (min-width: 601px) {
    .p-top-article-wrap--type3 {
        grid-template-columns: repeat(3, 1fr);
        max-width: none;
    }
    .p-top-article-wrap--type3 .p-top-article:nth-of-type(2),
    .p-top-article-wrap--type3 .p-top-article:last-of-type {
        margin-top: 0;
        padding-top: 0;
        padding-bottom: 0;
        background: none;
    }
    .p-top-article-wrap--type3 .p-top-article__link {
        display: block;
    }
    .p-top-article-wrap--type3 .p-top-article__img {
        width: 100%;
    }
    .p-top-article-wrap--type3 .p-top-article__txt-wrap {
        margin-top: 16px;
    }
}

.p-top-article {
    margin-top: 24px;
    padding-top: 24px;
    background: repeating-linear-gradient(to right, currentColor 0 2px, transparent 2px 8px) left top no-repeat;
    background-size: 100% 1px;
}
@media screen and (max-width: 600px) {
    .p-top-article {
        margin-top: 16px;
        padding-top: 16px;
    }
}
.p-top-article:first-of-type {
    margin-top: 0;
    padding-top: 0;
    background: none;
}
.p-top-article:last-of-type {
    padding-bottom: 24px;
    background: repeating-linear-gradient(to right, currentColor 0 2px, transparent 2px 8px) left top no-repeat, repeating-linear-gradient(to right, currentColor 0 2px, transparent 2px 8px) left bottom no-repeat;
    background-size: 100% 1px, 100% 1px;
}
@media screen and (max-width: 600px) {
    .p-top-article:last-of-type {
        padding-bottom: 16px;
    }
}
.p-top-article__link {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    height: 100%;
}
@media (hover: hover) and (pointer: fine) {
    .p-top-article__link:hover .p-top-article__ttl-outer,
    .p-top-article__link:hover .p-top-article__tag-wrap {
        opacity: var(--hover-opacity-ratio);
    }
    .p-top-article__link:hover .p-top-article__img img {
        transform: scale(1.1, 1.1);
    }
}
.p-top-article__img {
    flex-shrink: 0;
    position: relative;
    width: 46.7741935484%;
    aspect-ratio: 290/194;
    overflow: hidden;
}
@media screen and (max-width: 600px) {
    .p-top-article__img {
        width: 140px;
        aspect-ratio: 140/94;
    }
}
.p-top-article__img::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border: 1px solid var(--color-base-1);
    pointer-events: none;
}
.p-top-article__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform var(--hover-duration);
}
.p-top-article__txt-wrap {
    flex: 1;
    align-self: center;
}
.p-top-article__ttl-outer {
    transition: opacity var(--hover-duration);
}
.p-top-article__tag-wrap {
    margin-top: 8px;
    transition: opacity var(--hover-duration);
}

/* ---------------------------------------------
*   p-media
--------------------------------------------- */
/*  p-media-kv
--------------------------------------------- */
.p-media-kv {
    border-bottom: 1px solid var(--color-base-1);
    background-color: var(--color-lightgray-1);
}
@media screen and (max-width: 600px) {
    .p-media-kv {
        border-bottom: none;
    }
}
.p-media-kv__ttl-outer {
    padding-block: 64px;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .p-media-kv__ttl-outer {
        padding-block: 16px 40px;
    }
}

/*  p-media-entry-kv
--------------------------------------------- */
.p-media-entry-kv {
    padding-block: 40px;
    background-color: var(--color-lightgray-1);
}
@media screen and (max-width: 600px) {
    .p-media-entry-kv {
        padding-block: 32px 0;
    }
}
.p-media-entry-kv__content {
    display: flex;
    align-items: flex-end;
}
@media screen and (max-width: 600px) {
    .p-media-entry-kv__content {
        display: block;
    }
}
.p-media-entry-kv__img-outer {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 62.5%;
    align-self: stretch;
    min-height: 535px;
}
@media screen and (max-width: 600px) {
    .p-media-entry-kv__img-outer {
        width: 100%;
        min-height: auto;
        aspect-ratio: 343/229;
    }
}
.p-media-entry-kv__img {
    position: relative;
    z-index: 2;
    height: 100%;
}
@media screen and (max-width: 600px) {
    .p-media-entry-kv__img {
        transform: translateY(-16px);
    }
}
.p-media-entry-kv__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-media-entry-kv__img::before {
    content: normal;
    position: absolute;
    inset: 0;
    border: 1px solid var(--color-base-1);
    pointer-events: none;
}
@media screen and (max-width: 600px) {
    .p-media-entry-kv__img::before {
        content: "";
    }
}
.p-media-entry-kv__bg {
    position: absolute;
    top: 0;
    left: 30%;
    z-index: 1;
    width: 100vw;
    height: 100%;
    margin-inline: calc(50% - 50vw);
    transform: translateY(40px);
}
@media screen and (max-width: 600px) {
    .p-media-entry-kv__bg {
        top: auto;
        bottom: 0;
        left: 0;
        height: auto;
        aspect-ratio: 375/206;
        transform: translateY(0);
    }
}
.p-media-entry-kv__bg img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-media-entry-kv__bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(var(--color-white-1-rgb), 0.06);
    -webkit-backdrop-filter: blur(20px);
            backdrop-filter: blur(20px);
}
.p-media-entry-kv__box {
    position: relative;
    z-index: 2;
    flex-grow: 1;
    padding: 40px 40px 40px 42px;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 600px) {
    .p-media-entry-kv__box {
        width: 100vw;
        margin-inline: calc(50% - 50vw);
        padding: 24px 16px;
    }
}
.p-media-entry-kv__info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
}
@media screen and (max-width: 600px) {
    .p-media-entry-kv__info {
        gap: 10px 14px;
    }
}
.p-media-entry-kv__info time {
    flex-shrink: 0;
}
.p-media-entry-kv__txt-outer {
    margin-top: 8px;
}
@media screen and (max-width: 600px) {
    .p-media-entry-kv__txt-outer {
        margin-top: 6px;
    }
}
.p-media-entry-kv__ttl-outer {
    margin-top: 8px;
}
.p-media-entry-kv__tag-wrap {
    margin-top: 12px;
}

/* ---------------------------------------------
*   background-color
--------------------------------------------- */
.bg-white {
    background-color: var(--color-white-1) !important;
}

/* ---------------------------------------------
*   font-color
--------------------------------------------- */
.fc-gray {
    color: var(--color-gray-1) !important;
}

/* ---------------------------------------------
*   font-family
--------------------------------------------- */
.ff-en {
    font-family: var(--ff-outfit) !important;
}

/* ---------------------------------------------
*   font-wight
--------------------------------------------- */
.fw-normal {
    font-weight: 500 !important;
}

.fw-semibold {
    font-weight: 600 !important;
}

.fw-bold {
    font-weight: 700 !important;
}

/* ---------------------------------------------
*   text-align
--------------------------------------------- */
.txt-al-center {
    text-align: center !important;
}

.txt-al-right {
    text-align: right !important;
}

.txt-al-left {
    text-align: left !important;
}

/* ---------------------------------------------
*   js-pagetop-threshold
--------------------------------------------- */
.js-pagetop-threshold {
    position: absolute;
    top: 0;
    height: 200px;
}
@media screen and (max-width: 800px) {
    .js-pagetop-threshold {
        height: 0;
        margin-top: -1px;
    }
}

/* フェードイン */
.js-fadein {
    opacity: 0;
}
.js-fadein.is-active {
    opacity: 1;
    transition: opacity 0.8s;
}

/* フェードインアップ */
.js-fadein-up {
    opacity: 0;
    transform: translateY(30px);
}
.js-fadein-up.is-active {
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.8s, opacity 0.8s;
}

/* 左にスライド */
.js-slidein-to-left {
    opacity: 0;
    transform: translateX(30px);
}
.js-slidein-to-left.is-active {
    transform: translateX(0);
    opacity: 1;
    transition: transform 0.8s, opacity 0.8s;
}

/* 右にスライド */
.js-slidein-to-right {
    opacity: 0;
    transform: translateX(-30px);
}
.js-slidein-to-right.is-active {
    transform: translateX(0);
    opacity: 1;
    transition: transform 0.8s, opacity 0.8s;
}

@media print and (min-width: 601px), screen and (min-width: 601px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (max-width: 600px), screen and (max-width: 600px) {
    .sp-hide {
        display: none !important;
    }
}
/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
    margin-top: 0 !important;
}

.mgt-pc--5 {
    margin-top: 5px !important;
}

.mgt-pc--10 {
    margin-top: 10px !important;
}

.mgt-pc--15 {
    margin-top: 15px !important;
}

.mgt-pc--20 {
    margin-top: 20px !important;
}

.mgt-pc--25 {
    margin-top: 25px !important;
}

.mgt-pc--30 {
    margin-top: 30px !important;
}

.mgt-pc--35 {
    margin-top: 35px !important;
}

.mgt-pc--40 {
    margin-top: 40px !important;
}

.mgt-pc--45 {
    margin-top: 45px !important;
}

.mgt-pc--50 {
    margin-top: 50px !important;
}

.mgt-pc--55 {
    margin-top: 55px !important;
}

.mgt-pc--60 {
    margin-top: 60px !important;
}

.mgt-pc--65 {
    margin-top: 65px !important;
}

.mgt-pc--70 {
    margin-top: 70px !important;
}

.mgt-pc--75 {
    margin-top: 75px !important;
}

.mgt-pc--80 {
    margin-top: 80px !important;
}

.mgt-pc--85 {
    margin-top: 85px !important;
}

.mgt-pc--90 {
    margin-top: 90px !important;
}

.mgt-pc--95 {
    margin-top: 95px !important;
}

.mgt-pc--100 {
    margin-top: 100px !important;
}

.mgt-pc--105 {
    margin-top: 105px !important;
}

.mgt-pc--110 {
    margin-top: 110px !important;
}

.mgt-pc--115 {
    margin-top: 115px !important;
}

.mgt-pc--120 {
    margin-top: 120px !important;
}

.mgt-pc--125 {
    margin-top: 125px !important;
}

.mgt-pc--130 {
    margin-top: 130px !important;
}

.mgt-pc--135 {
    margin-top: 135px !important;
}

.mgt-pc--140 {
    margin-top: 140px !important;
}

.mgt-pc--145 {
    margin-top: 145px !important;
}

.mgt-pc--150 {
    margin-top: 150px !important;
}

.mgt-pc--155 {
    margin-top: 155px !important;
}

.mgt-pc--160 {
    margin-top: 160px !important;
}

.mgt-pc--165 {
    margin-top: 165px !important;
}

.mgt-pc--170 {
    margin-top: 170px !important;
}

.mgt-pc--175 {
    margin-top: 175px !important;
}

.mgt-pc--180 {
    margin-top: 180px !important;
}

.mgt-pc--185 {
    margin-top: 185px !important;
}

.mgt-pc--190 {
    margin-top: 190px !important;
}

.mgt-pc--195 {
    margin-top: 195px !important;
}

.mgt-pc--200 {
    margin-top: 200px !important;
}

.mgt-pc--205 {
    margin-top: 205px !important;
}

.mgt-pc--210 {
    margin-top: 210px !important;
}

.mgt-pc--215 {
    margin-top: 215px !important;
}

.mgt-pc--220 {
    margin-top: 220px !important;
}

.mgt-pc--225 {
    margin-top: 225px !important;
}

.mgt-pc--230 {
    margin-top: 230px !important;
}

.mgt-pc--235 {
    margin-top: 235px !important;
}

.mgt-pc--240 {
    margin-top: 240px !important;
}

.mgt-pc--245 {
    margin-top: 245px !important;
}

.mgt-pc--250 {
    margin-top: 250px !important;
}

@media screen and (max-width: 600px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: 5px !important;
    }
    .mgt-sp--10 {
        margin-top: 10px !important;
    }
    .mgt-sp--15 {
        margin-top: 15px !important;
    }
    .mgt-sp--20 {
        margin-top: 20px !important;
    }
    .mgt-sp--25 {
        margin-top: 25px !important;
    }
    .mgt-sp--30 {
        margin-top: 30px !important;
    }
    .mgt-sp--35 {
        margin-top: 35px !important;
    }
    .mgt-sp--40 {
        margin-top: 40px !important;
    }
    .mgt-sp--45 {
        margin-top: 45px !important;
    }
    .mgt-sp--50 {
        margin-top: 50px !important;
    }
    .mgt-sp--55 {
        margin-top: 55px !important;
    }
    .mgt-sp--60 {
        margin-top: 60px !important;
    }
    .mgt-sp--65 {
        margin-top: 65px !important;
    }
    .mgt-sp--70 {
        margin-top: 70px !important;
    }
    .mgt-sp--75 {
        margin-top: 75px !important;
    }
    .mgt-sp--80 {
        margin-top: 80px !important;
    }
    .mgt-sp--85 {
        margin-top: 85px !important;
    }
    .mgt-sp--90 {
        margin-top: 90px !important;
    }
    .mgt-sp--95 {
        margin-top: 95px !important;
    }
    .mgt-sp--100 {
        margin-top: 100px !important;
    }
    .mgt-sp--105 {
        margin-top: 105px !important;
    }
    .mgt-sp--110 {
        margin-top: 110px !important;
    }
    .mgt-sp--115 {
        margin-top: 115px !important;
    }
    .mgt-sp--120 {
        margin-top: 120px !important;
    }
    .mgt-sp--125 {
        margin-top: 125px !important;
    }
    .mgt-sp--130 {
        margin-top: 130px !important;
    }
    .mgt-sp--135 {
        margin-top: 135px !important;
    }
    .mgt-sp--140 {
        margin-top: 140px !important;
    }
    .mgt-sp--145 {
        margin-top: 145px !important;
    }
    .mgt-sp--150 {
        margin-top: 150px !important;
    }
    .mgt-sp--155 {
        margin-top: 155px !important;
    }
    .mgt-sp--160 {
        margin-top: 160px !important;
    }
    .mgt-sp--165 {
        margin-top: 165px !important;
    }
    .mgt-sp--170 {
        margin-top: 170px !important;
    }
    .mgt-sp--175 {
        margin-top: 175px !important;
    }
    .mgt-sp--180 {
        margin-top: 180px !important;
    }
    .mgt-sp--185 {
        margin-top: 185px !important;
    }
    .mgt-sp--190 {
        margin-top: 190px !important;
    }
    .mgt-sp--195 {
        margin-top: 195px !important;
    }
    .mgt-sp--200 {
        margin-top: 200px !important;
    }
    .mgt-sp--205 {
        margin-top: 205px !important;
    }
    .mgt-sp--210 {
        margin-top: 210px !important;
    }
    .mgt-sp--215 {
        margin-top: 215px !important;
    }
    .mgt-sp--220 {
        margin-top: 220px !important;
    }
    .mgt-sp--225 {
        margin-top: 225px !important;
    }
    .mgt-sp--230 {
        margin-top: 230px !important;
    }
    .mgt-sp--235 {
        margin-top: 235px !important;
    }
    .mgt-sp--240 {
        margin-top: 240px !important;
    }
    .mgt-sp--245 {
        margin-top: 245px !important;
    }
    .mgt-sp--250 {
        margin-top: 250px !important;
    }
}
/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
    margin-bottom: 0 !important;
}

.mgb-pc--5 {
    margin-bottom: 5px !important;
}

.mgb-pc--10 {
    margin-bottom: 10px !important;
}

.mgb-pc--15 {
    margin-bottom: 15px !important;
}

.mgb-pc--20 {
    margin-bottom: 20px !important;
}

.mgb-pc--25 {
    margin-bottom: 25px !important;
}

.mgb-pc--30 {
    margin-bottom: 30px !important;
}

.mgb-pc--35 {
    margin-bottom: 35px !important;
}

.mgb-pc--40 {
    margin-bottom: 40px !important;
}

.mgb-pc--45 {
    margin-bottom: 45px !important;
}

.mgb-pc--50 {
    margin-bottom: 50px !important;
}

.mgb-pc--55 {
    margin-bottom: 55px !important;
}

.mgb-pc--60 {
    margin-bottom: 60px !important;
}

.mgb-pc--65 {
    margin-bottom: 65px !important;
}

.mgb-pc--70 {
    margin-bottom: 70px !important;
}

.mgb-pc--75 {
    margin-bottom: 75px !important;
}

.mgb-pc--80 {
    margin-bottom: 80px !important;
}

.mgb-pc--85 {
    margin-bottom: 85px !important;
}

.mgb-pc--90 {
    margin-bottom: 90px !important;
}

.mgb-pc--95 {
    margin-bottom: 95px !important;
}

.mgb-pc--100 {
    margin-bottom: 100px !important;
}

.mgb-pc--105 {
    margin-bottom: 105px !important;
}

.mgb-pc--110 {
    margin-bottom: 110px !important;
}

.mgb-pc--115 {
    margin-bottom: 115px !important;
}

.mgb-pc--120 {
    margin-bottom: 120px !important;
}

.mgb-pc--125 {
    margin-bottom: 125px !important;
}

.mgb-pc--130 {
    margin-bottom: 130px !important;
}

.mgb-pc--135 {
    margin-bottom: 135px !important;
}

.mgb-pc--140 {
    margin-bottom: 140px !important;
}

.mgb-pc--145 {
    margin-bottom: 145px !important;
}

.mgb-pc--150 {
    margin-bottom: 150px !important;
}

.mgb-pc--155 {
    margin-bottom: 155px !important;
}

.mgb-pc--160 {
    margin-bottom: 160px !important;
}

.mgb-pc--165 {
    margin-bottom: 165px !important;
}

.mgb-pc--170 {
    margin-bottom: 170px !important;
}

.mgb-pc--175 {
    margin-bottom: 175px !important;
}

.mgb-pc--180 {
    margin-bottom: 180px !important;
}

.mgb-pc--185 {
    margin-bottom: 185px !important;
}

.mgb-pc--190 {
    margin-bottom: 190px !important;
}

.mgb-pc--195 {
    margin-bottom: 195px !important;
}

.mgb-pc--200 {
    margin-bottom: 200px !important;
}

.mgb-pc--205 {
    margin-bottom: 205px !important;
}

.mgb-pc--210 {
    margin-bottom: 210px !important;
}

.mgb-pc--215 {
    margin-bottom: 215px !important;
}

.mgb-pc--220 {
    margin-bottom: 220px !important;
}

.mgb-pc--225 {
    margin-bottom: 225px !important;
}

.mgb-pc--230 {
    margin-bottom: 230px !important;
}

.mgb-pc--235 {
    margin-bottom: 235px !important;
}

.mgb-pc--240 {
    margin-bottom: 240px !important;
}

.mgb-pc--245 {
    margin-bottom: 245px !important;
}

.mgb-pc--250 {
    margin-bottom: 250px !important;
}

@media screen and (max-width: 600px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: 5px !important;
    }
    .mgb-sp--10 {
        margin-bottom: 10px !important;
    }
    .mgb-sp--15 {
        margin-bottom: 15px !important;
    }
    .mgb-sp--20 {
        margin-bottom: 20px !important;
    }
    .mgb-sp--25 {
        margin-bottom: 25px !important;
    }
    .mgb-sp--30 {
        margin-bottom: 30px !important;
    }
    .mgb-sp--35 {
        margin-bottom: 35px !important;
    }
    .mgb-sp--40 {
        margin-bottom: 40px !important;
    }
    .mgb-sp--45 {
        margin-bottom: 45px !important;
    }
    .mgb-sp--50 {
        margin-bottom: 50px !important;
    }
    .mgb-sp--55 {
        margin-bottom: 55px !important;
    }
    .mgb-sp--60 {
        margin-bottom: 60px !important;
    }
    .mgb-sp--65 {
        margin-bottom: 65px !important;
    }
    .mgb-sp--70 {
        margin-bottom: 70px !important;
    }
    .mgb-sp--75 {
        margin-bottom: 75px !important;
    }
    .mgb-sp--80 {
        margin-bottom: 80px !important;
    }
    .mgb-sp--85 {
        margin-bottom: 85px !important;
    }
    .mgb-sp--90 {
        margin-bottom: 90px !important;
    }
    .mgb-sp--95 {
        margin-bottom: 95px !important;
    }
    .mgb-sp--100 {
        margin-bottom: 100px !important;
    }
    .mgb-sp--105 {
        margin-bottom: 105px !important;
    }
    .mgb-sp--110 {
        margin-bottom: 110px !important;
    }
    .mgb-sp--115 {
        margin-bottom: 115px !important;
    }
    .mgb-sp--120 {
        margin-bottom: 120px !important;
    }
    .mgb-sp--125 {
        margin-bottom: 125px !important;
    }
    .mgb-sp--130 {
        margin-bottom: 130px !important;
    }
    .mgb-sp--135 {
        margin-bottom: 135px !important;
    }
    .mgb-sp--140 {
        margin-bottom: 140px !important;
    }
    .mgb-sp--145 {
        margin-bottom: 145px !important;
    }
    .mgb-sp--150 {
        margin-bottom: 150px !important;
    }
    .mgb-sp--155 {
        margin-bottom: 155px !important;
    }
    .mgb-sp--160 {
        margin-bottom: 160px !important;
    }
    .mgb-sp--165 {
        margin-bottom: 165px !important;
    }
    .mgb-sp--170 {
        margin-bottom: 170px !important;
    }
    .mgb-sp--175 {
        margin-bottom: 175px !important;
    }
    .mgb-sp--180 {
        margin-bottom: 180px !important;
    }
    .mgb-sp--185 {
        margin-bottom: 185px !important;
    }
    .mgb-sp--190 {
        margin-bottom: 190px !important;
    }
    .mgb-sp--195 {
        margin-bottom: 195px !important;
    }
    .mgb-sp--200 {
        margin-bottom: 200px !important;
    }
    .mgb-sp--205 {
        margin-bottom: 205px !important;
    }
    .mgb-sp--210 {
        margin-bottom: 210px !important;
    }
    .mgb-sp--215 {
        margin-bottom: 215px !important;
    }
    .mgb-sp--220 {
        margin-bottom: 220px !important;
    }
    .mgb-sp--225 {
        margin-bottom: 225px !important;
    }
    .mgb-sp--230 {
        margin-bottom: 230px !important;
    }
    .mgb-sp--235 {
        margin-bottom: 235px !important;
    }
    .mgb-sp--240 {
        margin-bottom: 240px !important;
    }
    .mgb-sp--245 {
        margin-bottom: 245px !important;
    }
    .mgb-sp--250 {
        margin-bottom: 250px !important;
    }
}
/* ---------------------------------------------
*   padding-top
--------------------------------------------- */
.pdt-pc--0 {
    padding-top: 0 !important;
}

.pdt-pc--5 {
    padding-top: 5px !important;
}

.pdt-pc--10 {
    padding-top: 10px !important;
}

.pdt-pc--15 {
    padding-top: 15px !important;
}

.pdt-pc--20 {
    padding-top: 20px !important;
}

.pdt-pc--25 {
    padding-top: 25px !important;
}

.pdt-pc--30 {
    padding-top: 30px !important;
}

.pdt-pc--35 {
    padding-top: 35px !important;
}

.pdt-pc--40 {
    padding-top: 40px !important;
}

.pdt-pc--45 {
    padding-top: 45px !important;
}

.pdt-pc--50 {
    padding-top: 50px !important;
}

.pdt-pc--55 {
    padding-top: 55px !important;
}

.pdt-pc--60 {
    padding-top: 60px !important;
}

.pdt-pc--65 {
    padding-top: 65px !important;
}

.pdt-pc--70 {
    padding-top: 70px !important;
}

.pdt-pc--75 {
    padding-top: 75px !important;
}

.pdt-pc--80 {
    padding-top: 80px !important;
}

.pdt-pc--85 {
    padding-top: 85px !important;
}

.pdt-pc--90 {
    padding-top: 90px !important;
}

.pdt-pc--95 {
    padding-top: 95px !important;
}

.pdt-pc--100 {
    padding-top: 100px !important;
}

.pdt-pc--105 {
    padding-top: 105px !important;
}

.pdt-pc--110 {
    padding-top: 110px !important;
}

.pdt-pc--115 {
    padding-top: 115px !important;
}

.pdt-pc--120 {
    padding-top: 120px !important;
}

.pdt-pc--125 {
    padding-top: 125px !important;
}

.pdt-pc--130 {
    padding-top: 130px !important;
}

.pdt-pc--135 {
    padding-top: 135px !important;
}

.pdt-pc--140 {
    padding-top: 140px !important;
}

.pdt-pc--145 {
    padding-top: 145px !important;
}

.pdt-pc--150 {
    padding-top: 150px !important;
}

.pdt-pc--155 {
    padding-top: 155px !important;
}

.pdt-pc--160 {
    padding-top: 160px !important;
}

.pdt-pc--165 {
    padding-top: 165px !important;
}

.pdt-pc--170 {
    padding-top: 170px !important;
}

.pdt-pc--175 {
    padding-top: 175px !important;
}

.pdt-pc--180 {
    padding-top: 180px !important;
}

.pdt-pc--185 {
    padding-top: 185px !important;
}

.pdt-pc--190 {
    padding-top: 190px !important;
}

.pdt-pc--195 {
    padding-top: 195px !important;
}

.pdt-pc--200 {
    padding-top: 200px !important;
}

.pdt-pc--205 {
    padding-top: 205px !important;
}

.pdt-pc--210 {
    padding-top: 210px !important;
}

.pdt-pc--215 {
    padding-top: 215px !important;
}

.pdt-pc--220 {
    padding-top: 220px !important;
}

.pdt-pc--225 {
    padding-top: 225px !important;
}

.pdt-pc--230 {
    padding-top: 230px !important;
}

.pdt-pc--235 {
    padding-top: 235px !important;
}

.pdt-pc--240 {
    padding-top: 240px !important;
}

.pdt-pc--245 {
    padding-top: 245px !important;
}

.pdt-pc--250 {
    padding-top: 250px !important;
}

@media screen and (max-width: 600px) {
    .pdt-sp--0 {
        padding-top: 0 !important;
    }
    .pdt-sp--5 {
        padding-top: 5px !important;
    }
    .pdt-sp--10 {
        padding-top: 10px !important;
    }
    .pdt-sp--15 {
        padding-top: 15px !important;
    }
    .pdt-sp--20 {
        padding-top: 20px !important;
    }
    .pdt-sp--25 {
        padding-top: 25px !important;
    }
    .pdt-sp--30 {
        padding-top: 30px !important;
    }
    .pdt-sp--35 {
        padding-top: 35px !important;
    }
    .pdt-sp--40 {
        padding-top: 40px !important;
    }
    .pdt-sp--45 {
        padding-top: 45px !important;
    }
    .pdt-sp--50 {
        padding-top: 50px !important;
    }
    .pdt-sp--55 {
        padding-top: 55px !important;
    }
    .pdt-sp--60 {
        padding-top: 60px !important;
    }
    .pdt-sp--65 {
        padding-top: 65px !important;
    }
    .pdt-sp--70 {
        padding-top: 70px !important;
    }
    .pdt-sp--75 {
        padding-top: 75px !important;
    }
    .pdt-sp--80 {
        padding-top: 80px !important;
    }
    .pdt-sp--85 {
        padding-top: 85px !important;
    }
    .pdt-sp--90 {
        padding-top: 90px !important;
    }
    .pdt-sp--95 {
        padding-top: 95px !important;
    }
    .pdt-sp--100 {
        padding-top: 100px !important;
    }
    .pdt-sp--105 {
        padding-top: 105px !important;
    }
    .pdt-sp--110 {
        padding-top: 110px !important;
    }
    .pdt-sp--115 {
        padding-top: 115px !important;
    }
    .pdt-sp--120 {
        padding-top: 120px !important;
    }
    .pdt-sp--125 {
        padding-top: 125px !important;
    }
    .pdt-sp--130 {
        padding-top: 130px !important;
    }
    .pdt-sp--135 {
        padding-top: 135px !important;
    }
    .pdt-sp--140 {
        padding-top: 140px !important;
    }
    .pdt-sp--145 {
        padding-top: 145px !important;
    }
    .pdt-sp--150 {
        padding-top: 150px !important;
    }
    .pdt-sp--155 {
        padding-top: 155px !important;
    }
    .pdt-sp--160 {
        padding-top: 160px !important;
    }
    .pdt-sp--165 {
        padding-top: 165px !important;
    }
    .pdt-sp--170 {
        padding-top: 170px !important;
    }
    .pdt-sp--175 {
        padding-top: 175px !important;
    }
    .pdt-sp--180 {
        padding-top: 180px !important;
    }
    .pdt-sp--185 {
        padding-top: 185px !important;
    }
    .pdt-sp--190 {
        padding-top: 190px !important;
    }
    .pdt-sp--195 {
        padding-top: 195px !important;
    }
    .pdt-sp--200 {
        padding-top: 200px !important;
    }
    .pdt-sp--205 {
        padding-top: 205px !important;
    }
    .pdt-sp--210 {
        padding-top: 210px !important;
    }
    .pdt-sp--215 {
        padding-top: 215px !important;
    }
    .pdt-sp--220 {
        padding-top: 220px !important;
    }
    .pdt-sp--225 {
        padding-top: 225px !important;
    }
    .pdt-sp--230 {
        padding-top: 230px !important;
    }
    .pdt-sp--235 {
        padding-top: 235px !important;
    }
    .pdt-sp--240 {
        padding-top: 240px !important;
    }
    .pdt-sp--245 {
        padding-top: 245px !important;
    }
    .pdt-sp--250 {
        padding-top: 250px !important;
    }
}
/* ---------------------------------------------
*   padding-bottom
--------------------------------------------- */
.pdb-pc--0 {
    padding-bottom: 0 !important;
}

.pdb-pc--5 {
    padding-bottom: 5px !important;
}

.pdb-pc--10 {
    padding-bottom: 10px !important;
}

.pdb-pc--15 {
    padding-bottom: 15px !important;
}

.pdb-pc--20 {
    padding-bottom: 20px !important;
}

.pdb-pc--25 {
    padding-bottom: 25px !important;
}

.pdb-pc--30 {
    padding-bottom: 30px !important;
}

.pdb-pc--35 {
    padding-bottom: 35px !important;
}

.pdb-pc--40 {
    padding-bottom: 40px !important;
}

.pdb-pc--45 {
    padding-bottom: 45px !important;
}

.pdb-pc--50 {
    padding-bottom: 50px !important;
}

.pdb-pc--55 {
    padding-bottom: 55px !important;
}

.pdb-pc--60 {
    padding-bottom: 60px !important;
}

.pdb-pc--65 {
    padding-bottom: 65px !important;
}

.pdb-pc--70 {
    padding-bottom: 70px !important;
}

.pdb-pc--75 {
    padding-bottom: 75px !important;
}

.pdb-pc--80 {
    padding-bottom: 80px !important;
}

.pdb-pc--85 {
    padding-bottom: 85px !important;
}

.pdb-pc--90 {
    padding-bottom: 90px !important;
}

.pdb-pc--95 {
    padding-bottom: 95px !important;
}

.pdb-pc--100 {
    padding-bottom: 100px !important;
}

.pdb-pc--105 {
    padding-bottom: 105px !important;
}

.pdb-pc--110 {
    padding-bottom: 110px !important;
}

.pdb-pc--115 {
    padding-bottom: 115px !important;
}

.pdb-pc--120 {
    padding-bottom: 120px !important;
}

.pdb-pc--125 {
    padding-bottom: 125px !important;
}

.pdb-pc--130 {
    padding-bottom: 130px !important;
}

.pdb-pc--135 {
    padding-bottom: 135px !important;
}

.pdb-pc--140 {
    padding-bottom: 140px !important;
}

.pdb-pc--145 {
    padding-bottom: 145px !important;
}

.pdb-pc--150 {
    padding-bottom: 150px !important;
}

.pdb-pc--155 {
    padding-bottom: 155px !important;
}

.pdb-pc--160 {
    padding-bottom: 160px !important;
}

.pdb-pc--165 {
    padding-bottom: 165px !important;
}

.pdb-pc--170 {
    padding-bottom: 170px !important;
}

.pdb-pc--175 {
    padding-bottom: 175px !important;
}

.pdb-pc--180 {
    padding-bottom: 180px !important;
}

.pdb-pc--185 {
    padding-bottom: 185px !important;
}

.pdb-pc--190 {
    padding-bottom: 190px !important;
}

.pdb-pc--195 {
    padding-bottom: 195px !important;
}

.pdb-pc--200 {
    padding-bottom: 200px !important;
}

.pdb-pc--205 {
    padding-bottom: 205px !important;
}

.pdb-pc--210 {
    padding-bottom: 210px !important;
}

.pdb-pc--215 {
    padding-bottom: 215px !important;
}

.pdb-pc--220 {
    padding-bottom: 220px !important;
}

.pdb-pc--225 {
    padding-bottom: 225px !important;
}

.pdb-pc--230 {
    padding-bottom: 230px !important;
}

.pdb-pc--235 {
    padding-bottom: 235px !important;
}

.pdb-pc--240 {
    padding-bottom: 240px !important;
}

.pdb-pc--245 {
    padding-bottom: 245px !important;
}

.pdb-pc--250 {
    padding-bottom: 250px !important;
}

@media screen and (max-width: 600px) {
    .pdb-sp--0 {
        padding-bottom: 0 !important;
    }
    .pdb-sp--5 {
        padding-bottom: 5px !important;
    }
    .pdb-sp--10 {
        padding-bottom: 10px !important;
    }
    .pdb-sp--15 {
        padding-bottom: 15px !important;
    }
    .pdb-sp--20 {
        padding-bottom: 20px !important;
    }
    .pdb-sp--25 {
        padding-bottom: 25px !important;
    }
    .pdb-sp--30 {
        padding-bottom: 30px !important;
    }
    .pdb-sp--35 {
        padding-bottom: 35px !important;
    }
    .pdb-sp--40 {
        padding-bottom: 40px !important;
    }
    .pdb-sp--45 {
        padding-bottom: 45px !important;
    }
    .pdb-sp--50 {
        padding-bottom: 50px !important;
    }
    .pdb-sp--55 {
        padding-bottom: 55px !important;
    }
    .pdb-sp--60 {
        padding-bottom: 60px !important;
    }
    .pdb-sp--65 {
        padding-bottom: 65px !important;
    }
    .pdb-sp--70 {
        padding-bottom: 70px !important;
    }
    .pdb-sp--75 {
        padding-bottom: 75px !important;
    }
    .pdb-sp--80 {
        padding-bottom: 80px !important;
    }
    .pdb-sp--85 {
        padding-bottom: 85px !important;
    }
    .pdb-sp--90 {
        padding-bottom: 90px !important;
    }
    .pdb-sp--95 {
        padding-bottom: 95px !important;
    }
    .pdb-sp--100 {
        padding-bottom: 100px !important;
    }
    .pdb-sp--105 {
        padding-bottom: 105px !important;
    }
    .pdb-sp--110 {
        padding-bottom: 110px !important;
    }
    .pdb-sp--115 {
        padding-bottom: 115px !important;
    }
    .pdb-sp--120 {
        padding-bottom: 120px !important;
    }
    .pdb-sp--125 {
        padding-bottom: 125px !important;
    }
    .pdb-sp--130 {
        padding-bottom: 130px !important;
    }
    .pdb-sp--135 {
        padding-bottom: 135px !important;
    }
    .pdb-sp--140 {
        padding-bottom: 140px !important;
    }
    .pdb-sp--145 {
        padding-bottom: 145px !important;
    }
    .pdb-sp--150 {
        padding-bottom: 150px !important;
    }
    .pdb-sp--155 {
        padding-bottom: 155px !important;
    }
    .pdb-sp--160 {
        padding-bottom: 160px !important;
    }
    .pdb-sp--165 {
        padding-bottom: 165px !important;
    }
    .pdb-sp--170 {
        padding-bottom: 170px !important;
    }
    .pdb-sp--175 {
        padding-bottom: 175px !important;
    }
    .pdb-sp--180 {
        padding-bottom: 180px !important;
    }
    .pdb-sp--185 {
        padding-bottom: 185px !important;
    }
    .pdb-sp--190 {
        padding-bottom: 190px !important;
    }
    .pdb-sp--195 {
        padding-bottom: 195px !important;
    }
    .pdb-sp--200 {
        padding-bottom: 200px !important;
    }
    .pdb-sp--205 {
        padding-bottom: 205px !important;
    }
    .pdb-sp--210 {
        padding-bottom: 210px !important;
    }
    .pdb-sp--215 {
        padding-bottom: 215px !important;
    }
    .pdb-sp--220 {
        padding-bottom: 220px !important;
    }
    .pdb-sp--225 {
        padding-bottom: 225px !important;
    }
    .pdb-sp--230 {
        padding-bottom: 230px !important;
    }
    .pdb-sp--235 {
        padding-bottom: 235px !important;
    }
    .pdb-sp--240 {
        padding-bottom: 240px !important;
    }
    .pdb-sp--245 {
        padding-bottom: 245px !important;
    }
    .pdb-sp--250 {
        padding-bottom: 250px !important;
    }
}