/* ------------------------------
- Font
------------------------------ */
/* ------------------------------
- Break Point
------------------------------ */
/* ------------------------------
- Media Query
------------------------------ */
/* ------------------------------
- hover
------------------------------ */
/* ------------------------------
- utility
------------------------------ */
@media screen and (min-width: 768px) {
    .visible-md, .visible-sm {
        display: none;
    }
    .visible-lg {
        display: inherit;
    }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
    .visible-lg, .visible-sm {
        display: none;
    }
    .visible-md {
        display: inherit;
    }
}
@media screen and (max-width: 767px) {
    .visible-lg, .visible-md {
        display: none;
    }
    .visible-sm {
        display: inherit;
    }
}

* {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    line-height: 1.5;
}

@media screen and (min-width: 768px) {
    html {
        font-size: 10px;
    }
}
@media screen and (max-width: 767px) {
    html {
        font-size: 2.66666vw;
        scroll-padding-top: 7.3rem;
    }
}

body {
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #222;
    font-size: 1.6rem;
}

.main {
    overflow: hidden;
}

.l-inner {
    --size: 120rem;
    --gutter: max(3vi, 2rem);
    -webkit-box-sizing: revert;
            box-sizing: revert;
    max-inline-size: var(--size);
    padding-inline: var(--gutter);
    margin-inline: auto;
}

.breadcrumb {
    background: #fff;
}
@media screen and (min-width: 768px) {
    .breadcrumb {
        -webkit-padding-before: 2.4rem;
                padding-block-start: 2.4rem;
        -webkit-padding-after: 2.8rem;
                padding-block-end: 2.8rem;
    }
}
@media screen and (max-width: 767px) {
    .breadcrumb {
        -webkit-padding-before: 2.4rem;
                padding-block-start: 2.4rem;
        -webkit-padding-after: 2rem;
                padding-block-end: 2rem;
    }
}

.breadcrumb__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}
@media screen and (min-width: 768px) {
    .breadcrumb__list {
        gap: 2.2rem;
    }
}
@media screen and (max-width: 767px) {
    .breadcrumb__list {
        gap: 1.6rem;
    }
}

.breadcrumb__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
}

.breadcrumb__item + .breadcrumb__item::before {
    display: block;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    inline-size: 0.1rem;
    content: "";
    background: #d9dde3;
}
@media screen and (min-width: 768px) {
    .breadcrumb__item + .breadcrumb__item::before {
        block-size: 1.8rem;
        -webkit-margin-end: 2.2rem;
                margin-inline-end: 2.2rem;
    }
}
@media screen and (max-width: 767px) {
    .breadcrumb__item + .breadcrumb__item::before {
        block-size: 1.6rem;
        -webkit-margin-end: 1.6rem;
                margin-inline-end: 1.6rem;
    }
}

.breadcrumb__link,
.breadcrumb__current {
    line-height: 1;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .breadcrumb__link,
    .breadcrumb__current {
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 767px) {
    .breadcrumb__link,
    .breadcrumb__current {
        font-size: 1.3rem;
    }
}

.breadcrumb__link {
    color: #222;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 0.3rem;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
}
.breadcrumb__link:focus {
    color: #767f8f;
}
@media (hover: hover) and (pointer: fine) {
    .breadcrumb__link:hover {
        color: #767f8f;
    }
}

.breadcrumb__current {
    color: #767f8f;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
}

/* ------------------------------
- news-detail
------------------------------ */
.news-detail {
    background: #fff;
}
@media screen and (min-width: 768px) {
    .news-detail {
        padding-block: 4.8rem 10rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail {
        padding-block: 3rem 6rem;
        padding-inline: 2rem;
    }
}

.news-detail__inner {
    margin-inline: auto;
}
@media screen and (min-width: 768px) {
    .news-detail__inner {
        inline-size: 96rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__inner {
        inline-size: 100%;
    }
}

.news-detail__meta {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #767f8f;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .news-detail__meta {
        gap: 1rem;
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__meta {
        gap: 0.8rem;
        font-size: 1rem;
    }
}

.news-detail__category {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: #3e67f0;
    border: 1px solid #3e67f0;
    border-radius: calc(infinity * 1px);
}
@media screen and (min-width: 768px) {
    .news-detail__category {
        min-inline-size: 8.8rem;
        block-size: 2.4rem;
        padding-inline: 1rem;
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__category {
        min-inline-size: 8rem;
        block-size: 2.2rem;
        padding-inline: 1rem;
        font-size: 1rem;
    }
}

.news-detail__date-number {
    font-family: "Montserrat", sans-serif;
}

.news-detail__date-kanji {
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.news-detail__title,
.news-detail__subtitle,
.news-detail__section-title,
.news-detail__sub-title,
.news-detail__text,
.news-detail__note,
.news-detail__caption,
.news-detail__app-title,
.news-detail__app-text,
.news-detail__app-link,
.news-detail__end {
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    letter-spacing: 0.04em;
}

@media screen and (min-width: 768px) {
    .news-detail__header {
        -webkit-margin-after: 6rem;
                margin-block-end: 6rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__header {
        -webkit-margin-after: 3rem;
                margin-block-end: 3rem;
    }
}

.news-detail__title {
    margin: 0;
    font-weight: 700;
    line-height: 1.5;
}
@media screen and (min-width: 768px) {
    .news-detail__title {
        -webkit-margin-before: 2rem;
                margin-block-start: 2rem;
        font-size: 3.2rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__title {
        -webkit-margin-before: 1.8rem;
                margin-block-start: 1.8rem;
        font-size: 2rem;
    }
}

.news-detail__subtitle {
    margin: 0;
    font-weight: 700;
    line-height: 1.5;
}
@media screen and (min-width: 768px) {
    .news-detail__subtitle {
        -webkit-margin-before: 1.6rem;
                margin-block-start: 1.6rem;
        font-size: 2.8rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__subtitle {
        -webkit-margin-before: 1.4rem;
                margin-block-start: 1.4rem;
        font-size: 1.5rem;
    }
}

.news-detail__label,
.news-detail__sender {
    margin: 0;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .news-detail__label,
    .news-detail__sender {
        font-size: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__label,
    .news-detail__sender {
        font-size: 1.1rem;
    }
}

.news-detail__sender {
    text-align: end;
}

.news-detail__logo {
    margin-inline: auto;
}
@media screen and (min-width: 768px) {
    .news-detail__logo {
        inline-size: 78rem;
        -webkit-margin-before: 5rem;
                margin-block-start: 5rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__logo {
        -webkit-margin-before: 5rem;
                margin-block-start: 5rem;
    }
}

.news-detail__logo-img,
.news-detail__figure,
.news-detail__qr {
    display: block;
    inline-size: 100%;
    block-size: auto;
    margin-inline: auto;
}

@media screen and (min-width: 768px) {
    .news-detail__body {
        -webkit-margin-before: 6rem;
                margin-block-start: 6rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__body {
        -webkit-margin-before: 4rem;
                margin-block-start: 4rem;
    }
}

.news-detail__text,
.news-detail__note,
.news-detail__caption,
.news-detail__app-text,
.news-detail__app-link {
    margin: 0;
    font-weight: 500;
    line-height: 1.75;
}
@media screen and (min-width: 768px) {
    .news-detail__text,
    .news-detail__note,
    .news-detail__caption,
    .news-detail__app-text,
    .news-detail__app-link {
        font-size: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__text,
    .news-detail__note,
    .news-detail__caption,
    .news-detail__app-text,
    .news-detail__app-link {
        font-size: 1.4rem;
    }
}

.news-detail__text {
    text-indent: 1em;
}

@media screen and (min-width: 768px) {
    .news-detail__text + .news-detail__text {
        -webkit-margin-before: 2.4rem;
                margin-block-start: 2.4rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__text + .news-detail__text {
        -webkit-margin-before: 2rem;
                margin-block-start: 2rem;
    }
}

@media screen and (min-width: 768px) {
    .news-detail__note {
        -webkit-margin-before: 3.2rem;
                margin-block-start: 3.2rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__note {
        -webkit-margin-before: 2.4rem;
                margin-block-start: 2.4rem;
    }
}

.news-detail__note-em {
    color: #f04444;
    font-weight: 700;
}

@media screen and (min-width: 768px) {
    .news-detail__section {
        -webkit-margin-before: 7.2rem;
                margin-block-start: 7.2rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__section {
        -webkit-margin-before: 5.2rem;
                margin-block-start: 5.2rem;
    }
}

.news-detail__section-title {
    position: relative;
    margin: 0;
    font-weight: 700;
    line-height: 1.5;
    -webkit-border-after: 1px solid #d9dde3;
            border-block-end: 1px solid #d9dde3;
}
@media screen and (min-width: 768px) {
    .news-detail__section-title {
        -webkit-padding-after: 1.5rem;
                padding-block-end: 1.5rem;
        font-size: 2.8rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__section-title {
        -webkit-padding-after: 1.8rem;
                padding-block-end: 1.8rem;
        font-size: 2.2rem;
    }
}

.news-detail__section-title::after {
    position: absolute;
    inset-block-end: -1px;
    inset-inline-start: 0;
    display: block;
    block-size: 1px;
    content: "";
    background: #3e67f0;
}
@media screen and (min-width: 768px) {
    .news-detail__section-title::after {
        inline-size: 4rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__section-title::after {
        inline-size: 4.8rem;
    }
}

@media screen and (min-width: 768px) {
    .news-detail__subsection {
        -webkit-margin-before: 3rem;
                margin-block-start: 3rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__subsection {
        -webkit-margin-before: 3rem;
                margin-block-start: 3rem;
    }
}

.news-detail__sub-title {
    position: relative;
    margin: 0;
    font-weight: 700;
    line-height: 1.5;
}
@media screen and (min-width: 768px) {
    .news-detail__sub-title {
        -webkit-padding-start: 1rem;
                padding-inline-start: 1rem;
        font-size: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__sub-title {
        -webkit-padding-start: 1rem;
                padding-inline-start: 1rem;
        font-size: 1.8rem;
    }
}

.news-detail__sub-title::before {
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    display: block;
    inline-size: 0.4rem;
    content: "";
    background: #767f8f;
}

.news-detail__table-wrap {
    overflow-x: auto;
}
@media screen and (min-width: 768px) {
    .news-detail__table-wrap {
        -webkit-margin-before: 2.4rem;
                margin-block-start: 2.4rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__table-wrap {
        -webkit-margin-before: 2rem;
                margin-block-start: 2rem;
    }
}

.news-detail__table {
    inline-size: 100%;
    min-inline-size: 72rem;
    border-collapse: collapse;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .news-detail__table {
        font-size: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__table {
        font-size: 1.4rem;
    }
}

.news-detail__table-heading,
.news-detail__table-data {
    border: 0.1rem solid #d9dde3;
    text-align: start;
    vertical-align: middle;
}
@media screen and (min-width: 768px) {
    .news-detail__table-heading,
    .news-detail__table-data {
        padding-block: 1.6rem;
        padding-inline: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__table-heading,
    .news-detail__table-data {
        padding-block: 1.2rem;
        padding-inline: 1.4rem;
    }
}

.news-detail__table-heading {
    inline-size: 28%;
    font-weight: 700;
    background: #f6f9fb;
}

@media screen and (min-width: 768px) {
    .news-detail__caption {
        -webkit-margin-before: 2.2rem;
                margin-block-start: 2.2rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__caption {
        -webkit-margin-before: 1.8rem;
                margin-block-start: 1.8rem;
    }
}

@media screen and (min-width: 768px) {
    .news-detail__figure {
        inline-size: 76rem;
        -webkit-margin-before: 2rem;
                margin-block-start: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__figure {
        -webkit-margin-before: 1.6rem;
                margin-block-start: 1.6rem;
    }
}

@media screen and (min-width: 768px) {
    .news-detail__figure--map {
        inline-size: 76rem;
    }
}

@media screen and (min-width: 768px) {
    .news-detail__app {
        -webkit-margin-before: 2.8rem;
                margin-block-start: 2.8rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__app {
        -webkit-margin-before: 2.4rem;
                margin-block-start: 2.4rem;
    }
}

.news-detail__app-title {
    margin: 0;
    font-weight: 700;
    line-height: 1.5;
}
@media screen and (min-width: 768px) {
    .news-detail__app-title {
        font-size: 1.5rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__app-title {
        font-size: 1.3rem;
    }
}

@media screen and (min-width: 768px) {
    .news-detail__app-text,
    .news-detail__app-link {
        -webkit-margin-before: 1rem;
                margin-block-start: 1rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__app-text,
    .news-detail__app-link {
        -webkit-margin-before: 0.8rem;
                margin-block-start: 0.8rem;
    }
}

.news-detail__app-anchor {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.4rem;
    color: #222;
    text-decoration: underline;
    text-underline-offset: 0.3rem;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
}
.news-detail__app-anchor:focus {
    color: #767f8f;
}
.news-detail__app-anchor:focus::after {
    background: #767f8f;
}
@media (hover: hover) and (pointer: fine) {
    .news-detail__app-anchor:hover {
        color: #767f8f;
    }
    .news-detail__app-anchor:hover::after {
        background: #767f8f;
    }
}
.news-detail__app-anchor::after {
    display: block;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    aspect-ratio: 1;
    content: "";
    background: #222;
    -webkit-mask-image: url("../img/common/link_dark.svg");
            mask-image: url("../img/common/link_dark.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}
@media screen and (min-width: 768px) {
    .news-detail__app-anchor::after {
        inline-size: 1.2rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__app-anchor::after {
        inline-size: 1rem;
    }
}

.news-detail__qr {
    -webkit-margin-start: 0;
            margin-inline-start: 0;
}
@media screen and (min-width: 768px) {
    .news-detail__qr {
        inline-size: 24rem;
        -webkit-margin-before: 2rem;
                margin-block-start: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__qr {
        inline-size: 18rem;
        -webkit-margin-before: 1.6rem;
                margin-block-start: 1.6rem;
    }
}

.news-detail__end {
    margin: 0;
    font-weight: 500;
    line-height: 1.5;
    text-align: end;
}
@media screen and (min-width: 768px) {
    .news-detail__end {
        -webkit-margin-before: 8rem;
                margin-block-start: 8rem;
        font-size: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .news-detail__end {
        -webkit-margin-before: 5rem;
                margin-block-start: 5rem;
        font-size: 1.4rem;
    }
}

.not-found {
    display: -ms-grid;
    display: grid;
    place-items: center;
    background: #fff;
}
@media screen and (min-width: 768px) {
    .not-found {
        min-block-size: calc(100svh - 20rem);
        padding-block: 9.5rem 10rem;
    }
}
@media screen and (max-width: 767px) {
    .not-found {
        min-block-size: calc(100svh - 18rem);
        padding-block: 8rem 7rem;
        padding-inline: 2rem;
    }
}

.not-found__inner {
    text-align: center;
}

.not-found__title {
    margin: 0;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .not-found__title {
        font-size: 3.2rem;
    }
}
@media screen and (max-width: 767px) {
    .not-found__title {
        font-size: 2.2rem;
    }
}

@media screen and (min-width: 768px) {
    .not-found__body {
        -webkit-margin-before: 8rem;
                margin-block-start: 8rem;
    }
}
@media screen and (max-width: 767px) {
    .not-found__body {
        -webkit-margin-before: 5rem;
                margin-block-start: 5rem;
    }
}

.not-found__text {
    margin: 0;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .not-found__text {
        font-size: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .not-found__text {
        font-size: 1.4rem;
    }
}

.not-found__link {
    display: inline-block;
    color: #222;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.04em;
    text-decoration: underline;
    text-underline-offset: 0.3rem;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
}
.not-found__link:focus {
    color: #767f8f;
}
@media (hover: hover) and (pointer: fine) {
    .not-found__link:hover {
        color: #767f8f;
    }
}
@media screen and (min-width: 768px) {
    .not-found__link {
        -webkit-margin-before: 4rem;
                margin-block-start: 4rem;
        font-size: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .not-found__link {
        -webkit-margin-before: 3.2rem;
                margin-block-start: 3.2rem;
        font-size: 1.4rem;
    }
}

.not-found-footer {
    background: #fff;
    text-align: center;
}
@media screen and (min-width: 768px) {
    .not-found-footer {
        padding-block: 0 7.2rem;
    }
}
@media screen and (max-width: 767px) {
    .not-found-footer {
        padding-block: 0 4rem;
        padding-inline: 2rem;
    }
}

.not-found-footer__copy {
    margin: 0;
    color: #767f8f;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .not-found-footer__copy {
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 767px) {
    .not-found-footer__copy {
        font-size: 1.2rem;
    }
}

.site-header {
    position: relative;
    z-index: 100;
    inline-size: 100%;
    background: #fff;
    -webkit-border-before: 0.1rem solid #d9d9d9;
            border-block-start: 0.1rem solid #d9d9d9;
}
@media screen and (max-width: 767px) {
    .site-header {
        position: sticky;
        inset-block-start: 0;
    }
}

.site-header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
@media screen and (min-width: 768px) {
    .site-header__inner {
        min-block-size: 8rem;
        padding-block: 0;
        padding-inline: 3rem;
    }
}
@media screen and (max-width: 767px) {
    .site-header__inner {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        min-block-size: 7.2rem;
        padding-block: 1.2rem;
        padding-inline: 1.6rem;
    }
}

.site-header__logo {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin: 0;
}
@media screen and (min-width: 768px) {
    .site-header__logo {
        max-inline-size: 12rem;
    }
}
@media screen and (max-width: 767px) {
    .site-header__logo {
        inline-size: 10rem;
        max-inline-size: 10rem;
    }
}

@media screen and (min-width: 768px) {
    .site-header__drawer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-margin-start: auto;
                margin-inline-start: auto;
    }
}
@media screen and (max-width: 767px) {
    .site-header__drawer {
        position: fixed;
        z-index: 101;
        inset-block: 0;
        inset-inline-end: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        inline-size: 50%;
        -webkit-padding-before: 8.6rem;
                padding-block-start: 8.6rem;
        padding-inline: 1.6rem 1.8rem;
        background: #fff;
        -webkit-transform: translateX(100%);
                transform: translateX(100%);
        -webkit-transition: -webkit-transform 0.35s ease;
        transition: -webkit-transform 0.35s ease;
        transition: transform 0.35s ease;
        transition: transform 0.35s ease, -webkit-transform 0.35s ease;
    }
}

@media screen and (max-width: 767px) {
    .is-header-open .site-header__drawer {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }
}

@media screen and (max-width: 767px) {
    .is-header-open {
        overflow: hidden;
    }
}

@media screen and (min-width: 768px) {
    .site-header__overlay {
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .site-header__overlay {
        position: fixed;
        z-index: 100;
        inset: 0;
        visibility: hidden;
        background: rgba(34, 34, 34, 0.48);
        opacity: 0;
        pointer-events: none;
        -webkit-transition: opacity 0.35s ease, visibility 0.35s ease;
        transition: opacity 0.35s ease, visibility 0.35s ease;
    }
}

@media screen and (max-width: 767px) {
    .is-header-open .site-header__overlay {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }
}

.site-header__menu {
    position: relative;
    z-index: 102;
    padding: 0;
    border: 0;
    background: linear-gradient(135deg, #5ba3d9 0%, #ee93a8 100%);
    cursor: pointer;
}
@media screen and (min-width: 768px) {
    .site-header__menu {
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .site-header__menu {
        display: block;
        inline-size: 4.8rem;
        aspect-ratio: 1;
        border-radius: 0.4rem;
    }
}

.site-header__menu-line {
    position: absolute;
    inset-inline-start: 50%;
    display: block;
    inline-size: 2.4rem;
    block-size: 1px;
    background: #fff;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: transform 0.3s ease, opacity 0.3s ease;
    transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}

.site-header__menu-line:nth-child(1) {
    inset-block-start: 1.45rem;
}

.site-header__menu-line:nth-child(2) {
    inset-block-start: 2.3rem;
}

.site-header__menu-line:nth-child(3) {
    inset-block-start: 3.15rem;
}

.is-header-open .site-header__menu-line:nth-child(1) {
    -webkit-transform: translate(-50%, 0.85rem) rotate(45deg);
            transform: translate(-50%, 0.85rem) rotate(45deg);
}

.is-header-open .site-header__menu-line:nth-child(2) {
    opacity: 0;
}

.is-header-open .site-header__menu-line:nth-child(3) {
    -webkit-transform: translate(-50%, -0.85rem) rotate(-45deg);
            transform: translate(-50%, -0.85rem) rotate(-45deg);
}

.site-header__logo-link {
    display: block;
}

.site-header__logo-img {
    display: block;
    inline-size: 100%;
    block-size: auto;
}

@media screen and (min-width: 768px) {
    .site-header__nav {
        -webkit-margin-start: auto;
                margin-inline-start: auto;
    }
}
@media screen and (max-width: 767px) {
    .site-header__nav {
        inline-size: 100%;
        -webkit-margin-start: 0;
                margin-inline-start: 0;
    }
}

.site-header__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}
@media screen and (min-width: 768px) {
    .site-header__nav-list {
        gap: min(5.6rem, 3vw);
    }
}
@media screen and (max-width: 767px) {
    .site-header__nav-list {
        display: -ms-grid;
        display: grid;
        gap: 3rem;
    }
}

.site-header__nav-link {
    display: block;
    color: #222;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    text-underline-offset: 0.3rem;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
}
.site-header__nav-link:focus {
    color: #767f8f;
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .site-header__nav-link:hover {
        color: #767f8f;
        text-decoration: underline;
    }
}
@media screen and (min-width: 768px) {
    .site-header__nav-link {
        font-size: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .site-header__nav-link {
        font-size: 1.6rem;
    }
}

.site-header__contact {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    overflow: hidden;
    font-family: "Montserrat", sans-serif;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    background: linear-gradient(135deg, #5ba3d9 0%, #ee93a8 100%);
}
.site-header__contact::before {
    position: absolute;
    inset: 0;
    display: block;
    content: "";
    background: linear-gradient(95.14deg, #5ba3d9 0%, #8ec8e8 33%, #c4d1e3 66%, #ee93a8 100%);
    opacity: 0;
    -webkit-transition: opacity 0.45s ease;
    transition: opacity 0.45s ease;
}
.site-header__contact:focus::before {
    opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
    .site-header__contact:hover::before {
        opacity: 1;
    }
}
@media screen and (min-width: 768px) {
    .site-header__contact {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        gap: 1.2rem;
        inline-size: 16rem;
        block-size: 4.8rem;
        -webkit-margin-start: 3.5rem;
                margin-inline-start: 3.5rem;
        padding-block: 0;
        padding-inline: 1.8rem;
        border-radius: 0.8rem;
        font-size: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .site-header__contact {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 1rem;
        inline-size: 100%;
        block-size: 4rem;
        -webkit-margin-before: 3rem;
                margin-block-start: 3rem;
        -webkit-margin-start: 0;
                margin-inline-start: 0;
        padding-block: 0;
        padding-inline: 1.6rem;
        border-radius: 0.4rem;
        font-size: 1.4rem;
    }
}

.site-header__contact-text {
    position: relative;
    z-index: 1;
}

@media screen and (min-width: 768px) {
    .site-header__contact-text--pc {
        display: inline;
    }
}
@media screen and (max-width: 767px) {
    .site-header__contact-text--pc {
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .site-header__contact-text--sp {
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .site-header__contact-text--sp {
        display: inline;
    }
}

.site-header__contact-icon {
    position: relative;
    z-index: 1;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    aspect-ratio: 1;
    background: url("../img/common/link.svg") center/contain no-repeat;
}
@media screen and (min-width: 768px) {
    .site-header__contact-icon {
        inline-size: 1.8rem;
    }
}
@media screen and (max-width: 767px) {
    .site-header__contact-icon {
        inline-size: 1.6rem;
    }
}

.kv {
    background: #fff;
}
@media screen and (min-width: 768px) {
    .kv {
        -webkit-padding-after: 8rem;
                padding-block-end: 8rem;
        padding-inline: 3rem;
    }
}
@media screen and (max-width: 767px) {
    .kv {
        padding-block: 1.6rem 5.6rem;
        padding-inline: 1.6rem;
    }
}

.kv__swiper {
    position: relative;
    overflow: hidden;
}
@media screen and (min-width: 768px) {
    .kv__swiper {
        inline-size: min(136rem, 100%);
        aspect-ratio: 136/70.4;
        margin-inline: auto;
        border-radius: 2.4rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 900px) {
    .kv__swiper {
        aspect-ratio: 136/78;
    }
}
@media screen and (max-width: 767px) {
    .kv__swiper {
        block-size: 48rem;
        border-radius: 1.6rem;
    }
}

@media screen and (max-width: 767px) {
    .kv__swiper::after {
        position: absolute;
        z-index: 2;
        inset: 0;
        display: block;
        content: "";
        background: rgba(34, 34, 34, 0.42);
        pointer-events: none;
    }
}

.kv__wrapper,
.kv__slide,
.kv__picture,
.kv__img {
    block-size: 100%;
}

.kv__picture {
    display: block;
    inline-size: 100%;
}

.kv__img {
    display: block;
    inline-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
@media screen and (max-width: 767px) {
    .kv__img {
        -o-object-position: center top;
           object-position: center top;
    }
}

.kv__content {
    position: absolute;
    z-index: 3;
    color: #fff;
    inset-block-start: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
    .kv__content {
        inset-inline-start: min(11.2rem, max(8.4rem, 8.2352941176vw - 0.8564705882rem));
        inline-size: min(88rem, max(66rem, 64.7058823529vw - 6.7294117647rem));
    }
}
@media screen and (max-width: 767px) {
    .kv__content {
        inset-inline: 2rem;
        -webkit-transform: translateY(-56%);
                transform: translateY(-56%);
    }
}

.kv__copy {
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .kv__copy {
        font-size: min(4.8rem, max(1.4rem, 4.08rem, max(3.6rem, 3.5294117647vw - 0.3670588235rem)));
    }
}
@media screen and (max-width: 767px) {
    .kv__copy {
        font-size: 2.9rem;
        line-height: 1.6;
    }
}

.kv__text {
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .kv__text {
        -webkit-margin-before: min(1.5rem, max(1.125rem, 1.1029411765vw - 0.1147058824rem));
                margin-block-start: min(1.5rem, max(1.125rem, 1.1029411765vw - 0.1147058824rem));
        font-size: min(1.8rem, max(1.4rem, 1.53rem, max(1.35rem, 1.3235294118vw - 0.1376470588rem)));
    }
}
@media screen and (max-width: 767px) {
    .kv__text {
        -webkit-margin-before: 1.5rem;
                margin-block-start: 1.5rem;
        font-size: 1.4rem;
        line-height: 1.75;
    }
}

.kv__button {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    overflow: hidden;
    color: #fff;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.04em;
    text-decoration: none;
    border: 0.1rem solid rgba(255, 255, 255, 0.76);
    background: linear-gradient(135deg, rgb(91, 163, 217) 0%, rgb(238, 147, 168) 100%);
}
.kv__button::before {
    position: absolute;
    inset: 0;
    display: block;
    content: "";
    background: linear-gradient(95.14deg, rgb(91, 163, 217) 0%, rgb(142, 200, 232) 33%, rgb(196, 209, 227) 66%, rgb(238, 147, 168) 100%);
    opacity: 0;
    -webkit-transition: opacity 0.45s ease;
    transition: opacity 0.45s ease;
}
.kv__button:focus::before {
    opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
    .kv__button:hover::before {
        opacity: 1;
    }
}
@media screen and (min-width: 768px) {
    .kv__button {
        inline-size: min(40rem, max(30rem, 29.4117647059vw - 3.0588235294rem));
        block-size: min(7.8rem, max(5.85rem, 5.7352941176vw - 0.5964705882rem));
        -webkit-margin-before: min(3.2rem, max(2.4rem, 2.3529411765vw - 0.2447058824rem));
                margin-block-start: min(3.2rem, max(2.4rem, 2.3529411765vw - 0.2447058824rem));
        padding-inline: min(4rem, max(3rem, 2.9411764706vw - 0.3058823529rem));
        border-radius: min(0.8rem, max(0.6rem, 0.5882352941vw - 0.0611764706rem));
        font-size: min(2rem, max(1.4rem, 1.7rem, max(1.5rem, 1.4705882353vw - 0.1529411765rem)));
    }
}
@media screen and (max-width: 767px) {
    .kv__button {
        inline-size: 100%;
        block-size: 6rem;
        -webkit-margin-before: 4rem;
                margin-block-start: 4rem;
        padding-inline: 3.2rem;
        border-radius: 0.4rem;
        font-size: 1.8rem;
    }
}

.kv__button-text {
    position: relative;
    z-index: 1;
}

.kv__button-icon {
    position: relative;
    z-index: 1;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    aspect-ratio: 1;
    background: url("../img/common/link.svg") center/contain no-repeat;
}
@media screen and (min-width: 768px) {
    .kv__button-icon {
        inline-size: min(2rem, max(1.5rem, 1.4705882353vw - 0.1529411765rem));
    }
}
@media screen and (max-width: 767px) {
    .kv__button-icon {
        inline-size: 2rem;
    }
}

.kv__counter {
    position: absolute;
    z-index: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
    .kv__counter {
        inset-block-end: min(3rem, max(2.25rem, 2.2058823529vw - 0.2294117647rem));
        inset-inline-end: min(4rem, max(3rem, 2.9411764706vw - 0.3058823529rem));
        font-size: min(1.4rem, max(1.4rem, 1.19rem, max(1.05rem, 1.0294117647vw - 0.1070588235rem)));
    }
}
@media screen and (max-width: 767px) {
    .kv__counter {
        inset-block-end: 2.8rem;
        inset-inline-end: 2.6rem;
    }
}
.kv__counter::before {
    display: block;
    block-size: 0.1rem;
    background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(50%, #fff), color-stop(50%, rgba(255, 255, 255, 0.28)), to(rgba(255, 255, 255, 0.28)));
    background: linear-gradient(90deg, #fff 0%, #fff 50%, rgba(255, 255, 255, 0.28) 50%, rgba(255, 255, 255, 0.28) 100%);
    background-position: 100% 0;
    background-size: 200% 100%;
    -webkit-margin-end: 2rem;
            margin-inline-end: 2rem;
    content: "";
}
@media screen and (min-width: 768px) {
    .kv__counter::before {
        inline-size: min(16rem, max(12rem, 11.7647058824vw - 1.2235294118rem));
        -webkit-margin-end: min(2rem, max(1.5rem, 1.4705882353vw - 0.1529411765rem));
                margin-inline-end: min(2rem, max(1.5rem, 1.4705882353vw - 0.1529411765rem));
    }
}
@media screen and (max-width: 767px) {
    .kv__counter::before {
        inline-size: 11rem;
        -webkit-margin-end: 1.6rem;
                margin-inline-end: 1.6rem;
    }
}

.kv__counter.is-progressing::before {
    -webkit-animation: kvCounterProgress 4.2s linear forwards;
            animation: kvCounterProgress 4.2s linear forwards;
}

.kv__current::after {
    content: "/";
}
@media screen and (min-width: 768px) {
    .kv__current::after {
        padding-inline: min(0.8rem, max(0.6rem, 0.5882352941vw - 0.0611764706rem));
    }
}
@media screen and (max-width: 767px) {
    .kv__current::after {
        padding-inline: 0.8rem;
    }
}

@-webkit-keyframes kvCounterProgress {
    0% {
        background-position: 100% 0;
    }
    100% {
        background-position: 0 0;
    }
}

@keyframes kvCounterProgress {
    0% {
        background-position: 100% 0;
    }
    100% {
        background-position: 0 0;
    }
}
.mission {
    position: relative;
    background: #fff;
}
.mission::before, .mission::after {
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    pointer-events: none;
    z-index: 0;
}
@media screen and (min-width: 768px) {
    .mission::before {
        background-image: url("../img/mission/deco01.svg");
        block-size: min(56rem, max(43.68rem, 46.6666666667vw - 1.8666666667rem));
        aspect-ratio: 834/560;
        inset-block-start: -28rem;
        inset-inline-start: 50%;
        translate: 44rem 0;
    }
}
@media screen and (min-width: 768px) and (max-width: 1460px) {
    .mission::before {
        translate: 30.14vw 0;
    }
}
@media screen and (max-width: 767px) {
    .mission::before {
        background-image: url("../img/mission/deco01-sp.svg");
        inline-size: 24rem;
        aspect-ratio: 1;
        inset-block-start: -14rem;
        inset-inline-end: -8rem;
    }
}
@media screen and (min-width: 768px) {
    .mission::after {
        background-image: url("../img/mission/deco02.svg");
        block-size: min(56rem, max(43.68rem, 46.6666666667vw - 1.8666666667rem));
        aspect-ratio: 1000/560;
        inset-block-start: min(55rem, max(42.9rem, 45.8333333333vw - 1.8333333333rem));
        inset-inline-start: 50%;
        translate: -127rem 0;
    }
}
@media screen and (min-width: 768px) and (max-width: 1460px) {
    .mission::after {
        translate: -86.99vw 0;
    }
}
@media screen and (max-width: 767px) {
    .mission::after {
        background-image: url("../img/mission/deco02-sp.svg");
        inline-size: 28rem;
        aspect-ratio: 1;
        inset-block-end: 2rem;
        inset-inline-start: -7rem;
    }
}
@media screen and (min-width: 768px) {
    .mission {
        padding-block: 4rem 0;
    }
}
@media screen and (max-width: 767px) {
    .mission {
        padding-block: 2rem 0;
    }
}

.mission__media-wrap {
    position: absolute;
    z-index: 1;
    inset: 0;
    margin-inline: auto;
    pointer-events: none;
}
@media screen and (min-width: 768px) {
    .mission__media-wrap {
        inline-size: min(100%, 144rem);
    }
}
@media screen and (max-width: 767px) {
    .mission__media-wrap {
        position: relative;
        inline-size: 100%;
    }
}

.mission__content {
    position: relative;
    z-index: 2;
    inline-size: 100%;
}
@media screen and (min-width: 768px) {
    .mission__content {
        block-size: min(68.6rem, max(53.508rem, 57.1666666667vw - 2.2866666667rem));
    }
}
@media screen and (max-width: 767px) {
    .mission__content {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        row-gap: 4rem;
    }
}

.mission__body {
    min-inline-size: 0;
}
@media screen and (min-width: 768px) {
    .mission__body {
        inline-size: min(88rem, max(68.64rem, 73.3333333333vw - 2.9333333333rem));
    }
}
@media screen and (min-width: 768px) and (max-width: 900px) {
    .mission__body {
        inline-size: 56rem;
    }
}

.mission__heading {
    margin: 0;
}

.mission__title {
    display: inline-block;
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    background: linear-gradient(135deg, #5ba3d9 0%, #ee93a8 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
@media screen and (min-width: 768px) {
    .mission__title {
        font-size: min(5.6rem, max(1.4rem, 4.76rem, max(4.368rem, 4.6666666667vw - 0.1866666667rem)));
    }
}
@media screen and (max-width: 767px) {
    .mission__title {
        font-size: 4rem;
    }
}

.mission__lead {
    margin: 0;
    color: #767f8f;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .mission__lead {
        -webkit-margin-before: min(1.5rem, max(1.17rem, 1.25vw - 0.05rem));
                margin-block-start: min(1.5rem, max(1.17rem, 1.25vw - 0.05rem));
        font-size: min(1.6rem, max(1.4rem, 1.36rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem)));
    }
}
@media screen and (max-width: 767px) {
    .mission__lead {
        -webkit-margin-before: 1.4rem;
                margin-block-start: 1.4rem;
        font-size: 1.4rem;
    }
}

.mission__catch {
    margin: 0;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .mission__catch {
        -webkit-margin-before: min(8.6rem, max(6.708rem, 7.1666666667vw - 0.2866666667rem));
                margin-block-start: min(8.6rem, max(6.708rem, 7.1666666667vw - 0.2866666667rem));
        font-size: min(4rem, max(1.4rem, 3.4rem, max(3.12rem, 3.3333333333vw - 0.1333333333rem)));
        line-height: 1.8;
    }
}
@media screen and (max-width: 767px) {
    .mission__catch {
        -webkit-margin-before: 4.8rem;
                margin-block-start: 4.8rem;
        line-height: 1.6;
        font-size: 2.1rem;
    }
}

.mission__text {
    margin: 0;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .mission__text {
        -webkit-margin-before: min(2rem, max(1.56rem, 1.6666666667vw - 0.0666666667rem));
                margin-block-start: min(2rem, max(1.56rem, 1.6666666667vw - 0.0666666667rem));
        font-size: min(1.8rem, max(1.4rem, 1.53rem, max(1.404rem, 1.5vw - 0.06rem)));
    }
}
@media screen and (max-width: 767px) {
    .mission__text {
        -webkit-margin-before: 1.5rem;
                margin-block-start: 1.5rem;
        font-size: 1.35rem;
    }
}

.mission__media {
    position: relative;
    min-inline-size: 0;
}
@media screen and (min-width: 768px) {
    .mission__media {
        position: absolute;
        inset: 0;
    }
}
@media screen and (max-width: 767px) {
    .mission__media {
        overflow: hidden;
        block-size: 34rem;
    }
}

.mission__media-item {
    position: absolute;
    overflow: hidden;
}
@media screen and (min-width: 768px) {
    .mission__media-item {
        border-radius: min(2rem, calc(1.3888888889vw));
    }
}
@media screen and (max-width: 767px) {
    .mission__media-item {
        border-radius: 1.2rem;
    }
}

.mission__media-img {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

@media screen and (min-width: 768px) {
    .mission__media-item--main {
        inline-size: min(56.8rem, calc(39.4444444444vw));
        block-size: min(62.9rem, calc(43.6805555556vw));
        inset-block-start: max(-1rem, calc(-0.6944444444vw));
        inset-inline-start: calc(50% + min(16rem, calc(11.1111111111vw)));
    }
}
@media screen and (min-width: 768px) and (max-width: 900px) {
    .mission__media-item--main {
        inset-inline-start: calc(50% + 18rem);
    }
}
@media screen and (max-width: 767px) {
    .mission__media-item--main {
        inline-size: 53%;
        block-size: 22rem;
        inset-block-start: 0;
        inset-inline-end: 2rem;
    }
}

@media screen and (min-width: 768px) {
    .mission__media-item--small {
        inline-size: min(20.1rem, calc(13.9583333333vw));
        aspect-ratio: 1;
        inset-block-start: max(min(47rem, calc(32.6388888889vw)), min(44rem, max(39rem, 41.6666666667vw - 1.6666666667rem)));
        inset-inline-start: calc(50% - min(68.7rem, calc(47.7083333333vw)));
    }
}
@media screen and (max-width: 767px) {
    .mission__media-item--small {
        inline-size: 10rem;
        aspect-ratio: 1;
        inset-block-start: 9rem;
        inset-inline-start: 2rem;
    }
}

.news {
    position: relative;
    z-index: 1;
}
@media screen and (min-width: 768px) {
    .news {
        padding-block: 4rem;
    }
}
@media screen and (max-width: 767px) {
    .news {
        padding-block: 0 2rem;
        -webkit-margin-before: -6rem;
                margin-block-start: -6rem;
    }
}

.news__box {
    background: #f6f9fb;
}
@media screen and (min-width: 768px) {
    .news__box {
        inline-size: min(100%, 120rem);
        margin-inline: auto;
        padding-block: 5.6rem;
        padding-inline: min(8rem, max(3.9rem, 4.1666666667vw - 0.1666666667rem)) min(5rem, max(2.34rem, 2.5vw - 0.1rem));
        border-radius: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .news__box {
        padding-block: 4rem;
        padding-inline: 2rem;
        border-radius: 1.6rem;
    }
}

.news__heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
}
@media screen and (min-width: 768px) {
    .news__heading {
        gap: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .news__heading {
        gap: 1.6rem;
    }
}

.news__title {
    display: inline-block;
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    background: -webkit-gradient(linear, left top, right top, from(#5fa3d8), to(#ec93a9));
    background: linear-gradient(90deg, #5fa3d8 0%, #ec93a9 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
@media screen and (min-width: 768px) {
    .news__title {
        font-size: min(4rem, max(1.4rem, 3.4rem, max(3.12rem, 3.3333333333vw - 0.1333333333rem)));
    }
}
@media screen and (max-width: 767px) {
    .news__title {
        font-size: 3.2rem;
    }
}

.news__lead {
    margin: 0;
    color: #767f8f;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .news__lead {
        font-size: min(1.6rem, max(1.4rem, 1.36rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem)));
    }
}
@media screen and (max-width: 767px) {
    .news__lead {
        font-size: 1.4rem;
    }
}

@media screen and (min-width: 768px) {
    .news__list {
        -webkit-margin-before: min(5rem, max(3.9rem, 4.1666666667vw - 0.1666666667rem));
                margin-block-start: min(5rem, max(3.9rem, 4.1666666667vw - 0.1666666667rem));
        max-block-size: min(32.2rem, max(25.116rem, 26.8333333333vw - 1.0733333333rem));
        overflow-y: auto;
    }
}
@media screen and (max-width: 767px) {
    .news__list {
        -webkit-margin-before: 1rem;
                margin-block-start: 1rem;
        max-block-size: 32.2rem;
        overflow-y: auto;
    }
}
@media screen and (min-width: 768px) {
    .news__list.is-scrollable {
        -webkit-padding-end: min(2.4rem, max(1.872rem, 2vw - 0.08rem));
                padding-inline-end: min(2.4rem, max(1.872rem, 2vw - 0.08rem));
        background-image: -webkit-gradient(linear, left top, left bottom, from(#d9dde3), to(#d9dde3)), -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff));
        background-image: linear-gradient(#d9dde3, #d9dde3), linear-gradient(#fff, #fff);
        background-repeat: no-repeat;
        background-size: 0.8rem 6.4rem, 0.8rem 100%;
        background-position: right 0 top var(--news-scrollbar-top, 0rem), right 0 top 0;
        scrollbar-width: none;
    }
}
@media screen and (max-width: 767px) {
    .news__list.is-scrollable {
        -webkit-padding-end: 2.4rem;
                padding-inline-end: 2.4rem;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#d9dde3), to(#d9dde3)), -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff));
        background-image: linear-gradient(#d9dde3, #d9dde3), linear-gradient(#fff, #fff);
        background-repeat: no-repeat;
        background-size: 0.8rem 6.4rem, 0.8rem 100%;
        background-position: right 0 top var(--news-scrollbar-top, 0rem), right 0 top 0;
        scrollbar-width: none;
    }
}
.news__list.is-scrollable.is-scrollbar-dragging {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -ms-touch-action: none;
        touch-action: none;
}
@media screen and (min-width: 768px) {
    .news__list::-webkit-scrollbar {
        inline-size: 0;
    }
}
@media screen and (max-width: 767px) {
    .news__list::-webkit-scrollbar {
        inline-size: 0;
    }
}

.news__item {
    -webkit-border-after: 0.1rem solid #d9dde3;
            border-block-end: 0.1rem solid #d9dde3;
}

.news__link {
    position: relative;
    display: block;
    color: #222;
    text-decoration: none;
    -webkit-transition: background-color 0.3s ease, -webkit-box-shadow 0.3s ease;
    transition: background-color 0.3s ease, -webkit-box-shadow 0.3s ease;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    transition: background-color 0.3s ease, box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.news__link:focus {
    background: #fff;
}
.news__link:focus .news__item-title {
    color: #3e67f0;
    text-decoration: underline;
    text-underline-offset: 0.4rem;
}
.news__link:focus .news__arrow::before {
    background: #3e67f0;
}
@media (hover: hover) and (pointer: fine) {
    .news__link:hover {
        background: #fff;
    }
    .news__link:hover .news__item-title {
        color: #3e67f0;
        text-decoration: underline;
        text-underline-offset: 0.4rem;
    }
    .news__link:hover .news__arrow::before {
        background: #3e67f0;
    }
}
@media screen and (min-width: 768px) {
    .news__link {
        padding-block: min(1.8rem, max(1.404rem, 1.5vw - 0.06rem)) min(3.2rem, max(2.496rem, 2.6666666667vw - 0.1066666667rem));
        padding-inline: min(1.5rem, max(1.17rem, 1.25vw - 0.05rem)) min(6.4rem, max(4.992rem, 5.3333333333vw - 0.2133333333rem));
    }
}
@media screen and (max-width: 767px) {
    .news__link {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: minmax(0, 1fr) 1.8rem 1.4rem;
        grid-template-columns: minmax(0, 1fr) 1.4rem;
        -webkit-column-gap: 1.8rem;
           -moz-column-gap: 1.8rem;
                column-gap: 1.8rem;
        padding-block: 1.6rem 2.8rem;
        padding-inline: 0;
    }
}

.news__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
@media screen and (min-width: 768px) {
    .news__meta {
        gap: min(1rem, max(0.78rem, 0.8333333333vw - 0.0333333333rem));
    }
}
@media screen and (max-width: 767px) {
    .news__meta {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        grid-column: 1/-1;
        gap: 1.2rem;
    }
}

.news__date {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    color: #767f8f;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .news__date {
        font-size: min(1.4rem, max(1.4rem, 1.19rem, max(1.092rem, 1.1666666667vw - 0.0466666667rem)));
    }
}
@media screen and (max-width: 767px) {
    .news__date {
        font-size: 1.2rem;
    }
}

.news__date-number {
    font-family: "Montserrat", sans-serif;
}

.news__date-kanji {
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.news__category {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: #3e67f0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.04em;
    border: 1px solid #3e67f0;
    border-radius: calc(infinity * 1px);
}
@media screen and (min-width: 768px) {
    .news__category {
        min-block-size: min(3rem, max(2.34rem, 2.5vw - 0.1rem));
        padding-inline: min(1.6rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem));
        font-size: min(1.4rem, max(1.4rem, 1.19rem, max(1.092rem, 1.1666666667vw - 0.0466666667rem)));
    }
}
@media screen and (max-width: 767px) {
    .news__category {
        min-block-size: 2.5rem;
        padding-inline: 1rem;
        font-size: 1.2rem;
    }
}

.news__item-title {
    margin: 0;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.04em;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
}
@media screen and (min-width: 768px) {
    .news__item-title {
        -webkit-margin-before: min(1.8rem, max(1.404rem, 1.5vw - 0.06rem));
                margin-block-start: min(1.8rem, max(1.404rem, 1.5vw - 0.06rem));
        font-size: min(1.6rem, max(1.4rem, 1.36rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem)));
    }
}
@media screen and (max-width: 767px) {
    .news__item-title {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1/2;
        -webkit-margin-before: 1.6rem;
                margin-block-start: 1.6rem;
        font-size: 1.4rem;
    }
}

.news__arrow {
    position: absolute;
    aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
    .news__arrow {
        inline-size: min(1.6rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem));
        inset-block-start: min(7.4rem, max(5.772rem, 6.1666666667vw - 0.2466666667rem));
        inset-inline-end: min(2rem, max(1.56rem, 1.6666666667vw - 0.0666666667rem));
    }
}
@media screen and (max-width: 767px) {
    .news__arrow {
        position: relative;
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
        grid-column: 2/3;
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        grid-row: 2/3;
        -ms-grid-row-align: center;
            align-self: center;
        inline-size: 1.4rem;
        inset: auto;
    }
}
.news__arrow::before {
    position: absolute;
    inset: 0;
    display: block;
    content: "";
    background: #767f8f;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5.6 2 1.2-1.2L14 8l-7.2 7.2L5.6 14l6-6-6-6Z' fill='%23000'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5.6 2 1.2-1.2L14 8l-7.2 7.2L5.6 14l6-6-6-6Z' fill='%23000'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}

.business-company {
    position: relative;
    overflow: hidden;
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(16.49%, rgba(255, 255, 255, 0))), -webkit-gradient(linear, left top, left bottom, color-stop(70%, rgba(255, 255, 255, 0)), to(#ffffff)), -webkit-gradient(linear, left top, left bottom, from(#ffeef0), to(#f9ffec));
    background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0) 16.49%), linear-gradient(180deg, rgba(255, 255, 255, 0) 70%, #ffffff 100%), linear-gradient(180deg, #ffeef0 0%, #f9ffec 100%);
}
.business-company::before, .business-company::after {
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    pointer-events: none;
    z-index: 0;
}
@media screen and (min-width: 768px) {
    .business-company::before {
        background-image: url("../img/business/deco01.svg");
        block-size: min(56rem, max(43.68rem, 46.6666666667vw - 1.8666666667rem));
        aspect-ratio: 999/560;
        inset-block-start: min(4.8rem, max(3.744rem, 4vw - 0.16rem));
        inset-inline-start: 50%;
        translate: 27rem 0;
    }
}
@media screen and (min-width: 768px) and (max-width: 1460px) {
    .business-company::before {
        translate: 18.49vw 0;
    }
}
@media screen and (max-width: 767px) {
    .business-company::before {
        background-image: url("../img/business/deco01-sp.svg");
        inline-size: 29rem;
        aspect-ratio: 1;
        inset-block-start: 10rem;
        inset-inline-end: -12rem;
    }
}
@media screen and (min-width: 768px) {
    .business-company::after {
        background-image: url("../img/business/deco02.svg");
        block-size: min(56rem, max(43.68rem, 46.6666666667vw - 1.8666666667rem));
        aspect-ratio: 960/560;
        inset-block-start: min(156rem, max(121.68rem, 130vw - 5.2rem));
        inset-inline-start: 50%;
        translate: -127rem 0;
    }
}
@media screen and (min-width: 768px) and (max-width: 1460px) {
    .business-company::after {
        translate: -86.99vw 0;
    }
}
@media screen and (max-width: 767px) {
    .business-company::after {
        background-image: url("../img/business/deco02-sp.svg");
        inline-size: 29rem;
        aspect-ratio: 1;
        inset-block-start: 202rem;
        inset-inline-start: -14rem;
    }
}

.business {
    position: relative;
    z-index: 1;
}
@media screen and (min-width: 768px) {
    .business {
        padding-block: min(25rem, max(19.5rem, 20.8333333333vw - 0.8333333333rem)) min(12rem, max(9.36rem, 10vw - 0.4rem));
    }
}
@media screen and (max-width: 767px) {
    .business {
        padding-block: 6.4rem;
    }
}

.business__heading {
    margin: 0;
}

.business__title {
    display: inline-block;
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    background: -webkit-gradient(linear, left top, right top, from(#5fa3d8), to(#ec93a9));
    background: linear-gradient(90deg, #5fa3d8 0%, #ec93a9 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
@media screen and (min-width: 768px) {
    .business__title {
        font-size: min(5.6rem, max(1.4rem, 4.76rem, max(4.368rem, 4.6666666667vw - 0.1866666667rem)));
    }
}
@media screen and (max-width: 767px) {
    .business__title {
        font-size: 4rem;
    }
}

.business__lead {
    margin: 0;
    color: #767f8f;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .business__lead {
        -webkit-margin-before: min(1.5rem, max(1.17rem, 1.25vw - 0.05rem));
                margin-block-start: min(1.5rem, max(1.17rem, 1.25vw - 0.05rem));
        font-size: min(1.6rem, max(1.4rem, 1.36rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem)));
    }
}
@media screen and (max-width: 767px) {
    .business__lead {
        -webkit-margin-before: 1.4rem;
                margin-block-start: 1.4rem;
        font-size: 1.46rem;
    }
}

.business__list {
    display: -ms-grid;
    display: grid;
}
@media screen and (min-width: 768px) {
    .business__list {
        -ms-grid-columns: minmax(0, 1fr) min(2.4rem, max(1.872rem, 2vw - 0.08rem)) minmax(0, 1fr);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: min(2.4rem, max(1.872rem, 2vw - 0.08rem));
        -webkit-margin-before: min(8rem, max(6.24rem, 6.6666666667vw - 0.2666666667rem));
                margin-block-start: min(8rem, max(6.24rem, 6.6666666667vw - 0.2666666667rem));
    }
}
@media screen and (max-width: 767px) {
    .business__list {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        gap: 2.4rem;
        -webkit-margin-before: 4rem;
                margin-block-start: 4rem;
    }
}

.business__card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(0.3rem);
}
@media screen and (min-width: 768px) {
    .business__card {
        padding-block: min(4rem, max(3.12rem, 3.3333333333vw - 0.1333333333rem));
        padding-inline: min(4rem, max(3.12rem, 3.3333333333vw - 0.1333333333rem));
        border-radius: min(2rem, max(1.56rem, 1.6666666667vw - 0.0666666667rem));
    }
}
@media screen and (max-width: 767px) {
    .business__card {
        padding-block: 2.8rem;
        padding-inline: 2rem;
        border-radius: 1.6rem;
    }
}

.business__card--large {
    display: -ms-grid;
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
@media screen and (min-width: 768px) {
    .business__card--large {
        grid-column: 1/-1;
        -ms-grid-columns: minmax(0, 1fr) min(4rem, max(3.12rem, 3.3333333333vw - 0.1333333333rem)) minmax(0, min(49.2rem, max(38.376rem, 41vw - 1.64rem)));
        grid-template-columns: minmax(0, 1fr) minmax(0, min(49.2rem, max(38.376rem, 41vw - 1.64rem)));
        gap: min(4rem, max(3.12rem, 3.3333333333vw - 0.1333333333rem));
        min-block-size: min(38rem, max(29.64rem, 31.6666666667vw - 1.2666666667rem));
        padding-inline: min(5.6rem, max(4.368rem, 4.6666666667vw - 0.1866666667rem));
    }
}
@media screen and (max-width: 767px) {
    .business__card--large {
        gap: 2.4rem;
        padding-block: 2rem 2.4rem;
        padding-inline: 1.8rem;
    }
}

@media screen and (max-width: 767px) {
    .business__card--large .business__card-body {
        display: contents;
    }
}

@media screen and (max-width: 767px) {
    .business__card--large .business__card-heading {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        gap: 1rem;
    }
}

.business__card--wide {
    display: -ms-grid;
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
@media screen and (min-width: 768px) {
    .business__card--wide {
        grid-column: 1/-1;
        -ms-grid-columns: minmax(0, 1fr) min(8rem, max(6.24rem, 6.6666666667vw - 0.2666666667rem)) minmax(0, min(49.2rem, max(38.376rem, 41vw - 1.64rem)));
        grid-template-columns: minmax(0, 1fr) minmax(0, min(49.2rem, max(38.376rem, 41vw - 1.64rem)));
        gap: min(8rem, max(6.24rem, 6.6666666667vw - 0.2666666667rem));
        padding-block: min(5.6rem, max(4.368rem, 4.6666666667vw - 0.1866666667rem));
    }
}
@media screen and (max-width: 767px) {
    .business__card--wide {
        position: relative;
        gap: 2.2rem;
        padding-block: 3rem 2.4rem;
    }
}

@media screen and (max-width: 767px) {
    .business__card--wide .business__card-body {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
    }
}

@media screen and (max-width: 767px) {
    .business__card--wide .business__visual--auto {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        block-size: 15.5rem;
    }
}

@media screen and (max-width: 767px) {
    .business__card--wide .business__soon {
        position: absolute;
        z-index: 2;
        inset-block-start: 1.6rem;
        inset-inline-start: 0.5rem;
    }
}

@media screen and (max-width: 767px) {
    .business__card--wide .business__card-heading {
        gap: 1rem;
    }
}

@media screen and (max-width: 767px) {
    .business__card--wide .business__soon + .business__card-heading {
        -webkit-margin-before: 0;
                margin-block-start: 0;
    }
}

@media screen and (max-width: 767px) {
    .business__card--wide .business__text {
        -webkit-margin-before: 1.2rem;
                margin-block-start: 1.2rem;
        line-height: 1.75;
    }
}

.business__card-heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0;
}
@media screen and (min-width: 768px) {
    .business__card-heading {
        gap: min(1.6rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem));
    }
}
@media screen and (max-width: 767px) {
    .business__card-heading {
        gap: 1.2rem;
    }
}

@media screen and (min-width: 768px) {
    .business__visual + .business__card-heading {
        -webkit-margin-before: min(3.2rem, max(2.496rem, 2.6666666667vw - 0.1066666667rem));
                margin-block-start: min(3.2rem, max(2.496rem, 2.6666666667vw - 0.1066666667rem));
    }
}
@media screen and (max-width: 767px) {
    .business__visual + .business__card-heading {
        -webkit-margin-before: 2.4rem;
                margin-block-start: 2.4rem;
    }
}

@media screen and (min-width: 768px) {
    .business__soon + .business__card-heading {
        -webkit-margin-before: min(1.8rem, max(1.404rem, 1.5vw - 0.06rem));
                margin-block-start: min(1.8rem, max(1.404rem, 1.5vw - 0.06rem));
    }
}
@media screen and (max-width: 767px) {
    .business__soon + .business__card-heading {
        -webkit-margin-before: 1.4rem;
                margin-block-start: 1.4rem;
    }
}

.business__number {
    color: #3e67f0;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .business__number {
        font-size: min(2.4rem, max(1.4rem, 2.04rem, max(1.872rem, 2vw - 0.08rem)));
    }
}
@media screen and (max-width: 767px) {
    .business__number {
        font-size: 2rem;
    }
}

.business__name {
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .business__name {
        font-size: min(2.4rem, max(1.4rem, 2.04rem, max(1.872rem, 2vw - 0.08rem)));
    }
}
@media screen and (max-width: 767px) {
    .business__name {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 767px) {
    .business__card:not(.business__card--large) .business__name {
        font-size: 2rem;
    }
}

.business__logo {
    -webkit-margin-before: 2rem;
            margin-block-start: 2rem;
}
@media screen and (min-width: 768px) {
    .business__logo {
        inline-size: min(24rem, max(18.72rem, 20vw - 0.8rem));
        -webkit-margin-before: min(2rem, max(1.56rem, 1.6666666667vw - 0.0666666667rem));
                margin-block-start: min(2rem, max(1.56rem, 1.6666666667vw - 0.0666666667rem));
    }
}
@media screen and (max-width: 767px) {
    .business__logo {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        inline-size: 20rem;
        -webkit-margin-before: 0;
                margin-block-start: 0;
    }
}

.business__logo-img {
    display: block;
    inline-size: auto;
    block-size: auto;
    max-inline-size: 100%;
}

.business__text {
    margin: 0;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .business__text {
        -webkit-margin-before: min(2.4rem, max(1.872rem, 2vw - 0.08rem));
                margin-block-start: min(2.4rem, max(1.872rem, 2vw - 0.08rem));
        font-size: min(1.5rem, max(1.4rem, 1.275rem, max(1.17rem, 1.25vw - 0.05rem)));
    }
}
@media screen and (max-width: 767px) {
    .business__text {
        -webkit-margin-before: 1.8rem;
                margin-block-start: 1.8rem;
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 767px) {
    .business__card--large .business__text {
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3;
        -webkit-margin-before: 0;
                margin-block-start: 0;
        font-size: 1.4rem;
        line-height: 1.8;
    }
}

.business__button {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    text-decoration: none;
    background: #fff;
    border: 0.1rem solid #e1e1e1;
    border-radius: 0.8rem;
    -webkit-transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
.business__button:focus {
    color: #3e67f0;
    border-color: #3e67f0;
}
.business__button:focus .business__button-icon::before {
    background: #3e67f0;
}
@media (hover: hover) and (pointer: fine) {
    .business__button:hover {
        color: #3e67f0;
        border-color: #3e67f0;
    }
    .business__button:hover .business__button-icon::before {
        background: #3e67f0;
    }
}
@media screen and (min-width: 768px) {
    .business__button {
        inline-size: min(30.6rem, max(23.868rem, 25.5vw - 1.02rem));
        block-size: min(5.8rem, max(4.524rem, 4.8333333333vw - 0.1933333333rem));
        -webkit-margin-before: min(4rem, max(3.12rem, 3.3333333333vw - 0.1333333333rem));
                margin-block-start: min(4rem, max(3.12rem, 3.3333333333vw - 0.1333333333rem));
        padding-inline: min(2.4rem, max(1.872rem, 2vw - 0.08rem));
        font-size: min(1.6rem, max(1.4rem, 1.36rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem)));
    }
}

@media screen and (max-width: 767px) {
    .business__card--large .business__button {
        -webkit-box-ordinal-group: 6;
            -ms-flex-order: 5;
                order: 5;
        block-size: 5.5rem;
        -webkit-margin-before: 0;
                margin-block-start: 0;
        padding-inline: 2.8rem;
        border-radius: 0.4rem;
        font-size: 1.4rem;
    }
}

.business__button-icon {
    position: relative;
    aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
    .business__button-icon {
        inline-size: min(2rem, max(1.56rem, 1.6666666667vw - 0.0666666667rem));
    }
}
@media screen and (max-width: 767px) {
    .business__button-icon {
        inline-size: 2rem;
    }
}
.business__button-icon::before {
    position: absolute;
    inset: 0;
    display: block;
    content: "";
    background: #767f8f;
    -webkit-mask-image: url("../img/common/link_dark.svg");
            mask-image: url("../img/common/link_dark.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}

.business__visual {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    overflow: hidden;
}

.business__visual--mobi {
    overflow: visible;
    background: transparent;
}
@media screen and (min-width: 768px) {
    .business__visual--mobi {
        inline-size: min(49.2rem, max(38.376rem, 41vw - 1.64rem));
        block-size: min(35.2rem, max(27.456rem, 29.3333333333vw - 1.1733333333rem));
    }
}
@media screen and (max-width: 767px) {
    .business__visual--mobi {
        -webkit-box-ordinal-group: 5;
            -ms-flex-order: 4;
                order: 4;
        inline-size: 100%;
        block-size: auto;
    }
}

.business__visual-picture {
    display: block;
    inline-size: 100%;
    block-size: 100%;
}
@media screen and (max-width: 767px) {
    .business__visual-picture {
        block-size: auto;
    }
}

.business__visual-img {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 1.6rem;
}

.business__visual--mobi .business__visual-img {
    -o-object-fit: contain;
       object-fit: contain;
}
@media screen and (max-width: 767px) {
    .business__visual--mobi .business__visual-img {
        block-size: auto;
    }
}

@media screen and (min-width: 768px) {
    .business__visual--ride,
    .business__visual--dummy,
    .business__visual--auto {
        block-size: min(24rem, max(18.72rem, 20vw - 0.8rem));
    }
}
@media screen and (max-width: 767px) {
    .business__visual--ride,
    .business__visual--dummy,
    .business__visual--auto {
        block-size: 18rem;
    }
}

.business__visual--dummy {
    background: #c9c9c9;
}

.business__visual--dummy .business__visual-img {
    display: none;
}

.business__soon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0;
    color: #fff;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    background: #767f8f;
    border-radius: 0.4rem;
}
@media screen and (min-width: 768px) {
    .business__soon {
        min-block-size: min(3.2rem, max(2.496rem, 2.6666666667vw - 0.1066666667rem));
        padding-inline: min(1.2rem, max(0.936rem, 1vw - 0.04rem));
        font-size: min(1.4rem, max(1.4rem, 1.19rem, max(1.092rem, 1.1666666667vw - 0.0466666667rem)));
    }
}
@media screen and (max-width: 767px) {
    .business__soon {
        min-block-size: 3rem;
        padding-inline: 1rem;
        font-size: 1.2rem;
    }
}

.company {
    position: relative;
    z-index: 1;
}

.company__box {
    background: #fff;
}
@media screen and (min-width: 768px) {
    .company__box {
        inline-size: calc(100% + max((100vw - 120rem) / 2, var(--gutter)));
        -webkit-margin-start: calc(max((100vw - 120rem) / 2, var(--gutter)) * -1);
                margin-inline-start: calc(max((100vw - 120rem) / 2, var(--gutter)) * -1);
        padding-block: min(12rem, max(9.36rem, 10vw - 0.4rem));
        padding-inline: max((100vw - 120rem) / 2, var(--gutter)) min(8rem, max(6.24rem, 6.6666666667vw - 0.2666666667rem));
        border-radius: 0 min(2.4rem, max(1.872rem, 2vw - 0.08rem)) 0 0;
    }
}
@media screen and (max-width: 767px) {
    .company__box {
        padding-block: 8rem;
        padding-inline: 2rem;
        margin: 0 calc(50% - 50vw);
        width: 100vw;
    }
}

.company__heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
}
@media screen and (min-width: 768px) {
    .company__heading {
        gap: min(3.2rem, max(2.496rem, 2.6666666667vw - 0.1066666667rem));
    }
}
@media screen and (max-width: 767px) {
    .company__heading {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 1.6rem;
    }
}

.company__title {
    display: inline-block;
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    background: -webkit-gradient(linear, left top, right top, from(#5fa3d8), to(#ec93a9));
    background: linear-gradient(90deg, #5fa3d8 0%, #ec93a9 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
@media screen and (min-width: 768px) {
    .company__title {
        font-size: min(5.6rem, max(1.4rem, 4.76rem, max(4.368rem, 4.6666666667vw - 0.1866666667rem)));
    }
}
@media screen and (max-width: 767px) {
    .company__title {
        font-size: 4rem;
    }
}

.company__lead {
    margin: 0;
    color: #767f8f;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .company__lead {
        font-size: min(1.6rem, max(1.4rem, 1.36rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem)));
    }
}
@media screen and (max-width: 767px) {
    .company__lead {
        font-size: 1.4rem;
    }
}

.company__list {
    margin: 0;
}
@media screen and (min-width: 768px) {
    .company__list {
        -webkit-margin-before: min(5rem, max(3.9rem, 4.1666666667vw - 0.1666666667rem));
                margin-block-start: min(5rem, max(3.9rem, 4.1666666667vw - 0.1666666667rem));
        inline-size: 100%;
    }
}
@media screen and (max-width: 767px) {
    .company__list {
        -webkit-margin-before: 2rem;
                margin-block-start: 2rem;
    }
}

.company__row {
    display: -ms-grid;
    display: grid;
    border-bottom: 1px solid #e1e1e1;
}
@media screen and (min-width: 768px) {
    .company__row {
        -ms-grid-columns: minmax(min(12rem, max(9.36rem, 10vw - 0.4rem)), min(16rem, max(12.48rem, 13.3333333333vw - 0.5333333333rem))) min(1rem, max(0.78rem, 0.8333333333vw - 0.0333333333rem)) minmax(0, 1fr);
        grid-template-columns: minmax(min(12rem, max(9.36rem, 10vw - 0.4rem)), min(16rem, max(12.48rem, 13.3333333333vw - 0.5333333333rem))) minmax(0, 1fr);
        gap: min(1rem, max(0.78rem, 0.8333333333vw - 0.0333333333rem));
        padding-block: min(3.2rem, max(2.496rem, 2.6666666667vw - 0.1066666667rem));
    }
}
@media screen and (max-width: 767px) {
    .company__row {
        -ms-grid-columns: 8.4rem 1.6rem minmax(0, 1fr);
        grid-template-columns: 8.4rem minmax(0, 1fr);
        gap: 1.6rem;
        padding-block: 2rem;
    }
}

.company__term,
.company__desc {
    margin: 0;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    line-height: 1.75;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .company__term,
    .company__desc {
        font-size: min(1.6rem, max(1.4rem, 1.36rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem)));
    }
}
@media screen and (max-width: 767px) {
    .company__term,
    .company__desc {
        font-size: 1.4rem;
    }
}

.company__term {
    font-weight: 700;
}

.company__desc {
    font-weight: 500;
}

.contact {
    background: #fff;
}
@media screen and (min-width: 768px) {
    .contact {
        padding-inline: min(5.2rem, max(3.9rem, 3.8235294118vw - 0.3976470588rem));
    }
}
@media screen and (max-width: 767px) {
    .contact {
        padding-inline: 2rem;
    }
}

.contact__box {
    position: relative;
    overflow: hidden;
    margin-inline: auto;
    background-image: url("../img/contact/bg.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
@media screen and (min-width: 768px) {
    .contact__box {
        inline-size: min(136rem, 100%);
        min-block-size: min(57.6rem, max(43.2rem, 42.3529411765vw - 4.4047058824rem));
        border-radius: min(2.4rem, max(1.8rem, 1.7647058824vw - 0.1835294118rem));
    }
}
@media screen and (max-width: 767px) {
    .contact__box {
        border-radius: 1.6rem;
    }
}

.contact__content {
    position: relative;
    z-index: 1;
    color: #fff;
}
@media screen and (min-width: 768px) {
    .contact__content {
        padding-block: min(8rem, max(6rem, 5.8823529412vw - 0.6117647059rem));
        padding-inline: min(8rem, max(6rem, 5.8823529412vw - 0.6117647059rem));
    }
}
@media screen and (max-width: 767px) {
    .contact__content {
        padding-block: 5.6rem;
        padding-inline: 1.5rem;
    }
}

.contact__title {
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .contact__title {
        font-size: min(5.6rem, max(1.4rem, 4.76rem, max(4.2rem, 4.1176470588vw - 0.4282352941rem)));
    }
}
@media screen and (max-width: 767px) {
    .contact__title {
        font-size: 3.2rem;
    }
}

.contact__copy {
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .contact__copy {
        -webkit-margin-before: min(5.6rem, max(4.2rem, 4.1176470588vw - 0.4282352941rem));
                margin-block-start: min(5.6rem, max(4.2rem, 4.1176470588vw - 0.4282352941rem));
        font-size: min(2.8rem, max(1.4rem, 2.38rem, max(2.1rem, 2.0588235294vw - 0.2141176471rem)));
        line-height: 1.8;
    }
}
@media screen and (max-width: 767px) {
    .contact__copy {
        -webkit-margin-before: 3rem;
                margin-block-start: 3rem;
        font-size: 2.25rem;
        line-height: 1.6;
    }
}

.contact__text {
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .contact__text {
        -webkit-margin-before: min(3rem, max(2.25rem, 2.2058823529vw - 0.2294117647rem));
                margin-block-start: min(3rem, max(2.25rem, 2.2058823529vw - 0.2294117647rem));
        font-size: min(1.6rem, max(1.4rem, 1.36rem, max(1.2rem, 1.1764705882vw - 0.1223529412rem)));
    }
}
@media screen and (max-width: 767px) {
    .contact__text {
        -webkit-margin-before: 2rem;
                margin-block-start: 2rem;
        font-size: 1.4rem;
    }
}

.contact__button {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    overflow: hidden;
    color: #fff;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.04em;
    text-decoration: none;
    border: 0.1rem solid rgba(255, 255, 255, 0.76);
    background: linear-gradient(135deg, rgba(91, 163, 217, 0.9) 0%, rgba(238, 147, 168, 0.9) 100%);
}
.contact__button::before {
    position: absolute;
    inset: 0;
    display: block;
    content: "";
    background: linear-gradient(95.14deg, rgba(91, 163, 217, 0.94) 0%, rgba(142, 200, 232, 0.94) 33%, rgba(196, 209, 227, 0.94) 66%, rgba(238, 147, 168, 0.94) 100%);
    opacity: 0;
    -webkit-transition: opacity 0.45s ease;
    transition: opacity 0.45s ease;
}
.contact__button:focus::before {
    opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
    .contact__button:hover::before {
        opacity: 1;
    }
}
@media screen and (min-width: 768px) {
    .contact__button {
        inline-size: min(40rem, max(30rem, 29.4117647059vw - 3.0588235294rem));
        block-size: min(7.8rem, max(5.85rem, 5.7352941176vw - 0.5964705882rem));
        -webkit-margin-before: min(5rem, max(3.75rem, 3.6764705882vw - 0.3823529412rem));
                margin-block-start: min(5rem, max(3.75rem, 3.6764705882vw - 0.3823529412rem));
        padding-inline: min(4rem, max(3rem, 2.9411764706vw - 0.3058823529rem));
        border-radius: min(0.8rem, max(0.6rem, 0.5882352941vw - 0.0611764706rem));
        font-size: min(2rem, max(1.4rem, 1.7rem, max(1.5rem, 1.4705882353vw - 0.1529411765rem)));
    }
}
@media screen and (max-width: 767px) {
    .contact__button {
        inline-size: 100%;
        block-size: 6rem;
        -webkit-margin-before: 3.2rem;
                margin-block-start: 3.2rem;
        padding-inline: 2.4rem;
        border-radius: 0.4rem;
        font-size: 1.8rem;
    }
}

.contact__button-text {
    position: relative;
    z-index: 1;
}

.contact__button-icon {
    position: relative;
    z-index: 1;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    aspect-ratio: 1;
    background: url("../img/common/link.svg") center/contain no-repeat;
}
@media screen and (min-width: 768px) {
    .contact__button-icon {
        inline-size: min(2rem, max(1.5rem, 1.4705882353vw - 0.1529411765rem));
    }
}
@media screen and (max-width: 767px) {
    .contact__button-icon {
        inline-size: 2rem;
    }
}

.site-footer {
    background: #fff;
}
@media screen and (min-width: 768px) {
    .site-footer {
        padding-block: min(10rem, max(7.8rem, 8.3333333333vw - 0.3333333333rem)) min(7.2rem, max(5.616rem, 6vw - 0.24rem));
    }
}
@media screen and (max-width: 767px) {
    .site-footer {
        padding-block: 5.2rem 4.4rem;
    }
}

.site-footer__inner {
    --size: 120rem;
    --gutter: max(5vi, 2rem);
    margin-inline: auto;
}
@media screen and (min-width: 768px) {
    .site-footer__inner {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: minmax(0, 1fr) min(2.5rem, max(1.95rem, 2.0833333333vw - 0.0833333333rem)) minmax(min(12rem, max(9.36rem, 10vw - 0.4rem)), min(17rem, max(13.26rem, 14.1666666667vw - 0.5666666667rem))) min(2.5rem, max(1.95rem, 2.0833333333vw - 0.0833333333rem)) minmax(min(27rem, max(21.06rem, 22.5vw - 0.9rem)), min(28rem, max(21.84rem, 23.3333333333vw - 0.9333333333rem)));
        grid-template-columns: minmax(0, 1fr) minmax(min(12rem, max(9.36rem, 10vw - 0.4rem)), min(17rem, max(13.26rem, 14.1666666667vw - 0.5666666667rem))) minmax(min(27rem, max(21.06rem, 22.5vw - 0.9rem)), min(28rem, max(21.84rem, 23.3333333333vw - 0.9333333333rem)));
        -webkit-column-gap: min(2.5rem, max(1.95rem, 2.0833333333vw - 0.0833333333rem));
           -moz-column-gap: min(2.5rem, max(1.95rem, 2.0833333333vw - 0.0833333333rem));
                column-gap: min(2.5rem, max(1.95rem, 2.0833333333vw - 0.0833333333rem));
        -webkit-box-sizing: revert;
                box-sizing: revert;
        max-inline-size: var(--size);
        padding-inline: var(--gutter);
    }
}
@media screen and (max-width: 767px) {
    .site-footer__inner {
        display: -ms-grid;
        display: grid;
        row-gap: 5rem;
        inline-size: 100%;
        padding-inline: 2rem;
    }
}

@media screen and (min-width: 768px) {
    .site-footer__info {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1/2;
    }
}
@media screen and (max-width: 767px) {
    .site-footer__info {
        display: -ms-grid;
        display: grid;
        justify-items: center;
    }
}

.site-footer__logo {
    display: inline-block;
    text-decoration: none;
}
@media screen and (min-width: 768px) {
    .site-footer__logo {
        inline-size: min(20rem, max(15.6rem, 16.6666666667vw - 0.6666666667rem));
    }
}
@media screen and (max-width: 767px) {
    .site-footer__logo {
        inline-size: 16rem;
    }
}

.site-footer__logo-img {
    display: block;
    inline-size: 100%;
    block-size: auto;
}

.site-footer__address {
    margin: 0;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.04em;
    font-style: normal;
}
@media screen and (min-width: 768px) {
    .site-footer__address {
        -webkit-margin-before: min(1rem, max(0.78rem, 0.8333333333vw - 0.0333333333rem));
                margin-block-start: min(1rem, max(0.78rem, 0.8333333333vw - 0.0333333333rem));
        font-size: min(1.6rem, max(1.4rem, 1.36rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem)));
    }
}
@media screen and (max-width: 767px) {
    .site-footer__address {
        -webkit-margin-before: 2.1rem;
                margin-block-start: 2.1rem;
        text-align: center;
        font-size: 1.4rem;
    }
}

.site-footer__contact {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    overflow: hidden;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    text-decoration: none;
    background: linear-gradient(135deg, #5ba3d9 0%, #ee93a8 100%);
}
.site-footer__contact::before {
    position: absolute;
    inset: 0;
    display: block;
    content: "";
    background: linear-gradient(91.75deg, #5ba3d9 0%, #8ec8e8 33%, #c4d1e3 66%, #ee93a8 100%);
    opacity: 0;
    -webkit-transition: opacity 0.45s ease;
    transition: opacity 0.45s ease;
}
.site-footer__contact:focus::before {
    opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
    .site-footer__contact:hover::before {
        opacity: 1;
    }
}
@media screen and (min-width: 768px) {
    .site-footer__contact {
        gap: min(1.2rem, max(0.936rem, 1vw - 0.04rem));
        inline-size: min(24rem, max(18.72rem, 20vw - 0.8rem));
        block-size: min(4.8rem, max(3.744rem, 4vw - 0.16rem));
        -webkit-margin-before: min(6rem, max(4.68rem, 5vw - 0.2rem));
                margin-block-start: min(6rem, max(4.68rem, 5vw - 0.2rem));
        border-radius: min(0.8rem, max(0.624rem, 0.6666666667vw - 0.0266666667rem));
        font-size: min(1.6rem, max(1.4rem, 1.36rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem)));
    }
}
@media screen and (max-width: 767px) {
    .site-footer__contact {
        display: none;
    }
}

.site-footer__contact-text,
.site-footer__contact-icon {
    position: relative;
    z-index: 1;
}

.site-footer__contact-icon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    aspect-ratio: 1;
    background: url("../img/common/link.svg") center/contain no-repeat;
}
@media screen and (min-width: 768px) {
    .site-footer__contact-icon {
        inline-size: min(1.8rem, max(1.404rem, 1.5vw - 0.06rem));
    }
}
@media screen and (max-width: 767px) {
    .site-footer__contact-icon {
        inline-size: 1.6rem;
    }
}

@media screen and (min-width: 768px) {
    .site-footer__navs {
        -ms-grid-column: 2;
        -ms-grid-column-span: 2;
        grid-column: 2/4;
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: minmax(min(12rem, max(9.36rem, 10vw - 0.4rem)), min(17rem, max(13.26rem, 14.1666666667vw - 0.5666666667rem))) min(2.5rem, max(1.95rem, 2.0833333333vw - 0.0833333333rem)) minmax(min(27rem, max(21.06rem, 22.5vw - 0.9rem)), min(28rem, max(21.84rem, 23.3333333333vw - 0.9333333333rem)));
        grid-template-columns: minmax(min(12rem, max(9.36rem, 10vw - 0.4rem)), min(17rem, max(13.26rem, 14.1666666667vw - 0.5666666667rem))) minmax(min(27rem, max(21.06rem, 22.5vw - 0.9rem)), min(28rem, max(21.84rem, 23.3333333333vw - 0.9333333333rem)));
        -webkit-column-gap: min(2.5rem, max(1.95rem, 2.0833333333vw - 0.0833333333rem));
           -moz-column-gap: min(2.5rem, max(1.95rem, 2.0833333333vw - 0.0833333333rem));
                column-gap: min(2.5rem, max(1.95rem, 2.0833333333vw - 0.0833333333rem));
    }
}
@media screen and (max-width: 767px) {
    .site-footer__navs {
        display: -ms-grid;
        display: grid;
        gap: 0;
    }
}

@media screen and (max-width: 767px) {
    .site-footer__nav:not(.site-footer__nav--sub) {
        display: none;
    }
}

.site-footer__nav-list {
    display: -ms-grid;
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
}
@media screen and (min-width: 768px) {
    .site-footer__nav-list {
        row-gap: min(2.5rem, max(1.95rem, 2.0833333333vw - 0.0833333333rem));
    }
}
@media screen and (max-width: 767px) {
    .site-footer__nav-list {
        row-gap: 2rem;
    }
}

.site-footer__nav-link,
.site-footer__sub-link {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #222;
    line-height: 1;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-underline-offset: 0.3rem;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
}
.site-footer__nav-link:focus,
.site-footer__sub-link:focus {
    color: #767f8f;
    text-decoration: underline;
}
.site-footer__nav-link:focus::after,
.site-footer__sub-link:focus::after {
    background: #767f8f;
}
@media (hover: hover) and (pointer: fine) {
    .site-footer__nav-link:hover,
    .site-footer__sub-link:hover {
        color: #767f8f;
        text-decoration: underline;
    }
    .site-footer__nav-link:hover::after,
    .site-footer__sub-link:hover::after {
        background: #767f8f;
    }
}

.site-footer__nav-link {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
}
@media screen and (min-width: 768px) {
    .site-footer__nav-link {
        font-size: min(1.6rem, max(1.4rem, 1.36rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem)));
    }
}
@media screen and (max-width: 767px) {
    .site-footer__nav-link {
        font-size: 1.6rem;
    }
}

.site-footer__sub-link {
    padding: 0;
    border: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    background: transparent;
    cursor: pointer;
}
@media screen and (min-width: 768px) {
    .site-footer__sub-link {
        gap: min(0.8rem, max(0.624rem, 0.6666666667vw - 0.0266666667rem));
        font-size: min(1.4rem, max(1.4rem, 1.19rem, max(1.092rem, 1.1666666667vw - 0.0466666667rem)));
        white-space: nowrap;
    }
}
@media screen and (max-width: 767px) {
    .site-footer__sub-link {
        gap: 0.8rem;
        font-size: 1.2rem;
    }
}

.site-footer__sub-link::after {
    display: block;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    aspect-ratio: 1;
    content: "";
    background: #767f8f;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}

.site-footer__sub-link--plus::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.25 1h1.5v6.25H15v1.5H8.75V15h-1.5V8.75H1v-1.5h6.25V1Z' fill='%23000'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.25 1h1.5v6.25H15v1.5H8.75V15h-1.5V8.75H1v-1.5h6.25V1Z' fill='%23000'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
}
@media screen and (min-width: 768px) {
    .site-footer__sub-link--plus::after {
        inline-size: min(1.6rem, max(1.248rem, 1.3333333333vw - 0.0533333333rem));
    }
}
@media screen and (max-width: 767px) {
    .site-footer__sub-link--plus::after {
        inline-size: 1.2rem;
    }
}

.site-footer__sub-link--external::after {
    -webkit-mask-image: url("../img/common/link_dark.svg");
            mask-image: url("../img/common/link_dark.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
}
@media screen and (min-width: 768px) {
    .site-footer__sub-link--external::after {
        inline-size: min(1.8rem, max(1.404rem, 1.5vw - 0.06rem));
    }
}
@media screen and (max-width: 767px) {
    .site-footer__sub-link--external::after {
        inline-size: 1.2rem;
    }
}

.site-footer__copy {
    margin: 0;
    color: #767f8f;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .site-footer__copy {
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
        grid-column: 1/4;
        -webkit-margin-before: min(13rem, max(10.14rem, 10.8333333333vw - 0.4333333333rem));
                margin-block-start: min(13rem, max(10.14rem, 10.8333333333vw - 0.4333333333rem));
        font-size: min(1.5rem, max(1.4rem, 1.275rem, max(1.17rem, 1.25vw - 0.05rem)));
    }
}
@media screen and (max-width: 767px) {
    .site-footer__copy {
        font-size: 1.2rem;
    }
}

.is-modal-open {
    overflow: hidden;
}

.modal {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    padding-inline: 2rem;
    -webkit-transition: opacity 0.45s ease, visibility 0.45s ease;
    transition: opacity 0.45s ease, visibility 0.45s ease;
}

.modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(34, 34, 34, 0.6);
}

.modal__dialog {
    position: relative;
    z-index: 1;
    inline-size: min(120rem, 100%);
    block-size: min(64rem, 78svh);
    -webkit-transform: translateY(1.6rem) scale(0.98);
            transform: translateY(1.6rem) scale(0.98);
    opacity: 0;
    -webkit-transition: opacity 0.45s ease, -webkit-transform 0.45s ease;
    transition: opacity 0.45s ease, -webkit-transform 0.45s ease;
    transition: opacity 0.45s ease, transform 0.45s ease;
    transition: opacity 0.45s ease, transform 0.45s ease, -webkit-transform 0.45s ease;
}

.modal.is-open .modal__dialog {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
    opacity: 1;
}

.modal__panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden;
    inline-size: 100%;
    block-size: 100%;
    background: #fff;
}
@media screen and (min-width: 768px) {
    .modal__panel {
        padding-block: 6rem;
        padding-inline: 6rem;
        border-radius: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__panel {
        padding-block: 3.6rem 1.6rem;
        padding-inline: 2.4rem 1.6rem;
        border-radius: 1.2rem;
    }
}

.modal__close {
    position: absolute;
    z-index: 2;
    display: -ms-grid;
    display: grid;
    place-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    row-gap: 0.2rem;
    padding: 0;
    border: 0.1rem solid #fff;
    color: #fff;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    line-height: 1;
    background: transparent;
    cursor: pointer;
    -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.modal__close:focus {
    background: rgba(255, 255, 255, 0.18);
}
@media (hover: hover) and (pointer: fine) {
    .modal__close:hover {
        background: rgba(255, 255, 255, 0.18);
    }
}
@media screen and (min-width: 768px) {
    .modal__close {
        inset-block-start: -3.6rem;
        inset-inline-end: -6.6rem;
        inline-size: 5.6rem;
        block-size: 5.6rem;
        border-radius: 0.6rem;
        font-size: 1.2rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__close {
        inset-block-start: 1.4rem;
        inset-inline-end: 1.4rem;
        inline-size: 3.6rem;
        block-size: 3.6rem;
        border: 0;
        color: #d9dde3;
        font-size: 0;
    }
}

.modal__close-icon {
    display: block;
    aspect-ratio: 1;
    background: #fff;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z' fill='%23000'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z' fill='%23000'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
}
@media screen and (min-width: 768px) {
    .modal__close-icon {
        inline-size: 2.2rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__close-icon {
        inline-size: 3.2rem;
        background: #d9dde3;
    }
}

.modal__close-text {
    display: block;
}
@media screen and (max-width: 767px) {
    .modal__close-text {
        display: none;
    }
}

.modal__heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
}
@media screen and (min-width: 768px) {
    .modal__heading {
        gap: 1.8rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__heading {
        display: block;
    }
}

.modal__title {
    margin: 0;
    color: transparent;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    letter-spacing: 0.04em;
    background: -webkit-gradient(linear, left top, right top, from(#5fa3d8), to(#ec93a9));
    background: linear-gradient(90deg, #5fa3d8 0%, #ec93a9 100%);
    background-clip: text;
    -webkit-background-clip: text;
}
@media screen and (min-width: 768px) {
    .modal__title {
        font-size: 4rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__title {
        -webkit-padding-end: 4rem;
                padding-inline-end: 4rem;
        font-size: 2.8rem;
    }
}

.modal__lead {
    margin: 0;
    color: #767f8f;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .modal__lead {
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__lead {
        -webkit-margin-before: 0.8rem;
                margin-block-start: 0.8rem;
        font-size: 1.2rem;
    }
}

.modal__body {
    overflow-y: auto;
    min-block-size: 0;
    -webkit-padding-end: 2.4rem;
            padding-inline-end: 2.4rem;
}
@media screen and (min-width: 768px) {
    .modal__body {
        -webkit-margin-before: 4.8rem;
                margin-block-start: 4.8rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__body {
        -webkit-margin-before: 3.2rem;
                margin-block-start: 3.2rem;
    }
}

@media screen and (min-width: 768px) {
    .modal__section {
        -webkit-margin-before: 7.2rem;
                margin-block-start: 7.2rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__section {
        -webkit-margin-before: 4.8rem;
                margin-block-start: 4.8rem;
    }
}

.modal__section:first-child,
.modal__section:first-child > *:first-child {
    -webkit-margin-before: 0;
            margin-block-start: 0;
}

.modal__section-title {
    margin: 0;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .modal__section-title {
        font-size: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__section-title {
        font-size: 1.7rem;
    }
}

.modal__section-title::after {
    display: block;
    inline-size: 4rem;
    block-size: 0.1rem;
    -webkit-margin-before: 1.6rem;
            margin-block-start: 1.6rem;
    content: "";
    background: #3e67f0;
}

.modal__list {
    margin: 0;
    -webkit-padding-start: 0;
            padding-inline-start: 0;
    list-style: none;
    counter-reset: terms-item;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .modal__list {
        -webkit-margin-before: 2.4rem;
                margin-block-start: 2.4rem;
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__list {
        -webkit-margin-before: 2rem;
                margin-block-start: 2rem;
        font-size: 1.2rem;
    }
}

.modal__list[start="2"] {
    counter-reset: terms-item 1;
}

.modal__item {
    counter-increment: terms-item;
    -webkit-padding-start: 2em;
            padding-inline-start: 2em;
    text-indent: -1em;
}

.modal__item::before {
    content: counter(terms-item) ". ";
}

.modal__item + .modal__item {
    -webkit-margin-before: 0.8rem;
            margin-block-start: 0.8rem;
}

.modal__list .modal__list {
    -webkit-margin-after: 2.4rem;
            margin-block-end: 2.4rem;
}

.modal__date {
    text-align: right;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .modal__date {
        -webkit-margin-before: 2.4rem;
                margin-block-start: 2.4rem;
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__date {
        -webkit-margin-before: 2rem;
                margin-block-start: 2rem;
        font-size: 1.2rem;
    }
}

.modal__sub-title {
    display: block;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .modal__sub-title {
        -webkit-margin-before: 2.4rem;
                margin-block-start: 2.4rem;
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__sub-title {
        -webkit-margin-before: 2rem;
                margin-block-start: 2rem;
        font-size: 1.2rem;
    }
}

.modal__text {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .modal__text {
        -webkit-margin-before: 2.4rem;
                margin-block-start: 2.4rem;
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__text {
        -webkit-margin-before: 2rem;
                margin-block-start: 2rem;
        font-size: 1.2rem;
    }
}

.modal__note {
    display: block;
    -webkit-margin-before: 0.8rem;
            margin-block-start: 0.8rem;
}

.modal__table-wrap {
    overflow-x: auto;
}
@media screen and (min-width: 768px) {
    .modal__table-wrap {
        -webkit-margin-before: 3.2rem;
                margin-block-start: 3.2rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__table-wrap {
        -webkit-margin-before: 2.4rem;
                margin-block-start: 2.4rem;
    }
}

.modal__table {
    inline-size: 100%;
    min-inline-size: 76rem;
    border-collapse: collapse;
    color: #222;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
    .modal__table {
        font-size: 1.3rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__table {
        font-size: 1.2rem;
    }
}

.modal__table-heading,
.modal__table-data {
    border: 0.1rem solid #e1e5ea;
    text-align: start;
    vertical-align: top;
}
@media screen and (min-width: 768px) {
    .modal__table-heading,
    .modal__table-data {
        padding-block: 1.6rem;
        padding-inline: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .modal__table-heading,
    .modal__table-data {
        padding-block: 1.2rem;
        padding-inline: 1.4rem;
    }
}

.modal__table-heading {
    font-weight: 700;
    background: #f6f9fb;
}

.modal__table-body .modal__table-heading {
    inline-size: 24%;
    background: #fff;
}