@charset "UTF-8";
/* ---------------------------------------------
*   container
--------------------------------------------- */
/*  l-container
--------------------------------------------- */
.l-container {
    max-width: 980px;
    margin-inline: auto;
    padding-inline: 15px;
}
@media screen and (max-width: 768px) {
    .l-container {
        max-width: initial;
        padding-inline: 5.2151238592%;
    }
    .l-container--sp-none {
        padding-inline: 0;
    }
}

/*  l-container-sp
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .l-container-sp {
        padding-inline: 5.2151238592%;
    }
}

/*  .l-container-sp-2
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .l-container-sp-2 {
        padding-inline: 3.9113428944%;
    }
}

/*  l-container-sm
--------------------------------------------- */
.l-container-sm {
    max-width: 814px;
    margin-inline: auto;
    padding-inline: 15px;
}
@media screen and (max-width: 768px) {
    .l-container-sm {
        max-width: 67.7966101695%;
        padding-inline: 0;
    }
}

/*  l-container-sm-pc
--------------------------------------------- */
@media screen and (min-width: 769px) {
    .l-container-sm-pc {
        max-width: 814px;
        margin-inline: auto;
        padding-inline: 15px;
    }
}

/*  .l-container-sm-sp
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .l-container-sm-sp {
        max-width: 67.7966101695%;
        margin-inline: auto;
    }
}

/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
/* ---------------------------------------------
*   l-footer
--------------------------------------------- */
.l-footer {
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.03);
    color: #fff;
}
.l-footer__inner {
    padding-block: 38px 34px;
    background: linear-gradient(90deg, rgb(66, 77, 153) 20%, rgb(80, 128, 188) 100%);
}
@media screen and (max-width: 768px) {
    .l-footer__inner {
        padding-block: 9.778357236% 4.5632333768%;
        background: linear-gradient(90deg, rgb(63, 77, 158) 20%, rgb(63, 129, 193) 100%);
    }
}
.l-footer__container {
    display: grid;
    grid-template-columns: 200px auto;
    align-items: center;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: 50px;
}
@media screen and (max-width: 768px) {
    .l-footer__container {
        display: block;
        max-width: initial;
    }
}
.l-footer__logo {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer__logo {
        transition: opacity 300ms;
    }
    .l-footer__logo:hover {
        opacity: 0.8;
    }
}
@media screen and (max-width: 768px) {
    .l-footer__logo {
        max-width: 43.5462842243vw;
        margin-inline: auto;
    }
}
.l-footer__logo img {
    width: 100%;
}
.l-footer__logo-group {
    display: block;
    max-width: 102px;
    margin-top: 11px;
    margin-left: auto;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer__logo-group {
        transition: opacity 300ms;
    }
    .l-footer__logo-group:hover {
        opacity: 0.8;
    }
}
@media screen and (max-width: 768px) {
    .l-footer__logo-group {
        display: none;
    }
}
.l-footer__logo-group img {
    display: block;
    width: 100%;
}
.l-footer__right {
    padding-left: 50px;
}
@media screen and (max-width: 768px) {
    .l-footer__right {
        padding-left: 0;
    }
}
@media screen and (min-width: 769px) {
    .l-footer__nav {
        margin-left: auto;
    }
}
@media screen and (max-width: 768px) {
    .l-footer__nav {
        margin-top: 8.2138200782vw;
    }
}
.l-footer__nav-list {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.5em min(43px, 3.5833333333vw);
    margin-left: auto;
}
@media screen and (max-width: 768px) {
    .l-footer__nav-list {
        display: block;
        text-align: center;
    }
}
@media screen and (max-width: 768px) {
    .l-footer__nav-item {
        margin-top: 2.998696219vw;
    }
}
.l-footer__nav-link {
    font-size: 0.8125rem;
    font-weight: 500;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer__nav-link:hover {
        text-decoration: underline;
    }
}
@media screen and (max-width: 768px) {
    .l-footer__nav-link {
        font-size: 0.8181818182rem;
    }
}
.l-footer__copyright {
    display: block;
    text-align: right;
    margin-top: 23px;
    font-size: 0.53125rem;
}
@media screen and (max-width: 768px) {
    .l-footer__copyright {
        display: block;
        width: -moz-fit-content;
        width: fit-content;
        margin-top: 9.778357236vw;
        margin-inline: auto;
        font-size: 1.4341590613vw;
        letter-spacing: 0.05em;
    }
}

/*  l-footer-group
--------------------------------------------- */
@media print, screen and (min-width: 768px) {
    .l-footer-group__inner {
        max-width: 1200px;
        margin-right: auto;
        margin-left: auto;
        padding-inline: 50px;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        padding-top: 15px;
        padding-bottom: 15px;
    }
}
@media screen and (max-width: 768px) {
    .l-footer-group__inner {
        padding: 5.2151238592vw;
        display: flex;
        align-items: initial;
        flex-direction: column;
        min-height: 35.7235984355vw;
        justify-content: center;
    }
}
.l-footer-group__logo {
    width: clamp(320px, 33.3333333333vw, 400px);
}
@media screen and (max-width: 768px) {
    .l-footer-group__logo {
        width: 100%;
    }
}
.l-footer-group__logo a {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-group__logo a {
        transition: opacity 300ms;
    }
    .l-footer-group__logo a:hover {
        opacity: 0.8;
    }
}

.l-footer-group__logo img {
    width: 100%;
}

.l-footer-group__copy {
    font-size: 12px;
    color: #B9BABD;
}
@media screen and (max-width: 768px) {
    .l-footer-group__copy {
        display: block;
        padding-top: 3.259452412vw;
        font-size: 3.2333767927vw;
    }
}

/* ---------------------------------------------
*   header
--------------------------------------------- */
.l-header-group {
    background-color: #F5F5F6;
    height: 36px;
    line-height: 1;
}

.l-header-group__inner {
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: min(30px, 2.5%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 20px;
    padding-top: 9.5px;
    padding-bottom: 9.5px;
}

.l-header-group__logo img {
    width: 280px;
    vertical-align: baseline;
}
@media screen and (max-width: 1000px) {
    .l-header-group__logo img {
        width: 220px;
    }
}

@media (hover: hover) and (pointer: fine) {
    .l-header-group__logo-link {
        transition: opacity 300ms;
    }
    .l-header-group__logo-link:hover {
        opacity: 0.8;
    }
}

.l-header-group__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em min(30px, 2.5vw);
    font-size: clamp(9px, 1vw, 12px);
    margin-bottom: -5px;
    margin-right: 2rem;
}

.l-header-group__nav li {
    margin-bottom: 5px;
}

.l-header-group__nav a {
    color: #3c3c3c;
    position: relative;
    padding-right: 5px;
    padding-right: 10px;
}

.l-header-group__nav a::after {
    position: absolute;
    content: "";
    margin: auto;
    box-sizing: border-box;
    vertical-align: middle;
    top: 0;
    bottom: 0;
    right: 0;
    transform: translate(0px, 2px) rotate(45deg);
    transform-origin: top right;
    border-top: 1px solid #3c3c3c;
    border-right: 1px solid #3c3c3c;
    width: 6px;
    height: 6px;
    transition-property: top, right, bottom, left;
    transition-duration: 0.3s;
}

.l-header-group__nav a::after {
    top: 4px;
}

@media (hover: hover) and (pointer: fine) {
    .l-header-group__nav a:hover {
        color: #004098;
        text-decoration: none;
    }
}
@media screen and (max-width: 768px) {
    .l-header-group {
        display: none;
    }
}
/*  .l-header
--------------------------------------------- */
.l-header {
    background-color: #fff;
}
@media screen and (max-width: 768px) {
    .l-header {
        position: sticky;
        top: 0;
        z-index: 99;
        height: 55px;
    }
}
.l-header__main {
    height: 70px;
    background-color: #fff;
}
@media screen and (max-width: 1000px) {
    .l-header__main {
        height: 60px;
    }
}
@media screen and (max-width: 768px) {
    .l-header__main {
        height: 100%;
    }
}
.top-page .l-header__main {
    border-bottom: 1px solid #424d99;
}

.js-top-fv .l-header__main {
    opacity: 0;
    transform: translateY(50px);
}

.js-top-fv.is-fv-anime-start .l-header__main {
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.8s, opacity 1s;
}

.l-header__container {
    display: flex;
    align-items: flex-end;
    max-width: 1200px;
    margin-inline: auto;
    padding-block: 16.5px 19.5px;
    padding-inline: min(55px, 4.5833333333%) min(35px, 2.9166666667%);
}
@media screen and (max-width: 1000px) {
    .l-header__container {
        padding-inline: min(35px, 2.9166666667%) min(35px, 2.9166666667%);
    }
}
@media screen and (max-width: 768px) {
    .l-header__container {
        align-items: center;
        height: 100%;
        padding: 0 5px 0 20px;
    }
}
@media screen and (min-width: 769px) {
    .l-header--subpage .l-header__container {
        padding-block: 24px 22px;
        padding-inline: min(30px, 4.5833333333%);
    }
}
@media screen and (max-width: 768px) {
    .l-header--subpage .l-header__container {
        padding-left: 20px;
    }
}
.l-header__logo {
    max-width: 196px;
    width: 100%;
    margin-right: min(83px, 6.9166666667%);
    flex-shrink: 0;
}
@media screen and (max-width: 1000px) {
    .l-header__logo {
        max-width: 130px;
    }
}
@media screen and (max-width: 768px) {
    .l-header__logo {
        max-width: 133px;
    }
}
.l-header--subpage .l-header__logo {
    max-width: 153px;
}
@media screen and (max-width: 768px) {
    .l-header--subpage .l-header__logo {
        width: 120px;
    }
}
.l-header__logo-link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .l-header__logo-link {
        transition: opacity 300ms;
    }
    .l-header__logo-link:hover {
        opacity: 0.8;
    }
}
.l-header__logo-link img {
    display: block;
    width: 100%;
}
.l-header__logo-group {
    display: block;
    max-width: 124px;
}
@media (hover: hover) and (pointer: fine) {
    .l-header__logo-group {
        transition: opacity 300ms;
    }
    .l-header__logo-group:hover {
        opacity: 0.8;
    }
}
@media screen and (max-width: 1000px) {
    .l-header__logo-group {
        max-width: 100px;
    }
}
@media screen and (max-width: 768px) {
    .l-header__logo-group {
        position: relative;
        top: 4px;
        margin-left: auto;
        max-width: 73px;
    }
}
.l-header__logo-group img {
    display: block;
    width: 100%;
}
@media(min-width:751px){
    .sp {
        display: none !important;
    }
}
@media(max-width:750px){
    .pc {
        display: none !important;
    }
}

/*  l-header-nav
--------------------------------------------- */
.l-header-nav {
    position: relative;
    top: 3px;
    margin-right: auto;
}
@media screen and (max-width: 768px) {
    .l-header-nav {
        display: none;
    }
}
.l-header-nav__list {
    display: flex;
    -moz-column-gap: min(45px, 3.75vw);
         column-gap: min(45px, 3.75vw);
}
.l-header-nav__link {
    display: block;
    font-size: 0.8125rem;
    font-weight: 500;
}
@media (hover: hover) and (pointer: fine) {
    .l-header-nav__link:hover {
        text-decoration: underline;
    }
}

/*  header-menu-button
--------------------------------------------- */
.header-menu-button {
    position: relative;
    display: none;
    padding: 10px;
    border: 0;
    border-radius: 0;
    background: none;
    margin: 0;
    margin-left: 11px;
    box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
@media screen and (max-width: 768px) {
    .header-menu-button {
        display: block;
    }
}
.header-menu-button img {
    display: block;
    width: 23px;
    height: 21px;
}
.l-header--subpage .header-menu-button {
    margin-left: auto;
}

/*  header-menu
--------------------------------------------- */
.header-menu {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    display: none;
    width: 100%;
    height: 100dvh;
    color: #fff;
}
@media screen and (min-width: 769px) {
    .header-menu {
        display: none !important;
    }
}
.header-menu__overlay {
    position: absolute;
    inset: 0;
    background: rgba(35, 24, 21, 0.5);
}
.header-menu__inner {
    position: relative;
    width: 83.984375%;
    height: calc(100dvh - 14.3415906128vw);
    overflow-y: auto;
    padding-top: 18.2529335072vw;
    padding-bottom: 18.5136897001vw;
    padding-left: 15.6453715776vw;
    margin-left: auto;
    background-color: #3f4d9e;
}
@media (orientation: landscape) {
    .header-menu__inner {
        height: 100dvh;
    }
}
.header-menu__btn {
    position: absolute;
    top: 5.2151238592vw;
    right: 5.7366362451vw;
    width: 6.6492829205vw;
}
@media (hover: hover) and (pointer: fine) {
    .header-menu__btn {
        transition: opacity 300ms;
    }
    .header-menu__btn:hover {
        opacity: 0.8;
    }
}
.header-menu__btn img {
    width: 100%;
}
.header-menu__nav-lv1-item {
    font-size: 4.1720990874vw;
}
.header-menu__nav-lv1-link, .header-menu__nav-lv2-link {
    display: block;
    padding-block: 4.3024771838vw;
    border-bottom: 1px solid #fff;
}
@media (hover: hover) and (pointer: fine) {
    .header-menu__nav-lv1-link, .header-menu__nav-lv2-link {
        transition: opacity 300ms;
    }
    .header-menu__nav-lv1-link:hover, .header-menu__nav-lv2-link:hover {
        opacity: 0.8;
    }
}
.header-menu__nav-lv2-link {
    padding-left: 8.3441981747vw;
}

/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
/* ---------------------------------------------
*   banner
--------------------------------------------- */
/*  c-bnr
--------------------------------------------- */
.c-bnr__link {
    display: block;
    border: 1px solid #000;
}
@media (hover: hover) and (pointer: fine) {
    .c-bnr__link {
        transition: opacity 300ms;
    }
    .c-bnr__link:hover {
        opacity: 0.8;
    }
}
.c-bnr__link img {
    width: 100%;
}

/* ---------------------------------------------
*   btn
--------------------------------------------- */
/*  c-btn
--------------------------------------------- */
.c-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-column-gap: 17px;
         column-gap: 17px;
    max-width: 260px;
    padding: 8px 1em;
    color: var(--base-color, #000);
    border: 1px solid var(--base-color, #000);
    font-size: 0.84375rem;
    font-family: var(--ff-serif);
    font-weight: bold;
    letter-spacing: 0.1em;
    text-align: center;
}
@media (hover: hover) and (pointer: fine) {
    .c-btn {
        transition: opacity 300ms;
    }
    .c-btn:hover {
        opacity: 0.8;
    }
}
@media screen and (max-width: 768px) {
    .c-btn {
        max-width: initial;
        padding-block: 2.2164276402vw;
        font-size: 1.2272727273rem;
        -moz-column-gap: 4.4328552803vw;
             column-gap: 4.4328552803vw;
    }
}
@media screen and (min-width: 769px) {
    .c-btn--pc-large {
        max-width: 347px;
    }
}
.c-btn::after {
    content: "";
    display: block;
    width: 24px;
    height: 4px;
    -webkit-mask: url("../img/common/img_arrow_right.svg") 0 0/100% 100% no-repeat;
            mask: url("../img/common/img_arrow_right.svg") 0 0/100% 100% no-repeat;
    background-color: var(--base-color, #000);
}
@media screen and (max-width: 768px) {
    .c-btn::after {
        width: 6.258148631vw;
        height: 1.0430247718vw;
    }
}

/*  c-btn-2
--------------------------------------------- */
.c-btn-2 {
    display: grid;
    place-items: center;
    border: 1px solid #000;
}

/* ---------------------------------------------
*   card
--------------------------------------------- */
.c-card-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: min(85px, 8.9473684211%);
         column-gap: min(85px, 8.9473684211%);
}
@media screen and (max-width: 768px) {
    .c-card-list {
        display: block;
    }
}
.c-card-list__item {
    --delay: .2s;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0;
    /* animation */
}
@media screen and (max-width: 768px) {
    .c-card-list__item {
        padding-bottom: 10.6910039113vw;
    }
}
@media screen and (min-width: 769px) {
    .c-card-list__item {
        opacity: 0;
        transform: translateY(50px);
    }
    .is-active-2 .c-card-list__item {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
}
.c-card-list__item:nth-of-type(1) {
    transition-delay: 0s;
}
.c-card-list__item:nth-of-type(2) {
    transition-delay: var(--delay);
}
.c-card-list__item:nth-of-type(3) {
    transition-delay: calc(var(--delay) * 2);
}
.c-card-list__img img {
    width: 100%;
}
.c-card-list__txt-wrap {
    display: contents;
}
@media screen and (max-width: 768px) {
    .c-card-list__txt-wrap {
        display: block;
        max-width: 67.7966101695%;
        margin-inline: auto;
    }
}
.c-card-list__ttl {
    margin-top: 20px;
    color: var(--base-color);
    font-size: 1.125rem;
    font-family: var(--ff-serif);
    font-weight: bold;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
    .c-card-list__ttl {
        margin-top: 7.0404172099vw;
        font-size: 1.55rem;
    }
}
.p-top-solution-cassette--03 .c-card-list__item:nth-of-type(1) .c-card-list__ttl {
    letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
    .p-top-solution-cassette--03 .c-card-list__item:nth-of-type(1) .c-card-list__ttl {
        letter-spacing: -0.02em;
    }
}
.c-card-list__txt {
    margin-top: 10px;
    font-size: 0.75rem;
    line-height: 1.66;
}
@media screen and (max-width: 768px) {
    .c-card-list__txt {
        margin-top: 2.6075619296vw;
        font-size: 0.8181818182rem;
        line-height: 1.77;
    }
}
@media screen and (min-width: 769px) {
    .c-card-list__ttl, .c-card-list__txt {
        opacity: 0;
        transform: translateY(50px);
    }
    .is-active-2 .c-card-list__ttl, .is-active-2 .c-card-list__txt {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
    .c-card-list__item:nth-of-type(1) .c-card-list__ttl, .c-card-list__item:nth-of-type(1) .c-card-list__txt {
        transition-delay: calc(var(--delay) * 1);
    }
    .c-card-list__item:nth-of-type(2) .c-card-list__ttl, .c-card-list__item:nth-of-type(2) .c-card-list__txt {
        transition-delay: calc(var(--delay) * 2);
    }
    .c-card-list__item:nth-of-type(3) .c-card-list__ttl, .c-card-list__item:nth-of-type(3) .c-card-list__txt {
        transition-delay: calc(var(--delay) * 3);
    }
}

/* ---------------------------------------------
*   keyvisual
--------------------------------------------- */
/*  c-keyvisual
--------------------------------------------- */
.c-keyvisual {
    position: relative;
    max-width: 1200px;
    margin-inline: auto;
}
.c-keyvisual__img img {
    width: 100%;
}
.c-keyvisual__txt {
    position: absolute;
    inset: 0;
    margin: auto;
    width: -moz-max-content;
    width: max-content;
    height: -moz-max-content;
    height: max-content;
    color: var(--fc-theme-4);
    font-size: 2.0625rem;
    font-family: var(--ff-serif);
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .c-keyvisual__txt {
        font-size: 1.5909090909rem;
    }
}

/* ---------------------------------------------
*   list
--------------------------------------------- */
/*  c-list-news
--------------------------------------------- */
.c-list-news__item {
    border-bottom: 1px solid #808080;
}
.c-list-news__link {
    display: grid;
    grid-template-columns: 200px auto;
    padding-block: 26px;
    font-size: 1rem;
}
@media screen and (max-width: 768px) {
    .c-list-news__link {
        display: block;
        padding-block: 3.9113428944vw 3.3898305085vw;
    }
}
.c-list-news__date {
    color: #424d99;
    font-weight: 500;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
    .c-list-news__date {
        font-size: 1rem;
    }
}
@media screen and (max-width: 768px) {
    .c-list-news__ttl {
        margin-top: 1.4341590613vw;
        font-size: 1.0454545455rem;
        line-height: 1.55;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-list-news__link:hover .c-list-news__ttl {
        text-decoration: underline;
    }
}

/* ---------------------------------------------
*   txt
--------------------------------------------- */
/*  p-top-kv
--------------------------------------------- */
.p-top-kv {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    display: grid;
    place-content: center;
    margin-inline: auto;
    height: calc(100svh - 106px);
    overflow: hidden;
    transition: background-color 0.3s;
    transition-delay: 0.8s !important;
}
.js-top-fv.is-fv-anime-start .p-top-kv {
    background-color: #fff;
}

@media screen and (max-width: 1000px) {
    .p-top-kv {
        height: calc(100svh - 96px);
    }
}
@media screen and (max-width: 768px) {
    .p-top-kv {
        height: calc(100svh - 55px);
    }
}
.p-top-kv video {
    display: block;
    width: 100%;
}
.js-top-fv .p-top-kv video {
    opacity: 0;
    transform: translateY(50px);
    transition-delay: 0.8s !important;
}

.js-top-fv.is-fv-anime-start .p-top-kv video {
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.8s, opacity 1s;
}

/*  .p-top-scrolldown
--------------------------------------------- */
.p-top-scrolldown {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 0.75rem;
    gap: 12px;
    justify-content: center;
    line-height: 2;
    margin: auto;
    color: #424d99;
    opacity: 0;
    transition: opacity 2s;
    transition-delay: 0.3s;
}
@media screen and (max-width: 768px) {
    .p-top-scrolldown {
        bottom: 7vw;
        gap: 2vw;
        font-size: 0.9090909091rem;
    }
}
@media screen and (orientation: landscape) and (max-width: 768px) {
    .iphone .p-top-scrolldown, .ipad .p-top-scrolldown, .android .p-top-scrolldown {
        bottom: 2vw;
        gap: 1vw;
        font-size: 0.4545454545rem;
    }
}
@media screen and (orientation: landscape) and (min-width: 769px) {
    .iphone .p-top-scrolldown, .ipad .p-top-scrolldown, .android .p-top-scrolldown {
        font-size: 0.625rem;
        gap: 8px;
        bottom: 10px;
    }
}
.p-top-scrolldown.is-show {
    opacity: 1;
}
.p-top-scrolldown .bar {
    position: relative;
    display: block;
    width: 1px;
    height: 80px;
    background-color: rgba(80, 128, 188, 0.4);
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .p-top-scrolldown .bar {
        height: 15.6453715776vw;
    }
}
@media screen and (orientation: landscape) and (max-width: 768px) {
    .iphone .p-top-scrolldown .bar, .ipad .p-top-scrolldown .bar, .android .p-top-scrolldown .bar {
        height: 6.518904824vw;
    }
}
@media screen and (orientation: landscape) and (min-width: 769px) {
    .iphone .p-top-scrolldown .bar, .ipad .p-top-scrolldown .bar, .android .p-top-scrolldown .bar {
        height: 40px;
    }
}
.p-top-scrolldown .bar::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    animation: scrollAnm 2.2s ease infinite;
    background-color: #424d99;
    width: 100%;
    height: 56%;
}
@keyframes scrollAnm {
    0% {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(200%);
    }
}

/*  p-top-statement
--------------------------------------------- */
.p-top-statement {
    position: relative;
    padding-block: min(130px, 10.8333333333%) min(140px, 11.6666666667%);
    opacity: 0;
    transition-delay: 0.8s !important;
}
@media screen and (max-width: 768px) {
    .p-top-statement {
        position: relative;
        padding-block: 16.29726206% 17.2099087353%;
    }
}
@media screen and (max-width: 768px) {
    .p-top-statement {
        transition-delay: 1s !important;
    }
}
.js-top-fv.is-fv-anime-start .p-top-statement {
    opacity: 1;
    transition: opacity 0.3s;
}

.p-top-statement__bg {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    aspect-ratio: 1200/835;
    overflow: hidden;
}
.p-top-statement__bg img,
.p-top-statement__bg svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
}
@media screen and (min-width: 1201px) {
    .p-top-statement__bg img,
    .p-top-statement__bg svg {
        width: 100%;
        height: auto;
    }
}
.p-top-statement__bg .cls-1 {
    -webkit-clip-path: url(#clippath);
            clip-path: url(#clippath);
}
.p-top-statement__bg .cls-2 {
    stroke-width: 0px;
}
.p-top-statement__bg .cls-2,
.p-top-statement__bg .cls-3 {
    fill: none;
}
.p-top-statement__bg .cls-3 {
    stroke: #b2b2b2;
    stroke-width: 0.25px;
}
@media screen and (max-width: 768px) {
    .p-top-statement__bg .cls-3 {
        stroke-width: 0.5px;
    }
}
.p-top-statement__spiral-pc {
    stroke-dasharray: 4296px;
    opacity: 0;
}
.p-top-statement.js-anime-statement.is-active .p-top-statement__spiral-pc {
    opacity: 1;
    animation: line_move_pc 5.5s 1s forwards;
    transition: opacity 1s 1s;
}
@keyframes line_move_pc {
    0% {
        opacity: 0;
        stroke-dashoffset: 4296px;
    }
    1% {
        opacity: 1;
    }
    100% {
        stroke-dashoffset: 0px;
    }
}
.p-top-statement__spiral-sp {
    opacity: 0;
    stroke-dasharray: 4296px;
}
.js-anime-statement.is-active .p-top-statement__spiral-sp {
    animation: line_move_sp 5.5s 1s forwards;
    opacity: 1;
    transition: opacity 1s 1s;
}

@keyframes line_move_sp {
    0% {
        opacity: 0;
        stroke-dashoffset: 4296px;
    }
    1% {
        opacity: 1;
    }
    100% {
        stroke-dashoffset: 0px;
    }
}
.p-top-statement__container {
    display: grid;
    grid-template-columns: 37.7777777778% auto;
    max-width: min(calc(945px + 15 * 2px), 83.75vw);
    margin-inline: auto;
    padding-inline: 15px;
}
@media screen and (max-width: 768px) {
    .p-top-statement__container {
        display: block;
        max-width: initial;
        padding-inline: 5.2151238592%;
    }
}
.p-top-statement__head {
    color: #424d99;
}
@media screen and (max-width: 768px) {
    .p-top-statement__head {
        text-align: center;
    }
}
.p-top-statement__ttl-sub {
    display: block;
    font-size: 1.125rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    opacity: 0;
    transform: translateY(50px);
    transition-delay: 0.4s !important;
}
@media screen and (max-width: 768px) {
    .p-top-statement__ttl-sub {
        font-size: 1.0909090909rem;
    }
}
@media screen and (max-width: 768px) {
    .p-top-statement__ttl-sub {
        transition-delay: 1s !important;
    }
}
.js-anime-statement.is-active .p-top-statement__ttl-sub {
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.8s, opacity 1s;
}

.p-top-statement__ttl {
    margin-top: min(216px, 18vw);
    font-size: clamp(1.375rem, 3vw, 2.25rem);
    font-family: var(--ff-serif);
    font-weight: bold;
    opacity: 0;
    transform: translateY(50px);
    transition-delay: 0.6s !important;
}
@media screen and (max-width: 768px) {
    .p-top-statement__ttl {
        margin-top: 10.4302477184vw;
        font-size: 2.4545454545rem;
    }
}
@media screen and (max-width: 768px) {
    .p-top-statement__ttl {
        transition-delay: 1.2s !important;
    }
}
.js-anime-statement.is-active .p-top-statement__ttl {
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.8s, opacity 1s;
}

.p-top-statement__body {
    padding-left: min(70px, 5.8333333333vw);
    opacity: 0;
    transform: translateY(50px);
    transition-delay: 1s !important;
}
@media screen and (max-width: 768px) {
    .p-top-statement__body {
        padding-top: 9.1264667536vw;
        padding-left: 9.1264667536vw;
    }
}
@media screen and (max-width: 768px) {
    .p-top-statement__body {
        transition-delay: 1.4s !important;
    }
}
.js-anime-statement.is-active .p-top-statement__body {
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.8s, opacity 1s;
}

.p-top-statement__txt {
    font-size: clamp(12px, 1.5vw, 1.125rem);
    font-family: var(--ff-serif);
    font-weight: 500;
    line-height: 2.1;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
    .p-top-statement__txt {
        font-size: 1.0331818182rem;
        line-height: 1.89;
        letter-spacing: 0;
    }
}
.p-top-statement__txt:not(:first-of-type) {
    margin-top: 41px;
}
@media screen and (max-width: 768px) {
    .p-top-statement__txt:not(:first-of-type) {
        margin-top: 5.4758800522vw;
    }
}

/*  p-top-about
--------------------------------------------- */
.p-top-about {
    position: relative;
    z-index: 1;
    background: linear-gradient(90deg, rgb(66, 77, 153) 20%, rgb(80, 128, 188) 100%);
    color: #fff;
    padding-block: min(135px, 11.25%) min(115px, 9.5833333333%);
}
@media screen and (max-width: 768px) {
    .p-top-about {
        background: linear-gradient(90deg, rgb(63, 77, 158) 20%, rgb(63, 129, 193) 100%);
        padding-block: 13.037809648% 24.5110821382%;
    }
}
.p-top-about__ttl-sub {
    display: block;
    font-size: 1.125rem;
    font-weight: bold;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
    .p-top-about__ttl-sub {
        font-size: 1.0909090909rem;
        text-align: center;
    }
}
@media screen and (min-width: 769px) {
    .p-top-about__ttl-sub {
        opacity: 0;
        transform: translateY(50px);
    }
    .js-anime-brand-pc.is-active .p-top-about__ttl-sub {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
}
.p-top-about__ttl {
    margin-top: min(80px, 8.4210526316%);
    font-size: 1.6875rem;
    font-family: var(--ff-serif);
    font-weight: bold;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
    .p-top-about__ttl {
        margin-top: 13.037809648vw;
        font-size: 1.6363636364rem;
        text-align: center;
    }
}
@media screen and (min-width: 769px) {
    .p-top-about__ttl {
        opacity: 0;
        transform: translateY(50px);
        transition-delay: 0.2s !important;
    }
    .js-anime-brand-pc.is-active .p-top-about__ttl {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
}
.p-top-about__col {
    display: grid;
    grid-template-columns: 42.1052631579% auto;
    -moz-column-gap: 9.4736842105%;
         column-gap: 9.4736842105%;
    align-items: flex-start;
    margin-top: min(50px, 5.2631578947%);
}
@media screen and (max-width: 768px) {
    .p-top-about__col {
        display: block;
    }
}
.p-top-about__lead {
    font-size: 1rem;
    line-height: 1.75;
    letter-spacing: 0.05em;
    text-align: justify;
}
@media screen and (max-width: 768px) {
    .p-top-about__lead {
        font-size: 1rem;
        line-height: 1.9;
    }
}
@media screen and (min-width: 769px) {
    .p-top-about__lead {
        opacity: 0;
        transform: translateY(50px);
        transition-delay: 0.4s !important;
    }
    .js-anime-brand-pc.is-active .p-top-about__lead {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
}
.p-top-about__box {
    background-color: rgba(255, 255, 255, 0.2);
    text-align: center;
}
@media screen and (max-width: 768px) {
    .p-top-about__box {
        margin-top: 7.1707953064vw;
    }
}
@media screen and (min-width: 769px) {
    .p-top-about__box {
        opacity: 0;
        transform: translateY(50px);
        transition-delay: 0.6s !important;
    }
    .js-anime-brand-pc.is-active .p-top-about__box {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
}
.p-top-about__box-ttl {
    padding-block: 10px;
    font-size: 1.8125rem;
    font-weight: 500;
    line-height: 1.4;
    border-bottom: 1px solid #fff;
    letter-spacing: 0.2em;
}
@media screen and (max-width: 1000px) {
    .p-top-about__box-ttl {
        font-size: 1.6875rem;
    }
}
@media screen and (max-width: 768px) {
    .p-top-about__box-ttl {
        padding-block: 1.8252933507vw;
        font-size: 1.4545454545rem;
    }
}
.p-top-about__box-list {
    display: flex;
    justify-content: center;
    align-items: center;
    -moz-column-gap: 11.9565217391%;
         column-gap: 11.9565217391%;
    padding-block: 20px 25px;
}
@media screen and (max-width: 1000px) {
    .p-top-about__box-list {
        -moz-column-gap: 8.6956521739%;
             column-gap: 8.6956521739%;
        padding-block: 15px 20px;
    }
}
@media screen and (max-width: 768px) {
    .p-top-about__box-list {
        -moz-column-gap: 7.8226857888vw;
             column-gap: 7.8226857888vw;
        padding-block: 3.259452412vw 3.6505867014vw;
    }
}
.p-top-about__box-item {
    font-weight: 500;
    font-size: 1.6875rem;
}
@media screen and (max-width: 1000px) {
    .p-top-about__box-item {
        font-size: 1.3125rem;
    }
}
@media screen and (max-width: 768px) {
    .p-top-about__box-item {
        font-size: 1.3636363636rem;
    }
}
.p-top-about__box-item-en {
    display: block;
    letter-spacing: 0.2em;
}
.p-top-about__box-item-jp {
    display: block;
    font-size: 0.4074074074em;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
    .p-top-about__box-item-jp {
        font-size: 0.4em;
    }
}
.p-top-about__box-item-plus {
    position: relative;
    display: block;
    width: 10px;
    height: 10px;
}
@media screen and (max-width: 768px) {
    .p-top-about__box-item-plus {
        width: 1.5645371578vw;
        height: 1.5645371578vw;
    }
}
.p-top-about__box-item-plus::before, .p-top-about__box-item-plus::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    background-color: #fff;
}
.p-top-about__box-item-plus::before {
    width: 100%;
    height: 1px;
}
.p-top-about__box-item-plus::after {
    width: 1px;
    height: 100%;
}

/*  p-top-promise
--------------------------------------------- */
.p-top-promise {
    margin-top: min(54px, 5.6842105263%);
}
@media screen and (max-width: 768px) {
    .p-top-promise {
        margin-top: 9.517601043vw;
    }
}
.p-top-promise__ttl {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
    .p-top-promise__ttl {
        font-size: 1.0909090909rem;
        text-align: center;
    }
}
@media screen and (min-width: 769px) {
    .p-top-promise__ttl {
        opacity: 0;
        transform: translateY(50px);
        transition-delay: 0.8s !important;
    }
    .js-anime-brand-pc.is-active .p-top-promise__ttl {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
}
.p-top-promise__lead {
    margin-top: 20px;
    font-size: 1rem;
    line-height: 1.75;
}
@media screen and (max-width: 768px) {
    .p-top-promise__lead {
        margin-top: 3.259452412vw;
        font-size: 1rem;
        letter-spacing: 0.05em;
        line-height: 1.9;
    }
}
@media screen and (min-width: 769px) {
    .p-top-promise__lead {
        opacity: 0;
        transform: translateY(50px);
        transition-delay: 1s !important;
    }
    .js-anime-brand-pc.is-active .p-top-promise__lead {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
}
.p-top-promise__video {
    margin-top: min(57px, 6%);
}
@media screen and (max-width: 768px) {
    .p-top-promise__video {
        margin-top: 6.9100391134vw;
    }
}
@media screen and (min-width: 769px) {
    .p-top-promise__video {
        opacity: 0;
        transform: translateY(50px);
        transition-delay: 1.2s !important;
    }
    .js-anime-brand-pc.is-active .p-top-promise__video {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
}
.p-top-promise__video iframe {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
}

/*  p-top-solution
--------------------------------------------- */
.p-top-solution {
    --delay: .2s;
    padding-block: 130px 180px;
    /* animation */
}
@media screen and (max-width: 768px) {
    .p-top-solution {
        padding-block: 19.556714472% 22.816166884%;
    }
}
@media screen and (min-width: 769px) {
    .p-top-solution__anime-target-pc {
        opacity: 0;
        transform: translateY(50px);
    }
    .js-anime-solution-pc.is-active .p-top-solution__anime-target-pc {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
}
.p-top-solution__head {
    display: grid;
    grid-template-columns: max(280px, 34.3157894737%) auto;
    -moz-column-gap: 7.3684210526%;
         column-gap: 7.3684210526%;
}
@media screen and (max-width: 768px) {
    .p-top-solution__head {
        display: block;
    }
}
.p-top-solution__ttl-sub {
    font-size: 1.125rem;
    font-weight: bold;
    color: #424d99;
}
@media screen and (max-width: 768px) {
    .p-top-solution__ttl-sub {
        font-size: 1.0909090909rem;
        text-align: center;
    }
}
.p-top-solution__ttl {
    margin-top: 80px;
    font-size: 1.6875rem;
    font-family: var(--ff-serif);
    font-weight: bold;
    color: #424d99;
    line-height: 1.55;
    /* animation */
}
@media screen and (max-width: 768px) {
    .p-top-solution__ttl {
        margin-top: 11.0821382008vw;
        font-size: 1.6363636364rem;
        text-align: center;
    }
}
@media screen and (min-width: 769px) {
    .p-top-solution__ttl {
        transition-delay: calc(var(--delay) * 2) !important;
    }
}
.p-top-solution__lead {
    margin-top: 45px;
    line-height: 1.75;
    /* animation */
}
@media screen and (max-width: 768px) {
    .p-top-solution__lead {
        margin-top: 8.4745762712vw;
        font-size: 1rem;
        line-height: 1.9;
    }
}
@media screen and (min-width: 769px) {
    .p-top-solution__lead {
        transition-delay: calc(var(--delay) * 3) !important;
    }
}
.p-top-solution__head-graph {
    overflow: hidden;
    margin-top: 17px;
    /* animation */
}
@media screen and (max-width: 768px) {
    .p-top-solution__head-graph {
        margin-top: 15.6453715776vw;
        margin-inline: auto;
        padding-inline: 9.1264667536%;
    }
}
@media screen and (min-width: 769px) {
    .p-top-solution__head-graph {
        transition-delay: calc(var(--delay) * 5) !important;
    }
}
.p-top-solution__head-graph video {
    width: 100%;
    aspect-ratio: 548/646;
    scale: 1.4;
    margin-top: -9%;
}
.p-top-solution__body {
    padding-top: 52px;
}
@media screen and (max-width: 768px) {
    .p-top-solution__body {
        padding-top: 13.2985658409%;
    }
}
@media screen and (min-width: 769px) {
    .p-top-solution__btn-wrap {
        opacity: 0;
        transform: translateY(50px);
        transition-delay: 0.8s !important;
    }
    .is-active-2 .p-top-solution__btn-wrap {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
}
.p-top-solution__btn {
    margin-top: 45px;
    margin-left: auto;
}
@media screen and (max-width: 768px) {
    .p-top-solution__btn {
        margin-top: 2.6075619296vw;
        margin-inline: auto;
    }
}
.p-top-solution-cassette--03 .p-top-solution__btn {
    letter-spacing: 0;
}

/*  p-top-solution-cassette
--------------------------------------------- */
.p-top-solution-cassette:nth-of-type(n+2) {
    margin-top: 65px;
}
@media screen and (max-width: 768px) {
    .p-top-solution-cassette:nth-of-type(n+2) {
        margin-top: 20.2086049544vw;
    }
}
.p-top-solution-cassette--01 {
    --base-color: #004098;
}
.p-top-solution-cassette--02 {
    --base-color: #0099d9;
}
.p-top-solution-cassette--03 {
    --base-color: #0094a3;
}
.p-top-solution-cassette__ttl {
    padding-block: 8px;
    padding-left: 25px;
    color: var(--base-color);
    font-size: 1.625rem;
    font-family: var(--ff-serif);
    font-weight: bold;
    border-left: 2px solid var(--base-color);
    letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
    .p-top-solution-cassette__ttl {
        padding-block: 1.8252933507vw;
        padding-left: 4.8239895698vw;
        border-width: 1px;
        font-size: 1.7727272727rem;
    }
}
.p-top-solution-cassette__body {
    padding-top: 54px;
}
@media screen and (max-width: 768px) {
    .p-top-solution-cassette__body {
        padding-top: 5.2151238592%;
    }
}

/*  p-top-news
--------------------------------------------- */
.p-top-news {
    background-color: rgba(0, 0, 0, 0.03);
    padding-block: 90px 137px;
}
@media screen and (max-width: 768px) {
    .p-top-news {
        padding-block: 10.8213820078% 21.5123859192%;
    }
}
.p-top-news__ttl {
    font-size: 1.125rem;
    font-weight: bold;
    color: #424d99;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
    .p-top-news__ttl {
        font-size: 1.0909090909rem;
        text-align: center;
    }
}
.p-top-news__btn {
    margin-top: 45px;
    margin-left: auto;
}
@media screen and (max-width: 768px) {
    .p-top-news__btn {
        margin-top: 8.4745762712vw;
        margin-inline: auto;
    }
}

/*  p-region-intro
--------------------------------------------- */
.p-region-intro {
    padding-block: 55px;
}
@media screen and (max-width: 768px) {
    .p-region-intro {
        padding-block: 5.9973924381% 10.1694915254%;
    }
}
.p-region-intro__txt {
    font-size: 1.125rem;
    line-height: 1.88;
}
@media screen and (max-width: 768px) {
    .p-region-intro__txt {
        font-size: 1rem;
        line-height: 1.9;
    }
}

/*  p-region-sec
--------------------------------------------- */
.p-region-sec {
    padding-block: min(7.75%, 93px) min(18.1666666667%, 218px);
}
@media screen and (max-width: 768px) {
    .p-region-sec {
        padding-block: 11.0821382008% 22.1642764016%;
    }
}
.p-region-sec--02 {
    padding-bottom: min(12.5%, 150px);
}
@media screen and (max-width: 768px) {
    .p-region-sec--02 {
        padding-bottom: 26.075619296%;
    }
}
.p-region-sec__ttl {
    color: var(--fc-theme-4);
    font-size: 2rem;
    font-family: var(--ff-serif);
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
    .p-region-sec__ttl {
        font-size: 1.4545454545rem;
    }
}
.p-region-sec__lead {
    margin-top: 54px;
    line-height: 1.75;
}
@media screen and (max-width: 768px) {
    .p-region-sec__lead {
        margin-top: 3.6505867014vw;
        font-size: 1rem;
        line-height: 1.9;
        text-align: justify;
        letter-spacing: 0.03em;
    }
}

/*  p-region-solution
--------------------------------------------- */
.p-region-solution {
    margin-top: 60px;
    padding: 50px 8.9285714286% 43px;
    background-color: #fff;
}
@media screen and (max-width: 768px) {
    .p-region-solution {
        margin-top: 12.1251629726%;
        padding: 6.518904824vw 4.9435028249% 5.6062581486vw;
    }
}
.p-region-solution__ttl {
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
    .p-region-solution__ttl {
        font-size: 1.1818181818rem;
        line-height: 1.42;
    }
}
.p-region-solution__ttl .large {
    color: #0094a3;
    font-size: 1.2272727273em;
}
@media screen and (max-width: 768px) {
    .p-region-solution__ttl .large {
        display: inline-block;
        margin-top: 0.1em;
        font-size: 1.2307692308em;
    }
}
.p-region-solution__img {
    margin-top: 54px;
}
@media screen and (max-width: 768px) {
    .p-region-solution__img {
        margin-top: 5.2151238592vw;
    }
}
.p-region-solution__img img {
    width: 100%;
}

/*  p-region-values
--------------------------------------------- */
.p-region-values {
    display: flex;
    justify-content: center;
    -moz-column-gap: 9.1836734694%;
         column-gap: 9.1836734694%;
    width: min(784px, 65.3333333333vw);
    margin-top: 45px;
    margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .p-region-values {
        justify-content: space-between;
        -moz-column-gap: initial;
             column-gap: initial;
        width: 70.4041720991%;
        margin-top: 8.2138200782%;
    }
}
.p-region-values__item {
    width: 202px;
}
@media screen and (max-width: 768px) {
    .p-region-values__item {
        width: 18.9048239896vw;
    }
}
.p-region-values__item img {
    width: 100%;
}

/*  p-region-cassette
--------------------------------------------- */
.p-region-cassette-wrap {
    margin-top: min(8.3333333333%, 100px);
}

.p-region-cassette:not(:first-of-type) {
    margin-top: min(12.5%, 150px);
}
@media screen and (max-width: 768px) {
    .p-region-cassette:not(:first-of-type) {
        margin-top: 26.075619296%;
    }
}
.p-region-cassette__col {
    display: grid;
    grid-template: "image head" "image txt";
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
    color: #fff;
}
.p-region-cassette:nth-of-type(even) .p-region-cassette__col {
    grid-template: "head image" "txt image";
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
}
@media screen and (max-width: 768px) {
    .p-region-cassette__col {
        display: block;
    }
}
.p-region-cassette--01 .p-region-cassette__col {
    background: linear-gradient(180deg, rgb(0, 64, 152) 0%, rgb(0, 137, 207) 90.61%);
}
@media screen and (max-width: 768px) {
    .p-region-cassette--01 .p-region-cassette__col {
        background: linear-gradient(180deg, rgb(0, 65, 158) 0%, rgb(0, 140, 213) 90.61%);
    }
}
.p-region-cassette--02 .p-region-cassette__col {
    background: linear-gradient(180deg, rgb(0, 153, 217) 20.02%, rgb(128, 184, 225) 100%);
}
@media screen and (max-width: 768px) {
    .p-region-cassette--02 .p-region-cassette__col {
        background: linear-gradient(180deg, rgb(0, 156, 223) 20.02%, rgb(110, 186, 229) 100%);
    }
}
.p-region-cassette--03 .p-region-cassette__col {
    background: linear-gradient(180deg, rgb(0, 148, 163) 20%, rgb(102, 173, 175) 100%);
}
@media screen and (max-width: 768px) {
    .p-region-cassette--03 .p-region-cassette__col {
        background: linear-gradient(180deg, rgb(0, 151, 165) 20%, rgb(74, 175, 176) 100%);
    }
}
.p-region-cassette__col-head {
    display: flex;
    grid-area: head;
    min-height: 105px;
}
@media screen and (max-width: 768px) {
    .p-region-cassette__col-head {
        min-height: 19.295958279vw;
    }
}
.p-region-cassette--01 .p-region-cassette__col-head {
    background: linear-gradient(90deg, rgb(0, 64, 152) 0%, rgb(0, 137, 207) 90.61%);
}
@media screen and (max-width: 768px) {
    .p-region-cassette--01 .p-region-cassette__col-head {
        background: linear-gradient(90deg, rgb(0, 65, 158) 0%, rgb(0, 140, 213) 90.61%);
    }
}
.p-region-cassette--02 .p-region-cassette__col-head {
    background: linear-gradient(90deg, rgb(0, 153, 217) 0%, rgb(9, 155, 218) 14.22%, rgb(35, 162, 219) 37.95%, rgb(77, 172, 222) 68.25%, rgb(128, 184, 225) 100%);
}
.p-region-cassette--03 .p-region-cassette__col-head {
    background: linear-gradient(90deg, rgb(0, 148, 163) 0%, rgb(7, 150, 164) 16.44%, rgb(25, 154, 166) 39.49%, rgb(55, 161, 169) 66.47%, rgb(96, 172, 174) 96.2%, rgb(102, 173, 175) 100%);
}
.p-region-cassette__col-icon {
    display: grid;
    place-content: center;
    width: 105px;
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .p-region-cassette__col-icon {
        width: 19.295958279vw;
    }
}
.p-region-cassette--01 .p-region-cassette__col-icon {
    background: linear-gradient(134.15deg, rgb(0, 64, 152) 0%, rgb(0, 137, 207) 90.61%);
}
@media screen and (max-width: 768px) {
    .p-region-cassette--01 .p-region-cassette__col-icon {
        background: linear-gradient(134.15deg, rgb(0, 65, 158) 0%, rgb(0, 140, 213) 90.61%);
    }
}
.p-region-cassette--02 .p-region-cassette__col-icon {
    background: linear-gradient(130.17deg, rgb(0, 153, 217) 2.05%, rgb(128, 184, 225) 100%);
}
.p-region-cassette--03 .p-region-cassette__col-icon {
    background: linear-gradient(133.9deg, rgb(0, 148, 163) 20%, rgb(102, 173, 175) 100%);
}
.p-region-cassette--01 .p-region-cassette__col-icon img {
    width: 58px;
}
@media screen and (max-width: 768px) {
    .p-region-cassette--01 .p-region-cassette__col-icon img {
        width: 9.517601043vw;
    }
}
.p-region-cassette--02 .p-region-cassette__col-icon img {
    width: 76px;
}
@media screen and (max-width: 768px) {
    .p-region-cassette--02 .p-region-cassette__col-icon img {
        width: 9.778357236vw;
    }
}
.p-region-cassette--03 .p-region-cassette__col-icon img {
    width: 75px;
}
@media screen and (max-width: 768px) {
    .p-region-cassette--03 .p-region-cassette__col-icon img {
        width: 12.5162972621vw;
    }
}
.p-region-cassette__col-ttl {
    display: flex;
    align-items: center;
    width: 100%;
    font-size: min(1.75rem, 2.3333333333vw);
    font-family: var(--ff-serif);
    font-weight: bold;
    padding: 0.5em 0.5em 0.5em min(35px, 2.9166666667vw);
}
@media screen and (max-width: 768px) {
    .p-region-cassette__col-ttl {
        padding-left: 5.4758800522vw;
        font-size: 1.5909090909rem;
    }
}
.p-region-cassette--01 .p-region-cassette__col-ttl .br {
    display: none;
}
@media screen and (max-width: 1080px) {
    .p-region-cassette--01 .p-region-cassette__col-ttl .br {
        display: block;
    }
}
@media screen and (max-width: 768px) {
    .p-region-cassette--01 .p-region-cassette__col-ttl .br {
        display: none;
    }
}
.p-region-cassette--02 .p-region-cassette__col-ttl {
    letter-spacing: 0.02em;
}
.p-region-cassette--03 .p-region-cassette__col-ttl {
    letter-spacing: 0.1em;
}
.p-region-cassette__col-img {
    grid-area: image;
    max-height: 400px;
}
.p-region-cassette__col-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-region-cassette__col-txt {
    grid-area: txt;
    padding: 8.3333333333% 13.3333333333% 8.3333333333% 10.8333333333%;
    font-size: clamp(0.875rem, 1.3333333333vw, 1rem);
    line-height: 1.75;
}
@media screen and (max-width: 768px) {
    .p-region-cassette__col-txt {
        padding: 9.1264667536% 16.1668839635% 11.7340286832%;
        font-size: 1rem;
        line-height: 1.77;
    }
}

/* ---------------------------------------------
*   background-color
--------------------------------------------- */
.bg-white {
    background-color: #fff !important;
}

.bg-gray {
    background-color: rgba(0, 0, 0, 0.03) !important;
}

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

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

/* ---------------------------------------------
*   font
--------------------------------------------- */
.ff-serif {
    font-family: "Noto Serif JP", serif !important;
}

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

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

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

/* ---------------------------------------------
*   block-align
--------------------------------------------- */
.block-align-right {
    margin-left: auto !important;
}

/* ---------------------------------------------
*   scroll animation
--------------------------------------------- */
/* フェードインアップ */
.js-fadein-up {
    opacity: 0;
    transform: translateY(50px);
}
.js-fadein-up.is-active {
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.8s, opacity 1s;
}

@media screen and (max-width: 768px) {
    .js-fadein-up-sp {
        opacity: 0;
        transform: translateY(50px);
    }
    .js-fadein-up-sp.is-active {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
}

.js-fadein-up-2 {
    opacity: 0;
    transform: translateY(50px);
}
.js-fadein-up-2.is-active {
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.8s, opacity 1s;
}

/* フェードインアップ */
.js-fadein-up {
    opacity: 0;
    transform: translateY(50px);
}
.js-fadein-up.is-active {
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.8s, opacity 1s;
}

@media print and (min-width: 769px), screen and (min-width: 769px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (max-width: 768px), screen and (max-width: 768px) {
    .sp-hide {
        display: none !important;
    }
}

/* ---------------------------------------------
*   20240110 add
--------------------------------------------- */
.c-box-error {
    background-color: #f7f7f7;
}

.c-box-error__inner {
    max-width: 990px;
    margin-inline: auto;
    padding: 54px 20px 73px;
}

@media screen and (max-width: 768px) {
    .c-box-error__inner {
        width: 90.4628533333vw;
        padding: 9.3333333333vw 0 9.8666666666vw;
    }
}

.c-block-error {
    width: 100%;
    background-color: #fff;
    border-radius: 8px;
}

@media screen and (max-width: 768px) {
    .c-block-error {
        border-radius: 2.133vw;
    }
}

.c-block-error__inner {
    padding: 65px 81px 71px;
}

@media screen and (max-width: 768px) {
    .c-block-error__inner {
        padding:8.8vw 9.0666666666vw 9.0666666666vw;
    }
}

.c-block-error__ttl {
    font-size: 22px;
    font-weight: bold;
    font-family: var(--ff-serif);
    letter-spacing: .01em;
    color: #3f4a8c;
}

@media screen and (max-width: 768px) {
    .c-block-error__ttl {
        font-size: 5.33vw;
        line-height: 1.75;
        letter-spacing: 0;
    }
}

.c-block-error__txt {
    margin-top: 30px;
    font-size: 14px;
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .c-block-error__txt {
        margin-top: 5.33vw;
        font-size: 3.73vw;
    }
}

.c-block-error__note {
    margin-top: 29px;
    padding-top: 28px;
    border-top: 1px solid #EAEAEA;
}

@media screen and (max-width: 768px) {
    .c-block-error__note {
        margin-top: 4.8vw;
        padding-top: 5.0666666666vw;
        border-top: 0.592px solid #EAEAEA;
    }
}

.c-block-error__note-txt {
    font-size: 14px;
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .c-block-error__note-txt {
        font-size: 3.73vw;
    }
}


/* ---------------------------------------------
*   news-sec
--------------------------------------------- */
.news-sec {
    padding-block: min(7.75%, 50px) min(18.1666666667%, 218px);
}
@media screen and (max-width: 768px) {
    .news-sec {
        padding-block: 7% 22.1642764016%;
    }
}

.news-block {
    max-width: 1000px;
    margin-inline: auto;
    padding-inline: 15px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .news-block {
        max-width: 90%;
        padding-inline: 0;
    }
}

.news-year {
    font-size: 2rem;
    width: 100%;
}
@media screen and (max-width: 768px) {
    .news-year {
        font-size: 1.4545454545rem;
    }
}

.news-line {
    border-bottom: 2px solid #ededed;
    width: 100%;
    margin-top: 50px;
}
@media screen and (max-width: 768px) {
    .news-line {
        border-bottom: none;
        margin-top: 40px;
    }
}

.news-box_l {
    float: left;
    font-size: 2rem;
    width: 150px;
    margin-top: 15px;
}
@media screen and (max-width: 768px) {
    .news-box_l {
        float: none;
        font-size: 1.4545454545rem;
        padding-bottom: 20px;
        border-bottom: 2px solid #ededed;
        width: 100%;
        padding-top: 0;
    }
}

/* ---news最初--- */
.news-box_r-top {
    float: right;
    border-bottom: 2px solid #ededed;
    width: 850px;
    margin-top: -63px;
}
@media screen and (max-width: 768px) {
    .news-box_r-top {
        float: none;
        margin-top: 0;
        width: 100%;
    }
}

.news-box_r {
    float: right;
    border-bottom: 2px solid #ededed;
    width: 850px;
}
@media screen and (max-width: 768px) {
    .news-box_r {
        float: none;
        width: 100%;
    }
}

/* ---news最後--- */
.news-box_r-last {
    float: right;
    width: 850px;
}
@media screen and (max-width: 768px) {
    .news-box_r-last {
        float: none;
        width: 100%;
        border-bottom: 2px solid #ededed;
    }
}

/* ---1newsのみ--- */
.news-box_r-top1 {
    float: right;
    width: 850px;
    margin-top: -63px;
}
@media screen and (max-width: 768px) {
    .news-box_r-top1 {
        float: none;
        width: 100%;
        margin-top: 0;
    }
}

.news-box_r-top a {
    display: block;
    color: #3c3c3c;
    line-height: 1.2;
    padding: 20px 0 20px;
}
.news-box_r-top a:hover {
    background-color: #F5F5F6;
}

.news-box_r a {
    display: block;
    color: #3c3c3c;
    line-height: 1.2;
    padding: 20px 0;
}
.news-box_r a:hover {
    background-color: #F5F5F6;
}

.news-box_r-last a {
    display: block;
    color: #3c3c3c;
    line-height: 1.2;
    padding: 20px 0;
}
.news-box_r-last a:hover {
    background-color: #F5F5F6;
}

.news-box_r-top1 a {
    display: block;
    color: #3c3c3c;
    line-height: 1.2;
    padding: 20px 0 20px;
}
.news-box_r-top1 a:hover {
    background-color: #F5F5F6;
}

.news-date {
    font-size: .8rem;
    padding: 0 35px;
    margin-bottom: 10px;
    color: #3c3c3c;
}
@media screen and (max-width: 768px) {
    .news-date {
        font-size: 0.875rem;
        padding: 0;
    }
}

.news-body {
    padding: 0 35px;
    color: #3c3c3c;
    line-height: 1.8em;
}
@media screen and (max-width: 768px) {
    .news-body {
        padding: 0;
    }
}

.clear {
    clear: both;
}

.c-news-pagination-top {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
}

.c-news-pagination-top__prev {
    width: 135px;
    text-align: left;
}

.c-news-pagination-top__next {
    width: 135px;
    text-align: right;
}

@media screen and (max-width: 768px) {
    .c-news-pagination-top {
        flex-wrap: wrap;
    }

    .c-news-pagination-top__prev {
        width: 40%;
        text-align: center;
    }

    .c-news-pagination-top__next {
        width: 40%;
        text-align: center;
    }
}

.c-button {
    color: inherit;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    cursor: pointer;
    vertical-align: middle;
    box-sizing: border-box;
    border: 1px solid transparent;
    line-height: 1.5;
    padding: 0.5em 1.5em;
}

.c-button:hover {
    text-decoration: none;
}

.c-button--news-prev {
    font-weight: 400;
    color: #3c3c3c;
    position: relative;
    padding-left: 6.5px;
    padding: 1em 30px;
}

.c-button--news-prev::after {
    position: absolute;
    content: "";
    margin: auto;
    box-sizing: border-box;
    vertical-align: middle;
    top: 0;
    bottom: 0;
    left: 0;
    transform: translate(0px, 3px) rotate(-45deg);
    transform-origin: top left;
    border-top: 1px solid #3c3c3c;
    border-left: 1px solid #3c3c3c;
    width: 8px;
    height: 8px;
    transition-property: top, right, bottom, left;
    transition-duration: 0.3s;
}

.c-button--news-prev:hover {
    color: var(--fc-theme-4);
}

.c-button--news-next {
    font-weight: 400;
    color: #3c3c3c;
    position: relative;
    padding-right: 6.5px;
    padding: 1em 30px;
}

.c-button--news-next::after {
    position: absolute;
    content: "";
    margin: auto;
    box-sizing: border-box;
    vertical-align: middle;
    top: 0;
    bottom: 0;
    right: 0;
    transform: translate(0px, 3px) rotate(45deg);
    transform-origin: top right;
    border-top: 1px solid #3c3c3c;
    border-right: 1px solid #3c3c3c;
    width: 8px;
    height: 8px;
    transition-property: top, right, bottom, left;
    transition-duration: 0.3s;
}

.c-button--news-next:hover {
    color: var(--fc-theme-4);
}

/* ---------------------------------------------
*   p-top-movie
--------------------------------------------- */
.p-top-movie { 
	margin-bottom: 180px;
}

@media screen and (max-width: 767px) {
	.p-top-movie {
		margin-bottom: 22.816166884%;
	}
}

@media screen and (max-width: 767px) {
	.c-section__person-top {
		padding-left: 20px;
		padding-right: 20px;
	}
}


/* ---------------------------------------------
*   p-top-campaign
--------------------------------------------- */
.p-top-campaign { 
	margin-bottom: 180px;
}

@media screen and (max-width: 767px) {
	.p-top-campaign {
		margin-bottom: 22.816166884%;
	}
}


/* ---------------------------------------------
*   p-topics-list
--------------------------------------------- */
@media screen and (min-width: 768px) {
	.p-topics-list__inner {
		display: flex;
		flex-wrap: wrap;
		margin-right: -30px;
		margin-bottom: -30px;
	}
  .p-topics-list__item4 {
	  margin-right: 20px;
	  width: calc( (100% / 4) - 20px - 0.1px);
	}
}

@media screen and (max-width: 767px) {
	.p-topics-list__inner {
		display: flex;
		flex-direction: column;
		gap: 7.0404172099vw;
	}
	.p-topics-list__item4 {
		flex-shrink: 0;
		width: 70vw;
		max-width: 260px;
		margin: 0 auto;
	}
}

/* ---------------------------------------------
*   u-over-scale-img
--------------------------------------------- */
.u-over-scale-img {
	display: block;
	overflow: hidden;
}

.u-over-scale-img img {
	width: 100%;
	transition-property: transform;
	transition-duration: 0.3s;
}

@media screen and (min-width: 768px) { 
	a:hover .u-over-scale-img img { transform: scale(1.1);
	}
}

/* ---------------------------------------------
*   c-card-list__body
--------------------------------------------- */
.c-card-list__body {
	display: block;
	font-size: 14px;
	margin-top: 20px;
}

.c-card-list__body > *:not(:last-child) {
	margin-bottom: 12px;
}

@media screen and (max-width: 767px) {
	.c-card-list__body {
		font-size: 1.0454545455rem;
		margin-top: 2.6075619296vw;
	}
	.c-card-list__body > *:not(:last-child) {
		margin-bottom: 9px;
	}
}

/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
    margin-top: 0 !important;
}

.mgt-pc--5 {
    margin-top: 5px !important;
}

.mgt-pc--10 {
    margin-top: 10px !important;
}

.mgt-pc--15 {
    margin-top: 15px !important;
}

.mgt-pc--20 {
    margin-top: 20px !important;
}

.mgt-pc--25 {
    margin-top: 25px !important;
}

.mgt-pc--30 {
    margin-top: 30px !important;
}

.mgt-pc--35 {
    margin-top: 35px !important;
}

.mgt-pc--40 {
    margin-top: 40px !important;
}

.mgt-pc--45 {
    margin-top: 45px !important;
}

.mgt-pc--50 {
    margin-top: 50px !important;
}

.mgt-pc--55 {
    margin-top: 55px !important;
}

.mgt-pc--60 {
    margin-top: 60px !important;
}

.mgt-pc--65 {
    margin-top: 65px !important;
}

.mgt-pc--70 {
    margin-top: 70px !important;
}

.mgt-pc--75 {
    margin-top: 75px !important;
}

.mgt-pc--80 {
    margin-top: 80px !important;
}

.mgt-pc--85 {
    margin-top: 85px !important;
}

.mgt-pc--90 {
    margin-top: 90px !important;
}

.mgt-pc--95 {
    margin-top: 95px !important;
}

.mgt-pc--100 {
    margin-top: 100px !important;
}

.mgt-pc--105 {
    margin-top: 105px !important;
}

.mgt-pc--110 {
    margin-top: 110px !important;
}

.mgt-pc--115 {
    margin-top: 115px !important;
}

.mgt-pc--120 {
    margin-top: 120px !important;
}

.mgt-pc--125 {
    margin-top: 125px !important;
}

.mgt-pc--130 {
    margin-top: 130px !important;
}

.mgt-pc--135 {
    margin-top: 135px !important;
}

.mgt-pc--140 {
    margin-top: 140px !important;
}

.mgt-pc--145 {
    margin-top: 145px !important;
}

.mgt-pc--150 {
    margin-top: 150px !important;
}

.mgt-pc--155 {
    margin-top: 155px !important;
}

.mgt-pc--160 {
    margin-top: 160px !important;
}

.mgt-pc--165 {
    margin-top: 165px !important;
}

.mgt-pc--170 {
    margin-top: 170px !important;
}

.mgt-pc--175 {
    margin-top: 175px !important;
}

.mgt-pc--180 {
    margin-top: 180px !important;
}

.mgt-pc--185 {
    margin-top: 185px !important;
}

.mgt-pc--190 {
    margin-top: 190px !important;
}

.mgt-pc--195 {
    margin-top: 195px !important;
}

.mgt-pc--200 {
    margin-top: 200px !important;
}

.mgt-pc--205 {
    margin-top: 205px !important;
}

.mgt-pc--210 {
    margin-top: 210px !important;
}

.mgt-pc--215 {
    margin-top: 215px !important;
}

.mgt-pc--220 {
    margin-top: 220px !important;
}

.mgt-pc--225 {
    margin-top: 225px !important;
}

.mgt-pc--230 {
    margin-top: 230px !important;
}

.mgt-pc--235 {
    margin-top: 235px !important;
}

.mgt-pc--240 {
    margin-top: 240px !important;
}

.mgt-pc--245 {
    margin-top: 245px !important;
}

.mgt-pc--250 {
    margin-top: 250px !important;
}

@media screen and (max-width: 768px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: 0.6518904824vw !important;
    }
    .mgt-sp--10 {
        margin-top: 1.3037809648vw !important;
    }
    .mgt-sp--15 {
        margin-top: 1.9556714472vw !important;
    }
    .mgt-sp--20 {
        margin-top: 2.6075619296vw !important;
    }
    .mgt-sp--25 {
        margin-top: 3.259452412vw !important;
    }
    .mgt-sp--30 {
        margin-top: 3.9113428944vw !important;
    }
    .mgt-sp--35 {
        margin-top: 4.5632333768vw !important;
    }
    .mgt-sp--40 {
        margin-top: 5.2151238592vw !important;
    }
    .mgt-sp--45 {
        margin-top: 5.8670143416vw !important;
    }
    .mgt-sp--50 {
        margin-top: 6.518904824vw !important;
    }
    .mgt-sp--55 {
        margin-top: 7.1707953064vw !important;
    }
    .mgt-sp--60 {
        margin-top: 7.8226857888vw !important;
    }
    .mgt-sp--65 {
        margin-top: 8.4745762712vw !important;
    }
    .mgt-sp--70 {
        margin-top: 9.1264667536vw !important;
    }
    .mgt-sp--75 {
        margin-top: 9.778357236vw !important;
    }
    .mgt-sp--80 {
        margin-top: 10.4302477184vw !important;
    }
    .mgt-sp--85 {
        margin-top: 11.0821382008vw !important;
    }
    .mgt-sp--90 {
        margin-top: 11.7340286832vw !important;
    }
    .mgt-sp--95 {
        margin-top: 12.3859191656vw !important;
    }
    .mgt-sp--100 {
        margin-top: 13.037809648vw !important;
    }
    .mgt-sp--105 {
        margin-top: 13.6897001304vw !important;
    }
    .mgt-sp--110 {
        margin-top: 14.3415906128vw !important;
    }
    .mgt-sp--115 {
        margin-top: 14.9934810952vw !important;
    }
    .mgt-sp--120 {
        margin-top: 15.6453715776vw !important;
    }
    .mgt-sp--125 {
        margin-top: 16.29726206vw !important;
    }
    .mgt-sp--130 {
        margin-top: 16.9491525424vw !important;
    }
    .mgt-sp--135 {
        margin-top: 17.6010430248vw !important;
    }
    .mgt-sp--140 {
        margin-top: 18.2529335072vw !important;
    }
    .mgt-sp--145 {
        margin-top: 18.9048239896vw !important;
    }
    .mgt-sp--150 {
        margin-top: 19.556714472vw !important;
    }
    .mgt-sp--155 {
        margin-top: 20.2086049544vw !important;
    }
    .mgt-sp--160 {
        margin-top: 20.8604954368vw !important;
    }
    .mgt-sp--165 {
        margin-top: 21.5123859192vw !important;
    }
    .mgt-sp--170 {
        margin-top: 22.1642764016vw !important;
    }
    .mgt-sp--175 {
        margin-top: 22.816166884vw !important;
    }
    .mgt-sp--180 {
        margin-top: 23.4680573664vw !important;
    }
    .mgt-sp--185 {
        margin-top: 24.1199478488vw !important;
    }
    .mgt-sp--190 {
        margin-top: 24.7718383312vw !important;
    }
    .mgt-sp--195 {
        margin-top: 25.4237288136vw !important;
    }
    .mgt-sp--200 {
        margin-top: 26.075619296vw !important;
    }
    .mgt-sp--205 {
        margin-top: 26.7275097784vw !important;
    }
    .mgt-sp--210 {
        margin-top: 27.3794002608vw !important;
    }
    .mgt-sp--215 {
        margin-top: 28.0312907432vw !important;
    }
    .mgt-sp--220 {
        margin-top: 28.6831812256vw !important;
    }
    .mgt-sp--225 {
        margin-top: 29.335071708vw !important;
    }
    .mgt-sp--230 {
        margin-top: 29.9869621904vw !important;
    }
    .mgt-sp--235 {
        margin-top: 30.6388526728vw !important;
    }
    .mgt-sp--240 {
        margin-top: 31.2907431551vw !important;
    }
    .mgt-sp--245 {
        margin-top: 31.9426336375vw !important;
    }
    .mgt-sp--250 {
        margin-top: 32.5945241199vw !important;
    }
}
/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
    margin-bottom: 0 !important;
}

.mgb-pc--5 {
    margin-bottom: 5px !important;
}

.mgb-pc--10 {
    margin-bottom: 10px !important;
}

.mgb-pc--15 {
    margin-bottom: 15px !important;
}

.mgb-pc--20 {
    margin-bottom: 20px !important;
}

.mgb-pc--25 {
    margin-bottom: 25px !important;
}

.mgb-pc--30 {
    margin-bottom: 30px !important;
}

.mgb-pc--35 {
    margin-bottom: 35px !important;
}

.mgb-pc--40 {
    margin-bottom: 40px !important;
}

.mgb-pc--45 {
    margin-bottom: 45px !important;
}

.mgb-pc--50 {
    margin-bottom: 50px !important;
}

.mgb-pc--55 {
    margin-bottom: 55px !important;
}

.mgb-pc--60 {
    margin-bottom: 60px !important;
}

.mgb-pc--65 {
    margin-bottom: 65px !important;
}

.mgb-pc--70 {
    margin-bottom: 70px !important;
}

.mgb-pc--75 {
    margin-bottom: 75px !important;
}

.mgb-pc--80 {
    margin-bottom: 80px !important;
}

.mgb-pc--85 {
    margin-bottom: 85px !important;
}

.mgb-pc--90 {
    margin-bottom: 90px !important;
}

.mgb-pc--95 {
    margin-bottom: 95px !important;
}

.mgb-pc--100 {
    margin-bottom: 100px !important;
}

.mgb-pc--105 {
    margin-bottom: 105px !important;
}

.mgb-pc--110 {
    margin-bottom: 110px !important;
}

.mgb-pc--115 {
    margin-bottom: 115px !important;
}

.mgb-pc--120 {
    margin-bottom: 120px !important;
}

.mgb-pc--125 {
    margin-bottom: 125px !important;
}

.mgb-pc--130 {
    margin-bottom: 130px !important;
}

.mgb-pc--135 {
    margin-bottom: 135px !important;
}

.mgb-pc--140 {
    margin-bottom: 140px !important;
}

.mgb-pc--145 {
    margin-bottom: 145px !important;
}

.mgb-pc--150 {
    margin-bottom: 150px !important;
}

.mgb-pc--155 {
    margin-bottom: 155px !important;
}

.mgb-pc--160 {
    margin-bottom: 160px !important;
}

.mgb-pc--165 {
    margin-bottom: 165px !important;
}

.mgb-pc--170 {
    margin-bottom: 170px !important;
}

.mgb-pc--175 {
    margin-bottom: 175px !important;
}

.mgb-pc--180 {
    margin-bottom: 180px !important;
}

.mgb-pc--185 {
    margin-bottom: 185px !important;
}

.mgb-pc--190 {
    margin-bottom: 190px !important;
}

.mgb-pc--195 {
    margin-bottom: 195px !important;
}

.mgb-pc--200 {
    margin-bottom: 200px !important;
}

.mgb-pc--205 {
    margin-bottom: 205px !important;
}

.mgb-pc--210 {
    margin-bottom: 210px !important;
}

.mgb-pc--215 {
    margin-bottom: 215px !important;
}

.mgb-pc--220 {
    margin-bottom: 220px !important;
}

.mgb-pc--225 {
    margin-bottom: 225px !important;
}

.mgb-pc--230 {
    margin-bottom: 230px !important;
}

.mgb-pc--235 {
    margin-bottom: 235px !important;
}

.mgb-pc--240 {
    margin-bottom: 240px !important;
}

.mgb-pc--245 {
    margin-bottom: 245px !important;
}

.mgb-pc--250 {
    margin-bottom: 250px !important;
}

@media screen and (max-width: 768px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: 0.6518904824vw !important;
    }
    .mgb-sp--10 {
        margin-bottom: 1.3037809648vw !important;
    }
    .mgb-sp--15 {
        margin-bottom: 1.9556714472vw !important;
    }
    .mgb-sp--20 {
        margin-bottom: 2.6075619296vw !important;
    }
    .mgb-sp--25 {
        margin-bottom: 3.259452412vw !important;
    }
    .mgb-sp--30 {
        margin-bottom: 3.9113428944vw !important;
    }
    .mgb-sp--35 {
        margin-bottom: 4.5632333768vw !important;
    }
    .mgb-sp--40 {
        margin-bottom: 5.2151238592vw !important;
    }
    .mgb-sp--45 {
        margin-bottom: 5.8670143416vw !important;
    }
    .mgb-sp--50 {
        margin-bottom: 6.518904824vw !important;
    }
    .mgb-sp--55 {
        margin-bottom: 7.1707953064vw !important;
    }
    .mgb-sp--60 {
        margin-bottom: 7.8226857888vw !important;
    }
    .mgb-sp--65 {
        margin-bottom: 8.4745762712vw !important;
    }
    .mgb-sp--70 {
        margin-bottom: 9.1264667536vw !important;
    }
    .mgb-sp--75 {
        margin-bottom: 9.778357236vw !important;
    }
    .mgb-sp--80 {
        margin-bottom: 10.4302477184vw !important;
    }
    .mgb-sp--85 {
        margin-bottom: 11.0821382008vw !important;
    }
    .mgb-sp--90 {
        margin-bottom: 11.7340286832vw !important;
    }
    .mgb-sp--95 {
        margin-bottom: 12.3859191656vw !important;
    }
    .mgb-sp--100 {
        margin-bottom: 13.037809648vw !important;
    }
    .mgb-sp--105 {
        margin-bottom: 13.6897001304vw !important;
    }
    .mgb-sp--110 {
        margin-bottom: 14.3415906128vw !important;
    }
    .mgb-sp--115 {
        margin-bottom: 14.9934810952vw !important;
    }
    .mgb-sp--120 {
        margin-bottom: 15.6453715776vw !important;
    }
    .mgb-sp--125 {
        margin-bottom: 16.29726206vw !important;
    }
    .mgb-sp--130 {
        margin-bottom: 16.9491525424vw !important;
    }
    .mgb-sp--135 {
        margin-bottom: 17.6010430248vw !important;
    }
    .mgb-sp--140 {
        margin-bottom: 18.2529335072vw !important;
    }
    .mgb-sp--145 {
        margin-bottom: 18.9048239896vw !important;
    }
    .mgb-sp--150 {
        margin-bottom: 19.556714472vw !important;
    }
    .mgb-sp--155 {
        margin-bottom: 20.2086049544vw !important;
    }
    .mgb-sp--160 {
        margin-bottom: 20.8604954368vw !important;
    }
    .mgb-sp--165 {
        margin-bottom: 21.5123859192vw !important;
    }
    .mgb-sp--170 {
        margin-bottom: 22.1642764016vw !important;
    }
    .mgb-sp--175 {
        margin-bottom: 22.816166884vw !important;
    }
    .mgb-sp--180 {
        margin-bottom: 23.4680573664vw !important;
    }
    .mgb-sp--185 {
        margin-bottom: 24.1199478488vw !important;
    }
    .mgb-sp--190 {
        margin-bottom: 24.7718383312vw !important;
    }
    .mgb-sp--195 {
        margin-bottom: 25.4237288136vw !important;
    }
    .mgb-sp--200 {
        margin-bottom: 26.075619296vw !important;
    }
    .mgb-sp--205 {
        margin-bottom: 26.7275097784vw !important;
    }
    .mgb-sp--210 {
        margin-bottom: 27.3794002608vw !important;
    }
    .mgb-sp--215 {
        margin-bottom: 28.0312907432vw !important;
    }
    .mgb-sp--220 {
        margin-bottom: 28.6831812256vw !important;
    }
    .mgb-sp--225 {
        margin-bottom: 29.335071708vw !important;
    }
    .mgb-sp--230 {
        margin-bottom: 29.9869621904vw !important;
    }
    .mgb-sp--235 {
        margin-bottom: 30.6388526728vw !important;
    }
    .mgb-sp--240 {
        margin-bottom: 31.2907431551vw !important;
    }
    .mgb-sp--245 {
        margin-bottom: 31.9426336375vw !important;
    }
    .mgb-sp--250 {
        margin-bottom: 32.5945241199vw !important;
    }
}
