@charset "UTF-8";
/* ---------------------------------------------
*   l-breadcrumb
--------------------------------------------- */
.l-breadcrumb {
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 30px;
    z-index: 10;
    color: #005046;
    font-size: 0.75rem;
    font-family: "Zen Kaku Gothic New", sans-serif;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .l-breadcrumb {
        top: 70px;
        padding: 0 5.3333333333%;
        font-size: 12px;
    }
}
.l-breadcrumb > span:not(:first-of-type)::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 8px;
    -webkit-mask-image: url(/img/common/icon_breadcrumb.svg);
            mask-image: url(/img/common/icon_breadcrumb.svg);
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    margin-right: 8px;
    margin-left: 8px;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .l-breadcrumb > span:not(:first-of-type)::before {
        width: 1.3333333333vw;
        height: 1.8666666667vw;
        margin-right: 1.6vw;
        margin-left: 1.6vw;
    }
}
.l-breadcrumb > span a {
    transition: opacity 0.3s;
}
.l-breadcrumb > span a:hover {
    opacity: 0.8;
}
.l-header.is-white + .l-breadcrumb {
    color: #fff;
}

.l-header.is-white + .l-breadcrumb > span:not(:first-of-type)::before {
    background-color: #fff;
}

/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
.l-contents {
    position: relative;
}

/* ---------------------------------------------
*   l-footer-pagetop
--------------------------------------------- */
.l-footer-pagetop {
    position: relative;
    z-index: 6;
    background-color: #005046;
}
.l-footer-pagetop::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(30, 30, 30, 0.5);
}
@media screen and (min-width: 751px) {
    .l-footer-pagetop::after {
        opacity: 0;
    }
}
.l-footer-pagetop__btn {
    position: absolute;
    top: 0;
    right: 0;
    padding: 45px 30px 30px;
    display: block;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 2;
    background-color: #005046;
    text-align: center;
    cursor: pointer;
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    .l-footer-pagetop__btn {
        position: relative;
        padding-block: 10.6666666667vw 5.3333333333vw;
        font-size: 3.2vw;
    }
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-footer-pagetop__btn {
        transition: opacity 300ms;
    }
    .l-footer-pagetop__btn:hover {
        opacity: 0.3;
    }
}
.l-footer-pagetop__btn::after {
    content: "";
    position: absolute;
    top: 30px;
    left: 50%;
    display: block;
    width: 16px;
    height: 16px;
    -webkit-mask-image: url(/img/common/icon_arrow.svg);
            mask-image: url(/img/common/icon_arrow.svg);
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    transform: translateX(-50%) rotate(90deg);
    background-color: white;
}
@media screen and (max-width: 750px) {
    .l-footer-pagetop__btn::after {
        top: 5.3333333333vw;
        width: 4.2666666667vw;
        height: 4.2666666667vw;
        transform: translateX(-60%) rotate(90deg);
    }
}

/* ---------------------------------------------
*   l-footer
--------------------------------------------- */
.l-footer {
    position: relative;
    z-index: 5;
    background-color: #005046;
}
.purpose .l-footer {
    z-index: 2;
}

.l-footer__container {
    padding: 45px 30px;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    .l-footer__container {
        padding: 9.8666666667vw 10px 5.3333333333vw;
        width: 92vw;
    }
}

/* ---------------------------------------------
*   l-footer-block
--------------------------------------------- */
.l-footer-block__head {
    padding-right: 77px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 56px;
    margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
    .l-footer-block__head {
        display: block;
        margin-bottom: 10.6666666667vw;
    }
}
.l-footer-block__body {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
@media screen and (max-width: 750px) {
    .l-footer-block__body {
        display: block;
    }
}
.l-footer-block__bottom-wrap {
    margin-top: 38px;
}
@media screen and (max-width: 750px) {
    .l-footer-block__bottom-wrap {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-top: 10.6666666667vw;
    }
}
.l-footer-block__btn-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
}
@media screen and (max-width: 750px) {
    .l-footer-block__btn-wrap {
        flex-wrap: wrap;
        justify-content: center;
        gap: 4vw;
    }
}
.l-footer-block__copyright {
    margin-top: 8px;
}
@media screen and (max-width: 750px) {
    .l-footer-block__copyright {
        margin-top: 5.3333333333vw;
    }
}
.l-footer-block__copyright-txt {
    color: rgba(255, 255, 255, 0.3);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .l-footer-block__copyright-txt {
        font-size: 2.6666666667vw;
        letter-spacing: 0.02em;
    }
}
.l-footer-block__logo {
    padding-bottom: 2px;
    flex-shrink: 0;
    display: block;
    width: 140px;
}
@media screen and (max-width: 750px) {
    .l-footer-block__logo {
        padding-bottom: 1.0666666667vw;
        width: 20vw;
    }
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-footer-block__logo {
        transition: opacity 300ms;
    }
    .l-footer-block__logo:hover {
        opacity: 0.3;
    }
}
.l-footer-block__logo img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* ---------------------------------------------
*   l-footer-list
--------------------------------------------- */
.l-footer-list {
    color: #fff;
}
@media screen and (max-width: 750px) {
    .l-footer-list + .l-footer-list {
        margin-top: 8.2666666667vw;
    }
}
.l-footer-list__list--top {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 56px;
}
@media screen and (max-width: 750px) {
    .l-footer-list__list--top {
        display: block;
    }
}
.l-footer-list__item {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.7777777778;
    white-space: nowrap;
}
@media screen and (max-width: 750px) {
    .l-footer-list__item {
        font-size: 4.8vw;
    }
    .l-footer-list__item + .l-footer-list__item {
        margin-top: 8.2666666667vw;
    }
}
.l-footer-list__link {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 17px;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-footer-list__link {
        transition: opacity 300ms;
    }
    .l-footer-list__link:hover {
        opacity: 0.3;
    }
}
@media screen and (max-width: 750px) {
    .l-footer-list__link {
        display: inline-block;
        margin-bottom: 2.6666666667vw;
    }
}
.l-footer-list__Lv1-wrap {
    font-weight: 400;
}
@media screen and (max-width: 750px) {
    .l-footer-list__Lv1-list {
        display: block;
    }
}
.l-footer-list__Lv1-list:nth-of-type(2) {
    margin-top: 12px;
}
.l-footer-list__Lv1-item {
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .l-footer-list__Lv1-item {
        font-size: 3.7333333333vw;
    }
}
.l-footer-list__Lv1-item:not(:first-of-type) {
    margin-top: 12px;
}
@media screen and (max-width: 750px) {
    .l-footer-list__Lv1-item:not(:first-of-type) {
        margin-top: -0.9vw;
    }
}
.l-footer-list__Lv1-item--news {
    font-weight: 400;
}
.l-footer-list__Lv1-link {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-footer-list__Lv1-link {
        transition: opacity 300ms;
    }
    .l-footer-list__Lv1-link:hover {
        opacity: 0.3;
    }
}
@media screen and (max-width: 750px) {
    .l-footer-list__Lv1-link {
        margin-bottom: 1.6vw;
    }
}
@media screen and (max-width: 750px) {
    .l-footer-list__Lv2-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 0 0.5em;
        margin-top: -1vw;
    }
}
.l-footer-list__Lv2-item {
    margin-top: 2px;
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 2.3333333333;
}
@media screen and (max-width: 750px) {
    .l-footer-list__Lv2-item {
        font-size: 3.2vw;
        margin-top: 0;
    }
}
.l-footer-list__Lv2-link {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-footer-list__Lv2-link {
        transition: opacity 300ms;
    }
    .l-footer-list__Lv2-link:hover {
        opacity: 0.3;
    }
}

/* ---------------------------------------------
*   l-footer-list-side
--------------------------------------------- */
.l-footer-list-side {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
}
@media screen and (max-width: 750px) {
    .l-footer-list-side {
        display: block;
    }
}
.l-footer-list-side__item {
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .l-footer-list-side__item {
        font-size: 3.2vw;
    }
    .l-footer-list-side__item:not(:first-of-type) {
        margin-top: 2.4vw;
    }
}
.l-footer-list-side__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-footer-list-side__link {
        transition: opacity 300ms;
    }
    .l-footer-list-side__link:hover {
        opacity: 0.3;
    }
}

/* ---------------------------------------------
*   l-footer-logos
--------------------------------------------- */
.l-footer-logos {
    padding-top: 2px;
}
@media screen and (max-width: 750px) {
    .l-footer-logos {
        padding-top: 5.3333333333vw;
    }
}
.l-footer-logos__list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
}
@media screen and (max-width: 750px) {
    .l-footer-logos__list {
        gap: 4.2666666667vw;
    }
}
.l-footer-logos__item {
    display: block;
    flex-shrink: 0;
}
.l-footer-logos__item--facebook {
    width: 22px;
}
@media screen and (max-width: 750px) {
    .l-footer-logos__item--facebook {
        width: 8vw;
    }
}
.l-footer-logos__item--twitter {
    width: 21px;
}
@media screen and (max-width: 750px) {
    .l-footer-logos__item--twitter {
        width: 7.7333333333vw;
    }
}
.l-footer-logos__link {
    display: block;
    width: 100%;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-footer-logos__link {
        transition: opacity 300ms;
    }
    .l-footer-logos__link:hover {
        opacity: 0.3;
    }
}
.l-footer-logos__link img {
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}

/* ---------------------------------------------
*   l-gnav
--------------------------------------------- */
.l-gnav {
    position: fixed;
    inset: 0;
    z-index: 1001;
    display: none;
    width: 100%;
    height: -moz-fit-content;
    height: fit-content;
    background-color: #005046;
    overflow-y: auto;
    overscroll-behavior-y: none;
}
@media screen and (max-width: 750px) {
    .l-gnav {
        height: 100vh;
        height: 100dvh;
    }
}
.l-gnav__head {
    width: 100%;
    height: 70px;
    margin: 0 auto;
    border-bottom: 1px solid #003E36;
}
@media screen and (max-width: 750px) {
    .l-gnav__head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 70px;
    }
}
.l-gnav__head-wrap {
    padding: 0 20px 0 30px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    max-width: 1366px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    .l-gnav__head-wrap {
        padding: 0 10px 0 20px;
    }
}
.l-gnav__body {
    padding: 46px 30px 44px;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    .l-gnav__body {
        padding: 12.2666666667vw 0 13.3333333333vw;
        width: 89.3333333333vw;
        height: calc(100vh - 70px);
        height: calc(100dvh - 70px);
        overscroll-behavior-y: none;
        overflow-y: auto;
        scrollbar-width: none;
    }
    .l-gnav__body::-webkit-scrollbar {
        display: none;
    }
    .safari .l-gnav__body {
        width: 89.0666666667vw;
    }
}

/* ---------------------------------------------
*   l-gnav-logo
--------------------------------------------- */
.l-gnav-logo {
    display: block;
    width: 117px;
    margin-top: -5px;
}
@media screen and (max-width: 750px) {
    .l-gnav-logo {
        margin-top: 0;
    }
}
.l-gnav-logo__link {
    display: block;
    width: 100%;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-gnav-logo__link {
        transition: opacity 300ms;
    }
    .l-gnav-logo__link:hover {
        opacity: 0.3;
    }
}
.l-gnav-logo__link img {
    display: block;
    width: 100%;
    vertical-align: text-bottom;
}

/* ---------------------------------------------
*   l-gnav-block
--------------------------------------------- */
.l-gnav-block__head {
    margin-bottom: 56px;
}
@media screen and (max-width: 750px) {
    .l-gnav-block__head {
        margin-bottom: 8vw;
    }
}
.l-gnav-block__body {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}
@media screen and (max-width: 750px) {
    .l-gnav-block__body {
        display: block;
    }
}
.l-gnav-block__copyright {
    margin-top: 5px;
}
.l-gnav-block__copyright-txt {
    color: rgba(255, 255, 255, 0.3);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.l-gnav-block__btn-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
    margin-bottom: 37px;
}
.l-gnav-block__logo {
    flex-shrink: 0;
    display: block;
    width: 140px;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-gnav-block__logo {
        transition: opacity 300ms;
    }
    .l-gnav-block__logo:hover {
        opacity: 0.3;
    }
}
.l-gnav-block__mail {
    display: block;
    width: 8vw;
    height: 6.1333333333vw;
}
.l-gnav-block__mail img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* ---------------------------------------------
*   l-gnav-list
--------------------------------------------- */
.l-gnav-list {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 56px;
}
@media screen and (max-width: 750px) {
    .l-gnav-list {
        flex-wrap: wrap;
        gap: 8vw;
        width: 82.1333333333vw;
        margin-right: auto;
    }
}
.l-gnav-list__item {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .l-gnav-list__item {
        font-size: 5.3333333333vw;
    }
}
.l-gnav-list__link {
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-gnav-list__link {
        transition: opacity 300ms;
    }
    .l-gnav-list__link:hover {
        opacity: 0.3;
    }
}
.l-gnav-list__Lv1-list {
    padding-top: 20px;
}
@media screen and (max-width: 750px) {
    .l-gnav-list__Lv1-list {
        padding-top: 3.7333333333vw;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 4vw 4.2666666667vw;
    }
}
@media screen and (min-width: 751px) {
    .l-gnav-list__Lv1-list--careers {
        padding-top: 0;
    }
}
@media screen and (max-width: 750px) {
    .l-gnav-list__Lv1-list--careers {
        width: 50vw;
    }
}
@media screen and (max-width: 750px) {
    .l-gnav-list__Lv1-list--block {
        gap: 0.5em;
    }
    .l-gnav-list__Lv1-list--block .l-gnav-list__Lv1-item {
        width: 100%;
    }
}
.l-gnav-list__Lv1-item {
    font-size: 14px;
}
@media screen and (max-width: 750px) {
    .l-gnav-list__Lv1-item {
        flex-shrink: 0;
        font-size: 3.7333333333vw;
        white-space: nowrap;
    }
}
.l-gnav-list__Lv1-item:not(:first-of-type) {
    margin-top: 19px;
}
@media screen and (max-width: 750px) {
    .l-gnav-list__Lv1-item:not(:first-of-type) {
        margin-top: 0;
    }
}
.l-gnav-list__Lv1-link {
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-gnav-list__Lv1-link {
        transition: opacity 300ms;
    }
    .l-gnav-list__Lv1-link:hover {
        opacity: 0.3;
    }
}
@media screen and (max-width: 750px) {
    .l-gnav-list__Lv1-link--icon {
        position: relative;
        padding-right: 3.2vw;
    }
    .l-gnav-list__Lv1-link--icon::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        display: block;
        width: 2.6666666667vw;
        height: 2.6666666667vw;
        transform: translateY(-50%);
        -webkit-mask: url(../img/common/icon_link.svg) 0 0 no-repeat;
                mask: url(../img/common/icon_link.svg) 0 0 no-repeat;
        -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
        background-color: #fff;
    }
    .windows.chrome .l-gnav-list__Lv1-link--icon::after {
        transform: translateY(-40%);
    }
}
.l-gnav-list__Lv2-list {
    margin-top: 13px;
}
.l-gnav-list__Lv2-item {
    font-size: 12px;
    margin-top: 10px;
}
.l-gnav-list__Lv2-link {
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-gnav-list__Lv2-link {
        transition: opacity 300ms;
    }
    .l-gnav-list__Lv2-link:hover {
        opacity: 0.3;
    }
}

/* ---------------------------------------------
*   l-gnav-list-side
--------------------------------------------- */
.l-gnav-list-side {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
}
.l-gnav-list-side__item {
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.05em;
}
.l-gnav-list-side__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-gnav-list-side__link {
        transition: opacity 300ms;
    }
    .l-gnav-list-side__link:hover {
        opacity: 0.3;
    }
}

/* ---------------------------------------------
*   l-gnav-logos
--------------------------------------------- */
.l-gnav-logos {
    padding-top: 21px;
}
.l-gnav-logos__list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
}
.l-gnav-logos__item {
    display: block;
}
.l-gnav-logos__item--facebook {
    width: 22px;
}
.l-gnav-logos__item--twitter {
    width: 21px;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-gnav-logos__link {
        transition: opacity 300ms;
    }
    .l-gnav-logos__link:hover {
        opacity: 0.3;
    }
}
.l-gnav-logos__img {
    width: 100%;
}
.l-gnav-logos__img img {
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}

/* ---------------------------------------------
*   l-header
--------------------------------------------- */
.l-header {
    position: fixed;
    inset: 0;
    z-index: 1000;
    width: 100%;
    height: 70px;
    margin: 0 auto;
    transition: opacity 0.3s, background-color 0.3s, box-shadow 0.3s;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}
.is-scroll .l-header {
    background-color: #fff;
}

.header-change .l-header {
    background-color: #fff;
}

@media screen and (max-width: 750px) {
    .l-header {
        max-width: none;
        height: 70px;
    }
}
.l-header--top {
    opacity: 0;
    transition: opacity 0.6s, background-color 0.6s, box-shadow 0.6s;
}
.is-loaded .l-header--top {
    opacity: 1;
    transform: translateY(0);
}

/*  l-header-container
--------------------------------------------- */
.l-header-container {
    padding: 0 20px 0 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1366px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    .l-header-container {
        padding: 0 10px 0 20px;
    }
}

/*  l-header-logo
--------------------------------------------- */
.l-header-logo {
    padding-bottom: 10px;
    display: block;
    width: 117px;
}
@media screen and (max-width: 750px) {
    .l-header-logo {
        padding-bottom: 7px;
    }
}
.l-header-logo__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-header-logo__link {
        transition: opacity 300ms;
    }
    .l-header-logo__link:hover {
        opacity: 0.3;
    }
}
.l-header-logo__link svg {
    width: 100%;
    vertical-align: text-bottom;
    overflow: hidden;
    transition: fill 0.3s;
    backface-visibility: hidden;
    will-change: transition;
    transform: translate3d(0, 0, 0);
}
.is-white .l-header-logo__link svg path {
    fill: #fff;
}
.is-scroll .is-white .l-header-logo__link svg path {
    fill: #005046;
}

.header-change .is-white .l-header-logo__link svg path {
    fill: #005046;
}

.l-header-logo__txt {
    display: none;
}

/*  l-header-nav-wrap
--------------------------------------------- */
.l-header-nav-wrap {
    display: flex;
    align-items: center;
    margin-left: auto;
}

/*  l-header-nav
--------------------------------------------- */
@media screen and (min-width: 751px) {
    .l-header-nav {
        display: flex !important;
    }
}
@media screen and (max-width: 750px) {
    .l-header-nav {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 100;
        display: none;
        width: 100%;
        height: 100%;
        background-color: rgba(34, 58, 112, 0.9);
        overflow: auto;
    }
}
.l-header-nav__trigger {
    display: none;
}
.l-header-nav__list {
    display: flex;
    gap: 30px;
}
@media screen and (max-width: 750px) {
    .l-header-nav__list {
        padding-top: 50px;
        display: block;
    }
}
.l-header-nav__list-item {
    position: relative;
    color: #005046;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
    transition: opacity 0.3s;
}
@media screen and (min-width: 751px) {
    .l-header-nav__list-item:hover .l-header-nav__inner {
        opacity: 1;
        pointer-events: auto;
    }
}
.l-header-nav__link {
    position: relative;
    padding: 20px 0;
    display: block;
    overflow: hidden;
    backface-visibility: hidden;
    will-change: opacity;
    transform: translate3d(0, 0, 0);
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-header-nav__link {
        transition: opacity 300ms;
    }
    .l-header-nav__link:hover {
        opacity: 0.3;
    }
}
.l-header-nav__link svg {
    display: block;
    width: 20px;
    margin-top: 7px;
    vertical-align: text-bottom;
    overflow: hidden;
    transition: fill 0.3s;
    backface-visibility: hidden;
    will-change: transition;
    transform: translate3d(0, 0, 0);
}
.is-white .l-header-nav__link svg path {
    fill: #fff;
}
.is-scroll .is-white .l-header-nav__link svg path {
    fill: #005046;
}

.header-change .is-white .l-header-nav__link svg path {
    fill: #005046;
}

.is-white .l-header-nav__link {
    color: #fff;
}
.is-scroll .is-white .l-header-nav__link {
    color: #005046;
}

.header-change .is-white .l-header-nav__link {
    color: #005046;
}

.l-header-nav__inner {
    position: absolute;
    left: 50%;
    z-index: 100;
    padding-top: 10px;
    transform: translateX(-50%);
    border-radius: 10px;
    display: block !important;
    pointer-events: none;
    display: none;
    opacity: 0;
    transition: all 0.3s;
}
@media screen and (max-width: 750px) {
    .l-header-nav__inner {
        display: none;
    }
}
.l-header-nav__inner-list {
    padding: 20px 43px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    text-align: center;
    min-width: 178px;
    background-color: #fff;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
    transition: opacity 0.3s;
    box-sizing: border-box;
    border-radius: 10px;
    transform: translateZ(0);
}
@media screen and (max-width: 750px) {
    .l-header-nav__inner-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%;
    }
}
.l-header-nav__inner-item {
    width: 100%;
}
.l-header-nav__inner-link {
    display: block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 2;
    white-space: nowrap;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-header-nav__inner-link {
        transition: opacity 300ms;
    }
    .l-header-nav__inner-link:hover {
        opacity: 0.3;
    }
}
@media screen and (max-width: 750px) {
    .l-header-nav__inner-link {
        padding: 18px 0;
        text-align: left;
    }
}
.l-header-nav__inner-link--icon {
    position: relative;
    padding-right: 13px;
}
.l-header-nav__inner-link--icon::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 10px;
    height: 10px;
    transform: translateY(-50%);
    -webkit-mask: url(../img/common/icon_link.svg) 0 0 no-repeat;
            mask: url(../img/common/icon_link.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    background-color: #005046;
}

/*  l-header-menu-button
--------------------------------------------- */
.l-header-menu-button {
    position: relative;
    z-index: 2000;
    padding: 17px 14px;
    display: block;
    margin: 0 auto 0 20px;
    outline: none;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    cursor: pointer;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .l-header-menu-button {
        transition: opacity 300ms;
    }
    .l-header-menu-button:hover {
        opacity: 0.3;
    }
}
.is-menu-opened .l-header-menu-button {
    padding: 17px 14px;
}

.l-header-menu-button__lines {
    position: relative;
    display: block;
    width: 22px;
    height: 18px;
}
@media screen and (max-width: 750px) {
    .l-header-menu-button__lines {
        height: 16px;
    }
}
.is-menu-opened .l-header-menu-button__lines {
    width: 22px;
    height: 18px;
}

.l-header-menu-button__line {
    position: absolute;
    left: 0;
    display: block;
    padding-top: 2px;
    width: 100%;
    height: 0;
    background-color: #005046;
    transition: background-color 0.3s, transform 0.3s;
}
.is-white .l-header-menu-button__line {
    background-color: #fff;
}
.is-scroll .is-white .l-header-menu-button__line {
    background-color: #005046;
}

.header-change .is-white .l-header-menu-button__line {
    background-color: #005046;
}

.l-header-menu-button__line--top {
    top: 0;
}
.is-menu-opened .l-header-menu-button__line--top {
    top: 50%;
    background-color: #fff !important;
    transform: translateY(-50%) rotate(45deg);
}

.l-header-menu-button__line--center {
    top: 50%;
    margin-top: -1px;
}
.is-menu-opened .l-header-menu-button__line--center {
    opacity: 0;
}

.l-header-menu-button__line--bottom {
    bottom: 0;
}
.is-menu-opened .l-header-menu-button__line--bottom {
    bottom: 50%;
    background-color: #fff !important;
    transform: translateY(50%) rotate(-45deg);
}

/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
.ipad .l-wrapper {
    cursor: pointer;
}

/* ---------------------------------------------
*   c-article
--------------------------------------------- */
/*  c-article-1
--------------------------------------------- */
.c-article-1__item {
    border-bottom: 1px solid #005046;
}
.c-article-1__item:first-of-type {
    border-top: 1px solid #005046;
}
.c-article-1__link {
    display: flex;
    -moz-column-gap: 12px;
         column-gap: 12px;
    position: relative;
    padding: 23px 83px 23px 14px;
}
@media screen and (max-width: 750px) {
    .c-article-1__link {
        display: block;
        padding: 3.7333333333vw 10.1333333333vw 5.3333333333vw 2.6666666667vw;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-article-1__link::before {
        transition: transform 0.3s;
    }
    .c-article-1__link:hover::before {
        transform: translateY(-50%) scale(1);
    }
    .c-article-1__link::after {
        transition: background-color 0.3s;
    }
    .c-article-1__link:hover::after {
        background-color: white;
    }
}
.c-article-1__link::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 9px;
    transform: translateY(-50%) scale(0);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-article-1__link::before {
        right: 1.3333333333vw;
        width: 8vw;
        height: 8vw;
    }
}
.c-article-1__link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    -webkit-mask-image: url(/img/common/icon_arrow_right.svg);
            mask-image: url(/img/common/icon_arrow_right.svg);
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-article-1__link::after {
        right: 3.7333333333vw;
        width: 3.2vw;
        height: 3.2vw;
    }
}
.c-article-1__info {
    padding-top: 4px;
    color: #B2B2B2;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-article-1__info {
        padding-top: 0;
        font-size: 3.2vw;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-article-1__info {
        transition: opacity 0.3s;
    }
    .c-article-1__link:hover .c-article-1__info {
        opacity: 0.3;
    }
}
.c-article-1__date {
    display: inline-block;
}
.c-article-1__ttl {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-article-1__ttl {
        margin-top: 2.1333333333vw;
        font-size: 4.2666666667vw;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-article-1__ttl {
        transition: opacity 0.3s;
    }
    .c-article-1__link:hover .c-article-1__ttl {
        opacity: 0.3;
    }
}

/*  c-article-3
--------------------------------------------- */
.c-article-3 {
    padding: 25px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 750px) {
    .c-article-3 {
        padding: 10.6666666667vw 0;
        border-width: 0.2666666667vw;
    }
}
.c-article-3:first-of-type {
    border-top: none;
}
@media screen and (max-width: 750px) {
    .c-article-3:first-of-type {
        padding-top: 8vw;
    }
}
.c-cassette-1:last-of-type .c-article-3:last-of-type {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 750px) {
    .c-cassette-1:last-of-type .c-article-3:last-of-type {
        border-width: 0.2666666667vw;
    }
}

.c-article-3__inner {
    display: flex;
    justify-content: space-between;
    max-width: 953px;
    margin-right: auto;
}
@media screen and (max-width: 750px) {
    .c-article-3__inner {
        display: block;
    }
}
.c-article-3__img {
    flex-shrink: 0;
    align-self: center;
    width: 30.4302203568%;
    max-width: 290px;
    aspect-ratio: 290/189;
    margin-left: 15px;
}
@media screen and (max-width: 750px) {
    .c-article-3__img {
        width: 100%;
        max-width: none;
        aspect-ratio: 335/224;
        margin-top: 8vw;
        margin-left: 0;
    }
}
.c-article-3__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 8px;
}
@media screen and (max-width: 750px) {
    .c-article-3__img img {
        border-radius: 2.1333333333vw;
    }
}
.c-article-3__txt-wrap {
    display: flex;
    gap: 0 min(2.9282576867vw, 40px);
    width: 100%;
    padding: 13px 0;
}
@media screen and (max-width: 750px) {
    .c-article-3__txt-wrap {
        display: block;
        padding: 0;
    }
}
.c-article-3__info {
    flex-shrink: 0;
    min-width: 40px;
    padding-top: 8px;
    font-weight: 500;
    font-size: 1rem;
}
@media screen and (max-width: 750px) {
    .c-article-3__info {
        min-width: auto;
        padding-top: 0;
        font-size: 4.2666666667vw;
    }
}
@media screen and (max-width: 750px) {
    .c-article-3__content {
        margin-top: 2.6666666667vw;
    }
}
.c-article-3__ttl {
    max-width: 700px;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.6666666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-article-3__ttl {
        max-width: none;
        font-size: 5.3333333333vw;
        line-height: 1.6;
    }
}
.c-article-3__btn-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 37px 0 3px;
}
@media screen and (max-width: 750px) {
    .c-article-3__btn-wrap {
        display: block;
        margin: 7.2vw 0 0;
    }
}
.c-article-3__btn-wrap .c-btn-6--wh {
    min-width: 150px;
}
@media screen and (max-width: 750px) {
    .c-article-3__btn-wrap .c-btn-6--wh {
        min-width: 44.8vw;
        margin-top: 4.8vw;
        padding-right: 2.4vw;
    }
}
@media screen and (max-width: 750px) {
    .c-article-3__btn-wrap .c-btn-6--wh:first-of-type {
        margin-top: 0;
    }
}
@media screen and (max-width: 750px) {
    .c-article-3__btn-wrap .c-btn-6__icon {
        width: 8vw;
        height: 8vw;
    }
}
.c-article-3__btn-wrap .c-btn-6__icon::before,
.c-article-3__btn-wrap .c-btn-6__icon::after {
    transform: translate(-50%, -50%) scale(53.3333333333%);
}
@media screen and (max-width: 750px) {
    .c-article-3__btn-wrap .c-btn-6__icon::before {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-article-3__btn-wrap .c-btn-6--wh:hover .c-btn-6__icon::after {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

/* ---------------------------------------------
*   c-bg-1
--------------------------------------------- */
.c-bg-1 {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100lvh;
}
@media screen and (max-width: 750px) {
    .c-bg-1 {
        z-index: 6;
    }
}
.ipad .c-bg-1 {
    z-index: 6;
}

.c-bg-1.is-back {
    z-index: 2;
}
.c-bg-1__item {
    position: absolute;
    z-index: 0;
    display: block !important;
    width: 100%;
    height: 100lvh;
    background-color: #fff;
    opacity: 0;
    transition: opacity 0.8s;
}
.c-bg-1__item--00.is-loaded-item {
    display: block !important;
    z-index: 1;
    opacity: 1;
}
.c-bg-1__item--01, .c-bg-1__item--02, .c-bg-1__item--03 {
    background-color: #fff;
}
.c-bg-1__item.current {
    display: block !important;
    z-index: 1;
    opacity: 1;
}

/* ---------------------------------------------
*   c-bg-2
--------------------------------------------- */
.c-bg-2 {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100lvh;
    background-color: #005046;
}
.c-bg-2__item {
    position: absolute;
    z-index: 0;
    display: block !important;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.8s;
}
.c-bg-2__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.3);
    transition: transform 4s;
    transition-delay: 0.5s;
}
.c-bg-2__item.current {
    display: block !important;
    z-index: 1;
    opacity: 1;
}
.c-bg-2__item.current::before {
    transition-delay: 0s;
    transform: scale(1);
}
.c-bg-2__item--01::before {
    background: url(/img/purpose/purpose_bg_1.png) top center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 750px) {
    .c-bg-2__item--01::before {
        background: url(/img/purpose/sp/purpose_bg_1.png) top center no-repeat;
        background-size: cover;
    }
}
.c-bg-2__item--02::before {
    background: url(/img/purpose/purpose_bg_2.png) top center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 750px) {
    .c-bg-2__item--02::before {
        background: url(/img/purpose/sp/purpose_bg_2.png) top center no-repeat;
        background-size: cover;
    }
}
.c-bg-2__item--03::before {
    background: url(/img/purpose/purpose_bg_3.png) top center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 750px) {
    .c-bg-2__item--03::before {
        background: url(/img/purpose/sp/purpose_bg_3.png) top center no-repeat;
        background-size: cover;
    }
}
.c-bg-2__item--04::before {
    background: url(/img/purpose/purpose_bg_4.png) top center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 750px) {
    .c-bg-2__item--04::before {
        background: url(/img/purpose/sp/purpose_bg_4.png) top center no-repeat;
        background-size: cover;
    }
}
.c-bg-2__item--05::before {
    background: url(/img/purpose/purpose_bg_5.png) top center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 750px) {
    .c-bg-2__item--05::before {
        background: url(/img/purpose/sp/purpose_bg_5.png) top center no-repeat;
        background-size: cover;
    }
}

/* ---------------------------------------------
*   c-block
--------------------------------------------- */
/*  c-block-1
--------------------------------------------- */
.c-block-1__inner {
    max-width: 1206px;
    margin-inline: auto;
    padding: 100px 20px 200px;
}
@media screen and (max-width: 750px) {
    .c-block-1__inner {
        width: 89.3333333333%;
        padding: 70px 0 29.3333333333vw;
    }
}
@media screen and (min-width: 751px) {
    .c-block-1--message {
        padding-left: 30px;
        padding-right: 30px;
    }
}
@media screen and (min-width: 751px) {
    .c-block-1--message .c-block-1__inner {
        max-width: 1226px;
        margin: 0 auto;
    }
}

/*  c-block-3
--------------------------------------------- */
.c-block-3 {
    margin-bottom: 150px;
}
@media screen and (max-width: 750px) {
    .c-block-3 {
        margin-bottom: 40vw;
    }
}
.c-block-3__inner {
    max-width: 1000px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-3__inner {
        width: 100%;
        max-width: none;
        padding-inline: 0;
    }
}
@media screen and (max-width: 750px) {
    .c-block-3__box {
        padding-inline: 5.3333333333vw;
    }
}
.c-block-3__info {
    margin-top: 40px;
}
@media screen and (max-width: 750px) {
    .c-block-3__info {
        margin-top: 21.3333333333vw;
        padding-inline: 5.3333333333vw;
    }
}
.c-block-3__info-txt {
    font-weight: 700;
    font-size: 0.875rem;
    line-height: 1.4285714286;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-block-3__info-txt {
        font-size: 3.2vw;
        line-height: 1.4166666667;
    }
}
.c-block-3__article {
    --col: 3;
    display: grid;
    grid-template-columns: repeat(var(--col), 1fr);
    gap: 40px 2.1276595745%;
    margin-top: 20px;
}
@media screen and (max-width: 750px) {
    .c-block-3__article {
        display: flex;
        flex-direction: column;
        gap: 10.6666666667vw 0;
        margin-top: 2.6666666667vw;
    }
}
.c-block-3__pager {
    margin-top: 100px;
}
@media screen and (max-width: 750px) {
    .c-block-3__pager {
        margin-top: 16vw;
    }
}
.c-block-3__more {
    text-align: center;
}
.c-block-3__more .c-btn-5 {
    margin-top: 100px;
}
@media screen and (max-width: 750px) {
    .c-block-3__more .c-btn-5 {
        margin-top: 16vw;
    }
}

/*  c-block-5
--------------------------------------------- */
.c-block-5 {
    padding: 100px 0 80px;
    background: url(/img/case/bg_gray-large.png) center center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 750px) {
    .c-block-5 {
        padding: 10.6666666667vw 0;
        background-image: url(/img/case/sp/bg_gray-large.png);
    }
}
.c-block-5__inner {
    display: flex;
    justify-content: space-between;
    gap: 0 40px;
    max-width: 1000px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-5__inner {
        display: block;
        width: 89.3333333333%;
        padding-inline: 0;
    }
}
.c-block-5__head {
    flex-shrink: 0;
    width: 200px;
}
@media screen and (max-width: 750px) {
    .c-block-5__head {
        width: 100%;
    }
}
.c-block-5__ttl {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5;
}
@media screen and (max-width: 750px) {
    .c-block-5__ttl {
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
    }
}
.c-block-5__body {
    flex-grow: 1;
    max-width: 620px;
}
@media screen and (max-width: 750px) {
    .c-block-5__body {
        max-width: none;
    }
}
.c-block-5__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 20px;
}
@media screen and (max-width: 750px) {
    .c-block-5__list {
        display: block;
        margin-top: 8vw;
    }
}
.c-block-5__note {
    margin-top: 20px;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
    text-align: right;
}
@media screen and (max-width: 750px) {
    .c-block-5__note {
        margin-top: 5.3333333333vw;
        font-size: 3.2vw;
    }
}

/*  c-block-7
--------------------------------------------- */
.c-block-7 {
    padding: 50px 0 96px;
    background: url(/img/case/detail/bg_gray.png) center center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 750px) {
    .c-block-7 {
        padding: 13.3333333333vw 0 26.1333333333vw;
        background-image: url(/img/case/detail/sp/bg_gray.png);
    }
}
.c-block-7__inner {
    max-width: 840px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-7__inner {
        width: 89.3333333333%;
        padding-inline: 0;
    }
}
.c-block-7__body {
    margin-top: 16px;
}
@media screen and (max-width: 750px) {
    .c-block-7__body {
        margin-top: 4.8vw;
    }
}
.c-block-7__list {
    margin-top: 26px;
}
@media screen and (max-width: 750px) {
    .c-block-7__list {
        margin-top: 7.4666666667vw;
    }
}

/*  c-block-9
--------------------------------------------- */
.c-block-9 {
    margin-bottom: 200px;
}
@media screen and (max-width: 750px) {
    .c-block-9 {
        margin-bottom: 40vw;
    }
}
.c-block-9__inner {
    max-width: 840px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-9__inner {
        width: 89.3333333333%;
        padding-inline: 0;
    }
}
.c-block-9__content--02 .c-block-9__inner {
    width: 100%;
    max-width: none;
    padding-inline: 0;
}
.c-block-9__content--02 .c-block-9__box {
    max-width: 840px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-9__content--02 .c-block-9__box {
        padding-inline: 5.3333333333vw;
    }
}
.c-block-9__sec {
    margin-top: 103px;
}
@media screen and (max-width: 750px) {
    .c-block-9__sec {
        margin-top: 49.0666666667vw;
    }
}
.c-block-9__content--02 .c-block-9__sec {
    margin-top: 100px;
}
@media screen and (max-width: 750px) {
    .c-block-9__content--02 .c-block-9__sec {
        margin-top: 12.8vw;
    }
}
.c-block-9__content--03 .c-block-9__sec {
    margin-top: 60px;
}
@media screen and (max-width: 750px) {
    .c-block-9__content--03 .c-block-9__sec {
        margin-top: 16vw;
    }
}
.c-block-9__content--02 .c-block-9__head {
    max-width: 1226px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-9__content--02 .c-block-9__head {
        max-width: none;
        padding-inline: 5.3333333333vw;
    }
}
.c-block-9__head .c-list-9 {
    margin-top: 10px;
}
@media screen and (max-width: 750px) {
    .c-block-9__head .c-list-9 {
        margin-top: 5.3333333333vw;
    }
}
.c-block-9__content--03 .c-block-9__head .c-list-9 {
    margin-top: 20px;
}
@media screen and (max-width: 750px) {
    .c-block-9__content--03 .c-block-9__head .c-list-9 {
        margin-top: 5.3333333333vw;
    }
}
@media screen and (min-width: 751px) {
    .c-block-9__content--03 .c-block-9__head .c-list-9__ttl-outer {
        flex-direction: column;
        align-items: flex-start;
    }
}
.c-block-9__body {
    position: relative;
    margin-top: 50px;
}
@media screen and (max-width: 750px) {
    .c-block-9__body {
        margin-top: 13.3333333333vw;
    }
}
.c-block-9__content--02 .c-block-9__body {
    margin-top: 80px;
}
@media screen and (max-width: 750px) {
    .c-block-9__content--02 .c-block-9__body {
        margin-top: 12.8vw;
    }
}
.c-block-9__content--03 .c-block-9__body {
    margin-top: 100px;
}
@media screen and (max-width: 750px) {
    .c-block-9__content--03 .c-block-9__body {
        margin-top: 21.3333333333vw;
    }
}
.c-block-9__note {
    margin-top: 30px;
    padding-left: 80px;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-block-9__note {
        margin-top: 8vw;
        padding-left: 14.6666666667vw;
        font-size: 3.2vw;
    }
}
.c-block-9__pager {
    max-width: 1000px;
    margin: 100px auto 0;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-9__pager {
        max-width: none;
        margin-top: 26.6666666667vw;
        padding-inline: 5.3333333333vw;
    }
}

/*  c-block-11
--------------------------------------------- */
.c-block-11 {
    margin-bottom: 200px;
}
@media screen and (max-width: 750px) {
    .c-block-11 {
        margin-bottom: 40vw;
    }
}
.c-block-11__sec {
    margin-top: 95px;
}
@media screen and (max-width: 750px) {
    .c-block-11__sec {
        margin-top: 17.6vw;
    }
}
.c-block-11__lead {
    position: relative;
    margin-top: 200px;
    z-index: 1;
}
@media screen and (max-width: 750px) {
    .c-block-11__lead {
        margin-top: 40vw;
    }
}
.c-block-11__intro {
    position: relative;
    max-width: 1000px;
    margin: -50px auto 0;
    padding-inline: 30px;
    z-index: 2;
}
@media screen and (max-width: 750px) {
    .c-block-11__intro {
        width: 80.5333333333vw;
        max-width: none;
        margin-top: -13.3333333333vw;
        padding-inline: 0;
    }
}
.c-block-11__pager {
    max-width: 1000px;
    margin: 100px auto 0;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-11__pager {
        max-width: none;
        margin-top: 16vw;
        padding-inline: 5.3333333333vw;
    }
}

/*  c-block-13
--------------------------------------------- */
.c-block-13 {
    margin: 46px 0 200px;
}
@media screen and (max-width: 750px) {
    .c-block-13 {
        margin: 12.2666666667vw 0 40vw;
    }
}
.c-block-13__inner {
    max-width: 680px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-13__inner {
        width: 89.3333333333%;
        padding-inline: 0;
    }
}

/*  c-block-15
--------------------------------------------- */
.c-block-15 {
    margin-top: 100px;
}
@media screen and (max-width: 750px) {
    .c-block-15 {
        margin-top: 28.5333333333vw;
    }
}
.c-block-15__inner {
    max-width: 1226px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-15__inner {
        width: 89.3333333333%;
        padding-inline: 0;
    }
}
.c-block-15__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 15px;
    max-width: 1053px;
    margin-right: auto;
}
@media screen and (max-width: 750px) {
    .c-block-15__content {
        display: block;
        max-width: none;
    }
}
.c-block-15__txt {
    max-width: 430px;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.7777777778;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-block-15__txt {
        max-width: none;
        font-size: 4.8vw;
        text-align: center;
    }
}
.c-block-15__btn {
    flex-shrink: 0;
}
@media screen and (max-width: 750px) {
    .c-block-15__btn {
        margin-top: 7.2vw;
        text-align: center;
    }
}
.c-block-15__btn .c-btn-6 {
    padding-top: 8px;
    padding-bottom: 10px;
}
@media screen and (max-width: 750px) {
    .c-block-15__btn .c-btn-6 {
        gap: 0.8vw;
        min-height: 11.7333333333vw;
        padding-top: 1.6vw;
        padding-bottom: 1.6vw;
        padding-right: 2.4vw;
    }
}
.c-block-15__btn .c-btn-6__txt {
    display: block;
    white-space: nowrap;
}
@media screen and (max-width: 750px) {
    .c-block-15__btn .c-btn-6__txt {
        font-size: 4.2666666667vw;
        letter-spacing: 0.02em;
    }
}
@media screen and (max-width: 750px) {
    .c-block-15__btn .c-btn-6__icon {
        width: 8vw;
        height: 8vw;
    }
}
.c-block-15__btn .c-btn-6__icon::before {
    transform: translate(-50%, -50%) scale(53.3333333333%);
}
@media screen and (max-width: 750px) {
    .c-block-15__btn .c-btn-6__icon::before {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}
.c-block-15__btn .c-btn-6__icon::after {
    opacity: 1;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.3s;
    will-change: transform, opacity;
    backface-visibility: hidden;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-15__btn .c-btn-6:hover .c-btn-6__icon::after {
        transform: translate(-50%, -50%) scale(1);
    }
}

/*  c-block-17
--------------------------------------------- */
.c-block-17 {
    margin: 90px 0 100px;
}
@media screen and (max-width: 750px) {
    .c-block-17 {
        position: relative;
        margin: 26.6666666667vw 0;
    }
}
.c-block-17__inner {
    display: flex;
    gap: 0 min(6.2607204117%, 73px);
    max-width: 1226px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-17__inner {
        display: block;
        width: 89.3333333333%;
        max-width: none;
        padding-inline: 0;
    }
}
.c-block-17__nav {
    flex-shrink: 0;
    width: 200px;
}
@media screen and (max-width: 750px) {
    .c-block-17__nav {
        position: absolute;
        top: calc(-91.7333333333vw + 90px);
        left: 0;
        width: 100%;
    }
}
.c-block-17__nav .c-elevator-nav {
    width: 100%;
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 0;
}
@media screen and (max-width: 750px) {
    .c-block-17__nav .c-elevator-nav {
        width: 89.3333333333%;
        margin-left: auto;
    }
}
@media screen and (min-width: 751px) {
    .c-block-17__nav .c-elevator-nav__link.is-current {
        letter-spacing: 0.02em;
    }
}
.c-block-17__content {
    flex-grow: 1;
    max-width: 780px;
    margin-top: 5px;
    margin-right: 0;
}
@media screen and (max-width: 750px) {
    .c-block-17__content {
        max-width: none;
        margin-top: 0;
    }
}

/*  c-block-19
--------------------------------------------- */
.c-block-19 {
    padding: 60px 0 96px;
    background: url(/img/media-kit/bg_gray.png) center center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 750px) {
    .c-block-19 {
        padding: 10.6666666667vw 0 6.9333333333vw;
        background-image: url(/img/media-kit/sp/bg_gray.png);
    }
}
.c-block-19__inner {
    max-width: 1000px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-19__inner {
        width: 89.3333333333%;
        padding-inline: 0;
    }
}
.c-block-19__body {
    margin-top: 36px;
}
@media screen and (max-width: 750px) {
    .c-block-19__body {
        margin-top: 9.6vw;
    }
}
.c-block-19__list-head {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-block-19__list-head {
        font-size: 3.7333333333vw;
    }
}

/* ---------------------------------------------
*   c-block-2
--------------------------------------------- */
.c-block-2 {
    padding: 70px 0 100px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    gap: min(1.4641288433%, 20px);
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    .c-block-2 {
        padding: 5.3333333333vw 0 26.6666666667vw;
        display: block;
        width: 89.3333333333vw;
    }
}
.c-block-2__content-outer {
    padding-left: 30px;
    width: 650px;
}
@media screen and (max-width: 750px) {
    .c-block-2__content-outer {
        padding-left: 0;
        width: 100%;
        margin: 0 auto;
    }
}
.c-block-2__btn {
    margin-top: 37px;
}
@media screen and (max-width: 750px) {
    .c-block-2__btn {
        margin-top: 9.8666666667vw;
    }
}
.c-block-2__img {
    flex-shrink: 0;
    display: block;
    width: 37.5549048316%;
}
@media screen and (min-width: 751px) {
    .c-block-2__img.js-fadein-up.is-active {
        transition-delay: 0.8s;
    }
}
@media screen and (max-width: 750px) {
    .c-block-2__img {
        margin-top: 10.6666666667vw;
        width: 100%;
    }
}
.c-block-2__img img {
    width: 100%;
    height: 100%;
    aspect-ratio: 513/423;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 8px 0 0 8px;
}
@media screen and (max-width: 750px) {
    .c-block-2__img img {
        aspect-ratio: 335/251;
        border-radius: 2.1333333333vw;
    }
}

/* ---------------------------------------------
*   c-block-4
--------------------------------------------- */
.c-block-4 {
    position: relative;
    z-index: 3;
    color: #fff;
    background-color: #654125;
    overflow: hidden;
}
.c-block-4__inner {
    position: relative;
    z-index: 4;
    padding: 145px 30px 246px;
    max-width: 1226px;
    width: 100%;
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-block-4__inner {
        padding: 26.6666666667vw 0 40vw;
        width: 89.3333333333%;
        margin: 0 auto;
    }
}
.c-block-4__head {
    text-align: left;
}
.c-block-4__note {
    margin-top: 39px;
}
@media screen and (max-width: 750px) {
    .c-block-4__note {
        margin-top: 11.4666666667vw;
    }
}
.c-block-4__body {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10.1957585644%;
    margin-top: 93px;
}
@media screen and (max-width: 750px) {
    .c-block-4__body {
        display: block;
        margin-top: 25.6vw;
    }
}
.c-block-4__illust {
    display: block;
    flex-shrink: 0;
    width: 32.0284697509%;
}
@media screen and (max-width: 750px) {
    .c-block-4__illust {
        width: 53.3333333333vw;
        margin: 0 auto;
    }
}
.c-block-4__txt-wrap {
    flex-shrink: 0;
    width: 48.9323843416%;
}
@media screen and (max-width: 750px) {
    .c-block-4__txt-wrap {
        width: 100%;
        margin-top: 12.8vw;
    }
}
.c-block-4__txt-contents + .c-block-4__txt-contents {
    margin-top: 43px;
}
@media screen and (max-width: 750px) {
    .c-block-4__txt-contents + .c-block-4__txt-contents {
        margin-top: 11.7333333333vw;
    }
}
.c-block-4__ttl {
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.75;
}
@media screen and (max-width: 750px) {
    .c-block-4__ttl {
        font-size: 6.4vw;
        letter-spacing: 0.05em;
        line-height: 1.6666666667;
    }
}
.c-block-4__txt {
    display: block;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2.2222222222;
    margin-top: 20px;
}
@media screen and (max-width: 750px) {
    .c-block-4__txt {
        font-size: 4.2666666667vw;
        letter-spacing: 0;
        line-height: 2;
        margin-top: 6.1333333333vw;
    }
}
.c-block-4__foot {
    text-align: center;
    margin-top: 100px;
}
@media screen and (max-width: 750px) {
    .c-block-4__foot {
        margin-top: 12.2666666667vw;
    }
}

/* ---------------------------------------------
*   c-block-6
--------------------------------------------- */
.c-block-6__container {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: min(6.588579795%, 90px);
}
@media screen and (max-width: 1024px) {
    .c-block-6__container {
        gap: 30px;
    }
}
@media screen and (max-width: 750px) {
    .c-block-6__container {
        display: block;
    }
}
.c-block-6__head {
    padding: 98px 0px 100px;
    max-width: 583px;
    width: 42.6793557833%;
    margin-left: auto;
}
@media screen and (max-width: 1024px) {
    .c-block-6__head {
        padding-left: 30px;
        width: 100%;
    }
}
@media screen and (max-width: 750px) {
    .c-block-6__head {
        padding: 13.3333333333vw 0 26.6666666667vw;
        width: 89.3333333333vw;
        margin: 0 auto;
    }
}
.c-block-6__ttl-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.c-block-6__article {
    margin-top: 30px;
}
@media screen and (max-width: 750px) {
    .c-block-6__article {
        margin-top: 8vw;
    }
}
.c-block-6__body {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-shrink: 0;
    min-width: 43.411420205%;
    background: url(/img/top/bg_contact.jpg) 0 center no-repeat;
    background-size: auto 100%;
}
@media screen and (max-width: 750px) {
    .c-block-6__body {
        padding: 24vw 0;
        width: 100%;
        min-width: auto;
        background: url(/img/top/bg_contact.jpg) center center no-repeat;
        background-size: auto 100%;
    }
}
.c-block-6__body-wrap {
    margin-left: 8.431703204%;
}
@media screen and (max-width: 750px) {
    .c-block-6__body-wrap {
        width: 81.3333333333vw;
        margin: 0 auto;
        transform: translateX(4vw);
    }
}
.c-block-6__mail {
    display: block;
    width: 34px;
}
@media screen and (max-width: 750px) {
    .c-block-6__mail {
        width: 9.0666666667vw;
    }
}
.c-block-6__mail img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-block-6__note {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.6666666667;
    margin: 27px 0 44px;
}
@media screen and (max-width: 1024px) {
    .c-block-6__note {
        font-size: 2.3426061493vw;
    }
}
@media screen and (max-width: 750px) {
    .c-block-6__note {
        font-size: 4.8vw;
        letter-spacing: 0.05em;
        line-height: 1.7777777778;
        margin: 7.4666666667vw auto 7.2vw;
        white-space: nowrap;
    }
}

/* ---------------------------------------------
*   c-box
--------------------------------------------- */
/*  c-box-1
--------------------------------------------- */
.c-box-1 {
    display: block;
    margin-top: -60px;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(178, 178, 178, 0.3);
    background-color: #fff;
}
@media screen and (max-width: 750px) {
    .c-box-1 {
        margin-top: -8vw;
        border-radius: 2.1333333333vw;
        box-shadow: 0 0 5.3333333333vw rgba(178, 178, 178, 0.3);
    }
}
.c-box-1__inner {
    display: flex;
    justify-content: space-between;
    padding: 40px 2.1276595745% 20px 4.2553191489%;
}
@media screen and (max-width: 750px) {
    .c-box-1__inner {
        display: block;
        padding: 5.3333333333vw;
    }
}
.c-box-1__lead {
    min-width: 28px;
    color: #B2B2B2;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-box-1__lead {
        min-width: auto;
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
    }
}
.c-box-1__tag {
    flex-grow: 1;
    margin: 0 3.9772727273% 0 11.3636363636%;
    padding-bottom: 20px;
}
@media screen and (max-width: 750px) {
    .c-box-1__tag {
        margin: 5.3333333333vw 0 0 0;
        padding-bottom: 0;
    }
}
.c-box-1__btn {
    align-self: flex-end;
    flex-shrink: 0;
}
@media screen and (max-width: 750px) {
    .c-box-1__btn {
        margin-top: 5.3333333333vw;
    }
}

/*  c-box-3
--------------------------------------------- */
.c-box-3 {
    margin-top: -50px;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(178, 178, 178, 0.3);
    background-color: #fff;
}
@media screen and (max-width: 750px) {
    .c-box-3 {
        margin-top: -13.3333333333vw;
        border-radius: 2.1333333333vw;
        box-shadow: 0 0 5.3333333333vw rgba(178, 178, 178, 0.3);
    }
}
.c-box-3__inner {
    padding: 80px 10.2564102564% 100px 10.2564102564%;
}
@media screen and (max-width: 750px) {
    .c-box-3__inner {
        padding: 10.6666666667vw 6.4vw;
    }
}
.c-box-3__body {
    margin-top: 50px;
}
@media screen and (max-width: 750px) {
    .c-box-3__body {
        margin-top: 8vw;
    }
}

/*  c-box-5
--------------------------------------------- */
.c-box-5 {
    margin-top: -60px;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(178, 178, 178, 0.3);
    background-color: #fff;
}
@media screen and (max-width: 750px) {
    .c-box-5 {
        margin-top: -13.3333333333vw;
        border-radius: 2.1333333333vw;
        box-shadow: 0 0 5.3333333333vw rgba(178, 178, 178, 0.3);
    }
}
.c-box-5__inner {
    display: flex;
    justify-content: space-between;
    padding: 44px 8.5106382979% 50px 6.3829787234%;
}
@media screen and (max-width: 750px) {
    .c-box-5__inner {
        display: block;
        padding: 5.3333333333vw 6.4vw 8vw;
    }
}
.c-box-5__lead {
    min-width: 40px;
    margin-top: 5px;
    color: #B2B2B2;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-box-5__lead {
        min-width: auto;
        margin-top: 0;
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
    }
}
.c-box-5__list {
    flex-grow: 1;
    margin-left: 8.75%;
}
@media screen and (max-width: 750px) {
    .c-box-5__list {
        margin: 4.8vw 0 0 0;
    }
}

/*  c-box-7
--------------------------------------------- */
.c-box-7 {
    margin-top: -50px;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(178, 178, 178, 0.3);
    background-color: #fff;
}
@media screen and (max-width: 750px) {
    .c-box-7 {
        margin-top: -13.3333333333vw;
        border-radius: 2.1333333333vw;
        box-shadow: 0 0 5.3333333333vw rgba(178, 178, 178, 0.3);
    }
}
.c-box-7__inner {
    padding: 50px 10.2564102564% 50px 10.2564102564%;
}
@media screen and (max-width: 750px) {
    .c-box-7__inner {
        padding: 10.6666666667vw 6.4vw;
    }
}
.c-box-7__body {
    margin-top: 40px;
}
@media screen and (max-width: 750px) {
    .c-box-7__body {
        margin-top: 8vw;
    }
}

/* ---------------------------------------------
*   c-box-2
--------------------------------------------- */
.c-box-2 {
    position: sticky;
    top: calc(100% - 150px);
    width: -moz-fit-content;
    width: fit-content;
    margin-left: 26.8096514745%;
    text-align: center;
}
@media screen and (max-width: 1024px) {
    .c-box-2 {
        margin-left: 13.4048257373%;
    }
}
@media screen and (max-width: 750px) {
    .c-box-2 {
        position: static;
        width: 100%;
        margin: 0 auto;
    }
}
.c-box-2__txt {
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 2;
    margin-bottom: 6px;
}
@media screen and (max-width: 750px) {
    .c-box-2__txt {
        font-size: 3.7333333333vw;
        margin-bottom: 2.6666666667vw;
    }
}

/* ---------------------------------------------
*   c-bnr
--------------------------------------------- */
.c-bnr__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .c-bnr__link {
        transition: opacity 300ms;
    }
    .c-bnr__link:hover {
        opacity: 0.3;
    }
}
.c-bnr__link img {
    width: 100%;
    height: 100%;
    box-shadow: 0px 10px 20px rgba(30, 30, 30, 0.3);
    box-sizing: border-box;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 4px;
}

/* ---------------------------------------------
*   c-btn
--------------------------------------------- */
/*  c-btn-1
--------------------------------------------- */
.c-btn-1 {
    display: block;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 18px;
    color: #005046;
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-btn-1 {
        margin-left: auto;
        padding-right: 6.1333333333vw;
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-1 {
        transition: opacity 0.3s;
    }
    .c-btn-1:hover {
        opacity: 0.3;
    }
}
.c-btn-1.is-disabled {
    opacity: 0.3;
    pointer-events: none;
}
.c-btn-1::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 1px;
    width: 14px;
    height: 14px;
    -webkit-mask-image: url(/img/common/icon_reset.svg);
            mask-image: url(/img/common/icon_reset.svg);
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-btn-1::after {
        bottom: 0;
        width: 4.5333333333vw;
        height: 4.5333333333vw;
    }
}

/*  c-btn-3
--------------------------------------------- */
.c-btn-3 {
    display: inline-flex;
    align-items: center;
    position: relative;
    min-width: 254px;
    min-height: 50px;
    padding: 7px 43px 8px 24px;
    border-radius: 100px;
    background-color: rgba(0, 0, 0, 0.07);
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
    color: #005046;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-decoration: none;
    overflow: hidden;
}
@media screen and (max-width: 750px) {
    .c-btn-3 {
        min-width: 51.7333333333vw;
        min-height: 11.7333333333vw;
        padding: 1.8666666667vw 10.4vw 2.1333333333vw 5.8666666667vw;
        font-size: 4.2666666667vw;
        letter-spacing: 0.02em;
    }
}
.c-btn-3::before, .c-btn-3::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    background: 0 0 no-repeat;
    background-size: 100% 100%;
}
@media screen and (max-width: 750px) {
    .c-btn-3::before, .c-btn-3::after {
        right: 6.4vw;
    }
}
.c-btn-3::before {
    width: 16px;
    height: 16px;
    background-image: url(/img/common/icon_btn.svg);
    transform: translate(50%, -50%);
}
@media screen and (max-width: 750px) {
    .c-btn-3::before {
        width: 4.2666666667vw;
        height: 4.2666666667vw;
    }
}
.c-btn-3::after {
    width: 30px;
    height: 30px;
    background-image: url(/img/common/icon_btn-hover.svg);
    transform: translate(50%, -50%) scale(0);
    transform-origin: center center;
    transition: transform 0.3s;
    will-change: transform;
    backface-visibility: hidden;
}
@media screen and (max-width: 750px) {
    .c-btn-3::after {
        width: 8vw;
        height: 8vw;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-3:hover::after {
        transform: translate(50%, -50%) scale(1);
    }
}

/*  c-btn-5
--------------------------------------------- */
.c-btn-5 {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 300px;
    padding: 9px 24px;
    border: 1px solid rgba(0, 80, 70, 0.3);
    border-radius: 100px;
    color: #005046;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.4285714286;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-btn-5 {
        min-width: 80vw;
        padding: 2.4vw 6.4vw;
        font-size: 3.7333333333vw;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-5 {
        transition: border-color 0.3s, background-color 0.3s, color 0.3s;
    }
    .c-btn-5:hover {
        border-color: transparent;
        background-color: #005046;
        color: #fff;
    }
}

/* ---------------------------------------------
*   c-btn-2
--------------------------------------------- */
.c-btn-2 {
    position: relative;
    padding: 20px;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    min-width: 220px;
    font-weight: 500;
    letter-spacing: 0.1em;
    background-color: #005046;
    border-radius: 50px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
    text-decoration: none;
    transition: background-color 0.3s;
}
@media screen and (max-width: 750px) {
    .c-btn-2 {
        padding: 5.3333333333vw;
        width: 100%;
        border-radius: 100px;
    }
}
.c-btn-2__txt {
    color: #fff;
    display: block;
    font-size: 14px;
    transition: color 0.3s;
}
@media screen and (max-width: 750px) {
    .c-btn-2__txt {
        font-size: 3.7333333333vw;
    }
}
.c-btn-2__txt-small {
    color: #fff;
    position: relative;
    flex-shrink: 0;
    font-size: 10px;
    letter-spacing: 0.07em;
    margin-right: 16px;
    transition: color 0.3s;
}
@media screen and (max-width: 750px) {
    .c-btn-2__txt-small {
        font-size: 2.6666666667vw;
        letter-spacing: 0.1em;
        margin-right: 4.2666666667vw;
    }
}
.c-btn-2__txt-small::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -16px;
    display: block;
    width: 10px;
    height: 10px;
    -webkit-mask: url(/img/common/icon_link.svg) 0 0 no-repeat;
            mask: url(/img/common/icon_link.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: #fff;
    transition: background-color 0.3s;
    backface-visibility: hidden;
    will-change: background-color;
    transform: translate3d(0, -50%, 0);
}
@media screen and (max-width: 750px) {
    .c-btn-2__txt-small::after {
        right: -4.2666666667vw;
        width: 2.6666666667vw;
        height: 2.6666666667vw;
    }
}
.c-btn-2--filter {
    background-color: rgba(0, 80, 70, 0.9);
    -webkit-backdrop-filter: blur(30px);
            backdrop-filter: blur(30px);
    --webkit-backdrop-filter: blur(30px);
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .c-btn-2:hover {
        background-color: #fff;
        -webkit-backdrop-filter: none;
                backdrop-filter: none;
        box-shadow: none;
    }
    .c-btn-2:hover .c-btn-2__txt {
        color: #005046;
    }
    .c-btn-2:hover .c-btn-2__txt-small {
        color: #005046;
    }
    .c-btn-2:hover .c-btn-2__txt-small::after {
        background-color: #005046;
    }
}

/* ---------------------------------------------
*   c-btn-4
--------------------------------------------- */
.c-btn-4 {
    position: relative;
    padding: 12px 16px 14px 24px;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    min-width: 193px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.5;
    background-color: rgba(0, 0, 0, 0.07);
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
    --webkit-backdrop-filter: blur(5px);
    border-radius: 50px;
    text-decoration: none;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: color 0.3s, background-color 0.3s;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
}
@media screen and (max-width: 750px) {
    .c-btn-4 {
        padding: 2.6666666667vw 4vw 2.6666666667vw 5.3333333333vw;
        min-width: 41.3333333333vw;
        font-size: 3.7333333333vw;
        letter-spacing: 0.1em;
    }
}
.c-btn-4__icon {
    display: block;
    background-color: #fff;
    transition: background-color 0.3s;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
}
.c-btn-4__icon--twitter {
    width: 14px;
    height: 15px;
    -webkit-mask: url(/img/common/icon_x.svg) center center no-repeat;
            mask: url(/img/common/icon_x.svg) center center no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-btn-4__icon--twitter {
        width: 3.2vw;
        height: 3.4666666667vw;
    }
}
.c-btn-4__icon--note {
    width: 14px;
    height: 16px;
    -webkit-mask: url(/img/common/icon_note.svg) 0 0 no-repeat;
            mask: url(/img/common/icon_note.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-btn-4__icon--note {
        width: 3.2vw;
        height: 3.4666666667vw;
    }
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .c-btn-4:hover {
        color: #005046;
        background-color: #fff;
    }
    .c-btn-4:hover .c-btn-4__icon {
        background-color: #005046;
    }
}

/* ---------------------------------------------
*   c-btn-6
--------------------------------------------- */
.c-btn-6 {
    position: relative;
    padding: 9px 10px 11px 24px;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
    min-width: 156px;
    background-color: rgba(0, 0, 0, 0.07);
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
    --webkit-backdrop-filter: blur(5px);
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    text-decoration: none;
    overflow: hidden;
    color: #005046;
}
@media screen and (max-width: 750px) {
    .c-btn-6 {
        padding: 3.2vw 4.2666666667vw 3.2vw 5.8666666667vw;
        min-width: 42.9333333333vw;
        border-radius: 50px;
    }
}
.c-btn-6__txt {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.5;
    transition: opacity 0.3s;
    transform: translate3d(0, 0, 0);
}
@media screen and (max-width: 750px) {
    .c-btn-6__txt {
        font-size: 3.7333333333vw;
        letter-spacing: 0.1em;
    }
}
.c-btn-6__icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    transition: opacity 0.3s;
}
@media screen and (max-width: 750px) {
    .c-btn-6__icon {
        width: 4.2666666667vw;
        height: 4.2666666667vw;
    }
}
.c-btn-6__icon::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #005046;
    opacity: 1;
    animation: 1s circleanime2 ease infinite;
}
@media screen and (max-width: 750px) {
    .c-btn-6__icon::before {
        top: -42%;
        left: -46%;
        width: 8vw;
        height: 8vw;
    }
}
.c-btn-6__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    background: url(/img/common/icon_arrow_circle.svg) 0 0 no-repeat;
    background-size: 100% 100%;
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .c-btn-6:hover .c-btn-6__txt {
        opacity: 0.3;
    }
    .c-btn-6:hover .c-btn-6__icon::before {
        opacity: 0;
    }
    .c-btn-6:hover .c-btn-6__icon::after {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
    .c-btn-6:hover .c-btn-6__icon-inner {
        opacity: 0;
    }
}
.c-btn-6__icon-inner {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #005046;
    opacity: 1;
    transition: opacity 0.3s;
}
@media screen and (max-width: 750px) {
    .c-btn-6__icon-inner {
        width: 2.1333333333vw;
        height: 2.1333333333vw;
    }
}
.c-btn-6.is-external .c-btn-6__icon::after {
    background: url(/img/common/icon_link_circle.svg) 0 0 no-repeat;
    background-size: 100% 100%;
}
.c-btn-6.is-download .c-btn-6__icon::after {
    background: url(/img/common/icon_download.svg) 0 0 no-repeat;
    background-size: 100% 100%;
}
.c-btn-6.is-copy .c-btn-6__icon::after {
    background: url(/img/common/icon_copy.svg) 0 0 no-repeat;
    background-size: 100% 100%;
}
.c-btn-6--wh {
    color: #fff;
}
.c-btn-6--wh .c-btn-6__icon::before {
    background-color: #fff;
}
.c-btn-6--wh .c-btn-6__icon::after {
    background: url(/img/common/icon_arrow_circle-wh.svg) 0 0 no-repeat;
    background-size: 100% 100%;
}
.c-btn-6--wh .c-btn-6__icon-inner {
    background-color: #fff;
}
.c-btn-6--wh.is-external .c-btn-6__icon::after {
    background: url(/img/common/icon_link_circle-wh.svg) 0 0 no-repeat;
    background-size: 100% 100%;
}
@media screen and (max-width: 750px) {
    .c-btn-6--302 {
        padding: 2.4vw 4.2666666667vw 2.9333333333vw;
        width: 80.5333333333vw;
    }
    .c-btn-6--302 .c-btn-6__txt {
        font-size: 4.2666666667vw;
        margin: 0 auto;
        transform: translateX(3.2vw);
    }
    .c-btn-6--302 .c-btn-6__icon {
        width: 4.2666666667vw;
        height: 4.2666666667vw;
    }
    .c-btn-6--302 .c-btn-6__icon::before {
        transform: translate(-50%, -50%) scale(1);
    }
}
.c-btn-6--large {
    padding: 16px 0;
    width: 340px;
    border-radius: 100px;
}
@media screen and (max-width: 750px) {
    .c-btn-6--large {
        padding: 4vw 0 3.7333333333vw;
        width: 78.9333333333vw;
    }
}
.c-btn-6--large .c-btn-6__txt {
    font-size: 20px;
    margin: 0 auto;
    transform: translateX(28px);
}
@media screen and (max-width: 750px) {
    .c-btn-6--large .c-btn-6__txt {
        font-size: 5.3333333333vw;
        letter-spacing: 0.05em;
        transform: translateX(3.7333333333vw);
    }
}
.c-btn-6--large .c-btn-6__icon {
    transform: translateX(-12px);
}
@media screen and (max-width: 750px) {
    .c-btn-6--large .c-btn-6__icon {
        transform: translateX(-5.0666666667vw);
    }
}
@media screen and (min-width: 751px) {
    .c-btn-6--op {
        background-color: rgba(255, 255, 255, 0.8);
    }
}
@media screen and (max-width: 750px) {
    .c-btn-6--op {
        color: #fff;
    }
    .c-btn-6--op .c-btn-6__icon::before {
        background-color: #fff;
    }
    .c-btn-6--op .c-btn-6__icon::after {
        background: url(/img/common/icon_arrow_circle-wh.svg) 0 0 no-repeat;
        background-size: 100% 100%;
    }
    .c-btn-6--op .c-btn-6__icon-inner {
        background-color: #fff;
    }
}

@keyframes circleanime2 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(0.75);
        opacity: 0;
    }
}
/* ---------------------------------------------
*   c-btn-skip
--------------------------------------------- */
.c-btn-skip {
    position: fixed;
    z-index: 2000;
    bottom: 23px;
    right: 20px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 5px;
    backface-visibility: hidden;
    transform: translateZ(0);
    cursor: pointer;
}
@media screen and (max-width: 750px) {
    .c-btn-skip {
        bottom: 5.3333333333vw;
        right: 5.3333333333vw;
        gap: 1.3333333333vw;
    }
}
.c-btn-skip__txt {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1;
    transition: opacity 0.3s;
}
@media screen and (max-width: 750px) {
    .c-btn-skip__txt {
        font-size: 4.2666666667vw;
        letter-spacing: 0.1em;
    }
}
.c-btn-skip__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 10px;
    transition: opacity 0.3s;
}
.c-btn-skip__icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .c-btn-skip:hover .c-btn-skip__txt {
        opacity: 0.3;
    }
    .c-btn-skip:hover .c-btn-skip__icon {
        opacity: 0.3;
    }
}
.c-btn-skip--top {
    opacity: 0;
    transition: 1s opacity 2s;
}
.is-loaded .c-btn-skip--top {
    opacity: 1;
}

.c-btn-skip--wh .c-btn-skip__txt {
    color: #fff;
}
.windows.chrome .c-btn-skip--wh .c-btn-skip__txt {
    font-weight: 400;
}

.c-btn-skip--wh .c-btn-skip__icon {
    fill: #fff;
}

/* ---------------------------------------------
*   c-card
--------------------------------------------- */
/*  c-card-1
--------------------------------------------- */
.c-card-1 {
    position: relative;
    height: -moz-fit-content;
    height: fit-content;
}
.c-card-1--bg-green {
    color: #fff;
    grid-column: 1/4;
}
@media screen and (max-width: 750px) {
    .c-card-1--bg-green:first-of-type {
        margin-top: 0;
    }
}
.c-card-1.is-hidden {
    display: block;
    grid-area: auto/auto;
    width: 0;
    height: 0;
}
.c-card-1__link {
    display: block;
}
@media screen and (max-width: 750px) {
    .c-card-1__link {
        padding-inline: 5.3333333333vw;
    }
}
.c-card-1--bg-green .c-card-1__link {
    display: flex;
    flex-direction: row-reverse;
}
@media screen and (max-width: 750px) {
    .c-card-1--bg-green .c-card-1__link {
        display: block;
        padding-inline: 0;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-1__link {
        transition: opacity 0.3s;
    }
    .c-card-1__link:hover {
        opacity: 0.5;
    }
}
.c-card-1__img {
    width: 100%;
    aspect-ratio: 300/200;
}
@media screen and (max-width: 750px) {
    .c-card-1__img {
        aspect-ratio: 335/223;
    }
}
.c-card-1__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 8px;
}
@media screen and (max-width: 750px) {
    .c-card-1__img img {
        border-radius: 2.1333333333vw;
    }
}
.c-card-1--bg-green .c-card-1__img {
    width: 50%;
    aspect-ratio: 470/370;
}
@media screen and (max-width: 750px) {
    .c-card-1--bg-green .c-card-1__img {
        width: 100%;
        aspect-ratio: 375/250;
    }
}
.c-card-1--bg-green .c-card-1__img img {
    border-radius: 0 8px 8px 0;
}
@media screen and (max-width: 750px) {
    .c-card-1--bg-green .c-card-1__img img {
        border-radius: 0;
    }
}
.c-card-1__content {
    padding: 14px 0 36px;
}
@media screen and (max-width: 750px) {
    .c-card-1__content {
        padding: 5.3333333333vw 0 6.9333333333vw;
    }
}
.c-card-1--bg-green .c-card-1__content {
    width: 50%;
    padding: 30px 5.8510638298% 74px 3.1914893617%;
    border-radius: 8px 0 0 8px;
    background: linear-gradient(135deg, #008269 0%, #005046 100%);
}
@media screen and (max-width: 750px) {
    .c-card-1--bg-green .c-card-1__content {
        width: 100%;
        padding: 3.7333333333vw 5.3333333333vw 10.6666666667vw;
        border-radius: 0;
        background: linear-gradient(to bottom, #006958 0%, #005046 100%);
    }
}
.c-card-1__head {
    display: flex;
    gap: 0 8px;
}
@media screen and (max-width: 750px) {
    .c-card-1__head {
        gap: 0 2.1333333333vw;
    }
}
@media screen and (min-width: 751px) {
    .c-card-1--bg-green .c-card-1__head {
        gap: 0 20px;
    }
}
.c-card-1__icon {
    flex-shrink: 0;
    position: relative;
    width: 50px;
    height: 50px;
}
@media screen and (max-width: 750px) {
    .c-card-1__icon {
        width: 13.3333333333vw;
        height: 13.3333333333vw;
    }
}
@media screen and (min-width: 751px) {
    .c-card-1--bg-green .c-card-1__icon {
        width: 62px;
        height: 62px;
    }
}
.c-card-1__icon::after {
    content: "";
    border: 1px solid #B2B2B2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
@media screen and (max-width: 750px) {
    .c-card-1__icon::after {
        border-width: 0.2666666667vw;
    }
}
.c-card-1__icon img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
}
.c-card-1__ttl-outer {
    padding-top: 3px;
}
@media screen and (max-width: 750px) {
    .c-card-1__ttl-outer {
        padding-top: 0.8vw;
    }
}
@media screen and (min-width: 751px) {
    .c-card-1--bg-green .c-card-1__ttl-outer {
        padding-top: 8px;
    }
}
.c-card-1__lead {
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-card-1__lead {
        font-size: 3.2vw;
    }
}
.c-card-1__lead--num {
    margin-left: 4px;
}
@media screen and (max-width: 750px) {
    .c-card-1__lead--num {
        margin-left: 1.0666666667vw;
    }
}
.c-card-1__ttl {
    margin-top: 4px;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-card-1__ttl {
        margin-top: 1.0666666667vw;
        font-size: 4.2666666667vw;
    }
}
@media screen and (min-width: 751px) {
    .c-card-1--bg-green .c-card-1__ttl {
        font-size: 1.125rem;
        line-height: 1.4444444444;
    }
}
.c-card-1__txt {
    margin-top: 10px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media screen and (max-width: 750px) {
    .c-card-1__txt {
        margin-top: 4.2666666667vw;
        font-size: 4.2666666667vw;
    }
}
@media screen and (min-width: 751px) {
    .c-card-1--bg-green .c-card-1__txt {
        margin-top: 17px;
        font-size: 1.5rem;
        line-height: 1.6666666667;
        letter-spacing: 0.05em;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}
.c-card-1__tag {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
}
@media screen and (max-width: 750px) {
    .c-card-1__tag {
        bottom: 1.6vw;
        left: 5.3333333333vw;
        width: 89.3333333333vw;
    }
}
.c-card-1--bg-green .c-card-1__tag {
    max-width: 40.9574468085%;
    bottom: 30px;
    left: 30px;
}
@media screen and (max-width: 750px) {
    .c-card-1--bg-green .c-card-1__tag {
        max-width: none;
        bottom: 5.3333333333vw;
        left: 5.3333333333vw;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-card-1__tag {
        transition: opacity 0.3s;
    }
    .c-card-1__link:hover ~ .c-card-1__tag {
        opacity: 0.3 !important;
    }
}
#case .c-card-1:not(.c-card-1--bg-green) .c-card-1__tag {
    transform: translateY(100%);
    opacity: 0;
}

/* ---------------------------------------------
*   c-card-2
--------------------------------------------- */
.c-card-2 {
    position: relative;
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 750px) {
    .c-card-2 {
        color: #fff !important;
    }
}
.c-card-2__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-card-2__txt-wrap {
    position: absolute;
    top: 50%;
    left: 4.39238653%;
    transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
    .c-card-2__txt-wrap {
        top: auto;
        bottom: 20px;
        transform: none;
    }
}
@media screen and (max-width: 750px) {
    .c-card-2__txt-wrap {
        left: 50%;
        bottom: 5.8666666667vw;
        transform: translateX(-50%);
        width: 89.3333333333vw;
    }
}
.c-card-2__ttl {
    display: block;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.6666666667;
    white-space: nowrap;
}
@media screen and (max-width: 750px) {
    .c-card-2__ttl {
        font-size: 6.4vw;
        line-height: 1.7;
    }
}
@media screen and (max-width: 1024px) {
    .c-card-2__bottom {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 22px;
        gap: 0 30px;
    }
}
@media screen and (max-width: 750px) {
    .c-card-2__bottom {
        margin-top: 6.1333333333vw;
        gap: 0 10px;
    }
}
.c-card-2__note {
    display: block;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.7777777778;
    margin-top: 0.9516837482vw;
    margin-bottom: 1.9033674963vw;
}
@media screen and (max-width: 750px) {
    .c-card-2__note {
        font-size: 4.8vw;
        line-height: 1.3333333333;
        margin: 0;
    }
}
.c-card-2--wh {
    color: #fff;
}

/* ---------------------------------------------
*   c-card-slider
--------------------------------------------- */
.c-card-slider {
    padding-top: 14px;
}
.c-card-slider__head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 2.6666666667%;
}
.c-card-slider__icon {
    width: 16.6666666667%;
}
.c-card-slider__ttl {
    margin-top: -3px;
}
.c-card-slider__sub {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.c-card-slider__main {
    display: block;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-top: 2px;
}
.c-card-slider__body {
    margin-top: 10px;
}
.c-card-slider__foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px 3.3333333333%;
    margin-top: 15px;
}

/* ---------------------------------------------
*   c-cassette
--------------------------------------------- */
/*  c-cassette-1
--------------------------------------------- */
.c-cassette-1 {
    display: flex;
    gap: 0 min(4.39238653vw, 60px);
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
}
@media screen and (max-width: 750px) {
    .c-cassette-1 {
        display: block;
        padding-top: 5.3333333333vw;
        border-width: 0.2666666667vw;
    }
}
.c-cassette-1__info {
    flex-shrink: 0;
    width: 8.576329331%;
    min-width: 100px;
    padding-top: 25px;
    font-weight: 300;
    font-size: 3rem;
    line-height: 1.4583333333;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-cassette-1__info {
        width: 100%;
        min-width: auto;
        padding-top: 0;
        font-size: 10.1333333333vw;
        line-height: 1.4473684211;
    }
}
.c-cassette-1__article {
    flex-grow: 1;
}

/*  c-cassette-3
--------------------------------------------- */
.c-cassette-3 {
    display: flex;
    flex-direction: row-reverse;
    align-items: stretch;
    min-height: 340px;
}
@media screen and (max-width: 750px) {
    .c-cassette-3 {
        display: block;
        min-height: auto;
    }
}
.c-cassette-3__img {
    width: 36.4893617021%;
}
@media screen and (max-width: 750px) {
    .c-cassette-3__img {
        width: 100%;
        aspect-ratio: 302/201;
    }
}
.c-cassette-3__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 0 8px 8px 0;
}
@media screen and (max-width: 750px) {
    .c-cassette-3__img img {
        border-radius: 2.1333333333vw 2.1333333333vw 0 0;
    }
}
.c-cassette-3__content {
    width: 63.5106382979%;
    padding: 30px max(4.5744680851%, 30px) 28px 30px;
    color: #fff;
    background-color: #005046;
    border-radius: 8px 0 0 8px;
}
@media screen and (max-width: 750px) {
    .c-cassette-3__content {
        width: 100%;
        padding: 5.3333333333vw 5.3333333333vw 4.8vw 5.3333333333vw;
        border-radius: 0 0 2.1333333333vw 2.1333333333vw;
    }
}
.c-cassette-3__lead {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
}
@media screen and (max-width: 750px) {
    .c-cassette-3__lead {
        font-size: 4.2666666667vw;
        line-height: 1.5;
        letter-spacing: 0.05em;
    }
}
.c-cassette-3__name {
    margin-top: 10px;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.4583333333;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-cassette-3__name {
        margin-top: 1.3333333333vw;
        font-size: 5.3333333333vw;
        line-height: 1.45;
    }
}
.c-cassette-3__name-aid {
    margin-top: 10px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
}
@media screen and (max-width: 750px) {
    .c-cassette-3__name-aid {
        margin-top: 1.3333333333vw;
        font-size: 4.2666666667vw;
        line-height: 1.5;
        letter-spacing: 0.05em;
    }
}
.c-cassette-3__txt {
    margin-top: 48px;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-cassette-3__txt {
        margin-top: 4.8vw;
        font-size: 3.7333333333vw;
    }
}

/* ---------------------------------------------
*   c-cassette-2
--------------------------------------------- */
.c-cassette-2 {
    padding-top: 154px;
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}
@media screen and (max-width: 750px) {
    .c-cassette-2 {
        padding-top: 37.8666666667vw;
    }
}
.c-cassette-2__head {
    padding: 0 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 880px;
    width: 100%;
    margin: 0 auto 95px;
}
@media screen and (max-width: 750px) {
    .c-cassette-2__head {
        padding: 0;
        width: 89.3333333333vw;
        margin-bottom: 20.2666666667vw;
    }
}
.c-cassette-2__body {
    max-width: 1366px;
    width: 100%;
    margin: 0 auto;
}
.c-cassette-2__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}
.c-cassette-2__item {
    width: 50%;
    aspect-ratio: 683/342;
}
@media screen and (max-width: 1024px) {
    .c-cassette-2__item {
        aspect-ratio: 375/425;
    }
}
@media screen and (max-width: 750px) {
    .c-cassette-2__item {
        width: 100%;
    }
}
.c-cassette-2--full {
    padding-bottom: 183px;
}
@media screen and (max-width: 750px) {
    .c-cassette-2--full {
        padding-bottom: 20.2666666667vw;
    }
}
.c-cassette-2--full .c-cassette-2__head {
    max-width: 1000px;
    margin-bottom: 46px;
}
@media screen and (max-width: 750px) {
    .c-cassette-2--full .c-cassette-2__head {
        margin-bottom: 2.6666666667vw;
    }
}
.c-cassette-2--full .c-cassette-2__body {
    max-width: none;
}
.c-cassette-2--service .c-cassette-2__head {
    max-width: 1000px;
    margin-bottom: 46px;
}
@media screen and (max-width: 750px) {
    .c-cassette-2--service .c-cassette-2__head {
        margin-bottom: 7.4666666667vw;
    }
}

/* ---------------------------------------------
*   c-cassette-4
--------------------------------------------- */
.c-cassette-4 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    min-height: 100svh;
    color: #fff;
    font-weight: 500;
    text-align: center;
    opacity: 0;
}
@media screen and (max-width: 750px) {
    .c-cassette-4 {
        padding: 8% 5.3333333333%;
    }
    .c-cassette-4--lvh {
        height: 100lvh;
    }
}
.is-fullpage-current .c-cassette-4 {
    transition: opacity 2s;
    transition-delay: 1s;
    opacity: 1;
}

.c-cassette-4__container {
    position: relative;
    width: 100%;
}
.c-cassette-4__note {
    display: block;
    font-size: 20px;
    letter-spacing: 0.05em;
    margin-bottom: 32px;
}
@media screen and (max-width: 750px) {
    .c-cassette-4__note {
        font-size: 4.2666666667vw;
        font-weight: 700;
        line-height: 2.5;
        margin-bottom: 3.2vw;
    }
}
.c-cassette-4__note-small {
    display: block;
    font-size: 14px;
    margin-top: -2px;
}
@media screen and (max-width: 750px) {
    .c-cassette-4__note-small {
        font-size: 3.7333333333vw;
        margin-top: -2.9333333333vw;
    }
}
.c-cassette-4__lead {
    font-size: 48px;
    letter-spacing: 0.1em;
    line-height: 1.6666666667;
}
@media screen and (max-width: 750px) {
    .c-cassette-4__lead {
        font-size: 8.5333333333vw;
        line-height: 1.5;
    }
}
.c-cassette-4__txt {
    display: block;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 2.3;
    margin-top: 27px;
}
@media screen and (max-width: 750px) {
    .c-cassette-4__txt {
        font-size: 4.2666666667vw;
        line-height: 2;
        margin-top: 6.6666666667vw;
    }
}
@media screen and (min-width: 751px) {
    .c-cassette-4__txt--en {
        margin-top: 0;
    }
}
@media screen and (max-width: 750px) {
    .c-section-fullpage--0 .c-cassette-4__txt--en {
        margin-top: 1.0666666667vw;
    }
}

/* ---------------------------------------------
*   c-cassette-6
--------------------------------------------- */
.c-cassette-6 {
    padding-top: 146px;
    padding-bottom: 179px;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}
@media screen and (max-width: 750px) {
    .c-cassette-6 {
        padding-top: 40.2666666667vw;
        padding-bottom: 40vw;
    }
}
.c-cassette-6__head {
    padding: 0 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto 47px;
}
@media screen and (max-width: 750px) {
    .c-cassette-6__head {
        padding: 0;
        width: 89.3333333333vw;
        margin: 0 auto 7.4666666667vw;
    }
}
.c-cassette-6__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}
.c-cassette-6__item {
    width: 50%;
    aspect-ratio: 683/342;
}
@media screen and (max-width: 1024px) {
    .c-cassette-6__item {
        aspect-ratio: 375/425;
    }
}
@media screen and (max-width: 750px) {
    .c-cassette-6__item {
        width: 100%;
    }
}

/* ---------------------------------------------
*   c-detail
--------------------------------------------- */
/*  c-detail-1
--------------------------------------------- */
.c-detail-1__info {
    padding-bottom: 20px;
    border-bottom: 1px solid #005046;
    color: #B2B2B2;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.4285714286;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-detail-1__info {
        padding-bottom: 3.7333333333vw;
        border-width: 0.2666666667vw;
        font-size: 3.2vw;
        line-height: 1.4166666667;
    }
}
.c-detail-1__date {
    display: inline-block;
}
.c-detail-1__content-outer {
    display: flex;
    justify-content: space-between;
    margin-top: 48px;
}
@media screen and (max-width: 750px) {
    .c-detail-1__content-outer {
        display: block;
        margin-top: 10.6666666667vw;
    }
}
.c-detail-1__content {
    width: 100%;
}
.c-detail-1__img {
    flex-shrink: 0;
    width: 46.8085106383%;
    max-width: 440px;
    margin-top: 4px;
    margin-left: 6.3829787234%;
}
@media screen and (max-width: 750px) {
    .c-detail-1__img {
        width: 100%;
        max-width: none;
        margin-top: 9.6vw;
        margin-left: 0;
    }
}
.c-detail-1__img img {
    display: block;
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    border-radius: 8px;
}
@media screen and (max-width: 750px) {
    .c-detail-1__img img {
        border-radius: 2.1333333333vw;
    }
}
.c-detail-1__ttl {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.6666666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-detail-1__ttl {
        font-size: 5.3333333333vw;
        line-height: 1.6;
    }
}
.c-detail-1__body {
    margin-top: 23px;
}
@media screen and (max-width: 750px) {
    .c-detail-1__body {
        margin-top: 3.4666666667vw;
    }
}
.c-detail-1__body.wysiwyg p {
    margin-top: 22px;
    margin-bottom: 22px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-detail-1__body.wysiwyg p {
        margin-top: 3.2vw;
        margin-bottom: 3.2vw;
        font-size: 3.7333333333vw;
        letter-spacing: 0.02em;
    }
}
.c-detail-1__body.wysiwyg a {
    display: inline-block;
    position: relative;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
}
@media screen and (max-width: 750px) {
    .c-detail-1__body.wysiwyg a {
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
        letter-spacing: 0.05em;
    }
}
.c-detail-1__body.wysiwyg a::before {
    content: "";
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-detail-1__body.wysiwyg a::before {
        bottom: 0.2666666667vw;
        height: 0.2666666667vw;
    }
}
.c-detail-1__body.wysiwyg a[target=_blank] {
    padding-right: 24px;
}
@media screen and (max-width: 750px) {
    .c-detail-1__body.wysiwyg a[target=_blank] {
        padding-right: 4.8vw;
    }
}
.c-detail-1__body.wysiwyg a[target=_blank]::before {
    width: calc(100% - 24px);
}
@media screen and (max-width: 750px) {
    .c-detail-1__body.wysiwyg a[target=_blank]::before {
        width: calc(100% - 4.8vw);
    }
}
.c-detail-1__body.wysiwyg a[target=_blank]::after {
    content: "";
    position: absolute;
    right: 6px;
    bottom: 4px;
    width: 12px;
    height: 12px;
    background: url(/img/common/icon_link.svg) 0 0 no-repeat;
    background-size: 100% 100%;
}
@media screen and (max-width: 750px) {
    .c-detail-1__body.wysiwyg a[target=_blank]::after {
        right: 1.0666666667vw;
        bottom: 1.0666666667vw;
        width: 2.6666666667vw;
        height: 2.6666666667vw;
    }
}

/* ---------------------------------------------
*   c-elevator-nav
--------------------------------------------- */
.c-elevator-nav {
    position: sticky;
    top: 100px;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: 26.8096514745%;
    margin-bottom: 100px;
}
@media screen and (max-width: 1024px) {
    .c-elevator-nav {
        margin-left: 13.4048257373%;
    }
}
@media screen and (max-width: 750px) {
    .c-elevator-nav {
        position: static;
        width: 100%;
        margin: 0 auto 9.3333333333vw;
    }
}
@media screen and (max-width: 750px) {
    .c-elevator-nav__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-start;
        gap: 5.3333333333vw 0;
    }
}
.c-elevator-nav__item {
    white-space: nowrap;
}
@media screen and (min-width: 751px) {
    .c-elevator-nav__item:not(:first-of-type) {
        margin-top: 9px;
    }
}
@media screen and (max-width: 750px) {
    .c-elevator-nav__item {
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        width: 50%;
        border-left: 1px solid rgba(0, 80, 70, 0.2);
        border-right: 1px solid rgba(0, 80, 70, 0.2);
    }
    .c-elevator-nav__item:nth-of-type(2n + 2) {
        border-left: none;
    }
}
.c-elevator-nav__link {
    position: relative;
    padding-left: 16px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.7777777778;
    opacity: 0.3;
    transition: opacity 0.3s, font-size 0.3s;
    will-change: font-size;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    perspective: 1000;
    -webkit-transform-style: preserve-3d;
}
@media screen and (max-width: 750px) {
    .c-elevator-nav__link {
        padding: 2.1333333333vw 2.6666666667vw 1.0666666667vw;
        width: 100%;
        height: 100%;
        font-size: 4.2666666667vw;
        text-align: center;
        opacity: 1;
    }
}
.c-elevator-nav__link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #005046;
    transform: translateY(-50%);
}
@media screen and (max-width: 750px) {
    .c-elevator-nav__link::before {
        display: none;
    }
}
@media screen and (min-width: 751px) {
    .firefox .c-elevator-nav__link::before {
        top: 56%;
    }
}
@media screen and (min-width: 751px) {
    .c-elevator-nav__link.is-current {
        font-size: 20px;
        opacity: 1;
    }
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .c-elevator-nav__link:hover {
        opacity: 1;
    }
}

/* ---------------------------------------------
*   c-form
--------------------------------------------- */
/*  c-form-1
--------------------------------------------- */
.c-form-1__lead {
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-form-1__lead {
        font-size: 3.7333333333vw;
    }
}
.c-form-1__list {
    margin-top: 30px;
}
@media screen and (max-width: 750px) {
    .c-form-1__list {
        margin-top: 8vw;
    }
}
.c-form-1__list:first-of-type {
    margin-top: 46px;
}
@media screen and (max-width: 750px) {
    .c-form-1__list:first-of-type {
        margin-top: 12.2666666667vw;
    }
}
.c-form-1__term {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-form-1__term {
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
    }
}
.c-form-1__desc {
    position: relative;
    margin-top: 10px;
}
.c-form-1__desc input, .c-form-1__desc select, .c-form-1__desc textarea {
    display: block;
    width: 100%;
    padding: 7px 9px;
    border: 1px solid #005046;
    border-radius: 4px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
}
@media screen and (max-width: 750px) {
    .c-form-1__desc input, .c-form-1__desc select, .c-form-1__desc textarea {
        padding: 1.8666666667vw 2.4vw;
        border-width: 0.2666666667vw;
        border-radius: 1.0666666667vw;
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
    }
}
.c-form-1__desc input, .c-form-1__desc textarea {
    color: #005046;
}
.c-form-1__desc input::-moz-placeholder, .c-form-1__desc textarea::-moz-placeholder {
    color: rgba(0, 80, 70, 0.3);
}
.c-form-1__desc input::placeholder, .c-form-1__desc textarea::placeholder {
    color: rgba(0, 80, 70, 0.3);
}
.firefox .c-form-1__desc input::-moz-placeholder, .firefox .c-form-1__desc textarea::-moz-placeholder {
    color: #005046;
}
.firefox .c-form-1__desc input::placeholder, .firefox .c-form-1__desc textarea::placeholder {
    color: #005046;
}

.c-form-1__desc textarea {
    min-height: 160px;
}
@media screen and (max-width: 750px) {
    .c-form-1__desc textarea {
        min-height: 30.9333333333vw;
    }
}
.c-form-1__desc select {
    padding-right: 30px;
    color: rgba(0, 80, 70, 0.3);
    cursor: pointer;
}
@media screen and (max-width: 750px) {
    .c-form-1__desc select {
        padding-right: 6.6666666667vw;
    }
}
.firefox .c-form-1__desc select {
    color: rgba(0, 80, 70, 0.54);
}

.windows .c-form-1__desc option {
    color: #005046;
}

.c-form-1__desc .error {
    position: absolute;
    right: 0;
    bottom: -5px;
    transform: translateY(100%);
    color: #FF0000;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-form-1__desc .error {
        bottom: -0.8vw;
        font-size: 3.2vw;
    }
}
.c-form-1__select-wrap {
    display: block;
    position: relative;
}
.c-form-1__select-wrap::after {
    content: "";
    position: absolute;
    top: 18px;
    right: 10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: #005046 transparent transparent transparent;
    pointer-events: none;
}
@media screen and (max-width: 750px) {
    .c-form-1__select-wrap::after {
        top: 4.2666666667vw;
        right: 2.6666666667vw;
        border-width: 1.6vw 1.6vw 0 1.6vw;
    }
}
.c-form-1__check {
    margin-top: 20px;
}
@media screen and (max-width: 750px) {
    .c-form-1__check {
        margin-top: 4vw;
    }
}
.c-form-1__check label {
    display: block;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .c-form-1__check label {
        transition: opacity 0.3s;
    }
    .c-form-1__check label:hover {
        opacity: 0.7;
    }
}
.c-form-1__check label input {
    position: absolute;
    pointer-events: none;
    opacity: 0;
}
.c-form-1__check label span {
    display: block;
    position: relative;
    padding-left: 18px;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.4285714286;
    letter-spacing: 0.02em;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
@media screen and (max-width: 750px) {
    .c-form-1__check label span {
        padding-left: 4.8vw;
        font-size: 3.7333333333vw;
    }
}
.c-form-1__check label span::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #005046;
    border-radius: 4px;
}
@media screen and (max-width: 750px) {
    .c-form-1__check label span::before {
        top: 0.2666666667vw;
        width: 4.8vw;
        height: 4.8vw;
        border-width: 0.2666666667vw;
        border-radius: 1.0666666667vw;
    }
}
.c-form-1__check label span::after {
    content: "";
    position: absolute;
    top: 5px;
    left: 4px;
    width: 10px;
    height: 10px;
    border-radius: 3px;
    background-color: #005046;
    opacity: 0;
}
@media screen and (max-width: 750px) {
    .c-form-1__check label span::after {
        top: 1.3333333333vw;
        left: 1.0666666667vw;
        width: 2.6666666667vw;
        height: 2.6666666667vw;
        border-radius: 0.8vw;
    }
}
.c-form-1__check label input:checked + span::after {
    opacity: 1;
}
.c-form-1__check .error {
    font-weight: 500;
}
.c-form-1__submit {
    margin-top: 50px;
    text-align: center;
}
@media screen and (max-width: 750px) {
    .c-form-1__submit {
        margin-top: 13.3333333333vw;
    }
}
.c-form-1__submit button {
    text-decoration: none;
    overflow: hidden;
}
.c-form-1__submit .c-btn-6 {
    min-width: 293px;
    min-height: 50px;
}
@media screen and (max-width: 750px) {
    .c-form-1__submit .c-btn-6 {
        min-width: 51.7333333333vw;
        min-height: 11.7333333333vw;
    }
}
.c-form-1__submit .c-btn-6__txt {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-form-1__submit .c-btn-6__txt {
        font-size: 4.2666666667vw;
        letter-spacing: 0.02em;
    }
}
@media screen and (max-width: 750px) {
    .c-form-1__submit .c-btn-6__icon {
        width: 8vw;
        height: 8vw;
    }
}
.c-form-1__submit .c-btn-6__icon::before {
    transform: translate(-50%, -50%) scale(53.3333333333%);
}
@media screen and (max-width: 750px) {
    .c-form-1__submit .c-btn-6__icon::before {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}
.c-form-1__submit .c-btn-6__icon::after {
    opacity: 1;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.3s;
    will-change: transform, opacity;
    backface-visibility: hidden;
}
@media (hover: hover) and (pointer: fine) {
    .c-form-1__submit .c-btn-6:hover .c-btn-6__icon::after {
        transform: translate(-50%, -50%) scale(1);
    }
}
.c-form-1__reset {
    margin-top: 20px;
    text-align: center;
}
@media screen and (max-width: 750px) {
    .c-form-1__reset {
        margin-top: 4vw;
    }
}
.c-form-1__reset-btn {
    display: block;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    padding-right: 21px;
    color: #005046;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.4285714286;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-form-1__reset-btn {
        padding-right: 5.6vw;
        font-size: 3.7333333333vw;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-form-1__reset-btn {
        transition: opacity 0.3s;
    }
    .c-form-1__reset-btn:hover {
        opacity: 0.7;
    }
}
.c-form-1__reset-btn::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 2px;
    width: 16px;
    height: 16px;
    -webkit-mask-image: url(/img/common/icon_reset.svg);
            mask-image: url(/img/common/icon_reset.svg);
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-form-1__reset-btn::after {
        bottom: 0.5333333333vw;
        width: 4.2666666667vw;
        height: 4.2666666667vw;
    }
}
.c-form-1__privacy-box {
    margin-top: 50px;
    padding: 15px 18px 15px 20px;
    border-radius: 4px;
    background-color: #EBF3EF;
}
@media screen and (max-width: 750px) {
    .c-form-1__privacy-box {
        margin-top: 13.3333333333vw;
        padding: 4vw 2.1333333333vw 4vw 5.3333333333vw;
        border-radius: 1.0666666667vw;
    }
}
.c-form-1__privacy-box-inner {
    height: 147px;
    overflow-y: auto;
    padding-right: 8px;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-form-1__privacy-box-inner {
        height: 39.2vw;
        padding-right: 2.1333333333vw;
        font-size: 3.7333333333vw;
    }
}
.c-form-1__privacy-box-inner::-webkit-scrollbar {
    width: 4px;
}
@media screen and (max-width: 750px) {
    .c-form-1__privacy-box-inner::-webkit-scrollbar {
        width: 1.0666666667vw;
    }
}
.c-form-1__privacy-box-inner::-webkit-scrollbar-thumb {
    background-color: #000;
    border-radius: 100px;
}
.c-form-1__privacy-info-head {
    margin-top: 28px;
}
.c-form-1__privacy-info-list {
    display: flex;
}
.c-form-1__privacy-info-term {
    flex-shrink: 0;
}
.c-form-1__privacy-info-term::after {
    content: "：";
    display: inline-block;
}
.c-form-1__privacy-info-desc {
    flex-grow: 1;
}
@media screen and (max-width: 750px) {
    .c-form-1__privacy-info-link {
        display: block;
        padding-top: 0.8vw;
        padding-bottom: 1.0666666667vw;
        line-height: 1.5;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-form-1__privacy-info-link {
        transition: opacity 0.3s;
        will-change: opacity;
    }
    .c-form-1__privacy-info-link:hover {
        opacity: 0.3;
    }
}

/*  c-checkbox-1
--------------------------------------------- */
.c-checkbox-1 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
@media screen and (max-width: 750px) {
    .c-checkbox-1 {
        gap: 2.6666666667vw;
    }
}
.c-checkbox-1__label {
    position: relative;
    display: block;
}
.c-checkbox-1__input {
    position: absolute;
    pointer-events: none;
    opacity: 0;
}
.c-checkbox-1__input:checked + .c-checkbox-1__txt {
    color: white;
    background-color: #005046;
}
.c-checkbox-1__input:checked + .c-checkbox-1__txt::before {
    background-color: white;
}
.c-checkbox-1__txt {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 3px 9px 4px 17px;
    border: 1px solid transparent;
    border-radius: 100px;
    color: #005046;
    background-color: rgba(25, 140, 95, 0.1);
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
    transition: color 0.3s, background-color 0.3s;
    cursor: pointer;
}
@media screen and (max-width: 750px) {
    .c-checkbox-1__txt {
        padding: 0.8vw 2.9333333333vw 1.3333333333vw 5.6vw;
        border-width: 0.2666666667vw;
        border-radius: 26.6666666667vw;
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-checkbox-1__txt:hover {
        color: rgba(0, 80, 70, 0.3);
    }
    .c-checkbox-1__txt:hover::before {
        background-color: rgba(0, 80, 70, 0.3);
    }
}
.c-checkbox-1__txt::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 8px;
    left: 7px;
    width: 8px;
    height: 8px;
    -webkit-mask-image: url(/img/common/icon_sharp.svg);
            mask-image: url(/img/common/icon_sharp.svg);
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    background-color: #005046;
    transition: background-color 0.3s;
}
@media screen and (max-width: 750px) {
    .c-checkbox-1__txt::before {
        top: 2.4vw;
        left: 2.4vw;
        width: 2.6666666667vw;
        height: 2.6666666667vw;
    }
}

/* ---------------------------------------------
*   c-img
--------------------------------------------- */
/*  c-img-1
--------------------------------------------- */
.c-img-1 {
    position: relative;
    height: 460px;
}
@media screen and (max-width: 750px) {
    .c-img-1 {
        width: 100%;
        height: auto;
        aspect-ratio: 1/1;
    }
}
.c-img-1 img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-img-1::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}
.c-img-1__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    color: #fff;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.6666666667;
    letter-spacing: 0.05em;
    text-align: center;
    z-index: 2;
}
@media screen and (max-width: 750px) {
    .c-img-1__txt {
        width: 89.3333333333vw;
        font-size: 5.3333333333vw;
        line-height: 1.6;
    }
}
.c-img-1__txt.js-fadein-up {
    opacity: 0;
    transform: translate(-50%, calc(-50% + 50px));
}
.c-img-1__txt.js-fadein-up.is-active {
    opacity: 1;
    transform: translate(-50%, -50%);
    transition: transform 0.8s, opacity 1s;
}

/* ---------------------------------------------
*   c-img-2
--------------------------------------------- */
.c-img-2 {
    position: relative;
    display: contents;
}
.c-img-2 img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    /* animation-delay*/
}
.is-anim-start .c-img-2 img {
    transition: opacity 0.3s;
    animation: change-img-anim 7.3s infinite;
}

.c-img-2 img:nth-of-type(1) {
    animation-delay: 0s;
}
.c-img-2 img:nth-of-type(2) {
    animation-delay: 1.5s;
}
.c-img-2 img:nth-of-type(3) {
    animation-delay: 3s;
}
.c-img-2 img:nth-of-type(4) {
    animation-delay: 4.5s;
}
.c-img-2 img:nth-of-type(5) {
    animation-delay: 6s;
}

/* animation-delay */
@keyframes change-img-anim {
    0% {
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    20% {
        opacity: 1;
    }
    30% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}
/* ---------------------------------------------
*   c-img-4
--------------------------------------------- */
.c-img-4 {
    position: relative;
    height: 460px;
}
@media screen and (max-width: 750px) {
    .c-img-4 {
        height: 100vw;
    }
}
.c-img-4__img {
    width: 100%;
    height: 100%;
}
.c-img-4__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-img-4__inner {
    position: absolute;
    top: 50%;
    left: 50%;
    padding-inline: 30px;
    max-width: 1226px;
    width: 100%;
    margin-inline: auto;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 750px) {
    .c-img-4__inner {
        top: 47.9064039409%;
        padding-inline: 0;
        max-width: none;
        width: 89.3333333333%;
    }
}
.c-img-4__txt-wrap {
    display: block;
    width: 413px;
    margin-top: 11px;
}
@media screen and (max-width: 750px) {
    .c-img-4__txt-wrap {
        width: 100%;
        margin-top: 3.4666666667vw;
    }
}
.c-img-4__btn-wrap {
    margin-top: 25px;
}
@media screen and (max-width: 750px) {
    .c-img-4__btn-wrap {
        margin-top: 8vw;
    }
}
.c-img-4--top {
    height: 578px;
}
@media screen and (max-width: 750px) {
    .c-img-4--top {
        height: 146.6666666667vw;
    }
}
@media screen and (max-width: 750px) {
    .c-img-4--top .c-img-4__inner {
        top: 12.2666666667vw;
        transform: translate(-50%, 0);
    }
}
@media screen and (max-width: 750px) {
    .c-img-4--top .c-img-4__btn-wrap {
        margin-top: 6.6666666667vw;
    }
}

/* ---------------------------------------------
*   c-img-roots
--------------------------------------------- */
.c-img-roots__img {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    display: block;
    max-width: 1226px;
    width: 100%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 1s;
}
.c-img-roots__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-img-roots--1 .c-img-roots__img {
    z-index: -1;
}
.c-img-roots--2 .c-img-roots__img {
    z-index: -2;
}
.c-img-roots--3 .c-img-roots__img {
    z-index: -3;
}
.c-img-roots--4 .c-img-roots__img {
    z-index: -4;
}

/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
/*  c-kv-1
--------------------------------------------- */
.c-kv-1 {
    position: relative;
    min-height: 300px;
    padding: 160px 30px 94px;
}
@media screen and (max-width: 750px) {
    .c-kv-1 {
        min-height: 80vw;
        padding: 38.6666666667vw 5.3333333333vw 32vw;
    }
}
.c-kv-1--case {
    min-height: 360px;
    padding-bottom: 154px;
}
@media screen and (max-width: 750px) {
    .c-kv-1--case {
        min-height: 80vw;
        padding-bottom: 38.6666666667vw;
    }
}
.c-kv-1__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.c-kv-1__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-kv-1__container {
    max-width: 940px;
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-kv-1__container {
        max-width: none;
    }
}

/*  c-kv-3
--------------------------------------------- */
.c-kv-3 {
    position: relative;
    height: 100lvh !important;
}
.c-kv-3--message {
    display: flex;
    justify-content: center;
    align-items: center;
}
.c-kv-3__bg {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100lvh !important;
    margin-inline: auto;
    overflow: hidden;
    z-index: -1;
}
.c-kv-3__bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.6s;
}
.c-kv-3__bg img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.is-scroll .c-kv-3__bg::after {
    opacity: 1;
}

.c-kv-3--history .c-kv-3__bg::after {
    background-color: rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 750px) {
    .c-kv-3--history .c-kv-3__bg::after {
        background-color: rgba(0, 0, 0, 0.3);
    }
}
@media screen and (max-width: 750px) {
    .c-kv-3--message .c-kv-3__bg::after {
        background-color: rgba(255, 255, 255, 0.95);
    }
    .is-scroll {
        opacity: 1;
    }
}
.c-kv-3--company .c-kv-3__bg::after {
    background-color: rgba(255, 255, 255, 0.95);
}
.c-kv-3__container {
    position: absolute;
    top: 50.6510416667%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 1226px;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-kv-3__container {
        top: 47.9064039409%;
        width: 89.3333333333%;
        max-width: none;
        padding-inline: 0;
    }
}
.c-kv-3--message .c-kv-3__container {
    top: 53.90625%;
}
@media screen and (max-width: 750px) {
    .c-kv-3--message .c-kv-3__container {
        position: absolute;
        top: min(93.842364532vh, 86.6666666667vw);
        transform: translate(-50%, 0);
    }
    .windows .c-kv-3--message .c-kv-3__container {
        width: 90.6666666667% !important;
    }
}
@media (orientation: landscape) and (max-width: 750px) {
    .c-kv-3--message .c-kv-3__container {
        bottom: auto !important;
        top: 25% !important;
        transform: translate(-50%, 0) scale(0.3);
        transform-origin: top left;
    }
}

/*  c-kv-5
--------------------------------------------- */
.c-kv-5 {
    display: flex;
    height: 100vh;
    color: #fff;
    background: url(/img/case/detail/bg_green.jpg) 0 0 no-repeat;
    background-size: cover;
}
@media screen and (max-width: 750px) {
    .c-kv-5 {
        display: block;
        height: auto;
        background: unset;
    }
}
.c-kv-5__img {
    width: 50%;
    height: 100%;
}
@media screen and (max-width: 750px) {
    .c-kv-5__img {
        width: 100%;
        height: auto;
        aspect-ratio: 375/375;
    }
}
.c-kv-5__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-kv-5__content-outer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 50%;
}
@media screen and (max-width: 750px) {
    .c-kv-5__content-outer {
        display: block;
        width: 100%;
        padding: 33.3333333333vw 5.3333333333vw 10.6666666667vw;
        background: url(/img/case/detail/sp/bg_green.jpg) 0 0 no-repeat;
        background-size: cover;
    }
}
@media screen and (max-width: 750px) {
    .edge .c-kv-5__content-outer {
        padding-top: 30.6666666667vw;
    }
}

.c-kv-5__content {
    max-width: 613px;
    padding: 0 min(12.5915080527%, 86px) 0 30px;
}
@media screen and (max-width: 750px) {
    .c-kv-5__content {
        padding: 0;
    }
}
.c-kv-5__head {
    display: flex;
    gap: 0 20px;
}
@media screen and (max-width: 750px) {
    .c-kv-5__head {
        gap: 0 2.1333333333vw;
    }
}
@media (orientation: landscape) and (min-width: 751px) and (max-width: 960px) {
    .iphone .c-kv-5__head, .androidphone .c-kv-5__head, .android .c-kv-5__head {
        transform: scale(0.7);
        transform-origin: left bottom;
    }
}

.c-kv-5__icon {
    flex-shrink: 0;
    position: relative;
    width: 62px;
    height: 62px;
}
@media screen and (max-width: 750px) {
    .c-kv-5__icon {
        width: 13.3333333333vw;
        height: 13.3333333333vw;
    }
}
.c-kv-5__icon::after {
    content: "";
    border: 1px solid #B2B2B2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
@media screen and (max-width: 750px) {
    .c-kv-5__icon::after {
        border-width: 0.2666666667vw;
    }
}
.c-kv-5__icon img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
}
.c-kv-5__ttl-outer {
    padding-top: 8px;
}
@media screen and (max-width: 750px) {
    .c-kv-5__ttl-outer {
        padding-top: 0.8vw;
    }
}
.c-kv-5__lead {
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-kv-5__lead {
        font-size: 3.2vw;
    }
}
.c-kv-5__lead--num {
    margin-left: 4px;
}
@media screen and (max-width: 750px) {
    .c-kv-5__lead--num {
        margin-left: 1.0666666667vw;
    }
}
.c-kv-5__ttl {
    margin-top: 4px;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.4444444444;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-kv-5__ttl {
        margin-top: 1.0666666667vw;
        font-size: 4.2666666667vw;
    }
}
.c-kv-5__txt {
    margin-top: 35px;
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.75;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-kv-5__txt {
        margin-top: 7.4666666667vw;
        font-size: 5.3333333333vw;
        line-height: 1.7;
    }
}
@media screen and (min-width: 751px) and (max-width: 850px) {
    .c-kv-5__txt {
        margin-top: 4.1176470588vw;
        font-size: 3.7647058824vw;
    }
}
@media screen and (min-width: 751px) and (max-width: 950px) {
    .windows .c-kv-5__txt {
        margin-top: 3.6842105263vw;
        font-size: 3.3684210526vw;
    }
}

@media (orientation: landscape) and (min-width: 751px) and (max-width: 960px) {
    .iphone .c-kv-5__txt, .androidphone .c-kv-5__txt, .android .c-kv-5__txt {
        margin-top: 5px;
        font-size: 16px;
    }
}

.c-kv-5__tag {
    width: 100%;
    max-width: 304px;
    margin-top: 35px;
}
@media screen and (max-width: 750px) {
    .c-kv-5__tag {
        max-width: none;
        margin-top: 9.8666666667vw;
    }
}
@media (orientation: landscape) and (min-width: 751px) and (max-width: 960px) {
    .iphone .c-kv-5__tag, .androidphone .c-kv-5__tag, .android .c-kv-5__tag {
        margin-top: 5px;
    }
}

/*  c-kv-7
--------------------------------------------- */
.c-kv-7 {
    position: relative;
    height: 100vh;
}
@media screen and (max-width: 750px) {
    .c-kv-7 {
        height: auto;
    }
}
.c-kv-7__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
@media screen and (max-width: 750px) {
    .c-kv-7__img {
        position: static;
        aspect-ratio: 375/425;
    }
}
.c-kv-7__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-kv-7__container {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 1226px;
    height: 100%;
    margin-inline: auto;
    padding-inline: 30px;
    z-index: 2;
}
@media screen and (max-width: 750px) {
    .c-kv-7__container {
        display: block;
        position: static;
        max-width: none;
        margin-top: 13.3333333333vw;
        padding: 0 0 8.8vw 5.3333333333vw;
    }
}
@media screen and (min-width: 751px) {
    .c-kv-7__txt-wrap--wh-pc-only {
        color: #fff;
    }
}
.c-kv-7__lead {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
}
@media screen and (max-width: 750px) {
    .c-kv-7__lead {
        font-size: 4.2666666667vw;
        letter-spacing: 0.05em;
    }
}
.c-kv-7__ttl {
    margin-top: 25px;
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.75;
    letter-spacing: 0.05em;
}
@media screen and (min-width: 751px) and (max-width: 900px) {
    .c-kv-7__ttl {
        font-size: 3.5555555556vw;
    }
}
@media screen and (max-width: 750px) {
    .c-kv-7__ttl {
        margin-top: 7.2vw;
        font-size: 8vw;
        line-height: 1.6666666667;
    }
}
.c-kv-7__name {
    margin-top: 25px;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.4444444444;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-kv-7__name {
        margin-top: 7.2vw;
        font-size: 4.8vw;
    }
}
@media (orientation: landscape) and (min-width: 751px) and (max-width: 960px) {
    .iphone .c-kv-7__lead, .androidphone .c-kv-7__lead, .android .c-kv-7__lead {
        font-size: 16px;
    }
    .iphone .c-kv-7__ttl, .androidphone .c-kv-7__ttl, .android .c-kv-7__ttl {
        margin-top: 10px;
        font-size: 20px;
    }
    .iphone .c-kv-7__name, .androidphone .c-kv-7__name, .android .c-kv-7__name {
        margin-top: 10px;
        font-size: 16px;
    }
}

/*  c-kv-9
--------------------------------------------- */
.c-kv-9 {
    position: relative;
    min-height: 400px;
}
@media screen and (max-width: 750px) {
    .c-kv-9 {
        min-height: 106.6666666667vw;
    }
}
.c-kv-9__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.c-kv-9__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
/*  c-kv-2
--------------------------------------------- */
.c-kv-2 {
    position: relative;
    height: 100lvh !important;
}
.c-kv-2__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.c-kv-2__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-kv-2__container {
    position: absolute;
    top: 50%;
    left: 50%;
    padding-inline: 30px;
    max-width: 1296px;
    width: 100%;
    margin-inline: auto;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 750px) {
    .c-kv-2__container {
        top: 47.9064039409%;
        padding-inline: 0;
        max-width: none;
        width: 89.3333333333%;
    }
}
@media (orientation: landscape) and (max-width: 1024px) {
    .iphone .c-kv-2__container, .android .c-kv-2__container {
        top: calc(50% + 30px);
        transform: translate(-50%, -50%) scale(0.5);
    }
}

.c-kv-2__btn-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
    margin-top: 36px;
}
@media screen and (max-width: 750px) {
    .c-kv-2__btn-wrap {
        gap: 2.4vw;
        margin-top: 8vw;
    }
}

/* ---------------------------------------------
*   c-kv-4
--------------------------------------------- */
.c-kv-4 {
    position: relative;
    padding: 0 30px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    max-width: 1226px;
    width: 100%;
    height: 100dvh;
    margin: 0 auto;
    overflow: hidden;
}
@media screen and (max-width: 750px) {
    .c-kv-4 {
        padding: 0;
        display: block;
        height: 100lvh;
    }
}
.ipad .c-kv-4 {
    height: 100lvh;
}

.c-kv-4::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100dvh;
    transform: translate(-50%, -50%);
    opacity: 0;
}
@media screen and (max-width: 750px) {
    .c-kv-4::before {
        height: 100lvh;
    }
}
.ipad .c-kv-4::before {
    height: 100lvh;
}

.c-kv-4--1 {
    background: url(/img/top/1-1.png) center bottom no-repeat;
    background-size: 100% auto;
    opacity: 1;
}
@media screen and (max-width: 750px) {
    .c-kv-4--1 {
        background: #fff;
    }
}
.current .c-kv-4--1 .c-kv-4__ttl {
    opacity: 1;
    transform: translateY(0px);
}

@media screen and (min-width: 751px) {
    .is-current .c-kv-4--1::before {
        animation: WoodFadeOn 1.2s ease 0.8s forwards;
        background: url(/img/top/1-2.png) center bottom no-repeat;
        background-size: 100% auto;
        opacity: 0;
    }
}

.c-kv-4--2 {
    background: url(/img/top/2-1.png) center bottom no-repeat;
    background-size: 100% auto;
}
@media screen and (max-width: 750px) {
    .c-kv-4--2 {
        background: #fff;
    }
}
.current .c-kv-4--2 .c-kv-4__ttl {
    opacity: 1;
    transform: translateY(0px);
}

@media screen and (min-width: 751px) {
    .is-current .c-kv-4--2::before {
        animation: WoodFadeOn 1.2s ease 0.8s forwards;
        background: url(/img/top/2-2.png) center bottom no-repeat;
        background-size: 100% auto;
        opacity: 0;
    }
}

.c-kv-4--3 {
    position: fixed;
    inset: 0;
    background: url(/img/top/3-1.png) center bottom no-repeat;
    background-size: 100% auto;
    opacity: 0;
    transition: opacity 0.8s;
}
@media screen and (max-width: 750px) {
    .c-kv-4--3 {
        background: #fff;
        height: 100lvh;
    }
}
.c-kv-4--3 .c-kv-4__ttl {
    transform: translateY(144px);
}
@media screen and (max-width: 750px) {
    .c-kv-4--3 .c-kv-4__ttl {
        transform: translateY(calc(19.2vw + 50px));
    }
}
.is-fullpage-current .c-kv-4--3 {
    opacity: 1;
}
.is-fullpage-current .c-kv-4--3 .c-kv-4__ttl {
    transition: none;
    animation: textFadeOn3 1.4s ease 0.6s forwards;
}
.is-fullpage-current .c-kv-4--3 .c-kv-4__ttl-logo {
    animation: logoFadeOn3 0.6s ease 1.4s forwards;
}
@media screen and (min-width: 751px) {
    .is-fullpage-current .c-kv-4--3::before {
        animation: WoodFadeOn 1s ease 0.8s forwards;
        background: url(/img/top/3-2.png) center bottom no-repeat;
        background-size: 100% auto;
        opacity: 0;
    }
}

.c-kv-4--3 .c-kv-4__img--before {
    transition: opacity 1.2s;
}
.is-fullpage-current .c-kv-4--3 .c-kv-4__img--before {
    opacity: 1;
}

.c-kv-4--3 .c-kv-4__img--after {
    z-index: 4;
    transition: 1.2s opacity 0.8s;
}
.is-fullpage-current .c-kv-4--3 .c-kv-4__img--after {
    opacity: 1;
}

.is-scrolling .c-kv-4--3 {
    position: relative;
}

.c-kv-4__ttl-wrap {
    position: relative;
    z-index: 10;
}
.c-kv-4__ttl {
    display: block;
    font-size: clamp(10px, 1.756954612vw, 24px);
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 2.5;
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.8s, transform 0.8s;
    transition-delay: 0.6s;
}
@media screen and (max-width: 750px) {
    .c-kv-4__ttl {
        padding-top: calc(70px + 1.5772870662vh);
        display: block;
        width: 89.3333333333vw;
        font-size: min(2.6813880126vh, 4.5333333333vw);
        letter-spacing: 0.02em;
        line-height: 2.2352941176;
        margin: 0 auto;
        white-space: nowrap;
    }
}
.c-kv-4__ttl-logo {
    display: block;
    width: min(17.2035139092vw, 235px);
    margin-top: min(3.6603221083vw, 50px);
    transform: translateY(50px);
    opacity: 0;
}
@media screen and (max-width: 750px) {
    .c-kv-4__ttl-logo {
        width: min(89.3333333333vw, 750px);
        margin: 8.8vw auto 0;
    }
    .c-kv-4__ttl-logo img {
        width: min(27.1293375394vh, 45.8666666667vw);
    }
}
@media screen and (max-width: 750px) {
    .c-kv-4__img {
        position: absolute;
        z-index: 3;
        bottom: 0;
        left: 50%;
        width: 63.0914826498vh;
        max-width: 100vw;
        transform: translateX(-50%);
        opacity: 0;
        aspect-ratio: 15/16;
    }
    .c-kv-4__img img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
}
@media screen and (max-width: 400px) {
    .iphone .c-kv-4__img {
        width: 50vh;
    }
}

.c-kv-4__img--before {
    transition: opacity 0.8s;
}
.current .c-kv-4__img--before {
    opacity: 1;
}

.c-kv-4__img--after {
    z-index: 4;
    transition: 0.8s opacity 0.8s;
}
.current .c-kv-4__img--after {
    opacity: 1;
}

@keyframes WoodFadeOn {
    0% {
        opacity: 0;
    }
    70% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes textFadeOn {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}
@keyframes textFadeOn3 {
    0% {
        opacity: 0;
        transform: translateY(calc(6.8814055637vw + 50px));
        @media screen and (max-width: 750px) {
            transform: translateY(calc(11.356466877vh + 50px));
        }
    }
    50% {
        opacity: 1;
        transform: translateY(6.8814055637vw);
        @media screen and (max-width: 750px) {
            transform: translateY(calc(5.047318612vh + 50px));
        }
    }
    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}
@keyframes logoFadeOn3 {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}
/* ---------------------------------------------
*   c-kv-6
--------------------------------------------- */
.c-kv-6 {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100dvh;
}
.ipad .c-kv-6 {
    height: 100lvh;
}

@media screen and (max-width: 750px) {
    .c-kv-6 {
        height: 100lvh;
    }
}
.c-kv-6__movie {
    position: relative;
    width: 100vw;
    height: 100%;
}
.c-kv-6__movie video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-kv-6__ttl-wrap {
    opacity: 0;
}
.current .c-kv-6__ttl-wrap {
    transition: opacity 1.6s;
    transition-delay: 0.8s;
    opacity: 1;
}

/* ---------------------------------------------
*   c-list
--------------------------------------------- */
/*  c-list-1
--------------------------------------------- */
.c-list-1 {
    width: 300px;
}
@media screen and (max-width: 750px) {
    .c-list-1 {
        width: 100%;
        margin-top: 3.2vw;
    }
}
@media screen and (max-width: 750px) {
    .c-list-1:first-of-type {
        margin-top: 0;
    }
}
.c-list-1__item {
    margin-top: 12px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
}
@media screen and (max-width: 750px) {
    .c-list-1__item {
        margin-top: 3.2vw;
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
        letter-spacing: 0.02em;
    }
}
.c-list-1__item:first-of-type {
    margin-top: 0;
}

/*  c-list-3
--------------------------------------------- */
.c-list-3 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.c-list-3__dt {
    flex-shrink: 0;
    width: 90px;
    font-weight: 700;
}
@media screen and (max-width: 750px) {
    .c-list-3__dt {
        width: 100%;
        margin-top: 4.2666666667vw;
    }
}
@media screen and (max-width: 750px) {
    .c-list-3__dt:first-of-type {
        margin-top: 0;
    }
}
.c-list-3__dd {
    width: calc(100% - 90px);
    font-weight: 500;
}
@media screen and (max-width: 750px) {
    .c-list-3__dd {
        width: 100%;
        margin-top: 1.6vw;
    }
}
.c-list-3__dt, .c-list-3__dd {
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-list-3__dt, .c-list-3__dd {
        font-size: 3.7333333333vw;
        line-height: 1.7142857143;
    }
}

/*  c-list-5
--------------------------------------------- */
.c-list-5 {
    position: relative;
}
.c-list-5__item {
    position: relative;
    padding-bottom: 42px;
}
@media screen and (max-width: 750px) {
    .c-list-5__item {
        padding-bottom: 9.3333333333vw;
    }
}
.c-list-5__item:last-of-type {
    padding-bottom: 0;
    background-color: #fff;
}
.c-list-5__link {
    display: flex;
    gap: 0 30px;
}
@media screen and (max-width: 750px) {
    .c-list-5__link {
        gap: 0 4vw;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-list-5__link {
        transition: opacity 0.3s;
    }
    .c-list-5__link:hover {
        opacity: 0.3;
    }
}
.c-list-5__txt {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.6666666667;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-list-5__txt {
        padding-right: 4.5333333333vw;
        font-size: 5.3333333333vw;
        line-height: 1.6;
        letter-spacing: 0.05em;
    }
}
.c-list-5__lead {
    margin-top: 6px;
    margin-bottom: -6px;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-list-5__lead {
        margin-top: 2.4vw;
        margin-bottom: -2.4vw;
        font-size: 3.7333333333vw;
    }
}
.c-list-5__num {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border: 1px solid #005046;
    border-radius: 50%;
    background-color: #fff;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1;
    z-index: 2;
}
@media screen and (max-width: 750px) {
    .c-list-5__num {
        width: 8vw;
        height: 8vw;
        font-size: 2.9333333333vw;
    }
}
.c-list-5__border {
    display: inline-block;
    position: absolute;
    top: 0px;
    left: 20px;
    width: 1px;
    height: 0;
    background-color: #005046;
    z-index: 1;
}
@media screen and (max-width: 750px) {
    .c-list-5__border {
        left: 4vw;
    }
}
.c-list-5__item:last-of-type .c-list-5__border {
    height: 0 !important;
}

/*  c-list-7
--------------------------------------------- */
.c-list-7__item {
    border-top: 1px solid rgba(0, 80, 70, 0.2);
}
@media screen and (max-width: 750px) {
    .c-list-7__item {
        border-width: 0.2666666667vw;
    }
}
.c-list-7__item:first-of-type {
    border-top: none;
}
.c-list-7__link {
    display: block;
    padding: 10px 0;
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-list-7__link {
        padding: 3.4666666667vw 0;
        font-size: 3.7333333333vw;
        line-height: 1.7142857143;
    }
}
.c-list-7__item:first-of-type .c-list-7__link {
    padding-top: 0;
}
.c-list-7__item:last-of-type .c-list-7__link {
    padding-bottom: 0;
}
.c-list-7__txt {
    display: block;
    position: relative;
    padding-left: 16px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-list-7__txt {
        padding-left: 6.4vw;
        font-size: 3.7333333333vw;
        line-height: 1.7142857143;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-list-7__link:hover .c-list-7__txt::after {
        transform: translate(-50%, -50%) rotate(90deg) scale(1);
    }
}
.c-list-7__txt::before, .c-list-7__txt::after {
    content: "";
    position: absolute;
    top: 18px;
    left: -2px;
    border-radius: 50%;
    background: 0 0 no-repeat;
    background-size: 100% auto;
}
@media screen and (max-width: 750px) {
    .c-list-7__txt::before, .c-list-7__txt::after {
        top: 3.4666666667vw;
        left: 2.1333333333vw;
    }
}
.c-list-7__txt::before {
    width: 16px;
    height: 16px;
    background-image: url(/img/common/icon_btn.svg);
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 750px) {
    .c-list-7__txt::before {
        width: 4.2666666667vw;
        height: 4.2666666667vw;
    }
}
.c-list-7__txt::after {
    width: 30px;
    height: 30px;
    background-image: url(/img/common/icon_arrow_circle.svg);
    transform: translate(-50%, -50%) rotate(90deg) scale(0);
    transform-origin: center center;
    transition: transform 0.3s;
    will-change: transform;
    backface-visibility: hidden;
}
@media screen and (max-width: 750px) {
    .c-list-7__txt::after {
        width: 8vw;
        height: 8vw;
    }
}
.c-list-7__circle {
    position: absolute;
    top: 18px;
    left: -2px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid #005046;
    transform: translate(-50%, -50%) scale(0);
    opacity: 1;
    animation: 1s circleAnimeCase infinite;
}
@media screen and (max-width: 750px) {
    .c-list-7__circle {
        top: 3.4666666667vw;
        left: 2.1333333333vw;
        width: 8vw;
        height: 8vw;
    }
}
@keyframes circleAnimeCase {
    0% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0;
    }
}

/*  c-list-9
--------------------------------------------- */
.c-list-9 {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 60px;
}
@media screen and (max-width: 750px) {
    .c-list-9 {
        display: block;
    }
}
@media screen and (max-width: 750px) {
    .c-list-9__item {
        margin-top: 5.3333333333vw;
    }
}
@media screen and (max-width: 750px) {
    .c-list-9__item:first-of-type {
        margin-top: 0;
    }
}
.c-list-9__ttl-outer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 0 20px;
}
@media screen and (max-width: 750px) {
    .c-list-9__ttl-outer {
        display: block;
    }
}
.c-list-9__lead {
    padding-bottom: 5px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
}
@media screen and (max-width: 750px) {
    .c-list-9__lead {
        display: block;
        padding-bottom: 0;
        font-size: 3.7333333333vw;
        line-height: 1.7142857143;
        letter-spacing: 0.02em;
    }
}
.c-list-9__ttl {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.4583333333;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-list-9__ttl {
        display: block;
        margin-top: 1.0666666667vw;
        font-size: 5.3333333333vw;
        line-height: 1.45;
        letter-spacing: 0.05em;
    }
}

/*  c-list-11
--------------------------------------------- */
.c-list-11__item {
    position: relative;
    padding-left: 1em;
}
.c-list-11__item::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
    font-size: 14px;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-list-11__item::before {
        font-size: 3.7333333333vw;
    }
}

/* ---------------------------------------------
*   c-list-2
--------------------------------------------- */
.c-list-2 {
    margin: 13px 0;
}
@media screen and (max-width: 750px) {
    .c-list-2 {
        margin: 4vw 0 4.5333333333vw;
    }
}
.c-list-2__item {
    position: relative;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
    padding-left: 1.2rem;
}
@media screen and (max-width: 750px) {
    .c-list-2__item {
        padding-left: 4.8vw;
        font-size: 3.7333333333vw;
        line-height: 1.5714285714;
    }
    .c-list-2__item:not(:first-of-type) {
        margin-top: 2.1333333333vw;
    }
}
.c-list-2__item::before {
    content: "●";
    position: absolute;
    top: 5px;
    left: 0;
    color: #005046;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-list-2__item::before {
        top: -0.5333333333vw;
        font-size: 3.7333333333vw;
    }
}

/* ---------------------------------------------
*   c-list-4
--------------------------------------------- */
.c-list-4 {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 750px) {
    .c-list-4 {
        display: block;
    }
}
.c-list-4__item {
    position: relative;
    width: 50%;
    height: 342px;
}
@media screen and (max-width: 750px) {
    .c-list-4__item {
        width: 100%;
        height: 64vw;
    }
}
.c-list-4__img {
    position: relative;
    width: 100%;
    height: 100%;
}
.c-list-4__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-list-4__txt-wrap {
    position: absolute;
    top: 50%;
    left: 4.39238653%;
    transform: translateY(-50%);
}
@media screen and (max-width: 750px) {
    .c-list-4__txt-wrap {
        left: 5.3333333333vw;
    }
}
.c-list-4__btn {
    margin-top: 30px;
}
@media screen and (max-width: 750px) {
    .c-list-4__btn {
        margin-top: 2.1333333333vw;
    }
}

/* ---------------------------------------------
*   c-list-6
--------------------------------------------- */
.c-list-6 {
    padding-top: 42px;
}
@media screen and (max-width: 750px) {
    .c-list-6 {
        padding-top: 11.2vw;
    }
}
.c-list-6__list:not(:first-of-type) {
    margin-top: 42px;
}
@media screen and (max-width: 750px) {
    .c-list-6__list:not(:first-of-type) {
        margin-top: 11.2vw;
    }
}
.c-list-6__term {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 2;
    margin-bottom: 6px;
}
@media screen and (max-width: 750px) {
    .c-list-6__term {
        font-size: 4.2666666667vw;
        margin-bottom: 1.6vw;
    }
}
.c-list-6__desc {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-list-6__desc {
        font-size: 3.7333333333vw;
    }
}
.c-list-6__desc + .c-list-6__desc {
    margin-top: 42px;
}
@media screen and (max-width: 750px) {
    .c-list-6__desc + .c-list-6__desc {
        margin-top: 11.2vw;
    }
}
.c-list-6__link {
    display: inline-block;
    transition: opacity 300ms;
    -webkit-text-decoration: underline #005046;
            text-decoration: underline #005046;
    text-decoration-thickness: 0.1em;
    text-underline-offset: 0.2em;
    -webkit-text-decoration-skip-ink: none;
            text-decoration-skip-ink: none;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .c-list-6__link:hover {
        opacity: 0.3;
    }
}
.c-list-6__tel {
    display: inline-block;
    pointer-events: none;
}
.iphone .c-list-6__tel, .android .c-list-6__tel {
    pointer-events: all;
    cursor: pointer;
}

/* ---------------------------------------------
*   c-list-8
--------------------------------------------- */
.c-list-8__list:not(:first-of-type) {
    margin-top: 24px;
}
@media screen and (max-width: 750px) {
    .c-list-8__list:not(:first-of-type) {
        margin-top: 11.2vw;
    }
}
.c-list-8__term {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 2;
    margin-bottom: 6px;
}
@media screen and (max-width: 750px) {
    .c-list-8__term {
        font-size: 4.2666666667vw;
        margin-bottom: 2.1333333333vw;
    }
}
.c-list-8__desc {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
    margin-top: 4px;
}
@media screen and (max-width: 750px) {
    .c-list-8__desc {
        font-size: 3.7333333333vw;
        margin-top: 1.6vw;
    }
}
.c-list-8__desc + .c-list-8__desc {
    margin-top: 10px;
}
@media screen and (max-width: 750px) {
    .c-list-8__desc + .c-list-8__desc {
        margin-top: 2.6666666667vw;
    }
}
@media screen and (max-width: 750px) {
    .c-list-8__desc-txt {
        display: block;
        margin-bottom: 0.5333333333vw;
    }
}
.c-list-8__link {
    display: inline-block;
    transition: opacity 300ms;
    -webkit-text-decoration: underline #005046;
            text-decoration: underline #005046;
    text-decoration-thickness: 0.1em;
    text-underline-offset: 0.2em;
    -webkit-text-decoration-skip-ink: none;
            text-decoration-skip-ink: none;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .c-list-8__link:hover {
        opacity: 0.3;
    }
}
.c-list-8__tel {
    display: inline-block;
    pointer-events: none;
}
.iphone .c-list-8__tel, .android .c-list-8__tel {
    pointer-events: all;
    cursor: pointer;
}

.c-list-8__Lv1-list {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 34px;
}
@media screen and (max-width: 750px) {
    .c-list-8__Lv1-list {
        display: block;
    }
    .c-list-8__Lv1-list + .c-list-8__Lv1-list {
        margin-top: 7.4666666667vw;
    }
}
.c-list-8__Lv1-term {
    position: relative;
    display: block;
    width: 115px;
    flex-shrink: 0;
}
@media screen and (max-width: 750px) {
    .c-list-8__Lv1-term {
        display: inline-block;
        width: auto;
    }
}
.c-list-8__Lv1-term::after {
    content: "：";
    position: absolute;
    top: 0;
    right: -23px;
    color: #005046;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-list-8__Lv1-term::after {
        font-size: 3.7333333333vw;
        right: -3.7333333333vw;
    }
}

/* ---------------------------------------------
*   c-list-acc
--------------------------------------------- */
.c-list-acc {
    padding-top: 100px;
    width: 78.5498489426%;
    margin-right: auto;
}
@media screen and (max-width: 750px) {
    .c-list-acc {
        padding-top: 12.8vw;
        width: 100%;
        margin: 0 auto;
    }
    .c-list-acc + .c-list-acc {
        padding-top: 26.6666666667vw;
    }
}
.c-list-acc__ttl {
    font-size: 6.4vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.6666666667;
}
@media screen and (max-width: 750px) {
    .c-list-acc__list {
        margin-top: 4.5333333333vw;
    }
}
.c-list-acc__item {
    border-top: 1px solid rgba(0, 80, 70, 0.2);
    backface-visibility: hidden;
    will-change: border;
    transform: translate3d(0, 0, 0);
}
.c-list-acc__item.is-acc-open {
    border-top: 1px solid rgba(0, 80, 70, 0);
}
.c-list-acc__item:last-of-type {
    border-bottom: 1px solid rgba(0, 80, 70, 0.2);
}
.c-list-acc__trigger {
    position: relative;
    padding: 19px 20px 17px;
    display: block;
    width: 100%;
    height: 100%;
    color: #005046;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.6666666667;
    text-align: left;
    border-radius: 8px;
    border: 1px solid #fff;
    transition: color 0.3s, background-color 0.3s, border 0.3s, transform 0.3s;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
    -webkit-perspective: 1000;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .c-list-acc__trigger {
        transition: opacity 300ms;
    }
    .c-list-acc__trigger:hover {
        opacity: 0.3;
    }
}
@media screen and (max-width: 750px) {
    .c-list-acc__trigger {
        padding: 4vw 13.6vw 4vw 5.0666666667vw;
        font-size: 5.3333333333vw;
        border-radius: 2.1333333333vw;
    }
}
.c-list-acc__trigger::before, .c-list-acc__trigger::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    display: block;
    width: 16px;
    height: 2px;
    background-color: #005046;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
    -webkit-perspective: 1000;
}
@media screen and (max-width: 750px) {
    .c-list-acc__trigger::before, .c-list-acc__trigger::after {
        width: 3.7333333333vw;
    }
}
.c-list-acc__trigger::after {
    transform: rotate(90deg);
}
.is-acc-open .c-list-acc__trigger {
    color: #fff;
    background-color: #005046;
    border: 1px solid #707070;
}
.is-acc-open .c-list-acc__trigger::before, .is-acc-open .c-list-acc__trigger::after {
    background-color: #fff;
}
.is-acc-open .c-list-acc__trigger::before {
    transform: rotate(-45deg);
}
.is-acc-open .c-list-acc__trigger::after {
    transform: rotate(45deg);
}

.c-list-acc__contents {
    padding: 37px 20px 42px;
}
@media screen and (max-width: 750px) {
    .c-list-acc__contents {
        padding: 7.2vw 0 10.6666666667vw;
    }
}
.c-list-acc__contents .c-txt-5 {
    margin: 13px 0;
}
@media screen and (max-width: 750px) {
    .c-list-acc__contents .c-txt-5 {
        margin: 4vw 0 4.5333333333vw;
    }
}
.c-list-acc__btn-wrap {
    padding-top: 23px;
}
@media screen and (max-width: 750px) {
    .c-list-acc__btn-wrap {
        padding-top: 4vw;
    }
}

/* ---------------------------------------------
*   c-loading
--------------------------------------------- */
.c-loading {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.c-loading__logo {
    z-index: 1;
    display: block;
    width: 220px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.5s;
    transition-delay: 1s;
}
@media screen and (max-width: 750px) {
    .c-loading__logo {
        width: 58.6666666667vw;
    }
}
.is-loaded .c-loading__logo {
    opacity: 1;
}

@media screen and (max-width: 750px) {
    .c-loading__logo {
        width: 26.6666666667vw;
    }
}
.c-loading__logo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* ---------------------------------------------
*   c-pager
--------------------------------------------- */
/*  c-pager-1
--------------------------------------------- */
.c-pager-1 {
    display: flex;
    align-self: center;
    gap: 0 20px;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    padding-inline: 40px;
}
@media screen and (max-width: 750px) {
    .c-pager-1 {
        gap: 0 5.3333333333vw;
        padding-inline: 10.6666666667vw;
    }
}
.c-pager-1 .page, .c-pager-1 .current {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 17px;
    color: rgba(0, 80, 70, 0.3);
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-pager-1 .page, .c-pager-1 .current {
        min-width: 4.5333333333vw;
        font-size: 4.2666666667vw;
    }
}
.c-pager-1 .current {
    pointer-events: none;
    font-weight: 700;
    color: #005046;
}
.c-pager-1 .previouspostslink,
.c-pager-1 .nextpostslink {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: inline-block;
    width: 10px;
    height: 16px;
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-pager-1 .previouspostslink,
    .c-pager-1 .nextpostslink {
        width: 2.1333333333vw;
        height: 3.4666666667vw;
        margin-top: 0.2666666667vw;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-pager-1 .previouspostslink,
    .c-pager-1 .nextpostslink {
        transition: opacity 0.3s;
    }
    .c-pager-1 .previouspostslink:hover,
    .c-pager-1 .nextpostslink:hover {
        opacity: 0.3;
    }
}
.c-pager-1 .previouspostslink {
    left: 0;
    -webkit-mask-image: url(/img/common/icon_pager_prev.svg);
            mask-image: url(/img/common/icon_pager_prev.svg);
}
.c-pager-1 .nextpostslink {
    right: 0;
    -webkit-mask-image: url(/img/common/icon_pager_next.svg);
            mask-image: url(/img/common/icon_pager_next.svg);
}

/*  c-pager-3
--------------------------------------------- */
.c-pager-3 {
    display: flex;
    justify-content: center;
    position: relative;
}
@media (hover: hover) and (pointer: fine) {
    .c-pager-3 a[href] {
        transition: opacity 0.3s;
    }
    .c-pager-3 a[href]:hover {
        opacity: 0.3;
    }
}
.c-pager-3__archive {
    position: relative;
    padding-top: 34px;
    font-weight: 500;
    font-size: 12px;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-pager-3__archive {
        padding-top: 10.6666666667vw;
        font-size: 3.2vw;
    }
}
.c-pager-3__archive::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 24px;
    margin-left: 0.05em;
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    -webkit-mask-image: url(/img/common/icon_dots.svg);
            mask-image: url(/img/common/icon_dots.svg);
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-pager-3__archive::before {
        width: 8vw;
        height: 8vw;
    }
}
.c-pager-3__btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    min-width: 193px;
    min-height: 50px;
    padding: 7px 43px 8px 43px;
    border-radius: 100px;
    background-color: rgba(0, 0, 0, 0.07);
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
    color: #005046;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-decoration: none;
    overflow: hidden;
    opacity: 1 !important;
}
@media screen and (max-width: 750px) {
    .c-pager-3__btn {
        min-width: 46.1333333333vw;
        min-height: 13.3333333333vw;
        padding: 1.8666666667vw 10.4vw 2.1333333333vw 10.4vw;
        font-size: 4.2666666667vw;
        letter-spacing: 0.02em;
    }
}
.c-pager-3__btn::before, .c-pager-3__btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    background: 0 0 no-repeat;
    background-size: 100% 100%;
}
@media screen and (max-width: 750px) {
    .c-pager-3__btn::before, .c-pager-3__btn::after {
        right: 6.4vw;
    }
}
.c-pager-3__btn::before {
    width: 16px;
    height: 16px;
    background-image: url(/img/common/icon_btn.svg);
    transform: translate(50%, -50%);
}
@media screen and (max-width: 750px) {
    .c-pager-3__btn::before {
        width: 4.2666666667vw;
        height: 4.2666666667vw;
    }
}
.c-pager-3__btn::after {
    width: 30px;
    height: 30px;
    background-image: url(/img/common/icon_btn-hover.svg);
    transform: translate(50%, -50%) scale(0);
    transform-origin: center center;
    transition: transform 0.3s;
    will-change: transform;
    backface-visibility: hidden;
}
@media screen and (max-width: 750px) {
    .c-pager-3__btn::after {
        width: 8vw;
        height: 8vw;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-pager-3__btn:hover::after {
        transform: translate(50%, -50%) scale(1);
    }
}
.c-pager-3__prev, .c-pager-3__next {
    position: absolute;
    margin-top: 8px;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.4444444444;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-pager-3__prev, .c-pager-3__next {
        margin-top: 2.1333333333vw;
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
    }
}
.c-pager-3__prev::before, .c-pager-3__next::before {
    content: "";
    position: absolute;
    top: 6px;
    width: 10px;
    height: 16px;
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-pager-3__prev::before, .c-pager-3__next::before {
        top: 1.0666666667vw;
        width: 2.1333333333vw;
        height: 3.4666666667vw;
    }
}
.c-pager-3__prev.disabled, .c-pager-3__next.disabled {
    display: none;
}
.c-pager-3__prev {
    left: 0;
    padding-left: 19px;
}
@media screen and (max-width: 750px) {
    .c-pager-3__prev {
        padding-left: 4.2666666667vw;
    }
}
.c-pager-3__prev::before {
    left: 0;
    -webkit-mask-image: url(/img/common/icon_pager_prev.svg);
            mask-image: url(/img/common/icon_pager_prev.svg);
}
.c-pager-3__next {
    right: 0;
    padding-right: 19px;
}
@media screen and (max-width: 750px) {
    .c-pager-3__next {
        padding-right: 4.2666666667vw;
    }
}
.c-pager-3__next::before {
    right: 0;
    -webkit-mask-image: url(/img/common/icon_pager_next.svg);
            mask-image: url(/img/common/icon_pager_next.svg);
}
.c-pager-3__circle {
    position: absolute;
    top: 50%;
    right: 25px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid #005046;
    transform: translate(50%, -50%) scale(0);
    opacity: 1;
    animation: 1s circleAnimePager infinite;
}
@media screen and (max-width: 750px) {
    .c-pager-3__circle {
        right: 6.4vw;
        width: 8vw;
        height: 8vw;
    }
}
@keyframes circleAnimePager {
    0% {
        transform: translate(50%, -50%) scale(0);
        opacity: 1;
    }
    100% {
        transform: translate(50%, -50%) scale(1);
        opacity: 0;
    }
}

/*  c-pager-5
--------------------------------------------- */
.c-pager-5 {
    display: flex;
    justify-content: center;
    position: relative;
}
@media (hover: hover) and (pointer: fine) {
    .c-pager-5 a[href] {
        transition: opacity 0.3s;
    }
    .c-pager-5 a[href]:hover {
        opacity: 0.3;
    }
}
.c-pager-5__archive {
    align-self: flex-end;
    position: relative;
    margin-top: 9px;
    padding-top: 34px;
    font-weight: 500;
    font-size: 12px;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-pager-5__archive {
        align-self: center;
        margin: 3.2vw 0 2.9333333333vw;
        padding-top: 10.6666666667vw;
        font-size: 3.2vw;
    }
}
.c-pager-5__archive::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 24px;
    margin-left: 0.05em;
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    -webkit-mask-image: url(/img/common/icon_dots.svg);
            mask-image: url(/img/common/icon_dots.svg);
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-pager-5__archive::before {
        width: 8vw;
        height: 8vw;
    }
}
.c-pager-5__prev, .c-pager-5__next {
    display: flex;
    align-items: center;
    gap: 0 20px;
    position: absolute;
}
@media screen and (max-width: 750px) {
    .c-pager-5__prev, .c-pager-5__next {
        flex-direction: column;
        gap: 2.6666666667vw 0;
    }
}
.c-pager-5__prev.disabled, .c-pager-5__next.disabled {
    display: none;
}
.c-pager-5__prev {
    left: 0;
}
@media screen and (min-width: 751px) {
    .c-pager-5__prev {
        flex-direction: row;
    }
}
.c-pager-5__next {
    right: 0;
}
@media screen and (min-width: 751px) {
    .c-pager-5__next {
        flex-direction: row-reverse;
    }
}
.c-pager-5__name {
    position: relative;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.4444444444;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-pager-5__name {
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
    }
}
.c-pager-5__name::before {
    content: "";
    position: absolute;
    top: 5px;
    width: 10px;
    height: 16px;
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-pager-5__name::before {
        top: 1.0666666667vw;
        width: 2.1333333333vw;
        height: 3.4666666667vw;
    }
}
.c-pager-5__prev .c-pager-5__name {
    padding-left: 19px;
}
@media screen and (max-width: 750px) {
    .c-pager-5__prev .c-pager-5__name {
        padding-left: 4.2666666667vw;
    }
}
.c-pager-5__prev .c-pager-5__name::before {
    left: 0;
    -webkit-mask-image: url(/img/common/icon_pager_prev.svg);
            mask-image: url(/img/common/icon_pager_prev.svg);
}
.c-pager-5__next .c-pager-5__name {
    padding-right: 19px;
}
@media screen and (max-width: 750px) {
    .c-pager-5__next .c-pager-5__name {
        padding-right: 4.2666666667vw;
    }
}
.c-pager-5__next .c-pager-5__name::before {
    right: 0;
    -webkit-mask-image: url(/img/common/icon_pager_next.svg);
            mask-image: url(/img/common/icon_pager_next.svg);
}
.c-pager-5__thumbnail {
    width: 60px;
    height: 60px;
}
@media screen and (max-width: 750px) {
    .c-pager-5__thumbnail {
        width: 13.3333333333vw;
        height: 13.3333333333vw;
    }
}
@media screen and (max-width: 750px) {
    .c-pager-5__prev .c-pager-5__thumbnail {
        margin-left: 4.2666666667vw;
    }
}
@media screen and (max-width: 750px) {
    .c-pager-5__next .c-pager-5__thumbnail {
        margin-right: 4.2666666667vw;
    }
}
.c-pager-5__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
}

/* ---------------------------------------------
*   parts-list
--------------------------------------------- */
.test {
    position: relative;
    height: 1500px;
    background-color: #654125;
    overflow: hidden;
}
.test__bg {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1366px;
    height: 0%;
    background: url(/img/common/tree.png) center top no-repeat;
    background-size: 100% auto;
    z-index: 1;
}
.test__bg::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 50px;
    left: 0;
    bottom: 0;
    background: linear-gradient(to top, rgb(101, 65, 37), rgba(101, 65, 37, 0) 100%);
    transition: opacity 0.3s;
    transition-duration: 0.3s;
    opacity: 0;
}
.test__bg.is-active::before {
    opacity: 1;
}
.test__container {
    position: relative;
    z-index: 2;
    padding: 200px;
    color: #fff;
    font-size: 64px;
}

/* ---------------------------------------------
*   c-section
--------------------------------------------- */
/*  c-section-1
--------------------------------------------- */
.c-section-1 {
    padding-top: 160px;
}
@media screen and (max-width: 750px) {
    .c-section-1 {
        padding-top: 38.6666666667vw;
    }
}
.c-section-1--news, .c-section-1--news-detail {
    margin-bottom: 200px;
}
@media screen and (max-width: 750px) {
    .c-section-1--news, .c-section-1--news-detail {
        margin-bottom: 40vw;
    }
}
@media screen and (max-width: 750px) {
    .mac.safari .c-section-1--news-detail, .edge .c-section-1--news-detail {
        padding-top: 36vw;
    }
}

.c-section-1__container {
    max-width: 1000px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-section-1__container {
        width: 89.3333333333%;
        padding-inline: 0;
    }
}
.c-section-1--news .c-section-1__body {
    margin-top: 100px;
}
@media screen and (max-width: 750px) {
    .c-section-1--news .c-section-1__body {
        margin-top: 26.6666666667vw;
    }
}
.c-section-1--news .c-section-1__article {
    margin-top: 30px;
}
@media screen and (max-width: 750px) {
    .c-section-1--news .c-section-1__article {
        margin-top: 5.3333333333vw;
    }
}
.c-section-1--news-detail .c-section-1__detail {
    margin-top: 20px;
}
@media screen and (max-width: 750px) {
    .c-section-1--news-detail .c-section-1__detail {
        margin-top: 0;
    }
}
.c-section-1--news .c-section-1__pager {
    margin-top: 50px;
}
@media screen and (max-width: 750px) {
    .c-section-1--news .c-section-1__pager {
        margin-top: 16vw;
    }
}
.c-section-1--news-detail .c-section-1__pager {
    margin-top: 96px;
}
@media screen and (max-width: 750px) {
    .c-section-1--news-detail .c-section-1__pager {
        margin-top: 13.3333333333vw;
    }
}

/*  c-section-3
--------------------------------------------- */
.c-section-3 {
    display: flex;
    gap: 0 20px;
    position: relative;
    padding-bottom: 100px;
}
@media screen and (max-width: 750px) {
    .c-section-3 {
        gap: 0 4vw;
        padding-bottom: 26.6666666667vw;
    }
}
.c-section-3:last-of-type {
    padding-bottom: 0;
    background: linear-gradient(180deg, transparent 0%, transparent 90px, #fff 90px, #fff 100%);
}
.c-section-3[id^=anchor-] {
    margin-top: -70px;
    padding-top: 70px;
}
@media screen and (max-width: 750px) {
    .c-section-3[id^=anchor-] {
        margin-top: -70px;
        padding-top: 70px;
    }
}
.c-section-3__ttl {
    margin-top: -5px;
    margin-bottom: -5px;
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.75;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-section-3__ttl {
        margin-top: -0.5333333333vw;
        margin-bottom: -0.5333333333vw;
        font-size: 6.4vw;
        line-height: 1.6666666667;
        letter-spacing: 0.05em;
    }
}
.c-section-3__body {
    margin-top: 98px;
}
@media screen and (max-width: 750px) {
    .c-section-3__body {
        margin-top: 14.9333333333vw;
    }
}
.c-section-3__body.wysiwyg h3 {
    margin-top: -5px;
    margin-bottom: -5px;
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.75;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-section-3__body.wysiwyg h3 {
        margin-top: -0.5333333333vw;
        margin-bottom: -0.5333333333vw;
        font-size: 6.4vw;
        line-height: 1.6666666667;
        letter-spacing: 0.05em;
    }
}
.c-section-3__body.wysiwyg h4 {
    margin-top: 98px;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.6666666667;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-section-3__body.wysiwyg h4 {
        margin-top: 14.9333333333vw;
        font-size: 4.8vw;
        line-height: 1.7777777778;
        letter-spacing: 0.05em;
    }
}
.c-section-3__body.wysiwyg h4 + p {
    margin-top: 23px;
}
@media screen and (max-width: 750px) {
    .c-section-3__body.wysiwyg h4 + p {
        margin-top: 6.1333333333vw;
    }
}
.c-section-3__body.wysiwyg p {
    margin-top: 30px;
    margin-bottom: 30px;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-section-3__body.wysiwyg p {
        margin-top: 8vw;
        margin-bottom: 8vw;
        font-size: 3.7333333333vw;
    }
}
.c-section-3__body.wysiwyg p strong {
    font-weight: 700;
}
.c-section-3__body.wysiwyg p img {
    display: block;
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    border-radius: 8px;
}
@media screen and (max-width: 750px) {
    .c-section-3__body.wysiwyg p img {
        border-radius: 2.1333333333vw;
    }
}
.c-section-3__body.wysiwyg ol {
    list-style-type: none;
    counter-reset: item;
    margin-top: 30px;
    margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
    .c-section-3__body.wysiwyg ol {
        margin-top: 8vw;
        margin-bottom: 8vw;
    }
}
.c-section-3__body.wysiwyg li {
    margin-top: 8px;
    padding-left: 0.625rem;
    text-indent: -0.625rem;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.4285714286;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-section-3__body.wysiwyg li {
        margin-top: 2.1333333333vw;
        padding-left: 2.6666666667vw;
        text-indent: -2.6666666667vw;
        font-size: 3.7333333333vw;
    }
}
.c-section-3__body.wysiwyg li:first-of-type {
    margin-top: 0;
}
.c-section-3__body.wysiwyg li::before {
    counter-increment: item;
    content: counter(item) ".";
}
.c-section-3__body.wysiwyg blockquote {
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 20px 24px;
    border-radius: 4px;
    background-color: rgba(0, 80, 70, 0.05);
}
@media screen and (max-width: 750px) {
    .c-section-3__body.wysiwyg blockquote {
        margin-top: 8vw;
        margin-bottom: 8vw;
        padding: 4.2666666667vw 3.2vw;
        border-radius: 1.0666666667vw;
    }
}
.c-section-3__body.wysiwyg blockquote > * {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
}
.c-section-3__num {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    border: 1px solid #005046;
    border-radius: 50%;
    background-color: #fff;
    font-weight: 500;
    font-size: 1.4375rem;
    line-height: 1;
    z-index: 2;
}
@media screen and (max-width: 750px) {
    .c-section-3__num {
        width: 10.6666666667vw;
        height: 10.6666666667vw;
        font-size: 4vw;
    }
}
.c-section-3__border {
    display: inline-block;
    position: absolute;
    top: 70px;
    left: 30px;
    width: 1px;
    height: 0;
    background-color: #005046;
    z-index: 1;
}
@media screen and (max-width: 750px) {
    .c-section-3__border {
        top: 70px;
        left: 5.3333333333vw;
    }
}
.c-section-3:last-of-type .c-section-3__border {
    height: 0 !important;
}

/*  c-section-5
--------------------------------------------- */
@media screen and (max-width: 750px) {
    .c-section-5 {
        margin-bottom: 26.1333333333vw;
    }
}
@media screen and (max-width: 750px) {
    .c-section-5:last-of-type {
        margin-bottom: 0;
    }
}
.c-section-5[id^=anchor-] {
    margin-top: -70px;
    padding-top: 70px;
}
@media screen and (max-width: 750px) {
    .c-section-5[id^=anchor-] {
        margin-top: -70px;
        padding-top: 70px;
    }
}
.c-section-5__container {
    display: flex;
}
@media screen and (max-width: 750px) {
    .c-section-5__container {
        display: block;
    }
}
.c-section-5__img {
    width: 50%;
    min-height: 100vh;
}
@media screen and (max-width: 750px) {
    .c-section-5__img {
        width: 100%;
        min-height: auto;
        aspect-ratio: 375/420;
        margin-top: 12.2666666667vw;
    }
}
.c-section-5__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-section-5__content-outer {
    display: flex;
    justify-content: flex-end;
    width: 50%;
}
@media screen and (max-width: 750px) {
    .c-section-5__content-outer {
        display: block;
        width: 100%;
        padding-inline: 5.3333333333vw;
    }
}
.c-section-5__content {
    max-width: 613px;
    padding: 0 min(13.17715959%, 90px) 0 30px;
}
@media screen and (max-width: 750px) {
    .c-section-5__content {
        padding: 0;
    }
}
.c-section-5__lead {
    margin-top: 48px;
}
@media screen and (max-width: 750px) {
    .c-section-5__lead {
        margin-top: 9.8666666667vw;
    }
}
.c-section-5__txt {
    margin-top: 22px;
    margin-bottom: 100px;
}
@media screen and (max-width: 750px) {
    .c-section-5__txt {
        margin-top: 3.7333333333vw;
        margin-bottom: 0;
    }
}
.c-section-5__txt.wysiwyg p {
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-section-5__txt.wysiwyg p {
        font-size: 3.7333333333vw;
        letter-spacing: 0.02em;
    }
}
.c-section-5__txt.wysiwyg strong {
    font-weight: 700;
}

/*  c-section-7
--------------------------------------------- */
.c-section-7 {
    margin-top: 190px;
}
@media screen and (max-width: 750px) {
    .c-section-7 {
        margin-top: 19.2vw;
    }
}
.c-section-7:first-of-type {
    margin-top: 0;
}
.c-section-7__container {
    display: flex;
    flex-direction: row;
}
@media screen and (max-width: 750px) {
    .c-section-7__container {
        display: block;
    }
}
.c-section-7:nth-of-type(2n) .c-section-7__container {
    flex-direction: row-reverse;
}
.c-section-7__content-outer {
    display: flex;
    justify-content: flex-end;
    width: 50.7320644217%;
}
@media screen and (max-width: 750px) {
    .c-section-7__content-outer {
        display: block;
        width: 100%;
        padding-inline: 5.3333333333vw;
    }
}
.c-section-7:nth-of-type(2n) .c-section-7__content-outer {
    justify-content: flex-start;
}
.c-section-7__content {
    max-width: 603px;
    padding: 0 min(12.987012987%, 90px) 0 30px;
}
@media screen and (max-width: 750px) {
    .c-section-7__content {
        padding: 0;
    }
}
@media screen and (min-width: 751px) {
    .c-section-7:nth-of-type(2n) .c-section-7__content {
        padding: 0 30px 0 min(12.987012987%, 90px);
    }
}
.c-section-7__body {
    margin-top: 95px;
}
@media screen and (max-width: 750px) {
    .c-section-7__body {
        margin-top: 9.0666666667vw;
    }
}
.c-section-7__txt-wrap {
    margin-top: 96px;
}
@media screen and (max-width: 750px) {
    .c-section-7__txt-wrap {
        margin-top: 8.2666666667vw;
    }
}
.c-section-7__txt-wrap:first-of-type {
    margin-top: 0;
}
.c-section-7__txt {
    margin-top: 27px;
}
@media screen and (max-width: 750px) {
    .c-section-7__txt {
        margin-top: 9.3333333333vw;
    }
}
.c-section-7__txt .c-txt-5 {
    line-height: 2.5;
}
@media screen and (max-width: 750px) {
    .c-section-7__txt .c-txt-5 {
        line-height: 2;
    }
}
.c-section-7__img {
    position: sticky;
    top: 70px;
    width: 49.2679355783%;
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 673/450;
    margin-top: 5px;
}
@media screen and (max-width: 750px) {
    .c-section-7__img {
        position: static;
        width: 94.6666666667vw;
        height: auto;
        aspect-ratio: 355/238;
        margin-top: 9.3333333333vw;
        margin-left: auto;
        margin-right: 0;
    }
}
@media screen and (max-width: 750px) {
    .c-section-7:nth-of-type(2n) .c-section-7__img {
        margin-left: 0;
        margin-right: auto;
    }
}
.c-section-7:nth-of-type(2n) .c-section-7__img img {
    border-radius: 0 8px 8px 0;
}
@media screen and (max-width: 750px) {
    .c-section-7:nth-of-type(2n) .c-section-7__img img {
        border-radius: 0 2.1333333333vw 2.1333333333vw 0;
    }
}
.c-section-7__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 8px 0 0 8px;
}
@media screen and (max-width: 750px) {
    .c-section-7__img img {
        border-radius: 2.1333333333vw 0 0 2.1333333333vw;
    }
}

/*  c-section-9
--------------------------------------------- */
.c-section-9 {
    margin: 50px 0 134px;
}
@media screen and (max-width: 750px) {
    .c-section-9 {
        margin: 10.6666666667vw 0 40vw;
    }
}
.c-section-9__container {
    max-width: 1000px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-section-9__container {
        width: 89.3333333333%;
        padding-inline: 0;
    }
}
.c-section-9__body {
    margin-top: 46px;
}
@media screen and (max-width: 750px) {
    .c-section-9__body {
        margin-top: 9.6vw;
    }
}
.c-section-9__btn {
    margin-top: 46px;
}
@media screen and (max-width: 750px) {
    .c-section-9__btn {
        margin-top: 9.6vw;
    }
}
.c-section-9__btn .c-btn-6 {
    min-width: 254px;
    min-height: 50px;
}
@media screen and (max-width: 750px) {
    .c-section-9__btn .c-btn-6 {
        min-width: 51.7333333333vw;
        min-height: 11.7333333333vw;
    }
}
.c-section-9__btn .c-btn-6__txt {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-section-9__btn .c-btn-6__txt {
        font-size: 4.2666666667vw;
        letter-spacing: 0.02em;
    }
}
@media screen and (max-width: 750px) {
    .c-section-9__btn .c-btn-6__icon {
        width: 8vw;
        height: 8vw;
    }
}
.c-section-9__btn .c-btn-6__icon::before {
    transform: translate(-50%, -50%) scale(53.3333333333%);
}
@media screen and (max-width: 750px) {
    .c-section-9__btn .c-btn-6__icon::before {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}
.c-section-9__btn .c-btn-6__icon::after {
    opacity: 1;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.3s;
    will-change: transform, opacity;
    backface-visibility: hidden;
}
@media (hover: hover) and (pointer: fine) {
    .c-section-9__btn .c-btn-6:hover .c-btn-6__icon::after {
        transform: translate(-50%, -50%) scale(1);
    }
}

/*  c-section-11
--------------------------------------------- */
.c-section-11 {
    margin: 47px 0 200px;
}
@media screen and (max-width: 750px) {
    .c-section-11 {
        margin: 11.4666666667vw 0 40vw;
    }
}
.c-section-11__container {
    max-width: 840px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-section-11__container {
        width: 89.3333333333%;
        padding-inline: 0;
    }
}
.c-section-11__info {
    padding-bottom: 13px;
    font-weight: 300;
    font-size: 2.625rem;
    line-height: 1.6666666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-section-11__info {
        padding-bottom: 2.6666666667vw;
        font-size: 8.5333333333vw;
        line-height: 1.4375;
    }
}
.c-section-11__date {
    display: inline-block;
}
.c-section-11__head {
    padding: 40px 0 45px;
    border-top: 1px solid #005046;
    border-bottom: 1px solid #005046;
}
@media screen and (max-width: 750px) {
    .c-section-11__head {
        padding: 13.3333333333vw 0 12.5333333333vw;
        border-width: 0.2666666667vw;
    }
}
.c-section-11__lead {
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.4444444444;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-section-11__lead {
        font-size: 4.8vw;
    }
}
.c-section-11__ttl {
    margin-top: 15px;
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.75;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-section-11__ttl {
        margin-top: 4.8vw;
        font-size: 6.4vw;
        line-height: 1.6666666667;
    }
}
.c-section-11__body {
    margin-top: 98px;
}
@media screen and (max-width: 750px) {
    .c-section-11__body {
        margin-top: 26.1333333333vw;
    }
}
.c-section-11__body.wysiwyg h2 {
    margin-top: 100px;
    margin-bottom: 13px;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.6666666667;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg h2 {
        margin-top: 26.6666666667vw;
        margin-bottom: 5.0666666667vw;
        font-size: 5.3333333333vw;
        line-height: 1.7;
        letter-spacing: 0.05em;
    }
}
.c-section-11__body.wysiwyg h2 + * {
    margin-top: 13px !important;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg h2 + * {
        margin-top: 5.0666666667vw;
    }
}
.c-section-11__body.wysiwyg p {
    margin-top: 50px;
    margin-bottom: 50px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg p {
        margin-top: 13.3333333333vw;
        margin-bottom: 13.3333333333vw;
        font-size: 4.2666666667vw;
    }
}
.c-section-11__body.wysiwyg small {
    margin-top: -35px;
    display: block;
    font-size: 0.875rem;
    line-height: 1.7857142857;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg small {
        margin-top: -9.3333333333vw;
        font-size: 3.7333333333vw;
    }
}
.c-section-11__body.wysiwyg a {
    display: inline-block;
    position: relative;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg a {
        font-size: 4.2666666667vw;
    }
}
.c-section-11__body.wysiwyg a::before {
    content: "";
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg a::before {
        bottom: 0.2666666667vw;
        height: 0.2666666667vw;
    }
}
.c-section-11__body.wysiwyg a[target=_blank] {
    padding-right: 24px;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg a[target=_blank] {
        padding-right: 6.4vw;
    }
}
.c-section-11__body.wysiwyg a[target=_blank]::before {
    width: calc(100% - 24px);
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg a[target=_blank]::before {
        width: calc(100% - 6.4vw);
    }
}
.c-section-11__body.wysiwyg a[target=_blank]::after {
    content: "";
    position: absolute;
    right: 6px;
    bottom: 4px;
    width: 12px;
    height: 12px;
    background: url(/img/common/icon_link.svg) 0 0 no-repeat;
    background-size: 100% 100%;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg a[target=_blank]::after {
        right: 1.6vw;
        bottom: 1.0666666667vw;
        width: 3.2vw;
        height: 3.2vw;
    }
}
.c-section-11__body.wysiwyg img {
    display: block;
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    border-radius: 8px;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg img {
        border-radius: 2.1333333333vw;
    }
}
.c-section-11__body.wysiwyg ul, .c-section-11__body.wysiwyg ol {
    list-style-type: none;
    padding-left: 0;
    margin-top: 50px;
    margin-bottom: 50px;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg ul, .c-section-11__body.wysiwyg ol {
        margin-top: 13.3333333333vw;
        margin-bottom: 13.3333333333vw;
    }
}
.c-section-11__body.wysiwyg ul li::before {
    content: "●";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 10px;
    line-height: 3.2;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg ul li::before {
        font-size: 2.6666666667vw;
    }
}
.c-section-11__body.wysiwyg ol {
    counter-reset: item;
}
.c-section-11__body.wysiwyg ol li::before {
    counter-increment: item;
    content: counter(item) ".";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.c-section-11__body.wysiwyg li {
    position: relative;
    margin-top: 6px;
    padding-left: 20px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg li {
        margin-top: 1.6vw;
        padding-left: 5.3333333333vw;
        font-size: 4.2666666667vw;
    }
}
.c-section-11__body.wysiwyg li:first-of-type {
    margin-top: 0;
}
.c-section-11__body.wysiwyg blockquote {
    position: relative;
    max-width: 770px;
    margin-top: 50px;
    margin-bottom: 50px;
    margin-inline: auto;
    padding: 40px;
    background-color: #EBF3EF;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg blockquote {
        max-width: none;
        margin-top: 13.3333333333vw;
        margin-bottom: 13.3333333333vw;
        padding: 10.6666666667vw 10.6666666667vw 9.3333333333vw;
    }
}
.c-section-11__body.wysiwyg blockquote > :first-child {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
}
.c-section-11__body.wysiwyg blockquote > :last-child {
    margin-bottom: 0 !important;
}
.c-section-11__body.wysiwyg blockquote > * {
    margin-top: 0;
}
.c-section-11__body.wysiwyg blockquote p {
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.7;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg blockquote p {
        font-size: 5.3333333333vw;
    }
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg blockquote a {
        position: relative;
        top: -0.5333333333vw;
        font-size: 3.4666666667vw;
        line-height: 1.4615384615;
    }
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg blockquote a::before {
        bottom: 0.5333333333vw;
    }
}
.c-section-11__body.wysiwyg blockquote::before, .c-section-11__body.wysiwyg blockquote::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 12px;
    background: 0 0 no-repeat;
    background-size: 100% auto;
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg blockquote::before, .c-section-11__body.wysiwyg blockquote::after {
        width: 4.2666666667vw;
        height: 3.2vw;
    }
}
.c-section-11__body.wysiwyg blockquote::before {
    top: 16px;
    left: 16px;
    background-image: url(/img/common/icon_quotation_start.svg);
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg blockquote::before {
        top: 4.2666666667vw;
        left: 4.2666666667vw;
    }
}
.c-section-11__body.wysiwyg blockquote::after {
    right: 16px;
    bottom: 16px;
    background-image: url(/img/common/icon_quotation_end.svg);
}
@media screen and (max-width: 750px) {
    .c-section-11__body.wysiwyg blockquote::after {
        right: 4.2666666667vw;
        bottom: 4.2666666667vw;
    }
}
.c-section-11__pager {
    max-width: 1000px;
    margin: 100px auto 0;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-section-11__pager {
        width: 89.3333333333%;
        margin-top: 13.3333333333vw;
        padding-inline: 0;
    }
}
.c-section-11__pager .c-pager-3__prev,
.c-section-11__pager .c-pager-3__next {
    margin-top: 10px;
}
@media screen and (max-width: 750px) {
    .c-section-11__pager .c-pager-3__prev,
    .c-section-11__pager .c-pager-3__next {
        margin-top: 4vw;
    }
}

/*  c-section-13
--------------------------------------------- */
.c-section-13 {
    padding-top: 90px;
    margin-top: -90px;
    margin-bottom: 200px;
}
@media screen and (max-width: 750px) {
    .c-section-13 {
        margin-bottom: 53.3333333333vw;
    }
}
.c-section-13:last-of-type {
    margin-bottom: 0;
}
.c-section-13__head {
    margin-bottom: 50px;
    padding-bottom: 14px;
    border-bottom: 2px solid #005046;
}
@media screen and (max-width: 750px) {
    .c-section-13__head {
        margin-bottom: 13.3333333333vw;
        padding-bottom: 3.7333333333vw;
        border-width: 0.5333333333vw;
    }
}
.c-section-13__ttl {
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.4375;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-section-13__ttl {
        font-size: 6.4vw;
        line-height: 1.4583333333;
    }
}
.c-section-13__sec-outer {
    padding: 80px 0;
    border-bottom: 1px solid rgba(0, 80, 70, 0.2);
}
@media screen and (max-width: 750px) {
    .c-section-13__sec-outer {
        padding: 13.3333333333vw 0;
        border-width: 0.2666666667vw;
    }
}
.c-section-13__sec-outer:first-of-type {
    padding-top: 0;
}
.c-section-13__sec-outer:last-of-type {
    padding-bottom: 0;
    border-bottom: none;
}

/*  c-section-15
--------------------------------------------- */
.c-section-15:nth-of-type(n+2) {
    margin-top: 80px;
}
@media screen and (max-width: 750px) {
    .c-section-15:nth-of-type(n+2) {
        margin-top: 21.3333333333vw;
    }
}
.c-section-15--grid {
    display: grid;
    -moz-column-gap: 20px;
         column-gap: 20px;
    grid-template: auto auto/46fr 30fr;
    grid-template-areas: "a b" "c b";
}
@media screen and (max-width: 750px) {
    .c-section-15--grid {
        display: block;
    }
}
.c-section-15--grid .c-section-15__head {
    grid-area: a;
}
.c-section-15--grid .c-section-15__img {
    grid-area: b;
    align-self: center;
}
@media screen and (max-width: 750px) {
    .c-section-15--grid .c-section-15__img {
        width: 53.3333333333vw;
        margin-inline: auto;
    }
}
.c-section-15--grid .c-section-15__img img {
    border-radius: 0 !important;
}
.c-section-15--grid .c-section-15__body {
    grid-area: c;
}
@media screen and (max-width: 750px) {
    .c-section-15__body {
        margin-top: 4.2666666667vw;
    }
}
.c-section-15__body .alert {
    position: fixed;
    top: 70px;
    left: 0;
    width: 100%;
    box-shadow: 0px 0px 20px rgba(178, 178, 178, 0.3);
    background-color: #005046;
    z-index: 999;
}
@media screen and (max-width: 750px) {
    .c-section-15__body .alert {
        box-shadow: 0px 0px 5.3333333333vw rgba(178, 178, 178, 0.3);
    }
}
.c-section-15__body .alert p {
    padding: 15px 30px;
    color: #fff;
    font-weight: 500;
    font-size: 0.9375rem;
    line-height: 1;
    letter-spacing: 0.03em;
    text-align: center;
}
@media screen and (max-width: 750px) {
    .c-section-15__body .alert p {
        padding: 3.4666666667vw 5.3333333333vw;
        font-size: 3.7333333333vw;
    }
}
.c-section-15__head {
    margin-bottom: 20px;
}
@media screen and (max-width: 750px) {
    .c-section-15__head {
        margin-bottom: 5.3333333333vw;
    }
}
.c-section-15__ttl {
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.45;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-section-15__ttl {
        font-size: 5.3333333333vw;
    }
}
.c-section-15__txt {
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-section-15__txt {
        font-size: 4.2666666667vw;
    }
}
.c-section-15__txt--s {
    font-size: 14px;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-section-15__txt--s {
        font-size: 3.7333333333vw;
    }
}
.c-section-15__lead {
    margin-top: 20px;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-section-15__lead {
        margin-top: 5.3333333333vw;
        font-size: 3.2vw;
    }
}
.c-section-15__box {
    padding: 16px 20px;
    border-radius: 4px;
    background-color: #EBF3EF;
}
@media screen and (max-width: 750px) {
    .c-section-15__box {
        padding: 4.2666666667vw 5.3333333333vw;
        border-radius: 1.0666666667vw;
    }
}
.c-section-15__img img {
    display: block;
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    border-radius: 8px;
}
@media screen and (max-width: 750px) {
    .c-section-15__img img {
        border-radius: 2.1333333333vw;
    }
}
.c-section-15__btn-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 20px;
    margin-top: 38px;
}
@media screen and (max-width: 750px) {
    .c-section-15__btn-wrap {
        gap: 4vw 5.3333333333vw;
        margin-top: 10.1333333333vw;
    }
}
.c-section-15__btn-wrap .c-btn-6 {
    min-width: 147px;
    padding-top: 8px;
    padding-bottom: 10px;
    cursor: pointer;
}
@media screen and (max-width: 750px) {
    .c-section-15__btn-wrap .c-btn-6 {
        gap: 0.8vw;
        min-width: 39.2vw;
        min-height: 13.3333333333vw;
        padding-top: 1.8666666667vw;
        padding-bottom: 1.8666666667vw;
        padding-right: 2.4vw;
    }
}
@media screen and (max-width: 750px) {
    .c-section-15__btn-wrap .c-btn-6__txt {
        font-size: 4.2666666667vw;
        letter-spacing: 0.05em;
    }
}
@media screen and (max-width: 750px) {
    .c-section-15__btn-wrap .c-btn-6__icon {
        width: 8vw;
        height: 8vw;
    }
}
.c-section-15__btn-wrap .c-btn-6__icon::before {
    transform: translate(-50%, -50%) scale(53.3333333333%);
}
@media screen and (max-width: 750px) {
    .c-section-15__btn-wrap .c-btn-6__icon::before {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}
.c-section-15__btn-wrap .c-btn-6__icon::after {
    opacity: 1;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.3s;
    will-change: transform, opacity;
    backface-visibility: hidden;
}
@media (hover: hover) and (pointer: fine) {
    .c-section-15__btn-wrap .c-btn-6:hover .c-btn-6__icon::after {
        transform: translate(-50%, -50%) scale(1);
    }
}

/*  c-section-17
--------------------------------------------- */
.c-section-17 {
    margin-top: 100px;
}
@media screen and (max-width: 750px) {
    .c-section-17 {
        margin-top: 26.6666666667vw;
    }
}
.c-section-17:first-of-type {
    margin-top: 0;
}
.c-section-17__content {
    max-width: 613px;
    padding: 0 min(13.17715959%, 90px) 0 30px;
}
@media screen and (max-width: 750px) {
    .c-section-17__content {
        padding: 0;
    }
}
.c-section-17__lead {
    margin-top: 35px;
}
@media screen and (max-width: 750px) {
    .c-section-17__lead {
        margin-top: 9.3333333333vw;
    }
}
.c-section-17__txt {
    margin-top: 25px;
    margin-bottom: 100px;
}
@media screen and (max-width: 750px) {
    .c-section-17__txt {
        margin-top: 5.3333333333vw;
        margin-bottom: 0;
    }
}
.c-section-17__txt.wysiwyg p {
    margin-top: 30px;
    margin-bottom: 30px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-section-17__txt.wysiwyg p {
        margin-top: 8vw;
        margin-bottom: 8vw;
        font-size: 3.7333333333vw;
        letter-spacing: 0.02em;
    }
}
.c-section-17__txt.wysiwyg strong {
    font-weight: 700;
}
.c-section-17__txt.wysiwyg img {
    display: block;
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    border-radius: 8px;
}
@media screen and (max-width: 750px) {
    .c-section-17__txt.wysiwyg img {
        border-radius: 2.1333333333vw;
    }
}

/*  c-section-19
--------------------------------------------- */
.c-section-19 {
    margin-top: 100px;
}
@media screen and (max-width: 750px) {
    .c-section-19 {
        margin-top: 10.6666666667vw;
    }
}
.c-section-19__container {
    max-width: 1000px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-section-19__container {
        width: 89.3333333333%;
        padding-inline: 0;
    }
}
.c-section-19__txt {
    margin-top: 24px;
}
@media screen and (max-width: 750px) {
    .c-section-19__txt {
        margin-top: 5.3333333333vw;
    }
}

/* ---------------------------------------------
*   c-section-2
--------------------------------------------- */
.c-section-2 {
    padding: 94px 20px 198px;
}
@media screen and (max-width: 750px) {
    .c-section-2 {
        padding: 13.3333333333vw 10px 11vw;
    }
}
.c-section-2__container {
    max-width: 1206px;
    width: 88.2869692533%;
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    .c-section-2__container {
        width: 89.3333333333vw;
    }
}
.c-section-2__wrap {
    width: 583px;
    margin-right: auto;
}
@media screen and (max-width: 750px) {
    .c-section-2__wrap {
        width: 100%;
        margin: 0 auto;
    }
}
.c-section-2__contents + .c-section-2__contents {
    padding-top: 88px;
}
@media screen and (max-width: 750px) {
    .c-section-2__contents + .c-section-2__contents {
        padding-top: 24vw;
    }
}
.c-section-2__body {
    margin-top: 37px;
}
@media screen and (max-width: 750px) {
    .c-section-2__body {
        margin-top: 10.9333333333vw;
    }
}
.c-section-2__btn-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
    margin-top: 41px;
}
@media screen and (max-width: 750px) {
    .c-section-2__btn-wrap {
        gap: 3.2vw;
        margin-top: 11.2vw;
    }
}
@media screen and (max-width: 750px) {
    .c-section-2--message .c-section-2__btn-wrap {
        flex-direction: column;
        align-items: flex-start;
        gap: 2.1333333333vw;
    }
    .c-section-2--message .c-section-2__btn-wrap .c-btn-4 {
        min-width: 48vw;
        font-size: 4.2666666667vw;
        letter-spacing: 0.02em;
    }
}
@media screen and (min-width: 751px) {
    .c-section-2--message {
        padding-left: 0;
        padding-right: 0;
    }
    .c-section-2--message .c-section-2__container {
        max-width: auto;
        width: 100%;
        margin: 0 auto;
    }
}

/* ---------------------------------------------
*   c-section-4
--------------------------------------------- */
@media screen and (max-width: 750px) {
    .c-section-4 {
        padding-bottom: 10.6666666667vw;
    }
}
.c-section-4__container {
    padding: 0 10px;
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    .c-section-4__container {
        padding: 13.3333333333vw 0 0;
    }
}
.c-section-4__head {
    border-bottom: 1px solid rgba(0, 80, 70, 0.2);
    padding-bottom: 50px;
}
@media screen and (max-width: 750px) {
    .c-section-4__head {
        padding-bottom: 13.3333333333vw;
    }
}
.c-section-4__body {
    padding: 50px 5px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 10.6382978723%;
    //border-bottom: 1px solid rgba(0, 80, 70, 0.2);
}
@media screen and (max-width: 750px) {
    .c-section-4__body {
        padding: 13.3333333333vw 0;
        display: block;
    }
}
.c-section-4__logo {
    position: relative;
    padding-top: 31.914893617%;
    display: block;
    flex-shrink: 0;
    width: 31.914893617%;
    margin-top: 9px;
}
@media screen and (max-width: 750px) {
    .c-section-4__logo {
        padding-top: 80vw;
        width: 80vw;
        margin: 5.3333333333vw auto 0;
    }
}
.c-section-4__inner {
    width: 49.1489361702%;
}
@media screen and (max-width: 750px) {
    .c-section-4__inner {
        width: 100%;
        margin-top: 4.2666666667vw;
    }
}
.c-section-4__by {
    display: block;
    margin: 8px auto 26px;
}
@media screen and (max-width: 750px) {
    .c-section-4__by {
        margin: 2.9333333333vw auto 6.6666666667vw;
    }
}
.c-section-4__by-txt {
    font-size: 12px;
    font-weight: 500;
    line-height: 2.1666666667;
}
@media screen and (max-width: 750px) {
    .c-section-4__by-txt {
        font-size: 3.2vw;
    }
}
.c-section-4__by-link {
    display: inline-block;
    width: 80px;
    transform: translateY(-3px);
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .c-section-4__by-link {
        transition: opacity 300ms;
    }
    .c-section-4__by-link:hover {
        opacity: 0.3;
    }
}
@media screen and (max-width: 750px) {
    .c-section-4__by-link {
        width: 21.3333333333vw;
        transform: translateY(-3px);
    }
}
.c-section-4__by-link img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-section-4__foot {
    padding: 50px 0 0;
}
@media screen and (max-width: 750px) {
    .c-section-4__foot {
        padding-top: 13.3333333333vw;
    }
}

/* ---------------------------------------------
*   c-section-6
--------------------------------------------- */
.c-section-6 {
    padding: 137px 0 140px;
    background: url(/img/service/img_bg-1.jpg) 0 0 no-repeat;
    background-size: cover;
}
@media screen and (max-width: 750px) {
    .c-section-6 {
        padding: 21.3333333333vw 0;
        background: url(/img/service/sp/img_bg-1.png) 0 0 no-repeat;
        background-size: cover;
    }
}
.c-section-6__container {
    padding: 0 30px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 3.0208333333%;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    .c-section-6__container {
        padding: 0;
        display: block;
        width: 89.3333333333vw;
        height: 100%;
    }
}
.c-section-6__head {
    flex-shrink: 0;
    width: 54.2553191489%;
}
@media screen and (max-width: 750px) {
    .c-section-6__head {
        width: 100%;
    }
}
.c-section-6__txt-wrap {
    margin-top: 31px;
}
@media screen and (max-width: 750px) {
    .c-section-6__txt-wrap {
        margin-top: 12.2666666667vw;
    }
}
.c-section-6__btn {
    margin-top: 35px;
}
@media screen and (max-width: 750px) {
    .c-section-6__btn {
        margin-top: 9.3333333333vw;
    }
}
.c-section-6__body {
    width: 41.4893617021%;
}
@media screen and (min-width: 751px) {
    .c-section-6__body.js-fadein-up.is-active {
        transition-delay: 0.8s;
    }
}
@media screen and (max-width: 750px) {
    .c-section-6__body {
        margin-top: 9.8666666667vw;
        width: 100%;
    }
}
.c-section-6__illust {
    width: 100%;
}
@media screen and (max-width: 750px) {
    .c-section-6__illust {
        width: 53.3333333333vw;
        margin: 0 auto;
    }
}
.c-section-6__illust img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-section-6--organization {
    background: url(/img/service/img_bg-2.jpg) 0 0 no-repeat;
    background-size: cover;
}
@media screen and (max-width: 750px) {
    .c-section-6--organization {
        background: url(/img/service/sp/img_bg-2.png) 0 0 no-repeat;
        background-size: cover;
    }
}

/* ---------------------------------------------
*   c-section-8
--------------------------------------------- */
.c-section-8 {
    padding-bottom: 223px;
    display: flex;
    max-width: 1366px;
    width: 100%;
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    .c-section-8 {
        padding-top: 8vw;
        padding-bottom: 40vw;
        display: block;
        width: 89.3333333333vw;
    }
}
.c-section-8__nav {
    padding-top: 100px;
    flex-shrink: 0;
    width: 27.3060029283%;
}
@media screen and (max-width: 750px) {
    .c-section-8__nav {
        padding-top: 0;
        width: 100%;
    }
}
.c-section-8__contents {
    flex-shrink: 0;
    width: 72.6939970717%;
}
@media screen and (max-width: 750px) {
    .c-section-8__contents {
        width: 100%;
    }
}

/* ---------------------------------------------
*   c-section-10
--------------------------------------------- */
.c-section-10 {
    padding: 165px 20px 196px;
}
@media screen and (max-width: 750px) {
    .c-section-10 {
        padding: 39.4666666667vw 10px 40vw;
    }
}
.c-section-10__container {
    max-width: 940px;
    width: 100%;
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    .c-section-10__container {
        width: 89.3333333333vw;
    }
}
.c-section-10__head {
    margin-bottom: 46px;
}
@media screen and (max-width: 750px) {
    .c-section-10__head {
        margin-bottom: 12.2666666667vw;
    }
}
.c-section-10__day {
    padding: 8px 20px;
    display: flex;
    align-items: center;
    width: 100%;
    background-color: #F0F0F0;
    white-space: nowrap;
    margin-top: 45px;
    border-radius: 4px;
}
@media screen and (max-width: 750px) {
    .c-section-10__day {
        padding: 2.1333333333vw 5.3333333333vw;
        margin-top: 12.5333333333vw;
        border-radius: 2.6666666667vw;
    }
}
.c-section-10__day-txt {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.7142857143;
    text-align: left;
}
@media screen and (max-width: 750px) {
    .c-section-10__day-txt {
        font-size: 3.7333333333vw;
    }
}
.c-section-10__body {
    margin-bottom: 42px;
}
@media screen and (max-width: 750px) {
    .c-section-10__body {
        margin-bottom: 11.2vw;
    }
    .c-section-10__body--security {
        margin-bottom: 4.9vw;
    }
}
.c-section-10__note {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-section-10__note {
        font-size: 3.7333333333vw;
    }
}
.c-section-10__sign {
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
    text-align: right;
}
@media screen and (max-width: 750px) {
    .c-section-10__sign {
        font-size: 4.2666666667vw;
    }
}
@media screen and (max-width: 750px) {
    .c-section-10__sign--security {
        font-size: 3.7333333333vw;
    }
}
.c-section-10--agreement .c-section-10__body {
    margin-bottom: 5px;
}
@media screen and (max-width: 750px) {
    .c-section-10--agreement .c-section-10__body {
        margin-bottom: 1.6vw;
    }
}

/* ---------------------------------------------
*   c-section-fullpage
--------------------------------------------- */
.c-section-fullpage {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 750px) {
    .c-section-fullpage {
        min-height: 100svh;
    }
}
@media screen and (max-width: 750px) {
    .c-section-fullpage--top {
        height: 100lvh;
    }
}
.ipad .c-section-fullpage--top {
    height: 100lvh;
}

.c-section-fullpage--last {
    min-height: 100svh;
}
@media screen and (max-width: 750px) {
    .c-section-fullpage--last {
        min-height: 100lvh;
    }
}
.c-section-fullpage--5 {
    display: block;
}

/* ---------------------------------------------
*   c-selector
--------------------------------------------- */
/*  c-selector-1
--------------------------------------------- */
.c-selector-1 {
    display: flex;
    align-items: center;
    gap: 0 30px;
}
@media screen and (max-width: 750px) {
    .c-selector-1 {
        gap: 0 5.3333333333vw;
    }
}
.c-selector-1 a {
    color: #B2B2B2;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.4583333333;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-selector-1 a {
        font-size: 5.3333333333vw;
        line-height: 1.45;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-selector-1 a {
        transition: opacity 0.3s;
    }
    .c-selector-1 a:hover {
        opacity: 0.7;
    }
}
.c-selector-1 a[aria-current=page] {
    color: #005046;
}

/* ---------------------------------------------
*   c-slider
--------------------------------------------- */
/*  c-slider-1
--------------------------------------------- */
.c-slider-1--bnr {
    padding: 30px 0;
    overflow: hidden;
}
@media screen and (max-width: 750px) {
    .c-slider-1--bnr {
        padding: 8vw 0;
    }
}
.c-slider-1--bnr .splide__track {
    overflow: inherit;
}
.c-slider-1:not(.is-active) .c-slider-1__wrapper {
    max-width: 1000px;
    margin-inline: auto;
    padding-inline: 30px;
}
@media screen and (max-width: 750px) {
    .c-slider-1:not(.is-active) .c-slider-1__wrapper {
        max-width: none;
        padding-inline: 5.3333333333vw;
    }
}
.c-slider-1:not(.is-active) .splide__list {
    display: flex !important;
    justify-content: center;
}
@media screen and (max-width: 750px) {
    .c-slider-1:not(.is-active) .splide__list {
        display: block !important;
    }
}
.c-slider-1:not(.is-active) .splide__slide {
    width: 31.914893617%;
    margin-left: 2.1276595745%;
}
@media screen and (max-width: 750px) {
    .c-slider-1:not(.is-active) .splide__slide {
        width: 100%;
        margin-left: 0;
    }
}
.c-slider-1:not(.is-active) .splide__slide:first-of-type {
    margin-left: 0;
}
@media screen and (max-width: 750px) {
    .c-slider-1--case .splide__slide {
        max-width: 60.2666666667vw !important;
    }
}
.c-slider-1 .splide__slide {
    max-width: 300px;
}
@media screen and (max-width: 750px) {
    .c-slider-1 .splide__slide {
        max-width: none;
    }
}
.c-slider-1 .splide__slide img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-card-1__content {
        padding-top: 3.4666666667vw;
        padding-inline: 3.7333333333vw;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-card-1__head {
        gap: 0 1.3333333333vw;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-card-1__icon {
        width: 9.8666666667vw;
        height: 9.8666666667vw;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-card-1__ttl-outer {
        padding-top: 0;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-card-1__lead {
        font-size: 2.6666666667vw;
        line-height: 1.5;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-card-1__ttl {
        margin-top: 0.2666666667vw;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-card-1__txt {
        margin-top: 3.2vw;
        font-size: 3.7333333333vw;
        line-height: 1.7142857143;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-card-1__link {
        padding-inline: 0;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-card-1__img {
        aspect-ratio: 226/151;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-card-1__img img {
        border-radius: 2.1333333333vw 2.1333333333vw 0 0;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-card-1__tag {
        bottom: 2.1333333333vw;
        left: 3.7333333333vw;
        width: 52.8vw;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-tag-1 {
        gap: 1.6vw 1.3333333333vw;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-tag-1__txt {
        padding-top: 0.2666666667vw;
        font-size: 3.2vw;
        line-height: 1.4166666667;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .c-tag-1__txt::before {
        top: 1.3333333333vw;
        width: 2.4vw;
        height: 2.4vw;
    }
}
.c-slider-1__wrapper {
    position: relative;
}
.c-slider-1 .splide__slide {
    transform: translate3d(0, 0, 0);
}
.c-slider-1 .splide__arrow {
    --arrow-pos-x: 33px;
    position: absolute;
    top: 50%;
    z-index: 1;
    translate: 0 -50%;
    display: grid;
    place-items: center;
    width: 40px;
    height: 120px;
    border-radius: 20px;
    background-color: #fff;
    border: 1px solid rgba(25, 140, 95, 0.2);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
    transform: translateZ(0);
    box-sizing: border-box;
    touch-action: manipulation;
    cursor: pointer;
    overflow: hidden;
    transition: opacity 0.3s, border 0.3s, background-color 0.3s;
}
@media screen and (max-width: 750px) {
    .c-slider-1 .splide__arrow {
        --arrow-pos-x: 10px;
    }
}
@media screen and (max-width: 750px) {
    .c-slider-1 .splide__arrow {
        width: 10.6666666667vw;
        height: 32vw;
        border-radius: 5.3333333333vw;
        transform: translate(0, 22%, 0);
    }
}
.c-slider-1 .splide__arrow--prev {
    left: var(--arrow-pos-x);
    box-shadow: 0px -10px 20px rgba(0, 0, 0, 0.3);
    rotate: 180deg;
}
@media screen and (max-width: 750px) {
    .c-slider-1 .splide__arrow--prev {
        display: none;
    }
}
.c-slider-1 .splide__arrow--next {
    right: var(--arrow-pos-x);
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .c-slider-1 .splide__arrow:hover {
        border: 1px solid #005046;
        opacity: 1;
    }
    .c-slider-1 .splide__arrow:hover::before {
        background-color: #fff;
    }
    .c-slider-1 .splide__arrow:hover::after {
        opacity: 1;
    }
}
.c-slider-1 .splide__arrow::before {
    content: "";
    position: absolute;
    z-index: 2;
    display: block;
    width: 16px;
    height: 16px;
    -webkit-mask: url(/img/common/icon_arrow.svg) 0 0 no-repeat;
            mask: url(/img/common/icon_arrow.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    background-color: #005046;
    box-sizing: border-box;
    transition: background-color 0.3s;
    transform: rotate(180deg) translate3d(0, 0, 0);
    will-change: transform;
}
@media screen and (max-width: 750px) {
    .c-slider-1 .splide__arrow::before {
        width: 4.2666666667vw;
        height: 4.2666666667vw;
    }
}
.c-slider-1 .splide__arrow::after {
    content: "";
    position: absolute;
    z-index: 1;
    display: block;
    width: 102%;
    height: 102%;
    background: linear-gradient(#008269 0%, #005046 100%);
    box-sizing: border-box;
    opacity: 0;
    transition: opacity 0.3s;
}
@media screen and (max-width: 750px) {
    .c-slider-1--bnr .splide__arrow {
        width: 8.5333333333vw;
        height: 16vw;
        transform: translateZ(0);
    }
    .c-slider-1--bnr .splide__arrow::before {
        width: 3.2vw;
        height: 3.2vw;
    }
}
.c-slider-1__wrap {
    display: block;
}
.c-slider-1__img {
    display: block;
    width: 100%;
}
.c-slider-1__img img {
    width: 100%;
    aspect-ratio: 300/200;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 8px;
}
@media screen and (max-width: 750px) {
    .c-slider-1__img img {
        aspect-ratio: 226/151;
    }
}

/* ---------------------------------------------
*   c-tab
--------------------------------------------- */
/*  c-tab-1
--------------------------------------------- */
.c-tab-1 {
    position: fixed;
    bottom: 22px;
    left: 0;
    right: 0;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    transition: opacity 0.3s;
    z-index: 9;
}
@media screen and (max-width: 750px) {
    .c-tab-1 {
        bottom: 7.2vw;
        width: 72.5333333333%;
    }
}
.c-tab-1__bg {
    position: absolute;
    max-height: 100%;
    border-radius: 100px;
    background: linear-gradient(135deg, #008269 0%, #005046 50%);
    transition: all 0.3s;
}
.c-tab-1__list {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 6px;
    background-color: #fff;
    border-radius: 100px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 750px) {
    .c-tab-1__list {
        padding: 1.6vw;
        border-radius: 26.6666666667vw;
        box-shadow: 0 0 5.3333333333vw rgba(0, 0, 0, 0.3);
    }
}
.c-tab-1__item {
    width: 160px;
}
@media screen and (max-width: 750px) {
    .c-tab-1__item {
        width: 50%;
    }
}
.c-tab-1__trigger {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 56px;
    border-radius: 100px;
    color: #B2B2B2;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
}
@media screen and (max-width: 750px) {
    .c-tab-1__trigger {
        height: 11.7333333333vw;
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-tab-1__trigger {
        transition: opacity 0.3s;
    }
    .c-tab-1__trigger:hover {
        opacity: 0.6;
    }
}
.c-tab-1__trigger.is-current {
    color: #fff;
}

/* ---------------------------------------------
*   c-table-2
--------------------------------------------- */
.c-table-2__tbl {
    width: 100%;
}
.c-table-2__tbl tr {
    padding-top: 25px;
    display: flex;
    flex-direction: column;
}
@media screen and (max-width: 750px) {
    .c-table-2__tbl tr {
        padding-top: 4.2666666667vw;
        display: block;
    }
}
.c-table-2__tbl tr:first-of-type {
    padding-top: 0;
}
.c-table-2__tbl th,
.c-table-2__tbl td {
    letter-spacing: 0.05em;
    line-height: 2;
    box-sizing: border-box;
    word-break: break-all;
}
@media screen and (max-width: 750px) {
    .c-table-2__tbl th,
    .c-table-2__tbl td {
        line-height: 1.7;
    }
}
@media screen and (min-width: 751px) {
    .c-table-2__tbl th a,
    .c-table-2__tbl td a {
        pointer-events: none;
    }
}
.c-table-2__tbl th {
    font-size: 12px;
    font-weight: 700;
    vertical-align: top;
}
@media screen and (max-width: 750px) {
    .c-table-2__tbl th {
        font-size: 3.7333333333vw;
        width: 25.0666666667vw;
    }
}
.c-table-2__tbl td {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-table-2__tbl td {
        font-size: 3.7333333333vw;
    }
}
.c-table-2__tbl--wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}
@media screen and (max-width: 750px) {
    .c-table-2__tbl--wrap {
        display: block;
    }
}
.c-table-2__tbl--wrap tbody {
    width: 50%;
    flex-shrink: 0;
}
@media screen and (max-width: 750px) {
    .c-table-2__tbl--wrap tbody {
        width: 100%;
    }
}
@media screen and (max-width: 750px) {
    .c-table-2__tbl--wrap tr:first-of-type {
        padding-top: 4.2666666667vw;
    }
}
.c-table-2__map {
    position: relative;
    width: 100%;
    margin-top: 70px;
    margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
    .c-table-2__map {
        margin: 4.8vw auto 0.8vw;
    }
}
.c-table-2__map-box {
    width: 100%;
    height: 340px;
}
@media screen and (max-width: 750px) {
    .c-table-2__map-box {
        height: 90.6666666667vw;
    }
}
.c-table-2__map-link {
    display: block;
    text-align: right;
    margin-top: 10px;
}
@media screen and (max-width: 750px) {
    .c-table-2__map-link {
        margin-top: 4.2666666667vw;
    }
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .c-table-2__map-link {
        transition: opacity 300ms;
    }
    .c-table-2__map-link:hover {
        opacity: 0.3;
    }
}
.c-table-2__map-link img {
    width: 106px;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}
@media screen and (max-width: 750px) {
    .c-table-2__map-link img {
        width: 24.2666666667vw;
    }
}

/* ---------------------------------------------
*   c-tag
--------------------------------------------- */
/*  c-tag-1
--------------------------------------------- */
.c-tag-1 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
@media screen and (max-width: 750px) {
    .c-tag-1 {
        gap: 2.6666666667vw;
    }
}
.c-tag-1__tag {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3px 9px 4px 7px;
    border: 1px solid transparent;
    border-radius: 100px;
    color: #005046;
    background-color: rgba(25, 140, 95, 0.1);
    cursor: pointer;
}
@media screen and (max-width: 750px) {
    .c-tag-1__tag {
        padding: 0.8vw 2.9333333333vw 1.3333333333vw 2.4vw;
        border-width: 0.2666666667vw;
        border-radius: 26.6666666667vw;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-tag-1__tag .c-tag-1__txt {
        transition: color 0.3s;
    }
    .c-tag-1__tag .c-tag-1__txt::before {
        transition: background-color 0.3s;
    }
    .c-tag-1__tag:hover .c-tag-1__txt {
        color: rgba(0, 80, 70, 0.3);
    }
    .c-tag-1__tag:hover .c-tag-1__txt::before {
        background-color: rgba(0, 80, 70, 0.3);
    }
    .c-tag-1__tag--current:hover {
        background-color: rgba(0, 80, 70, 0.8);
    }
    .c-tag-1__tag--current:hover .c-tag-1__txt {
        color: rgba(255, 255, 255, 0.8);
    }
    .c-tag-1__tag--current:hover .c-tag-1__txt::before {
        background-color: rgba(255, 255, 255, 0.8);
    }
    .c-card-1--bg-green .c-tag-1__tag:hover .c-tag-1__txt, .c-kv-5 .c-tag-1__tag:hover .c-tag-1__txt {
        color: rgba(255, 255, 255, 0.3);
    }
    .c-card-1--bg-green .c-tag-1__tag:hover .c-tag-1__txt::before, .c-kv-5 .c-tag-1__tag:hover .c-tag-1__txt::before {
        background-color: rgba(255, 255, 255, 0.3);
    }
}
.c-card-1--bg-green .c-tag-1__tag, .c-kv-5 .c-tag-1__tag {
    border-color: rgba(255, 255, 255, 0.1);
}

.c-tag-1__tag--current {
    color: white;
    background-color: #005046;
    transition: background-color 0.3s;
}
.c-tag-1__txt {
    position: relative;
    padding-left: 10px;
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-tag-1__txt {
        padding-left: 3.2vw;
        font-size: 3.7333333333vw;
        line-height: 1.4285714286;
    }
}
.c-tag-1__txt::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 5px;
    left: 0;
    width: 8px;
    height: 8px;
    -webkit-mask-image: url(/img/common/icon_sharp.svg);
            mask-image: url(/img/common/icon_sharp.svg);
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .c-tag-1__txt::before {
        top: 1.6vw;
        width: 2.6666666667vw;
        height: 2.6666666667vw;
    }
}
.c-card-1--bg-green .c-tag-1__txt, .c-kv-5 .c-tag-1__txt {
    color: #fff;
}
.c-card-1--bg-green .c-tag-1__txt::before, .c-kv-5 .c-tag-1__txt::before {
    background-color: white;
}

.c-tag-1__tag--current .c-tag-1__txt::before {
    background-color: white;
}
.mixitup-page-list {
    display: flex;
    align-self: center;
    gap: 0 20px;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    padding-inline: 40px;
}
@media screen and (max-width: 750px) {
    .mixitup-page-list {
        gap: 0 5.3333333333vw;
        padding-inline: 10.6666666667vw;
    }
}
.mixitup-page-list.c-tag-1__page-list--disabled {
    pointer-events: none;
    opacity: 0;
}
.mixitup-page-list .c-tag-1__control:not(.c-tag-1__control--prev):not(.c-tag-1__control--next) {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 17px;
    color: rgba(0, 80, 70, 0.3);
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .mixitup-page-list .c-tag-1__control:not(.c-tag-1__control--prev):not(.c-tag-1__control--next) {
        min-width: 4.5333333333vw;
        font-size: 4.2666666667vw;
    }
}
.mixitup-page-list .c-tag-1__control--current {
    pointer-events: none;
    font-weight: 700 !important;
    color: #005046 !important;
}
.mixitup-page-list .c-tag-1__control--disabled {
    display: none !important;
}
.mixitup-page-list .c-tag-1__control--prev, .mixitup-page-list .c-tag-1__control--next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: inline-block;
    width: 10px;
    height: 16px;
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    background-color: #005046;
}
@media screen and (max-width: 750px) {
    .mixitup-page-list .c-tag-1__control--prev, .mixitup-page-list .c-tag-1__control--next {
        width: 2.1333333333vw;
        height: 3.4666666667vw;
        margin-top: 0.2666666667vw;
    }
}
@media (hover: hover) and (pointer: fine) {
    .mixitup-page-list .c-tag-1__control--prev, .mixitup-page-list .c-tag-1__control--next {
        transition: opacity 0.3s;
    }
    .mixitup-page-list .c-tag-1__control--prev:hover, .mixitup-page-list .c-tag-1__control--next:hover {
        opacity: 0.3;
    }
}
.mixitup-page-list .c-tag-1__control--prev {
    left: 0;
    -webkit-mask-image: url(/img/common/icon_pager_prev.svg);
            mask-image: url(/img/common/icon_pager_prev.svg);
}
.mixitup-page-list .c-tag-1__control--next {
    right: 0;
    -webkit-mask-image: url(/img/common/icon_pager_next.svg);
            mask-image: url(/img/common/icon_pager_next.svg);
}

/* ---------------------------------------------
*   c-tag-2
--------------------------------------------- */
.c-tag-2 {
    padding: 4px 8px 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    background-color: rgba(25, 140, 95, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
}
.c-tag-2__txt {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

/* ---------------------------------------------
*   c-ttl
--------------------------------------------- */
/*  c-ttl-1
--------------------------------------------- */
.c-ttl-1 {
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.4375;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-ttl-1 {
        font-size: 6.4vw;
        line-height: 1.4583333333;
    }
}
.c-ttl-1--white {
    color: #fff;
}
.c-ttl-1--bold {
    font-weight: 700;
}
@media screen and (max-width: 750px) {
    .c-ttl-1--whiteSpOnly {
        color: #fff;
    }
}

/*  c-ttl-3
--------------------------------------------- */
.c-ttl-3 {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.4583333333;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-ttl-3 {
        font-size: 5.3333333333vw;
    }
}
@media screen and (max-width: 750px) {
    .c-ttl-3--02 {
        font-size: 6.4vw;
    }
}

/*  c-ttl-5
--------------------------------------------- */
.c-ttl-5 {
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.75;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-ttl-5 {
        font-size: 6.4vw;
        line-height: 1.6666666667;
        letter-spacing: 0.05em;
    }
}
@media screen and (max-width: 750px) {
    .c-ttl-5--02 {
        letter-spacing: 0.02em;
    }
}

/*  c-ttl-7
--------------------------------------------- */
.c-ttl-7 {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.6666666667;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-ttl-7 {
        font-size: 4.8vw;
        line-height: 1.7777777778;
        letter-spacing: 0.05em;
    }
}

/*  c-ttl-9
--------------------------------------------- */
.c-ttl-9 {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
}
@media screen and (max-width: 750px) {
    .c-ttl-9 {
        font-size: 4.2666666667vw;
    }
}

/*  c-ttl-11
--------------------------------------------- */
.c-ttl-11 {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.6666666667;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-ttl-11 {
        font-size: 5.3333333333vw;
        line-height: 1.6;
        letter-spacing: 0.05em;
    }
}

/*  c-ttl-13
--------------------------------------------- */
.c-ttl-13 {
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-ttl-13 {
        font-size: 5.3333333333vw;
    }
}

/*  c-ttl-15
--------------------------------------------- */
.c-ttl-15 {
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.7777777778;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-ttl-15 {
        font-size: 4.2666666667vw;
        line-height: 2;
    }
}

/* ---------------------------------------------
*   c-ttl-2
--------------------------------------------- */
.c-ttl-2 {
    white-space: nowrap;
}
@media screen and (max-width: 750px) {
    .c-ttl-2 {
        overflow: hidden;
    }
}
.c-ttl-2__note {
    display: block;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.7777777778;
    margin-bottom: 33px;
}
@media screen and (max-width: 750px) {
    .c-ttl-2__note {
        font-size: 4.8vw;
        margin-bottom: 6.1333333333vw;
    }
}
@media screen and (max-width: 750px) {
    .c-ttl-2__note--about {
        font-size: 4.2666666667vw;
    }
}
.c-ttl-2__main {
    display: block;
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.75;
}
@media screen and (max-width: 750px) {
    .c-ttl-2__main {
        font-size: 6.4vw;
        letter-spacing: 0.02em;
    }
}
.c-ttl-2__main--midi {
    font-weight: 500;
}
@media screen and (max-width: 750px) {
    .c-ttl-2__main--midi {
        font-size: 7.4666666667vw;
    }
}
@media screen and (max-width: 750px) {
    .c-ttl-2__main--servise {
        font-size: 6.4vw;
    }
}
.c-ttl-2__sub {
    display: block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 2.2857142857;
    margin-top: 21px;
}
@media screen and (max-width: 750px) {
    .c-ttl-2__sub {
        font-size: 3.7333333333vw;
        margin-top: 5.0666666667vw;
    }
}
.c-ttl-2__sub-2 {
    display: block;
    font-size: 18px;
    font-weight: 500;
}
@media screen and (max-width: 750px) {
    .c-ttl-2__sub-2 {
        font-size: 4.8vw;
        margin-top: -1.3333333333vw;
    }
}
.c-ttl-2--white {
    color: #fff;
}
@media screen and (max-width: 750px) {
    .c-ttl-2--message {
        color: #fff;
    }
    .c-ttl-2--message .c-ttl-2__note {
        font-size: min(2.2167487685vh, 4.8vw);
        margin-bottom: min(1.2315270936vh, 2.6666666667vw);
    }
    .c-ttl-2--message .c-ttl-2__main {
        font-size: min(2.9556650246vh, 6.4vw);
    }
    .c-ttl-2--message .c-ttl-2__sub {
        font-size: min(1.724137931vh, 3.7333333333vw);
        margin-top: min(1.2315270936vh, 2.6666666667vw);
    }
    .c-ttl-2--message .c-ttl-2__sub-2 {
        font-size: min(2.2167487685vh, 4.8vw);
        margin-top: min(-0.6157635468vh, -1.3333333333vw);
    }
}
.c-ttl-2--min .c-ttl-2__note {
    font-weight: 500;
    margin-bottom: 13px;
}
.c-ttl-2--min .c-ttl-2__main {
    font-weight: 700;
    letter-spacing: 0.02em;
}
.c-ttl-2--top .c-ttl-2__note {
    font-size: 16px;
    margin-bottom: 22px;
}
@media screen and (max-width: 750px) {
    .c-ttl-2--top .c-ttl-2__note {
        font-size: 4.2666666667vw;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 2;
        margin-bottom: 6.1333333333vw;
    }
}

/* ---------------------------------------------
*   c-ttl-4
--------------------------------------------- */
.c-ttl-4 {
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.75;
}
@media screen and (max-width: 750px) {
    .c-ttl-4 {
        font-size: 6.4vw;
        line-height: 1.6666666667;
    }
}
.c-ttl-4__sub {
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 21px;
}
@media screen and (max-width: 750px) {
    .c-ttl-4__sub {
        font-size: 4.2666666667vw;
        letter-spacing: 0;
        margin-bottom: 8vw;
    }
}
.c-ttl-4__sub--top {
    font-size: 16px;
}
@media screen and (max-width: 750px) {
    .c-ttl-4__sub--top {
        margin-bottom: 6.1333333333vw;
    }
}

/* ---------------------------------------------
*   c-ttl-6
--------------------------------------------- */
.c-ttl-6 {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.7;
    margin-bottom: 11px;
}
@media screen and (max-width: 750px) {
    .c-ttl-6 {
        font-size: 3.7333333333vw;
        margin-bottom: 8vw;
    }
}
.c-ttl-6--wh {
    color: #fff;
}
.c-ttl-6--500 {
    font-weight: 500;
}
@media screen and (max-width: 750px) {
    .c-ttl-6--20 {
        font-size: 5.3333333333vw;
        margin-bottom: 3.4666666667vw;
    }
}

/* ---------------------------------------------
*   c-ttl-8
--------------------------------------------- */
.c-ttl-8 {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.75;
}
@media screen and (max-width: 750px) {
    .c-ttl-8 {
        font-size: 6.4vw;
        line-height: 1.6666666667;
    }
}

/* ---------------------------------------------
*   c-ttl-10
--------------------------------------------- */
.c-ttl-10 {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.6666666667;
}
@media screen and (max-width: 750px) {
    .c-ttl-10 {
        font-size: 5.3333333333vw;
        letter-spacing: 0.05em;
        line-height: 1.7;
    }
}
.c-ttl-10--wh {
    color: #fff;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
    .c-ttl-10--wh {
        font-size: 6.4vw;
        line-height: 1.6666666667;
    }
}
@media screen and (max-width: 750px) {
    .c-ttl-10--top {
        font-size: 6.4vw;
        letter-spacing: 0.02em;
        line-height: 1.6666666667;
    }
}

/* ---------------------------------------------
*   c-ttl-12
--------------------------------------------- */
.c-ttl-12 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    color: #fff;
    font-weight: 500;
    text-align: center;
}
@media screen and (max-width: 750px) {
    .c-ttl-12 {
        white-space: nowrap;
    }
}
.c-ttl-12__main {
    font-size: 48px;
    letter-spacing: 0.1em;
    line-height: 1.6666666667;
    white-space: nowrap;
}
@media screen and (max-width: 750px) {
    .c-ttl-12__main {
        font-size: 10.1333333333vw;
        letter-spacing: 0.05em;
        line-height: 1.2631578947;
    }
}
.c-ttl-12__sub {
    display: block;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 1.7777777778;
    margin-top: 10px;
}
@media screen and (max-width: 750px) {
    .c-ttl-12__sub {
        font-size: 4.2666666667vw;
        letter-spacing: 0.02em;
        margin-top: 1.0666666667vw;
    }
}

/* ---------------------------------------------
*   c-txt
--------------------------------------------- */
/*  c-txt-1
--------------------------------------------- */
.c-txt-1 {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-txt-1 {
        font-size: 3.7333333333vw;
    }
}
.c-txt-1--strong {
    font-weight: 700;
}

/*  c-txt-3
--------------------------------------------- */
.c-txt-3 {
    --hyphenGap: .5em;
    padding-left: calc(1em + var(--hyphenGap));
    text-indent: calc(-1em - var(--hyphenGap));
    color: rgba(30, 30, 30, 0.5);
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
    margin-top: -4px;
    margin-bottom: -4px;
}
@media screen and (max-width: 750px) {
    .c-txt-3 {
        font-size: 3.7333333333vw;
        line-height: 1.7142857143;
        letter-spacing: 0.05em;
        margin-top: 0;
        margin-bottom: 0;
    }
}
.c-txt-3::before {
    content: "ー";
    padding-right: var(--hyphenGap);
}

/*  c-txt-5
--------------------------------------------- */
.c-txt-5 {
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-txt-5 {
        font-size: 3.7333333333vw;
        letter-spacing: 0.02em;
    }
}
@media screen and (min-width: 751px) {
    .c-txt-5--02 {
        letter-spacing: 0.02em;
    }
}

/*  c-txt-7
--------------------------------------------- */
.c-txt-7 {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-txt-7 {
        font-size: 3.7333333333vw;
    }
}

/*  c-txt-9
--------------------------------------------- */
.c-txt-9 {
    font-weight: 500;
    font-size: 1rem;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-txt-9 {
        font-size: 3.7333333333vw;
    }
}

/* ---------------------------------------------
*   c-txt-2
--------------------------------------------- */
.c-txt-2 {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-txt-2 {
        font-size: 3.7333333333vw;
        letter-spacing: 0.02em;
    }
}
.c-txt-2--40 {
    line-height: 2.5;
}
@media screen and (max-width: 750px) {
    .c-txt-2--40 {
        font-size: 4.2666666667vw;
        letter-spacing: 0;
    }
}
.c-txt-2--top {
    color: #fff;
    font-weight: 400;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
    .c-txt-2--top {
        font-size: 4.2666666667vw;
    }
}

/* ---------------------------------------------
*   c-txt-4
--------------------------------------------- */
.c-txt-4 {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.7777777778;
}
@media screen and (max-width: 750px) {
    .c-txt-4 {
        font-size: 4.2666666667vw;
        letter-spacing: 0.02em;
    }
}
.c-txt-4--b {
    font-weight: 700;
}
@media screen and (max-width: 750px) {
    .c-txt-4--b {
        line-height: 2;
    }
}
@media screen and (max-width: 750px) {
    .c-txt-4--career {
        font-size: 4.8vw;
        letter-spacing: 0.05em;
    }
}
.c-txt-4--40 {
    line-height: 2.2222222222;
}
@media screen and (max-width: 750px) {
    .c-txt-4--40 {
        line-height: 2;
    }
}
.c-txt-4--400 {
    font-weight: 400;
}

/* ---------------------------------------------
*   c-txt-scroll
--------------------------------------------- */
.c-txt-scroll {
    position: fixed;
    bottom: 0;
    left: 50%;
    z-index: 5;
    display: inline-block;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-align: center;
    margin-bottom: 100px;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.8s, transform 0.8s;
    transition-delay: 3s;
}
@media screen and (max-width: 750px) {
    .c-txt-scroll {
        font-size: 2.6666666667vw;
        margin-bottom: 26.6666666667vw;
    }
}
.is-loaded .c-txt-scroll--top {
    opacity: 1;
    transform: translate(-50%, 0px);
}

@media screen and (max-width: 750px) {
    .c-txt-scroll--bottom {
        left: auto;
        right: 5.3333333333vw;
        font-size: 2.6666666667vw;
        transform: translate(0, 0px);
        margin-bottom: 18.966667vw;
        transition-delay: 1s;
    }
}
.ipad .c-txt-scroll--bottom {
    transition-delay: 1s;
}

.is-fullpage-current .c-txt-scroll--bottom {
    opacity: 1;
    transform: translate(-50%, 0px);
}
@media screen and (max-width: 750px) {
    .is-fullpage-current .c-txt-scroll--bottom {
        transform: translate(0px, 0px);
    }
}

.ipad .is-scrolling .c-txt-scroll--bottom {
    position: absolute;
}

@media screen and (max-width: 750px) {
    .is-scrolling .c-txt-scroll--bottom {
        position: absolute;
    }
}

.c-txt-scroll--wh {
    z-index: 10;
    color: #fff;
    transition-delay: 1s;
}
.current .c-txt-scroll--wh {
    opacity: 1;
    transform: translate(-50%, 0px);
}

.c-txt-scroll--wh .c-txt-scroll__line::after {
    background-color: #fff;
}
.header-change .c-txt-scroll {
    display: none;
}

.c-txt-scroll__line {
    position: absolute;
    top: 21px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 100px;
}
@media screen and (max-width: 750px) {
    .c-txt-scroll__line {
        top: 5.6vw;
        height: 26.6666666667vw;
    }
}
.c-txt-scroll__line::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #005046;
    animation: scrollDown 2s infinite;
}

@keyframes scrollDown {
    0% {
        transform: scaleY(0) translateX(-50%);
        transform-origin: 0 0;
    }
    50% {
        transform: scaleY(1) translateX(-50%);
        transform-origin: 0 0;
    }
    50.1% {
        transform: scaleY(1) translateX(-50%);
        transform-origin: 0 100%;
    }
    100% {
        transform: scaleY(0) translateX(-50%);
        transform-origin: 0 100%;
    }
}
/* ---------------------------------------------
*   wysiwyg
--------------------------------------------- */
/* wysiwyg default
--------------------------------------------- */
.wysiwyg {
    overflow: hidden;
}
.wysiwyg > * {
    opacity: 0;
    transform: translateY(50px);
}
.wysiwyg > *.is-active {
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.8s, opacity 1s;
}
.c-section-1--news .wysiwyg > *, .c-section-1--news-detail .wysiwyg > * {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

.wysiwyg > :first-child {
    margin-top: 0 !important;
}
.wysiwyg > :last-child {
    margin-bottom: 0 !important;
}
.wysiwyg sup {
    vertical-align: super;
    font-size: smaller;
}
.wysiwyg sub {
    vertical-align: sub;
    font-size: smaller;
}
.wysiwyg h1, .wysiwyg h2, .wysiwyg h3 {
    margin-top: 3rem;
}
.wysiwyg h4, .wysiwyg h5, .wysiwyg h6 {
    margin-top: 2rem;
}
.wysiwyg h1, .wysiwyg h2, .wysiwyg h3, .wysiwyg h4, .wysiwyg h5, .wysiwyg h6 {
    font-weight: 700;
}
.wysiwyg i,
.wysiwyg strong {
    font-weight: bold;
}
.wysiwyg p {
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.wysiwyg em {
    font-style: italic;
}
.wysiwyg a {
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .wysiwyg a {
        transition: opacity 0.3s;
    }
    .wysiwyg a:hover {
        opacity: 0.3;
    }
}
.wysiwyg ul {
    list-style-type: disc;
    padding-left: 2em;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.wysiwyg ol {
    list-style-type: decimal;
    padding-left: 2em;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.wysiwyg li {
    display: list-item;
    text-align: -webkit-match-parent;
}
.wysiwyg blockquote {
    padding: 1em;
    background-color: #eaeaea;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.wysiwyg pre {
    display: block;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.wysiwyg del {
    text-decoration: line-through;
}
.wysiwyg hr {
    display: block;
    border: none;
    border-top: #9a9a9a 1px solid;
    border-bottom: #eee 1px solid;
}
.wysiwyg code {
    background-color: #eee;
    padding: 0.1em 0.4em;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
    word-break: break-all;
}
.wysiwyg .aligncenter {
    display: block;
    max-width: 100%;
    margin: 1rem auto;
}
.wysiwyg .alignright {
    float: right;
    max-width: 100%;
    margin-top: 0.5rem;
    margin-left: 1rem;
}
.wysiwyg .alignleft {
    float: left;
    max-width: 100%;
    margin-top: 0.5rem;
    margin-right: 1rem;
}
.wysiwyg img[class*=wp-image-],
.wysiwyg img[class*=attachment-] {
    height: auto;
    max-width: 100%;
}
.wysiwyg .wp-caption {
    max-width: 100%;
    text-align: left;
}
.wysiwyg .wp-caption img {
    width: 100%;
}
.wysiwyg .wp-caption-text {
    display: block;
    padding: 0.5em 1rem 0;
    text-align: left;
    color: #8a8a8a;
    font-size: 0.875em;
    margin: 0;
}
.wysiwyg table {
    margin-top: 1em;
    margin-bottom: 1em;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
}
.wysiwyg table th,
.wysiwyg table td {
    padding: 0.5em;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    word-break: break-all;
}
.wysiwyg table th {
    background-color: #eee;
}

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

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

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

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

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

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

/* ---------------------------------------------
*   クリックで開閉するコンテンツアコーディオン (複数開閉)
--------------------------------------------- */
.js-acc-target {
    display: none;
}

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

/*  js-border-line
--------------------------------------------- */
.js-border-line {
    overflow: hidden;
    transform-origin: 0 0;
    will-change: transform;
    backface-visibility: hidden;
    display: none;
}

.js-border-anim.is-active .c-list-5__border {
    animation: borderAnim1 0.3s linear 0s forwards;
}

.js-border-anim-2.is-active .c-section-3__border {
    animation: borderAnim2 1.5s linear 0s forwards;
}

@keyframes borderAnim1 {
    0% {
        height: 0%;
    }
    100% {
        height: 100%;
    }
}
@keyframes borderAnim2 {
    0% {
        height: 0%;
    }
    100% {
        height: calc(100% - 70px);
    }
}
/*  js-blur
--------------------------------------------- */
.js-blur-img {
    filter: blur(15px);
    transform: translate3d(0, 0, 0);
}
.js-blur.is-active .js-blur-img, .js-blur-kv.is-active .js-blur-img, .js-blur-bg.is-active .js-blur-img {
    animation: ImageBlur 1s linear 0.2s forwards;
}

@keyframes ImageBlur {
    0% {
        filter: blur(15px);
    }
    100% {
        filter: blur(0px);
    }
}
.js-blur-txt {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1s, transform 0.8s;
    transition-delay: 1.2s;
}
.js-blur.is-active .js-blur-txt, .js-blur-kv.is-active:not(.fade-on):not(.fade-off) .js-blur-txt, .js-blur-bg.is-active:not(.fade-on):not(.fade-off) .js-blur-txt {
    opacity: 1;
    transform: translateY(0px);
}

.js-blur-kv.is-active.fade-on .js-blur-txt, .js-blur-bg.is-active.fade-on .js-blur-txt {
    animation: textFadeOn 0.5s linear 0s forwards;
}

.js-blur-kv.is-active.fade-off .js-blur-txt, .js-blur-bg.is-active.fade-off .js-blur-txt {
    animation: textFadeOff 0.5s linear 0s forwards;
}

@media screen and (max-width: 750px) {
    .js-blur-kv.is-active.fade-on .js-blur-txt.fade-pc-only, .js-blur-kv.is-active.fade-off .js-blur-txt.fade-pc-only {
        opacity: 1 !important;
        transform: translateY(0px) !important;
        animation: none !important;
    }
}
@media (orientation: landscape) and (max-width: 960px) {
    .js-blur-kv.is-active.fade-on .js-blur-txt, .js-blur-kv.is-active.fade-off .js-blur-txt {
        opacity: 1 !important;
        transform: translateY(0px) !important;
        animation: none !important;
    }
}

.js-kv-toggle.fade-on {
    animation: textFadeOn 0.5s linear 0s forwards;
}
.js-kv-toggle.fade-off {
    animation: textFadeOff 0.5s linear 0s forwards;
}
@media screen and (max-width: 750px) {
    .js-kv-toggle.c-kv-7__txt-wrap {
        animation: none !important;
    }
}

@keyframes textFadeOn {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    80% {
        transform: translateY(0px);
    }
    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}
@keyframes textFadeOff {
    0% {
        opacity: 1;
        transform: translateY(0px);
    }
    80% {
        transform: translateY(-50px);
    }
    99% {
        opacity: 0;
        transform: translateY(-50px);
    }
    100% {
        opacity: 0;
        transform: translateY(50px);
    }
}
/*  js-fullpage-kv
--------------------------------------------- */
.js-fullpage-kv {
    height: 100lvh;
    overflow-y: auto;
}

.js-fullpage-none {
    height: auto !important;
}

/* フェードイン */
.js-fadein {
    opacity: 0;
}
.js-fadein.is-active {
    opacity: 1;
    transition: opacity 1s;
}

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

/* 右にスライド */
.js-slidein-to-right {
    opacity: 0;
    transform: translateX(-50px);
}
.js-slidein-to-right.is-active {
    transform: translateX(0);
    opacity: 1;
    transition: transform 0.8s, opacity 1s;
}

.js-load-target {
    opacity: 0;
}
.js-load-target.is-show {
    opacity: 1;
    transition: opacity 1s;
}

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

/*  js-pager(ページャー)
--------------------------------------------- */
.js-pager {
    position: fixed;
    top: 50%;
    left: 2.3426061493%;
    z-index: 10;
    padding: 0;
    transform: translateY(-50%);
    display: none;
}
.js-pager.is-scrolling {
    opacity: 0;
    pointer-events: none;
}
@media print and (min-width: 751px) and (max-width: 1280px), screen and (min-width: 751px) and (max-width: 1280px) {
    .top .js-pager {
        left: 1.4641288433%;
    }
}

@media screen and (max-width: 750px) {
    .js-pager {
        top: auto;
        left: 5.3333333333vw;
        bottom: 5.3333333333vw;
        transform: none;
    }
}
.js-pager li {
    display: block;
    margin: 10px auto;
}
@media screen and (max-width: 750px) {
    .js-pager li {
        margin: 2.6666666667vw auto;
    }
}
.top .js-pager li:first-of-type {
    display: none;
}

.js-pager a {
    display: block;
    width: 8px;
    height: 8px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    overflow: hidden;
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
    .js-pager a {
        transition: opacity 300ms;
    }
    .js-pager a:hover {
        opacity: 0.3;
    }
}
@media screen and (max-width: 750px) {
    .js-pager a {
        width: 2.1333333333vw;
        height: 2.1333333333vw;
    }
}
.top .js-pager a {
    background: rgba(0, 80, 70, 0.3);
}

.is-white .js-pager a {
    background: rgba(255, 255, 255, 0.3);
}

/*  pager-link
--------------------------------------------- */
.is-fullpage-current .pager-link {
    background-color: #fff;
}
.top .is-fullpage-current .pager-link {
    background-color: #005046;
}

.is-white .is-fullpage-current .pager-link {
    background-color: #fff;
}

/*  js-tab-threshold
--------------------------------------------- */
.js-tab-threshold {
    position: absolute;
    top: 0;
    height: 300px;
}

.is-show {
    opacity: 1;
    pointer-events: auto;
}

.is-footer-inview {
    opacity: 0;
    pointer-events: none;
}
.is-footer-inview.is-atTop.l-header {
    opacity: 1 !important;
    pointer-events: auto !important;
}
.is-footer-inview.l-header {
    opacity: 0;
    transition: 0.3s;
    transition-delay: 0s;
}

/* ---------------------------------------------
*   is-root-active
--------------------------------------------- */
.is-root-active {
    opacity: 1;
}

/* ---------------------------------------------
*   js-more
--------------------------------------------- */
.js-more-scope .is-hide {
    display: none;
}

/* ---------------------------------------------
*   js-fullpage-none
--------------------------------------------- */
.js-fullpage-none--top {
    position: relative;
    z-index: 5;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 750px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: 1.3333333333vw !important;
    }
    .mgt-sp--10 {
        margin-top: 2.6666666667vw !important;
    }
    .mgt-sp--15 {
        margin-top: 4vw !important;
    }
    .mgt-sp--20 {
        margin-top: 5.3333333333vw !important;
    }
    .mgt-sp--25 {
        margin-top: 6.6666666667vw !important;
    }
    .mgt-sp--30 {
        margin-top: 8vw !important;
    }
    .mgt-sp--35 {
        margin-top: 9.3333333333vw !important;
    }
    .mgt-sp--40 {
        margin-top: 10.6666666667vw !important;
    }
    .mgt-sp--45 {
        margin-top: 12vw !important;
    }
    .mgt-sp--50 {
        margin-top: 13.3333333333vw !important;
    }
    .mgt-sp--55 {
        margin-top: 14.6666666667vw !important;
    }
    .mgt-sp--60 {
        margin-top: 16vw !important;
    }
    .mgt-sp--65 {
        margin-top: 17.3333333333vw !important;
    }
    .mgt-sp--70 {
        margin-top: 18.6666666667vw !important;
    }
    .mgt-sp--75 {
        margin-top: 20vw !important;
    }
    .mgt-sp--80 {
        margin-top: 21.3333333333vw !important;
    }
    .mgt-sp--85 {
        margin-top: 22.6666666667vw !important;
    }
    .mgt-sp--90 {
        margin-top: 24vw !important;
    }
    .mgt-sp--95 {
        margin-top: 25.3333333333vw !important;
    }
    .mgt-sp--100 {
        margin-top: 26.6666666667vw !important;
    }
    .mgt-sp--105 {
        margin-top: 28vw !important;
    }
    .mgt-sp--110 {
        margin-top: 29.3333333333vw !important;
    }
    .mgt-sp--115 {
        margin-top: 30.6666666667vw !important;
    }
    .mgt-sp--120 {
        margin-top: 32vw !important;
    }
    .mgt-sp--125 {
        margin-top: 33.3333333333vw !important;
    }
    .mgt-sp--130 {
        margin-top: 34.6666666667vw !important;
    }
    .mgt-sp--135 {
        margin-top: 36vw !important;
    }
    .mgt-sp--140 {
        margin-top: 37.3333333333vw !important;
    }
    .mgt-sp--145 {
        margin-top: 38.6666666667vw !important;
    }
    .mgt-sp--150 {
        margin-top: 40vw !important;
    }
    .mgt-sp--155 {
        margin-top: 41.3333333333vw !important;
    }
    .mgt-sp--160 {
        margin-top: 42.6666666667vw !important;
    }
    .mgt-sp--165 {
        margin-top: 44vw !important;
    }
    .mgt-sp--170 {
        margin-top: 45.3333333333vw !important;
    }
    .mgt-sp--175 {
        margin-top: 46.6666666667vw !important;
    }
    .mgt-sp--180 {
        margin-top: 48vw !important;
    }
    .mgt-sp--185 {
        margin-top: 49.3333333333vw !important;
    }
    .mgt-sp--190 {
        margin-top: 50.6666666667vw !important;
    }
    .mgt-sp--195 {
        margin-top: 52vw !important;
    }
    .mgt-sp--200 {
        margin-top: 53.3333333333vw !important;
    }
    .mgt-sp--205 {
        margin-top: 54.6666666667vw !important;
    }
    .mgt-sp--210 {
        margin-top: 56vw !important;
    }
    .mgt-sp--215 {
        margin-top: 57.3333333333vw !important;
    }
    .mgt-sp--220 {
        margin-top: 58.6666666667vw !important;
    }
    .mgt-sp--225 {
        margin-top: 60vw !important;
    }
    .mgt-sp--230 {
        margin-top: 61.3333333333vw !important;
    }
    .mgt-sp--235 {
        margin-top: 62.6666666667vw !important;
    }
    .mgt-sp--240 {
        margin-top: 64vw !important;
    }
    .mgt-sp--245 {
        margin-top: 65.3333333333vw !important;
    }
    .mgt-sp--250 {
        margin-top: 66.6666666667vw !important;
    }
}
/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
    margin-bottom: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 750px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: 1.3333333333vw !important;
    }
    .mgb-sp--10 {
        margin-bottom: 2.6666666667vw !important;
    }
    .mgb-sp--15 {
        margin-bottom: 4vw !important;
    }
    .mgb-sp--20 {
        margin-bottom: 5.3333333333vw !important;
    }
    .mgb-sp--25 {
        margin-bottom: 6.6666666667vw !important;
    }
    .mgb-sp--30 {
        margin-bottom: 8vw !important;
    }
    .mgb-sp--35 {
        margin-bottom: 9.3333333333vw !important;
    }
    .mgb-sp--40 {
        margin-bottom: 10.6666666667vw !important;
    }
    .mgb-sp--45 {
        margin-bottom: 12vw !important;
    }
    .mgb-sp--50 {
        margin-bottom: 13.3333333333vw !important;
    }
    .mgb-sp--55 {
        margin-bottom: 14.6666666667vw !important;
    }
    .mgb-sp--60 {
        margin-bottom: 16vw !important;
    }
    .mgb-sp--65 {
        margin-bottom: 17.3333333333vw !important;
    }
    .mgb-sp--70 {
        margin-bottom: 18.6666666667vw !important;
    }
    .mgb-sp--75 {
        margin-bottom: 20vw !important;
    }
    .mgb-sp--80 {
        margin-bottom: 21.3333333333vw !important;
    }
    .mgb-sp--85 {
        margin-bottom: 22.6666666667vw !important;
    }
    .mgb-sp--90 {
        margin-bottom: 24vw !important;
    }
    .mgb-sp--95 {
        margin-bottom: 25.3333333333vw !important;
    }
    .mgb-sp--100 {
        margin-bottom: 26.6666666667vw !important;
    }
    .mgb-sp--105 {
        margin-bottom: 28vw !important;
    }
    .mgb-sp--110 {
        margin-bottom: 29.3333333333vw !important;
    }
    .mgb-sp--115 {
        margin-bottom: 30.6666666667vw !important;
    }
    .mgb-sp--120 {
        margin-bottom: 32vw !important;
    }
    .mgb-sp--125 {
        margin-bottom: 33.3333333333vw !important;
    }
    .mgb-sp--130 {
        margin-bottom: 34.6666666667vw !important;
    }
    .mgb-sp--135 {
        margin-bottom: 36vw !important;
    }
    .mgb-sp--140 {
        margin-bottom: 37.3333333333vw !important;
    }
    .mgb-sp--145 {
        margin-bottom: 38.6666666667vw !important;
    }
    .mgb-sp--150 {
        margin-bottom: 40vw !important;
    }
    .mgb-sp--155 {
        margin-bottom: 41.3333333333vw !important;
    }
    .mgb-sp--160 {
        margin-bottom: 42.6666666667vw !important;
    }
    .mgb-sp--165 {
        margin-bottom: 44vw !important;
    }
    .mgb-sp--170 {
        margin-bottom: 45.3333333333vw !important;
    }
    .mgb-sp--175 {
        margin-bottom: 46.6666666667vw !important;
    }
    .mgb-sp--180 {
        margin-bottom: 48vw !important;
    }
    .mgb-sp--185 {
        margin-bottom: 49.3333333333vw !important;
    }
    .mgb-sp--190 {
        margin-bottom: 50.6666666667vw !important;
    }
    .mgb-sp--195 {
        margin-bottom: 52vw !important;
    }
    .mgb-sp--200 {
        margin-bottom: 53.3333333333vw !important;
    }
    .mgb-sp--205 {
        margin-bottom: 54.6666666667vw !important;
    }
    .mgb-sp--210 {
        margin-bottom: 56vw !important;
    }
    .mgb-sp--215 {
        margin-bottom: 57.3333333333vw !important;
    }
    .mgb-sp--220 {
        margin-bottom: 58.6666666667vw !important;
    }
    .mgb-sp--225 {
        margin-bottom: 60vw !important;
    }
    .mgb-sp--230 {
        margin-bottom: 61.3333333333vw !important;
    }
    .mgb-sp--235 {
        margin-bottom: 62.6666666667vw !important;
    }
    .mgb-sp--240 {
        margin-bottom: 64vw !important;
    }
    .mgb-sp--245 {
        margin-bottom: 65.3333333333vw !important;
    }
    .mgb-sp--250 {
        margin-bottom: 66.6666666667vw !important;
    }
}