
.fv {
    width: 100%;
    height: 868px;
    background-color: #1E0013;
}

.fv__container-list {
    width: 100%;
    height: 100%;
    position: relative;
}

.fv__container {
    width: 100%;
    height: 100%;
    position: absolute;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    top: 0;
    left: 0;
}

.fv__container--1 {
    background-image: url('../images/fv-bg01.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* WebP対応ブラウザ用 */
.webp .fv__container--1 {
    background-image: url('../images/fv-bg01.webp');
}

.fv__container--2 {
    background-image: url('../images/fv-bg02.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.fv__container--3 {
    background-image: url('../images/fv-bg02.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.fv__container--5 {
    background-image: url('../images/fv-bg02.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.fv__container--6 {
    background-image: url('../images/fv-bg02.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.fv__container--7 {
    background-image: url('../images/fv-bg02.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.fv__container--8 {
    background-image: url('../images/fv-bg03.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.fv__container--9 {
    background-image: url('../images/fv-bg04.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.fv__list-btn {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    width: fit-content;
    display: flex;
    gap: 16px;
}

.fv__list-btn-item {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    cursor: pointer;
    transition: opacity 0.3s ease;
    background-color: white;
}

.fv__list-btn-item:hover {
    opacity: 1;
}

.fv__list-btn-item.active {
    background-color: #999999;
}

.fv__container.active {
    opacity: 1;
}

.fv__container-base {
    width: 1440px;
    height: 100%;
    margin: 0 auto;
    padding-left: 80px;
}

.fv__container--1 .fv__container-base {
    padding-top: 198px;
}

.fv__container--2 .fv__container-base {
    padding-top: 118px;
}

.fv__container--3 .fv__container-base {
    padding-top: 274px;
}

.fv__container--5 .fv__container-base {
    padding-top: 181px;
}

.fv__container--6 .fv__container-base {
    padding-top: 240px;
}

.fv__container--7 .fv__container-base {
    padding-top: 240px;
}

.fv__container--1 .fv__content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.fv__button {
    height: 64px;
    border: 1px solid white;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.fv__button:hover {
    opacity: 0.7;
}

/* 1 */
.fv__container--1 .fv__content-row {
    display: flex;
    gap: 16px;
}

.fv__container--1 .fv__content-item {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    padding: 8px 24px;
    border: 1px solid white;
    width: fit-content;
}

.fv__container--1 .fv__content-item span {
    font-size: 32px;
}

.fv__container--1 .fv__title-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fv__container--1 .fv__text {
    font-size: 72px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.08em;
}

.fv__container--1 .fv__title {
    font-size: 48px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.08em;
}

.fv__container--1 .fv__button-wrap {
    display: flex;
    gap: 24px;
}

.fv__container--1 .fv__button {
    background-color: #07185A;
    width: 320px;
}

/* 2 */

.fv__container--2 .fv__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.fv__container--2 .fv__content-text-wrap {
    width: 703px;
    display: flex;
    flex-direction: column;
    gap: 64px;
}

.fv__container--2 .fv__content-title {
    font-size: 64px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
}

.fv__container--2 .fv__content-image {
    width: 555px;
    height: 750px;
    position: relative;
}

.fv__container--2 .fv__content-name1 {
    position: absolute;
    bottom: 76px;
    left: 0;
    font-size: 18px;
    color: white;
    background-color: #294E95;
    padding: 4px 12px;
    width: fit-content;
}

.fv__container--2 .fv__content-name2 {
    position: absolute;
    bottom: 46px;
    left: 0;
    font-size: 18px;
    color: white;
    background-color: #294E95;
    padding: 4px 12px;
    width: fit-content;
}

.fv__container--2 .fv__content-name3 {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 32px;
    line-height: 1.2;
    color: white;
    background-color: #07185A;
    padding: 4px 12px;
    width: fit-content;
}

.fv__container--2 .fv__button {
    width: 268px;
    background-color: #7A126B;
}


/* 3 */
.fv__container--3 .fv__content {
   display: flex;
   flex-direction: column;
   gap: 64px;
}

.fv__container--3 .fv__content-text-wrap {
    width: 1028px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
}

.fv__container--3 .fv__content-image {
    width: 420px;
    height: 115px;
}

.fv__container--3 .fv__content-title {
    font-size: 72px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
}

.fv__container--3 .fv__content-text {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
    width: 345px;
    position: absolute;
    right: 0;
    bottom: 0;
}

.fv__container--3 .fv__content-text::before {
    content: '';
    width: 117px;
    height: 1px;
    background-color: white;
    position: absolute;
    top: 37px;
    left: -142px;
}


.fv__container--3 .fv__button {
    width: 248px;
    background-color: #7A126B;
}

/* 5 */
.fv__container--5 .fv__content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.fv__container--5 .fv__content-text-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fv__container--5 .fv__content-featured {
    width: 182px;
    height: 107px;
    background-color: #294E95;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fv__container--5 .fv__content-featured-text {
    font-size: 56px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
    color: white;
    border: 1px solid white;
    padding: 17px 24px 11px 20px;
}

.fv__container--5 .fv__content-title {
    font-size: 64px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
}

.fv__container--5 .fv__content-text {
    font-size: 33px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
}

.fv__container--5 .fv__button-wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 16px;
}

.fv__container--5 .fv__button {
    width: 148px;
    background-color: #7A126B;
}


/* 6 */
.fv__container--6 .fv__content {
    display: flex;
    flex-direction: column;
    gap: 64px;
}

.fv__container--6 .fv__content-text-wrap {
    width: 988px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fv__container--6 .fv__content-title {
    font-size: 64px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
}

.fv__container--6 .fv__content-title span {
    position: relative;
    z-index: 0;
}

.fv__container--6 .fv__content-title span::after {
    z-index: -1;
    content: '';
    position: absolute;
    top: 5px;
    left: -8px;
    width: 106%;
    height: 90%;;
    background-color: #294E95;
}

.fv__container--6 .fv__content-text {
    font-size: 33px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
}

.fv__container--6 .fv__button-wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.fv__container--6 .fv__button {
    width: 288px;
    background-color: #7A126B;
}

.fv__container--6 .fv__button-text {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
}

.fv__container--6 .fv__mark {
    position: absolute;
    top: 613px;
    right: calc(((100vw - 1440px ) / 2 ) + 43px);
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background-color: #294E95;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fv__container--6 .fv__mask-inner {
    width: 206px;
    height: 206px;
    border: 1px solid white;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 8px;
}

.fv__container--6 .fv__mask-text {
    font-size: 56px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}

/* 7 */
.fv__container--7 .fv__content {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.fv__container--7 .fv__content-text-wrap {
    width: 988px;
}

.fv__container--7 .fv__content-title {
    font-size: 64px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
    border-bottom: 1px solid white;
    padding: 12px 0 26px;
    display: inline-block;
}

.fv__container--7 .fv__content-title span {
    position: relative;
    z-index: 0;
}

.fv__container--7 .fv__content-title span::after {
    z-index: -1;
    content: '';
    position: absolute;
    top: 5px;
    left: -8px;
    width: 106%;
    height: 90%;;
    background-color: #294E95;
}

.fv__container--7 .fv__content-text {
    font-size: 33px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
}

.fv__container--7 .fv__button-wrap {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.fv__container--7 .fv__button-text {
    font-size: 24px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0;
}

.fv__container--7 .fv__button {
    width: 288px;
    background-color: #7A126B;
}

.fv__container--7 .fv__mark {
    position: absolute;
    top: 613px;
    right: calc(((100vw - 1440px ) / 2 ) + 43px);
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background-color: #294E95;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fv__container--7 .fv__mask-inner {
    width: 206px;
    height: 206px;
    border: 1px solid white;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 8px;
}

.fv__container--7 .fv__mask-text {
    font-size: 56px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}

/* 8 */
.fv__container--8 .fv__container-base {
    padding-top: 243px;
}

.fv__container--8 .fv__content {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
}

.fv__container--8 .fv__content-text-wrap {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 722px;
}

.fv__container--8 .fv__content-subtitle {
    font-size: 33px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    color: #fff;
}

.fv__container--8 .fv__content-title {
    font-size: 64px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    color: #fff;
    white-space: nowrap;
}

.fv__container--8 .fv__content-title span {
    position: relative;
    z-index: 0;
    display: inline-block;
}

.fv__container--8 .fv__content-title span::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: 5px;
    left: -8px;
    width: calc(100% + 16px);
    height: 90%;
    background-color: #294E95;
}

.fv__container--8 .fv__button-wrap {
    position: relative;
    z-index: 1;
    width: 722px;
    display: flex;
    justify-content: center;
}

.fv__container--8 .fv__button {
    width: fit-content;
    height: auto;
    padding: 16px 24px;
    background-color: #7A126B;
    font-size: 20px;
    line-height: 1.15;
    text-align: center;
}

.fv__container--8 .fv__content-image {
    position: absolute;
    top: -125px;
    right: 0;
    width: 555px;
    height: 750px;
    overflow: hidden;
    z-index: 0;
}

.fv__container--8 .fv__content-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 9 */
.fv__container--9 .fv__container-base {
    padding-top: 87px;
    padding-left: 80px;
}

.fv__container--9 .fv__content {
    display: flex;
    flex-direction: column;
    width: 977px;
}

.fv__container--9 .fv__content-badge {
    position: relative;
    width: 392px;
    height: 80px;
    background-color: #294E95;
    display: flex;
    align-items: center;
    padding-left: 26px;
}

.fv__container--9 .fv__content-badge::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 10px;
    width: 371px;
    height: 64px;
    border: 1px solid #fff;
    pointer-events: none;
}

.fv__container--9 .fv__content-badge-text {
    position: relative;
    z-index: 1;
    font-size: 42px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    white-space: nowrap;
}

.fv__container--9 .fv__content-text-wrap {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.fv__container--9 .fv__content-title {
    font-size: 64px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    color: #fff;
    white-space: nowrap;
}

.fv__container--9 .fv__content-subtitle {
    font-size: 33px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
    color: #fff;
}

.fv__container--9 .fv__content-info {
    margin-top: 40px;
    padding-bottom: 24px;
    border-bottom: 1px solid #fff;
    display: flex;
    flex-direction: column;
    width: 855px;
    color: #fff;
}

.fv__container--9 .fv__content-date {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
}

.fv__container--9 .fv__content-place {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
}

.fv__container--9 .fv__button-wrap {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
}

.fv__container--9 .fv__content-notice {
    font-size: 22px;
    font-weight: 400;
    line-height: 1.6;
    color: #fff;
    width: 975px;
    max-width: 100%;
}

.fv__container--9 .fv__content-notice p {
    letter-spacing: -0.03em;
    margin: 0;
}

.fv__container--9 .fv__button {
    width: fit-content;
    height: auto;
    padding: 16px 24px;
    background-color: #7A126B;
    border: 1px solid #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
}

.fv__container--9 .fv__mark {
    position: absolute;
    top: 467px;
    right: calc(((100vw - 1440px) / 2) + 43px);
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background-color: #294E95;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fv__container--9 .fv__mask-inner {
    width: 206px;
    height: 206px;
    border: 1px solid white;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 8px;
}

.fv__container--9 .fv__mask-text {
    font-size: 56px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}

@media (max-width: 1440px) {
    .fv {
        width: 100%;
        height: 60.278vw;
        padding: 0;
    }
    .fv__list-btn {
        bottom: 1.042vw;
        left: 50%;
        transform: translateX(-50%);
        gap: 1.111vw;
    }
    
    .fv__list-btn-item {
        width: 1.667vw;
        height: 1.667vw;
    }

    .fv__container-base {
        width: 100vw;
        padding-left: 5.556vw;
    }
    
    .fv__container--1 .fv__container-base {
        padding-top: 13.75vw;
    }
    
    .fv__container--2 .fv__container-base {
        padding-top: 8.194vw;
    }
    
    .fv__container--3 .fv__container-base {
        padding-top: 19.028vw;
    }

    .fv__container--5 .fv__container-base {
        padding-top: 12.569vw;
    }

    .fv__container--6 .fv__container-base {
        padding-top: 16.667vw;
    }

    .fv__container--7 .fv__container-base {
        padding-top: 16.667vw;
    }
    
    .fv__container--1 .fv__content {
        gap: 1.667vw;
    }
    
    .fv__button {
        height: 4.444vw;
        font-size: 1.389vw;
    }
    
    .fv__container--1 .fv__content-row {
        gap: 1.111vw;
    }
    
    .fv__container--1 .fv__content-item {
        font-size: 1.111vw;
        padding: 0.556vw 1.667vw;
    }
    
    .fv__container--1 .fv__content-item span {
        font-size: 2.222vw;
    }
    
    .fv__container--1 .fv__title-wrap {
        gap: 0.278vw;
    }
    
    .fv__container--1 .fv__text {
        font-size: 5vw;
        font-weight: 500;
        line-height: 1.6;
        letter-spacing: 0.08em;
    }
    
    .fv__container--1 .fv__title {
        font-size: 3.333vw;
    }

    .fv__container--1 .fv__button-wrap {
        gap: 1.667vw;
    }
    
    .fv__container--1 .fv__button {
        width: 22.222vw;
        height: 4.444vw;
    }
                
    .fv__container--2 .fv__content-text-wrap {
        width: 48.819vw;
        gap: 4.444vw;
    }

    .fv__container--2 .fv__content-title {
        font-size: 4.444vw;
    }

    .fv__container--2 .fv__content-image {
        width: 38.542vw;
        height: 52.083vw;
    }

    .fv__container--2 .fv__content-name1 {
        position: absolute;
        bottom: 5.278vw;
        left: 0;
        font-size: 1.25vw;
        padding: 0.278vw 0.833vw;
        width: fit-content;
    }

    .fv__container--2 .fv__content-name2 {
        position: absolute;
        bottom: 3.194vw;
        left: 0;
        font-size: 1.25vw;
        padding: 0.278vw 0.833vw;
        width: fit-content;
    }

    .fv__container--2 .fv__content-name3 {
        position: absolute;
        bottom: 0;
        left: 0;
        font-size: 2.222vw;
        padding: 0.278vw 0.833vw;
        width: fit-content;
    }

    .fv__container--2 .fv__button {
        width: 18.611vw;
    }

    /* 3 */
    .fv__container--3 .fv__content {
        gap: 4.444vw;
    }

    .fv__container--3 .fv__content-text-wrap {
        width: 71.389vw;
        gap: 0.833vw;
    }

    .fv__container--3 .fv__content-image {
        width: 29.167vw;
        height: 7.986vw;
    }

    .fv__container--3 .fv__content-title {
        font-size: 5vw;
    }

    .fv__container--3 .fv__content-text {
        font-size: 1.389vw;
        width: 23.958vw;
        position: absolute;
        right: 0;
        bottom: 0;
    }

    .fv__container--3 .fv__content-text::before {
        content: '';
        width: 8.125vw;
        height: 0.069vw;
        position: absolute;
        top: 2.569vw;
        left: -9.861vw;
    }

    .fv__container--3 .fv__button {
        width: 17.222vw;
    }

    /* 5 */
    .fv__container--5 .fv__content {
        display: flex;
        flex-direction: column;
        gap: 1.667vw;
    }

    .fv__container--5 .fv__content-text-wrap {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 0.833vw;
    }

    .fv__container--5 .fv__content-featured {
        width: 12.639vw;
        height: 7.431vw;
    }

    .fv__container--5 .fv__content-featured-text {
        font-size: 3.889vw;
        padding: 1.181vw 1.667vw 0.764vw 1.389vw;
    }

    .fv__container--5 .fv__content-title {
        font-size: 4.444vw;
    }

    .fv__container--5 .fv__content-text {
        font-size: 2.292vw;
        font-weight: 400;
        line-height: 1.6;
        letter-spacing: 0;
    }

    .fv__container--5 .fv__button-wrap {
        display: flex;
        flex-direction: column;
        gap: 1.111vw;
        margin-top: 1.111vw;
    }

    .fv__container--5 .fv__button {
        width: 10.278vw;
        background-color: #7A126B;
    }

    /* 6 */
    .fv__container--6 .fv__content {
        gap: 10.667vw;
    }

    .fv__container--6 .fv__content-text-wrap {
        width: 68.61vw;
        gap: 0.833vw;
    }

    .fv__container--6 .fv__content-title {
        font-size: 4.444vw;
    }

    .fv__container--6 .fv__content-title span::after {
        top: 0.3472vw;
        left: -0.5555vw;
    }

    .fv__container--6 .fv__content-text {
        font-size: 2.292vw;
    }

    .fv__container--6 .fv__button-wrap {
        gap: 1.111vw;
    }

    .fv__container--6 .fv__button {
        width: 20vw;
    }

    .fv__container--6 .fv__button-text {
        font-size: 1.389vw;
    }

    .fv__container--6 .fv__mark {
        top: 42.57vw;
        right: 2.986vw;
        width: 15.278vw;
        height: 15.278vw;
    }

    .fv__container--6 .fv__mask-inner {
        width: 14.306vw;
        height: 14.306vw;
        gap: 0.556vw;
    }

    .fv__container--6 .fv__mask-text {
        font-size: 3.889vw;
    }

    /* 7 */
    .fv__container--7 .fv__content {
        gap: 2.778vw;
    }

    .fv__container--7 .fv__content-text-wrap {
        width: 68.61vw;
    }

    .fv__container--7 .fv__content-title {
        font-size: 4.444vw;
        padding: 0.833vw 0 1.806vw;
    }

    .fv__container--7 .fv__content-title span::after {
        top: 0.3472vw;
        left: -0.5555vw;
    }

    .fv__container--7 .fv__content-text {
        font-size: 2.292vw;
    }

    .fv__container--7 .fv__button-wrap {
        gap: 2.778vw;
    }

    .fv__container--7 .fv__button-text {
        font-size: 1.667vw;
    }

    .fv__container--7 .fv__button {
        width: 20vw;
    }

    .fv__container--7 .fv__mark {
        top: 42.57vw;
        right: 2.986vw;
        width: 15.278vw;
        height: 15.278vw;
    }

    .fv__container--7 .fv__mask-inner {
        width: 14.306vw;
        height: 14.306vw;
        gap: 0.556vw;
    }

    .fv__container--7 .fv__mask-text {
        font-size: 3.889vw;
    }

    /* 8 */
    .fv__container--8 .fv__container-base {
        padding-top: 16.875vw;
    }

    .fv__container--8 .fv__content {
        gap: 2.778vw;
    }

    .fv__container--8 .fv__content-text-wrap {
        width: 50.139vw;
        gap: 0.833vw;
    }

    .fv__container--8 .fv__content-subtitle {
        font-size: 2.292vw;
    }

    .fv__container--8 .fv__content-title {
        font-size: 4.444vw;
    }

    .fv__container--8 .fv__content-title span::after {
        top: 0.347vw;
        left: -0.556vw;
        width: calc(100% + 1.111vw);
        height: 90%;
    }

    .fv__container--8 .fv__button-wrap {
        width: 50.139vw;
    }

    .fv__container--8 .fv__button {
        width: fit-content;
        padding: 1.111vw 1.667vw;
        font-size: 1.389vw;
        height: auto;
    }

    .fv__container--8 .fv__content-image {
        top: -8.681vw;
        width: 38.542vw;
        height: 52.083vw;
    }

    /* 9 */
    .fv__container--9 .fv__container-base {
        padding-top: 9.042vw;
        padding-left: 5.556vw;
    }

    .fv__container--9 .fv__content {
        width: 67.847vw;
    }

    .fv__container--9 .fv__content-badge {
        width: 27.222vw;
        height: 5.556vw;
        padding-left: 1.806vw;
    }

    .fv__container--9 .fv__content-badge::before {
        top: 0.556vw;
        left: 0.694vw;
        width: 25.764vw;
        height: 4.444vw;
    }

    .fv__container--9 .fv__content-badge-text {
        font-size: 2.917vw;
    }

    .fv__container--9 .fv__content-text-wrap {
        margin-top: 0.556vw;
        gap: 0.833vw;
    }

    .fv__container--9 .fv__content-title {
        font-size: 4.444vw;
    }

    .fv__container--9 .fv__content-subtitle {
        font-size: 2.292vw;
    }

    .fv__container--9 .fv__content-info {
        margin-top: 2.778vw;
        padding-bottom: 1.667vw;
        width: 59.375vw;
    }

    .fv__container--9 .fv__content-date {
        font-size: 1.667vw;
    }

    .fv__container--9 .fv__content-place {
        font-size: 1.25vw;
    }

    .fv__container--9 .fv__button-wrap {
        margin-top: 2.778vw;
        gap: 1.389vw;
    }

    .fv__container--9 .fv__content-notice {
        font-size: 1.528vw;
        width: 67.708vw;
    }

    .fv__container--9 .fv__button {
        padding: 1.111vw 1.667vw;
        font-size: 1.389vw;
    }

    .fv__container--9 .fv__mark {
        top: 32.43vw;
        right: 2.986vw;
        width: 15.278vw;
        height: 15.278vw;
    }

    .fv__container--9 .fv__mask-inner {
        width: 14.306vw;
        height: 14.306vw;
        gap: 0.556vw;
    }

    .fv__container--9 .fv__mask-text {
        font-size: 3.889vw;
    }

}
@media (max-width: 768px) {

    .fv {
        width: 100%;
        height: 240vw;
    }

    .fv__list-btn {
        position: absolute;
        bottom: 4vw;
        left: 50%;
        transform: translateX(-50%);
        width: fit-content;
        display: flex;
        gap: 4.267vw;
    }
    
    .fv__list-btn-item {
        width: 4.267vw;
        height: 4.267vw;
        border-radius: 50%;
        cursor: pointer;
        transition: opacity 0.3s ease;
        background-color: white;
    }

    .fv__container-base {
        width: 100vw;
        padding-left: 5.333vw;
    }

    .fv__container--1 .fv__container-base {
        padding-top: 40vw;
    }

    .fv__container--2 .fv__container-base {
        padding-top: 20vw;
    }

    .fv__container--3 .fv__container-base {
        padding-top: 40vw;
    }

    .fv__container--5 .fv__container-base {
        padding-top: 40vw;
    }

    .fv__container--6 .fv__container-base {
        padding-top: 50vw;
    }

    .fv__container--7 .fv__container-base {
        padding-top: 50vw;
    }

    .fv__container--1 .fv__content {
        width: 89.333vw;
        display: flex;
        flex-direction: column;
        gap: 6.4vw;
    }

    .fv__button {
        height: 13.333vw;
        font-size: 5.333vw;
    }

    .fv__container--1 .fv__content-row {
        display: flex;
        gap: 3.2vw;
        flex-direction: column;
    }

    .fv__container--1 .fv__content-item {
        font-size: 3.467vw;
        padding: 1.067vw 3.2vw;
    }

    .fv__container--1 .fv__content-item span {
        font-size: 5.333vw;
    }

    .fv__container--1 .fv__title-wrap {
        gap: 1.067vw;
    }

    .fv__container--1 .fv__text {
        font-size: 8.533vw;
        letter-spacing: 0;
    }

    .fv__container--1 .fv__title {
        font-size: 4.267vw;
        letter-spacing: 0;
    }

    .fv__container--1 .fv__button-wrap {
        flex-direction: column;
        gap: 6.4vw;
    }

    .fv__container--1 .fv__button {
        width: 74.667vw;
        height: 13.333vw;
    }

    .fv__container--2 .fv__content {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        width: 89.333vw;
        gap: 6.4vw;
    }

    .fv__container--2 .fv__content-text-wrap {
        width: 100%;
        gap: 6.4vw;
    }

    .fv__container--2 .fv__content-title {
        font-size: 7.467vw;
    }

    .fv__container--2 .fv__content-image {
        width: 74.667vw;
        height: 101.33vw;
    }

    .fv__container--2 .fv__content-name1 {
        position: absolute;
        bottom: 20.267vw;
        left: 0;
        font-size: 4.8vw;
        padding: 1.067vw 3.2vw;
    }

    .fv__container--2 .fv__content-name2 {
        position: absolute;
        bottom: 12.267vw;
        left: 0;
        font-size: 4.8vw;
        color: white;
        background-color: #294E95;
        padding: 1.067vw 3.2vw;
        width: fit-content;
    }

    .fv__container--2 .fv__content-name3 {
        position: absolute;
        bottom: 0;
        left: 0;
        font-size: 8.533vw;
        padding: 1.067vw 3.2vw;
    }

    .fv__container--2 .fv__button {
        width: 71.467vw;
    }

    /* 3 */
    .fv__container--3 .fv__content {
        gap: 40px;
    }
 
    .fv__container--3 .fv__content-text-wrap {
        width: 100%;
        gap: 24px;
        position: relative;
    }
 
    .fv__container--3 .fv__content-image {
        width: 200px;
        height: 55px;
    }
    
    .fv__container--3 .fv__content-title {
        font-size: 40px;
    }
    
    .fv__container--3 .fv__content-text {
        display: none;
    }
    
    .fv__container--3 .fv__content-text::before {
        display: none;
    }
    
    .fv__container--3 .fv__button {
        width: 310px;
    }

    /* 5 */
    .fv__container--5 .fv__content {
        display: flex;
        flex-direction: column;
        gap: 9.067vw;
    }

    .fv__container--5 .fv__content-text-wrap {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 3.2vw;
    }

    .fv__container--5 .fv__content-featured {
        width: 37.6vw;
        height: 22.133vw;
    }

    .fv__container--5 .fv__content-featured-text {
        font-size: 9.6vw;
        padding: 3.733vw 5.867vw 3.467vw 6.133vw;
    }

    .fv__container--5 .fv__content-title {
        font-size: 7.467vw;
        font-weight: 400;
        line-height: 1.6;
        letter-spacing: 0;
    }

    .fv__container--5 .fv__content-text {
        font-size: 4vw;
        font-weight: 400;
        line-height: 1.6;
        letter-spacing: 0;
    }

    .fv__container--5 .fv__button-wrap {
        display: flex;
        flex-direction: column;
        gap: unset;
        margin-top: 0;
    }

    .fv__container--5 .fv__button {
        width: 39.467vw;
        background-color: #7A126B;
    }

    /* 6 */
    .fv__container--6 .fv__content {
        width: 86.4vw;
        gap: 10.667vw;
    }

    .fv__container--6 .fv__content-text-wrap {
        width: 100%;
        gap: 3.2vw;
    }

    .fv__container--6 .fv__content-title {
        font-size: 7.467vw;
    }


    .fv__container--6 .fv__content-title span::after {
        top: 1vw;
        left: -1vw;
    }

    .fv__container--6 .fv__content-text {
        font-size: 4.8vw;
    }

    .fv__container--6 .fv__button-wrap {
        display: flex;
        flex-direction: column;
        gap: 4.267vw;
    }

    .fv__container--6 .fv__button {
        width: 44.8vw;
        height: 17.067vw;
    }

    .fv__container--6 .fv__button-text {
        font-size: 3.2vw;
    }

    .fv__container--6 .fv__mark {
        position: absolute;
        top: 5.333vw;
        top: 18vw;
        right: 5.333vw;
        width: 32vw;
        height: 32vw;
    }

    .fv__container--6 .fv__mask-inner {
        width: 29.96vw;
        height: 29.96vw;
        gap: 2.133vw;
    }

    .fv__container--6 .fv__mask-text {
        font-size: 8.552vw;
    }

     /* 7 */
    .fv__container--7 .fv__content {
        width: 86.4vw;
        gap: 6.4vw;
    }

    .fv__container--7 .fv__content-text-wrap {
        width: 100%;
    }

    .fv__container--7 .fv__content-title {
        font-size: 9.6vw;
        padding: 3.125vw 0 6.93vw;
    }

    .fv__container--7 .fv__content-title span::after {
        top: 1vw;
        left: -1vw;
    }

    .fv__container--7 .fv__content-text {
        font-size: 5.333vw;
    }

    .fv__container--7 .fv__button-wrap {
        display: flex;
        flex-direction: column;
        gap: 17.067vw;
    }

    .fv__container--7 .fv__button {
        width: 60.8vw;
        height: 17.067vw;
        font-size: 5.333vw;
    }

    .fv__container--7 .fv__button-text {
        font-size: 4.267vw;
    }

    .fv__container--7 .fv__mark {
        position: absolute;
        top: 5.333vw;
        top: 18vw;
        right: 5.333vw;
        width: 32vw;
        height: 32vw;
    }

    .fv__container--7 .fv__mask-inner {
        width: 29.96vw;
        height: 29.96vw;
        gap: 2.133vw;
    }

    .fv__container--7 .fv__mask-text {
        font-size: 8.552vw;
    }

    /* 8 */
    .fv__container--8 .fv__container-base {
        padding-top: 32.8vw;
        padding-left: 6.933vw;
    }

    .fv__container--8 .fv__content {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 0;
        width: 85.6vw;
    }

    .fv__container--8 .fv__content-text-wrap {
        position: static;
        width: 85.6vw;
        gap: 3.2vw;
    }

    .fv__container--8 .fv__content-subtitle {
        font-size: 5.333vw;
    }

    .fv__container--8 .fv__content-title {
        font-size: 8vw;
    }

    .fv__container--8 .fv__content-title span::after {
        top: 0.533vw;
        left: -0.8vw;
        width: calc(100% + 1.6vw);
        height: 90%;
    }

    .fv__container--8 .fv__content-image {
        position: static;
        margin-top: 6.4vw;
        width: 85.6vw;
        height: 47.467vw;
        overflow: hidden;
    }

    .fv__container--8 .fv__content-image img {
        width: 100%;
        height: auto;
        margin-top: -13.653vw;
    }

    .fv__container--8 .fv__button-wrap {
        margin-top: 10.667vw;
        width: 85.6vw;
    }

    .fv__container--8 .fv__button {
        width: fit-content;
        padding: 4.267vw 6.4vw;
        font-size: 5.333vw;
        line-height: 1.15;
    }

    /* 9 */
    .fv__container--9 .fv__container-base {
        padding-top: 46vw;
        padding-left: 6.933vw;
    }

    .fv__container--9 .fv__content {
        width: 86.4vw;
    }

    .fv__container--9 .fv__content-badge {
        width: 50.4vw;
        height: 16.8vw;
        padding-left: 0;
        justify-content: center;
    }

    .fv__container--9 .fv__content-badge::before {
        top: 1.333vw;
        left: 2vw;
        width: 46.4vw;
        height: 14.133vw;
    }

    .fv__container--9 .fv__content-badge-text {
        font-size: 4.8vw;
    }

    .fv__container--9 .fv__content-text-wrap {
        margin-top: 3.2vw;
        gap: 3.2vw;
    }

    .fv__container--9 .fv__content-title {
        font-size: 9.6vw;
        white-space: normal;
    }

    .fv__container--9 .fv__content-subtitle {
        font-size: 5.333vw;
    }

    .fv__container--9 .fv__content-info {
        margin-top: 5.333vw;
        padding-bottom: 6.4vw;
        width: 85.6vw;
    }

    .fv__container--9 .fv__content-date {
        font-size: 4.267vw;
    }

    .fv__container--9 .fv__content-place {
        font-size: 3.2vw;
    }

    .fv__container--9 .fv__button-wrap {
        margin-top: 5.333vw;
        gap: 2.133vw;
    }

    .fv__container--9 .fv__content-notice {
        font-size: 3.733vw;
        width: 100%;
    }

    .fv__container--9 .fv__button {
        padding: 4.267vw 6.4vw;
        font-size: 5.333vw;
        line-height: 1.15;
    }

    .fv__container--9 .fv__mark {
        top: 18vw;
        right: 5.333vw;
        width: 32vw;
        height: 32vw;
    }

    .fv__container--9 .fv__mask-inner {
        width: 29.96vw;
        height: 29.96vw;
        gap: 2.133vw;
    }

    .fv__container--9 .fv__mask-text {
        font-size: 8.756vw;
    }
}

.top {
    width: 100%;
    padding: 120px 0;
    background-color: #1E0013;
    position: relative;
    overflow-x: hidden;
}

.top__container {
    width: 1440px;
    margin: 0 auto;
}


@media (max-width: 1440px) {
    .top {
        padding: 8.333vw 0;
    }

    .top__container {
        width: 100%;
    }    
}


@media (max-width: 768px) {
    .top {
        width: 100%;
        padding: 17.067vw 0; 
    }

    .top__container {
        width: 100vw;
        margin: 0 auto;
    }
}


.campaign {
    width: 100%;
    padding: 113px 0;
    background-color: #07185A;
    position: relative;
    overflow-x: hidden;
}

.campaign__container {
    width: 1440px;
    margin: 0 auto;
}

.campaign__content {
    width: fit-content;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
}

.campaign__content-title-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.campaign__contetnt-subtitle {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: center;
}

.campaign__content-title {
    font-size: 64px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: center;
}

.campaign__content-title span {
   position: relative;
   z-index: 0;
}

.campaign__content-title span::after {
    z-index: -1;
    content: '';
    position: absolute;
    top: 5px;
    left: -8px;
    width: 106%;
    height: 90%;;
    background-color: #294E95;
}

.campaign__button {
    width: 288px;
    height: 64px;
    background-color:transparent;
    border: 1px solid white;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

@media (max-width: 1440px) {

    .campaign {
        width: 100%;
        padding: 7.847vw 0;
    }

    .campaign__container {
        width: 100vw;
    }

    .campaign__content {
        gap: 4.444vw;
    }

    .campaign__content-title-wrap {
        gap: 1.111vw;
    }

    .campaign__contetnt-subtitle {
        font-size: 1.111vw;
    }

    .campaign__content-title {
        font-size: 4.444vw;
    }

    .campaign__content-title span::after {
        top: 0.3472vw;
        left: -0.5555vw;
    }

    .campaign__button {
        width: 20vw;
        height: 4.444vw;
        font-size: 1.389vw;
        font-weight: 500;
        line-height: 1.6;
        letter-spacing: 0;
    }
}

@media (max-width: 768px) {
    .campaign {
        width: 100%;
        padding: 30.933vw 0;
    }

    .campaign__container {
        width: 100vw;
        margin: 0 auto;
    }

    .campaign__content {
        gap: 6.4vw;
    }

    .campaign__content-title-wrap {
        gap: 6.4vw;
    }

    .campaign__contetnt-subtitle {
        font-size: 4.267vw;
    }

    .campaign__content-title {
        font-size: 7.467vw;
        font-weight: 400;
    }

    .campaign__content-title span::after {
        top: 1vw;
        left: -1vw;
    }

    .campaign__button {
        width: 44.8vw;
        height: 17.067vw;
        font-size: 5.333vw;
    }
}

.info {
    width: 100%;
}

.info__content {
    width: 1080px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 120px;
}

.info__concept {
    width: 100%;
    position: relative;
}


.info__concept::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(7, 24, 90, 0.2);
    backdrop-filter: blur(8px);
    z-index: 1;
}


.info__concept-content {
    z-index: 2;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.5);
    background-color: #07185A;
    width: 100%;
    height: 100%;
    padding: 60px 139.5px;
}

.info__concept-text-wrap {
    width: 374px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.info__concept-title {
    font-size: 42px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

.info__concept-text {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

.info__concept-image-wrap {
    width: 420px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.info__concept-image {
    width: 410px;
    height: 328px;
}

/*
.info__concept-image-text {
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.04em;
    text-align: center;
}
*/

@media (max-width: 1440px) {
    .info {
        width: 100%;
    }
    
    .info__content {
        width: 75vw;
        gap: 8.333vw;
    }
    
    .info__concept {
        width: 100%;
        position: relative;
    }
    
    .info__concept-content {
        padding: 4.167vw 9.688vw;
    }
    
    .info__concept-text-wrap {
        width: 25.972vw;
        gap: 1.667vw;
    }
    
    .info__concept-title {
        font-size: 2.917vw;
    }
    
    .info__concept-text {
        font-size: 1.389vw;
    }
    
    .info__concept-image-wrap {
        width: 29.167vw;
        gap: 1.667vw;
    }

    .info__concept-image {
        width: 28.472vw;
        height: 22.778vw;
    }
    
    /*
    .info__concept-image-text {
        font-size: 1.389vw;
    }
    */
    
}

@media (max-width: 768px) {

    .info__content {
        width: 89.333vw;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: 17.067vw;
    }

    .info__concept-content {
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        gap: 4.267vw;

        width: 100%;
        height: 100%;
        padding: 12.8vw 5.333vw;

    }

    .info__concept-text-wrap {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 6.4vw;
    }

    .info__concept-title {
        font-size: 6.4vw;
    }

    .info__concept-text {
        font-size: 4.267vw;
    }

    .info__concept-image-wrap {
        width: 78.667vw;
        display: flex;
        flex-direction: column;
        gap: 6.4vw;
    }

    .info__concept-image {
        width: 78.667vw;
        height: 62.9333vw;
    }

    /*
    .info__concept-image-text {
        font-size: 4.267vw;
        font-weight: 500;
        line-height: 1.6;
        letter-spacing: 0;
    }
    */
}

/* 企業　 */

.info__comapany {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.info__company-logos {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    row-gap: 20px;
}

.info__company-logo {
    width: 200px;
    height: 80px;
}

@media (max-width: 1440px) {
    .info__comapany {
        gap: 2.778vw;
    }
    
    .info__company-logos {
        gap: 1.389vw;
        row-gap: 1.389vw;
    }
    
    .info__company-logo {
        width: 13.889vw;
        height: 5.556vw;
    }
}

@media (max-width: 768px) {
    .info__comapany {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6.4vw;
    }

    .info__company-logos {
        display: flex;
        flex-wrap: wrap;
        gap: 5.333vw;
        row-gap: 5.333vw;
    }

    .info__company-logo {
        width: 42vw;
        height: 16.8vw;
    }
}

.info__about-wrap {
    position: relative;
}

.info__about-wrap a {
    color: white;
}

.info__about {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 500px;
    padding: 80px 0;
    background-color: #07185A;
}

.info__about-image {
    position: absolute;
    top: 229px;
    left: 165px;
    width: 750px;
    height: 420px;
}

.info__about-image-text {
    font-family: 'Noto Sans JP', sans-serif;
    position: absolute;
    font-size: 64px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.04em;
}

.info__about-image-text--1 {
    top: 116px;
    left: 101px;
}

.info__about-image-text--2 {
    top: 184px;
    left: 78px;
}

.info__about-row {
    width: 864px;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    row-gap: 15px;
}

.info__about-row-item {
    width: 420px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    padding: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.info__about-row-item-image {
    width: 100px;
    height: 100px;
}

.info__about-row-item-text-wrap {
    width: 235px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.info__about-row-item-text-wrap--long {
    width: 249px;
}

.info__about-row-item-text-title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

.info__about-row-item-text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

.info__about-btn {
    margin-top: 40px;
}

.info__about-link {
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 135%;
    background: #7A126B;
    border: 1px solid #fff;
    width: 288px;
    height: 86px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    text-decoration: none;
    text-align: center;
    transition: opacity 0.3s ease;
}

.info__about-link:hover {
    opacity: 0.7;
}

@media (max-width: 1440px) {

    .info__about {
        gap: 34.722vw;
        padding: 5.556vw 0;
    }

    .info__about-image {
        position: absolute;
        top: 15.903vw;
        left: 11.458vw;
        width: 52.083vw;
        height: 29.167vw;
    }

    .info__about-image-text {
        font-size: 4.44vw;
    }

    .info__about-image-text--1 {
        top: 8.056vw;
        left: 7.014vw;
    }

    .info__about-image-text--2 {
        top: 12.778vw;
        left: 5.417vw;
    }

    .info__about-row {
        width: 60vw;
        gap: 1.667vw;
        row-gap: 1.042vw;
    }

    .info__about-row-item {
        width: 29.167vw;
        padding: 1.667vw;
    }

    .info__about-row-item-image {
        width: 6.944vw;
        height: 6.944vw;
    }

    .info__about-row-item-text-wrap {
        width: 16.319vw;
        gap: 1.667vw;
    }

    .info__about-row-item-text-wrap--long {
        width: 17.292vw;
    }

    .info__about-row-item-text-title {
        font-size: 1.667vw;
    }

    .info__about-row-item-text {
        font-size: 1.111vw;
    }

    .info__about-btn {
        margin-top: 2.778vw;
    }

    .info__about-link {
        font-size: 1.389vw;
        width: 19.722vw;
        height: 5.722vw;
    }
}

@media (max-width: 768px) {
    .info__about {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 75.733vw;
        padding: 17.067vw 0;
    }
    
    .info__about-image {
        position: absolute;
        top: 60vw;
        left: 5.333vw;
        width: 78.667vw;
        height: 44.053vw;
    }

    .info__about-image-text {
        font-size: 8vw;
    }

    .info__about-image-text--1 {
        top: 13.333vw;
        left: 18.667vw;
    }

    .info__about-image-text--2 {
        top: 21.333vw;
        left: 15.467vw;
    }
        
    .info__about-row {
        width: 78.667vw;
        display: flex;
        flex-wrap: wrap;
        gap: unset;
        row-gap: 4.267vw;
    }
    
    .info__about-row-item {
        width: 100%;
        padding: 5.333vw;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .info__about-row-item-image {
        width: 18.667vw;
        height: 18.667vw;
    }
    
    .info__about-row-item-text-wrap {
        width: 42.133vw;
        display: flex;
        flex-direction: column;
        gap: 6.4vw;
    }
    
    .info__about-row-item-text-wrap--long {
        width: 42.933vw;
    }
    
    .info__about-row-item-text-title {
        font-size: 5.333vw;
    }
    
    .info__about-row-item-text {
        font-size: 4.267vw;
    }

    .info__about-btn {
        margin-top: 10.667vw;
    }

    .info__about-link {
        width: 100%;
        height: 22.933vw;
        font-size: 5.333vw;
    }
}

/* 選ばれる理由 */

.reason {
    width: 100%;
    padding: 120px 0;
    background-image: url('../images/reason-bg.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.reason__container {
    width: 1440px;
    margin: 0 auto;
}

.reason__content {
    width: 1080px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
}

.reason__content-row {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 64px;
}

.reason__content-item {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.reason__content-item:nth-child(even) {
    flex-direction: row-reverse;
}

.reason__content-item-image {
    width: 520px;
    height: 340px;
}

.reason__content-item-text-wrap {
    width: 510px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.reason__content-item-en-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

.reason__content-item-title {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

.reason__content-item-text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

@media (max-width: 1440px) {
    .reason {
        padding: 8.333vw 0;
    }
    
    .reason__container {
        width: 100%;
        margin: 0 auto;
    }
    
    .reason__content {
        width: 75vw;
        margin: 0 auto;
        gap: 4.444vw;
    }
    
    .reason__content-row {
        gap: 4.444vw;
    }
    
    .reason__content-item {
        width: 100%;
    }
    
    .reason__content-item-image {
        width: 36.111vw;
        height: 23.611vw;
    }
    
    .reason__content-item-text-wrap {
        width: 35.417vw;
        gap: 1.667vw;
    }
    
    .reason__content-item-en-title {
        font-size: 1.111vw;
    }
    
    .reason__content-item-title {
        font-size: 2.222vw;
    }
    
    .reason__content-item-text {
        font-size: 1.111vw;
    }
}

@media (max-width: 768px) {
    .reason {
        padding: 17.067vw 0;
        background-image: url('../images/sp-reason-bg.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    
    .reason__container {
        width: 89.333vw;
        margin: 0 auto;
    }
    
    .reason__content {
        width: 100%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10.667vw;
    }
    
    .reason__content-row {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 10.667vw;
    }
    
    .reason__content-item {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        gap: 6.4vw;
    }
    
    .reason__content-item:nth-child(even) {
        flex-direction: column;
    }
    
    .reason__content-item-image {
        width: 89.333vw;
        height: 58.411vw;
    }
    
    .reason__content-item-text-wrap {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 6.4vw;
    }
    
    .reason__content-item-en-title {
        font-size: 4.267vw;
    }
    
    .reason__content-item-title {
        font-size: 5.333vw;
    }
    
    .reason__content-item-text {
        font-size: 4.267vw;
    }
}

/* 導入事例 */

.case {
    width: 100%;
    padding: 120px 0;
    background-color: #1E0013;
    border-top: 1px solid #8A8A8A;
    border-bottom: 1px solid #8A8A8A;
}

.case__container {
    width: 1440px;
    margin: 0 auto;
}

.case__content {
    width: 1080px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
}

.case__content-row {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 64px
}

.case__content-item {
    width: 100%;
    height: 384px;
    display: flex;
    align-items: center;
    justify-content: center;

    background-image: url('../images/case-bg01.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.case__content-item:nth-child(even) {
    background-image: url('../images/case-bg02.png');
}

.case__content-item-title {
    font-size: 32px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
}

@media (max-width: 1440px) {

    .case {
        padding: 8.333vw 0;
    }

    .case__container {
        width: 100%;
        margin: 0 auto;
    }

    .case__content {
        width: 75vw;
        margin: 0 auto;
        gap: 4.444vw;
    }

    .case__content-row {
        gap: 64px
    }

    .case__content-item {
        width: 100%;
        height: 26.667vw;
    }

    .case__content-item-title {
        font-size: 2.222vw;
    }
}

@media (max-width: 768px) {
    .case {
        width: 100%;
        padding: 17.067vw 0;
    }
    
    .case__container {
        width: 91.733vw;
        margin: 0 auto;
    }
    
    .case__content {
        width: 100%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6.4vw;
    }
    
    .case__content-row {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 24px
    }
    
    .case__content-item {
        width: 100%;
        height: 110.933vw;
        display: flex;
        align-items: center;
        justify-content: center;
        background-image: url('../images/sp-case-bg.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    
    .case__content-item:nth-child(even) {
        background-image: url('../images/sp-case-bg.png');
    }
    
    .case__content-item-title {
        font-size: 4.267vw;
    }
}

.interview {
    width: 100%;
    padding: 123px 0 92px;
    background-color: #1E0013;
}

.interview__container {
    width: 1440px;
    margin: 0 auto;
}

.interview__content {
    width: 1080px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items:center;
    gap: 64px;
}

.interview__content-item {
    width: 100%;
    background-color: #07185A;
    border: 0.5px solid rgba(255, 255, 255, 0.5);
    padding: 64px 120px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.interview__content-item--movie {
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.interview__content-item-image {
    width: 236.7px;
    height: 320px;
}

.interview__content-item-movie {
    width: 842px;
    aspect-ratio: 16/9;
    background-color: #C4C4C4;
}

.interview__content-item-movie iframe {
    width: 100%;
    height: 100%;
}

.interview__content-item-text-wrap {
    width: 539px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 16px;
}

.interview__content-item-text-wrap--movie {
    width: 842px;
    align-items: flex-start;
}

.interview__content-item-subtitle {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

.interview__content-item-title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    width: 100%;
}

.interview__content-item-text-wrap--movie .interview__content-item-title {
    width: 539px;
}

.interview__content-item-text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    width: 100%;
}

.interview__speakers {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.interview__button {
    width: 148px;
    height: 64px;
    border: 1px solid white;
    background-color: #7A126B;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    margin-left: auto;
    margin-right: auto;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

.interview__button--wide {
    width: 408px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

@media (max-width: 1440px) {

    .interview {
        padding: 8.542vw 0 6.389vw;
    }

    .interview__container {
        width: 100%;
        margin: 0 auto;
    }

    .interview__content {
        width: 75vw;
        margin: 0 auto;
        gap: 4.444vw;
    }

    .interview__content-item {
        padding: 4.444vw 8.333vw;
    }

    .interview__content-item--movie {
        gap: 1.389vw;
    }

    .interview__content-item-image {
        width: 16.438vw;
        height: 22.22vw;
    }

    .interview__content-item-movie {
        width: 58.472vw;
    }

    .interview__content-item-text-wrap {
        width: 37.431vw;
        gap: 1.111vw;
    }

    .interview__content-item-text-wrap--movie {
        width: 58.472vw;
    }

    .interview__content-item-text-wrap--movie .interview__content-item-title {
        width: 37.431vw;
    }

    .interview__content-item-subtitle {
        font-size: 1.389vw;
    }

    .interview__content-item-title {
        font-size: 1.667vw;
    }

    .interview__content-item-text {
        font-size: 1.111vw;
    }

    .interview__speakers {
        gap: 1.111vw;
    }

    .interview__button {
        width: 10.278vw;
        height: 4.444vw;
        font-size: 1.389vw;
    }

    .interview__button--wide {
        width: 28.333vw;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 768px) {
    .interview {
        padding: 17.067vw 0 16.424vw;
    }

    .interview__container {
        width: 89.333vw;
    }

    .interview__content {
        width: 100%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6.4vw;
    }

    .interview__content-item {
        width: 100%;
        padding: 10.667vw 5.333vw;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        gap: 6.4vw;
    }

    .interview__content-item-image {
        width: 78.667vw;
        height: 106.352vw;
    }

    .interview__content-item-movie {
        width: 78.667vw;
    }

    .interview__content-item-text-wrap {
        width: 78.667vw;
        display: flex;
        flex-direction: column;
        gap: 4.267vw;
    }

    .interview__content-item-text-wrap--movie {
        width: 78.667vw;
        align-items: center;
    }

    .interview__content-item-subtitle {
        font-size: 4.8vw;
        width: 100%;
    }

    .interview__content-item-title {
        font-size: 5.333vw;
    }

    .interview__content-item-text-wrap--movie .interview__content-item-title {
        width: 100%;
    }

    .interview__content-item-text {
        font-size: 4.267vw;
    }

    .interview__speakers {
        gap: 4.267vw;
    }

    .interview__button {
        width: 39.467vw;
        height: 16.533vw;
        font-size: 5.333vw;
    }

    .interview__button--wide {
        width: 66.133vw;
        height: auto;
        min-height: 22.933vw;
        margin-left: auto;
        margin-right: auto;
        padding: 4.267vw 6.4vw;
        font-size: 5.333vw;
        line-height: 1.3;
    }
}

.product {
    width: 100%;
    padding: 120px 0;
    background-color: #07185A;
    border-top: 1px solid #8A8A8A;
    border-bottom: 1px solid #8A8A8A;
}

.product__container {
    width: 1440px;
    margin: 0 auto;
}

.product__content {
    width: 1080px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
}

.product__content-row {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.product__content-item {
    width: 520px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background-color: #294E95;
    border: 1px solid #8A8A8A
}

.product__content-item-image {
    width: 472px;
    height: 200px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.product__content-item-image--1 {
    background-image: url('../images/product01.jpg');
}

.product__content-item-image--2 {
    background-image: url('../images/product02.jpg');
}

.product__content-item-title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

.product__content-item-text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

.product__button {
    width: 320px;
    height: 64px;
    background-color: transparent;
    border: 1px solid white;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.product__button:hover {
    opacity: 0.7;
}

@media (max-width: 1440px) {

    .product {
        width: 100%;
        padding: 8.333vw 0;
    }

    .product__container {
        width: 100%;
        margin: 0 auto;
    }

    .product__content {
        width: 75vw;
        margin: 0 auto;
        gap: 4.444vw;
    }

    .product__content-row {
        width: 100%;
    }

    .product__content-item {
        width: 36.111vw;
        padding: 1.667vw;
        gap: 1.111vw;
    }

    .product__content-item-image {
        width: 32.778vw;
        height: 13.889vw;
    }

    .product__content-item-title {
        font-size: 1.667vw;
    }

    .product__content-item-text {
        font-size: 1.111vw;
    }

    .product__button {
        width: 22.222vw;
        height: 4.444vw;
        font-size: 1.389vw;
    }
}

@media (max-width: 768px) {

    .product {
        padding: 17.067vw 0;
    }

    .product__container {
        width: 89.333vw;
        margin: 0 auto;
    }

    .product__content {
        width: 100%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6.4vw;
    }

    .product__content-row {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        gap: 6.4vw;
    }

    .product__content-item {
        width: 100%;
        padding: 5.333vw;
        display: flex;
        flex-direction: column;
        gap: 4.267vw;
    }

    .product__content-item-image {
        width: 78.667vw;
        height: 53.333vw;
    }

    .product__content-item-title {
        font-size: 6.4vw;
    }

    .product__content-item-text {
        font-size: 4.267vw;
    }

    .product__button {
        width: 74.667vw;
        height: 13.333vw;
        font-size: 4.267vw;
    }
}

.contact {
    width: 100%;
    padding: 120px 0;
}

.contact__container {
    width: 1440px;
    margin: 0 auto;
}

.contact__content {
    width: 1080px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 80px;
}

.contact__area {
    width: 690px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.contact__area-content {
    background-color: #161616;
    border: 1px solid #32345B;
    padding: 24px 64px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}   

.contact__area-content-image {
    width: 202.5px;
    height: 92px;
}

.contact__area-content-text {
    width: 320px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

.contact__area-buttons {
    display: flex;
    justify-content: flex-end;;
    gap: 50px;
}

.contact__area-button {
    width: 320px;
    height: 64px;
    background-color: #07185A;
    border: 1px solid white;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    transition: opacity 0.3s ease;
}

.contact__area-button:hover {
    opacity: 0.7;
}

@media (max-width: 1440px) {

    .contact {
        width: 100%;
        padding: 8.333vw 0;
    }

    .contact__container {
        width: 100%;
        margin: 0 auto;
    }

    .contact__content {
        width: 75vw;
        margin: 0 auto;
        gap: 4.167vw;
    }

    .contact__area {
        width: 47.917vw;
        gap: 2.778vw;
    }

    .contact__area-content {
        padding: 1.667vw 4.444vw;
    }   

    .contact__area-content-image {
        width: 14.063vw;
        height: 6.389vw;
    }

    .contact__area-content-text {
        width: 22.222vw;
        font-size: 1.111vw;
    }

    .contact__area-buttons {
        display: flex;
        gap: 3.472vw;
    }

    .contact__area-button {
        width: 22.222vw;
        height: 4.444vw;
        font-size: 1.389vw;
    }
}

@media (max-width: 768px) {
    .contact {
        padding: 17.067vw 0;
    }
    
    .contact__container {
        width: 89.333vw;
        margin: 0 auto;
    }
    
    .contact__content{
        width: 100%;
        margin: 0 auto;
        gap: 6.4vw;
        flex-direction: column;
    }
    
    .contact__area {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 6.4vw;
    }
    
    .contact__area-content {
        padding: 6.4vw 5.333vw;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        gap: 6.4vw;
    }   
    
    .contact__area-content-image {
        width: 54vw;
        height: 24.533vw;
    }
    
    .contact__area-content-text {
        width: 78.667vw;
        font-size: 4.267vw;
    }
    
    .contact__area-buttons {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6.4vw;
    }
    
    .contact__area-button {
        width: 85.333vw;
        height: 17.067vw;
        font-size: 5.333vw;
    }
}

.mktoForm .mktoRequiredField label.mktoLabel {
    color: white;
}

.mktoForm .mktoRadioList > label, .mktoForm .mktoCheckboxList > label {
    color: white;
}

.mktoForm div, .mktoForm span, .mktoForm label, .mktoForm p, .mktoForm a {
    color: white;
}

.mktoForm .mktoButtonWrap.mktoRound .mktoButton {
    margin-left: 100px;
}

@media (max-width: 780px) {
    .mktoForm .mktoButtonWrap.mktoRound .mktoButton {
        margin-left: -120px;
    }
}