/* ============================================= */
/* CSS Variables */
/* ============================================= */
:root {
    --color-primary-blue: #002f7d;
    --color-emphasis-blue: #02458B;
    --color-accent-yellow: #ffde00;
    --color-button-yellow: #ffde00;
    --color-button-hover: #d4ca00;
    --color-background-blue: #0044a3;
    --color-text-white: #ffffff;
    --color-text-dark: #333333;
    --color-button-text: #004091;
    --color-button-text-hover: #1d3e6b;
    --color-border-light: #e0e0e0;
    --color-prize-label: #e6002d;
    --color-target-period: #179246;
    --color-applicate-period: #BF3032;
    --color-button-deactive: #D9D9D9;
    --color-button-text-deactive: #5678A4;
}

/* ============================================= */
/* Base Styles */
/* ============================================= */
body {
    margin: 0;
    font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
    color: var(--color-text-dark);
    background-color: #ffffff;
    font-size: 400;
    overflow-x: hidden;
}

.page-wrapper {
    width: 100%;
    margin: 0 auto;
    background-color: var(--color-text-white);
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

a {
    text-decoration: none;
    color: inherit;
}

h1, h2, h3, h4, h5 {
    color: var(--color-primary-blue);
    margin: 0;
}

p {
    padding: 0;
    margin: 0;
}

#ar_image-event_trigger {
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    top: 80%;
}

/* ============================================= */
/* as Tailwind */
/* ============================================= */

.text-emphasis {
    color: var(--color-emphasis-blue);
}

.text_regular {
    font-weight: 400;
}
.text_semi-bold {
    font-weight: 600;
}
.text_bold {
    font-weight: 700;
}
.text_extra-bold {
    font-weight: 800;
}
.text_black {
    font-weight: 900;
}

/* ============================================= */
/* Layout & Container */
/* ============================================= */

.l-container {
    margin: 0 auto;
    padding: 0 10.833333333%;
}

/* ============================================= */
/* Component Styles */
/* ============================================= */
section {
    margin-top: 8dvw;
    position: relative;
    z-index: 2;
}

section#about {
    margin-top: 5dvw;
}

section#ar {
    margin-top: -7dvw;
}

.c-section-title {
    font-size: 3.7dvw;
    text-align: left;
    margin: 0;
    font-weight: 700;
}

#info .c-section-title {
    margin-bottom: 0.5em;
}

.c-section-sub-title {
    font-size: 4.35cqw;
    margin: 1.33em 0;
    font-weight: 500;
}

.c-sub-section__title_wrapper {
    background-color: #ffffff00;
    background-size: cover;
    text-align: center;
    container-type: inline-size;
    margin: 0;
    display: flex;
    align-items: center;
}

#application .c-sub-section__title_wrapper {
    background-image: url("../img/how-to-applicate-background.png");
    aspect-ratio: 414 / 104;
    width: 26dvw;
    justify-content: center;
    background-size: cover;
    margin-bottom: 2.5cqw;
}

#prize .c-sub-section__title_wrapper {
    background-image: url("../img/prize_title_highlight.png");
    width: 30.5dvw;
    aspect-ratio: 408 / 54;
    overflow: visible;
    margin: 4.03dvw 0;
}

#info .c-sub-section__title_wrapper {
    background-image: url("../img/prize_title_highlight.png");
    width: 81%;
    aspect-ratio: 408 / 54;
    overflow: visible;
    margin: 8.5cqw 4.03cqw 8.5cqw 0;
}

.c-sub-section__title {
    font-weight: 600;
    color: var(--color-primary-blue);
    padding: 0;
    position: relative;
    left: 3.5cqh;
}
#application .c-sub-section__title {
    font-size: 7cqw;
    font-weight: 500;
    color: var(--color-text-white);
    padding: 0;
    margin: 0px 35cqw 3cqw 0dvw;
    left: 2cqh;
}

#prize .c-sub-section__title {
    font-size: 8.5cqw;
}

#info .c-sub-section__title {
    font-size: 7cqw;
}

.c-section-message {
    margin: 0 0 6.9cqw;
    padding: 0;
    padding-right: 6cqw;
}

.c-section-period {
    margin: 0 0 7.7cqw;
}

.ar-section_decoration {
    background-image: url("../img/ar_background_deco.png");
    background-color: #ffffff00;
    width: 100%;
    aspect-ratio: 1440 / 677;
    background-size: cover;
}

.ar-section_decoration_bottom_wrapper {
    width: 100%;
    background-size: cover;
    position: absolute;
    bottom: 5dvw;
    left: 0;
}

.ar-section_decoration_bottom_top {
    width: 100%;
        position: absolute;
        top: -5dvw;
        background-color: var(--color-primary-blue);
        height: 11dvw;
}

.ar-section_decoration_bottom_bottom {
    overflow: hidden;
    position: relative;
}
.ar-section_decoration_bottom_img {
    background-image: url("../img/ar_background_deco_bottom_3.png");
    width: 100%;
    aspect-ratio: 1440 / 220;
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    top: -1.3dvw;
    left: 0;
    z-index: 1;
}

.ar-section_decoration_bottom_img_over_hand {
    display: none;
}

.ar-section_decoration_bottom_white {
    background-color: var(--color-text-white);
    width: 100%;
    height: 10dvw;
    position: relative;
    top: -1.3dvw;
    z-index: 1;
}

.c-button {
    display: block;
    transition: opacity 0.3s;
    background-color: var(--color-button-yellow);
    color: var(--color-button-text);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.c-button.is-deactive {
    pointer-events: none;
    background-color: var(--color-button-deactive);
    color: var(--color-button-text-deactive);
}

.c-button--eyecatch {
    position: absolute;
    bottom: 12.239902%;
    left: 11.3%;
    width: 27%;
    aspect-ratio: 4 / 1;
}

.c-button--in-card {
    width: 100%;
    aspect-ratio: 248 / 80;
    box-shadow: 0 10% 25% #00000040;
}

.c-button--in-info {
    width: 17.2dvw;
    aspect-ratio: 248 / 80;
    box-shadow: 0 10% 25% #00000040;
}

.c-button--in-info.buy_ticket {
    background-color: #0C358B;
    color: var(--color-text-white);
}

.c-button--in-info.buy_ticket:hover {
    background-color: #112c68;
    color: #c7c7c7;
}

.c-button--in-info.buy_ticket .c-button__arrow {
    background-color: var(--color-text-white);
}

.c-button--in-info.buy_ticket:hover .c-button__arrow {
    background-color: #c7c7c7;
}

.c-button--in-info .c-button--inner-text {
    font-size: 8.333cqw;
}

.c-button__play-ar {
    width: 95.24%;
    aspect-ratio: 4;
    font-size: 9.09cqw;
}

.c-button--inner-wrapper {
    position: relative;
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    
    font-weight: 700;
    text-align: center;

    container-type: size;
}

.c-button--inner-text {
    font-size: 10cqw;
}

.c-button__arrow {
    display: inline-block;
    height: 70%;
    aspect-ratio: 1;
    
    /* 透過PNGをマスクとして指定 */
    -webkit-mask-image: url('../img/chevron_forward.png');
    mask-image: url('../img/chevron_forward.png');
    
    /* マスク画像の表示設定 */
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;

    /* 色の変化を滑らかにするための transition */
    transition: background-color 0.2s ease;
    
    /* * ここで背景色を指定すると、マスクで切り抜かれた部分に色がつく
     */
    background-color: var(--color-button-text);

    position: absolute;
    right: 0;
}

.c-button__arrow.small {
    height: 37.5%;
    translate: -15% 0;
}

.c-button__arrow.middle {
    height: 50%;
    translate: -30% 0;
}

/* ホバー時：青 */
.c-button:hover {
    background-color: var(--color-button-hover);
    color: var(--color-button-text-hover);
}

.c-button:hover .c-button__arrow {
    background-color: var(--color-button-text-hover);
}

.apply_terms {
    margin-left: 1.75dvw;
    font-size: 1dvw;
    line-height: 2dvw;
    position: absolute;
    bottom: 8dvw;
    color: #1E272FDD;
}

.apply_terms label {
    width: auto;
    display: flex;
    align-items: center;
}
.apply_terms label:before {
    content: "";
    display: inline-block;
    margin: 0;
    width: 1.15cqw;
    height: 1.15cqw;
    outline: solid 0.15dvw #C0C7D1;
    outline-offset: -0.15dvw;
    border-radius: 25%;
    margin-right: 0.5cqw;
}

.apply_terms label:has(input:checked):before {
    outline: none;
    background-image: url(../img/check.png);
    background-size: cover;
    background-repeat: round;
    border-radius: 0;
}

.apply_terms input {
    padding: 0;
    margin: 0;
    width: 1.25cqw;
    aspect-ratio: 1;
    display: none;
}
/* ============================================= */
/* Header / Hero */
/* ============================================= */
.hero {
    background-color: var(--color-text-white);
    background-size: cover;
    background-position: center top;
    padding: 0 0;
    text-align: center;
    color: var(--color-text-white);
}

.hero__title {
    margin: 0;
    position: relative;
}
.hero__title img {
    width: 100%;
}

.hero__subtitle {
    font-size: 20px;
    margin: 0 0 30px 0;
    font-weight: bold;
}

.hero__button {
    min-width: 280px;
}

/* ============================================= */
/* Campaign About */
/* ============================================= */
.campaign-about {
    display: flex;
    gap: 1.388888888dvw;
    align-items: flex-start;
}
.campaign-about__text {
    flex: 587;
}
.campaign-about__text__wrapper {
    width: 100%;
    container-type: inline-size;
}
.campaign-about__message {
    font-size: 3.4cqw;
    line-height: 2em;
}
.campaign-about__period {
    font-size: 3.6cqw;
    line-height: 2em;
    
}
.campaign-about__target_period {
    color: var(--color-target-period);
}
.campaign-about__applicate_period {
    color: var(--color-applicate-period);
}
.campaign-about__games {
    flex: 520;
    width: 36.111111111dvw;
    aspect-ratio: 52/59;
    background-color: var(--color-primary-blue);
    color: var(--color-text-white);
    margin: 0 1cqw;
    display: flex;
    container-type: size;
    align-content: center;
    align-items: center;
    justify-content: center;
}
.campaign-about__games_wrapper {
    width: 100%;
}
.campaign-about__games-title {
    color: var(--color-text-white);
    margin-top: 0;
    text-align: center;
    font-size: 8.33cqw;
    font-weight: 600;
    margin-bottom: 2cqw;
}
.campaign-about__games-list {
    list-style: none;
    padding: 0 12cqw;
    margin: 0;
    text-align: center;
}
.campaign-about__games-list li {
    padding: 5cqw 0;
    border-bottom: solid 0.4cqw var(--color-text-white);
    width: 100%;
    margin: 0 auto;
}
.campaign-about__games-list li:last-child {
    border: none;
    padding-bottom: 0;
}
.campaign-about__games-list-item-title {
    color: var(--color-text-white);
    font-size: 6cqw;
    font-weight: 500;
    margin-bottom: 0.25em;
}
.campaign-about__games-list-item-date {
    font-size: 6cqw;
    font-weight: 500;
}

/* ============================================= */
/* Application Steps */
/* ============================================= */
.application-steps {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
.step-card {
    flex: 1;
    border: 0.42dvw solid var(--color-background-blue);
    margin: 0;
    padding: 0;
    text-align: center;
    position: relative;
    background-color: #fff;
    container-type: inline-size;
    aspect-ratio: 282 / 362;
}
.step-card-wrapper {
    width: 93.75%;
    height: calc(100% - 6.25cqw);
    padding: 3.125cqw;
}
.step-card__number {
    color: var(--color-button-text);
    font-weight: bold;
    font-size: 20cqw;
    margin: 0;
    padding: 0;
    margin-top: 0.5em;
}
.step-card__title {
    margin: 0;
    font-size: 9.09cqw;

}
.step-card__description {
    font-size: 6.2cqw;
    margin: 0;
    text-align: center;
    padding: 1.25em 0;
}

.step-card .c-button--inner-text {
    font-size: 8.333cqw;
}

/* ============================================= */
/* Prize List */
/* ============================================= */
.prize-list {
    display: flex;
    justify-content: space-around;
    gap: 3%;
    text-align: center;
}
.prize-item {
    flex: 1;
    aspect-ratio: 350 / 398;
    box-shadow: 0px 0px 1cqw 0.4cqw rgba(0, 0, 0, 0.15);
    border-radius: 5%;
    background: #FFFFFF;
}
.prize-item__wrapper {
    container-type: size;
    position: relative;
    padding: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.prize-item__image {
    margin: 0;
    position: relative;
    display: inline-block;
    padding: 8%;
}
.prize-item__image img{
    width: 100%;
}
.prize-item__label {
    position: absolute;
    font-size: 5.5cqw;
    font-weight: bold;
    top: 1.5em;
    right: 1.5em;
    background-color: var(--color-prize-label);
    color: var(--color-text-white);
    padding: 0.25em 0.5em;
    border-radius: 10%;
}

.prize-item-name-label {
    font-size: 5cqw;
    font-weight: 600;
    padding-top: 6cqw;
    color: var(--color-emphasis-blue);
}

.prize-item__attention {
    color: #9A9A9A;
    font-size: 4cqw;
    position: absolute;
    right: 1em;
    bottom: 6em;
}

.prize-attention_this_is_image {
    color: #9A9A9A;
    font-size: 1cqw;
    position: relative;
    text-align: right;
    top: 1em;
}

.prize-plus-alpha {
    font-size: 1.72413793103cqw;
    font-weight: 600;
    color: #Bf3032;
    text-align: center;
    padding: 1em 0;
}

.prize-plus-alpha.pc {
    display: block;
}

.prize-plus-alpha.sp {
    display: none;
}

/* ============================================= */
/* AR Section */
/* ============================================= */
.ar-section {
    background-color: var(--color-primary-blue);
    color: var(--color-text-white);
    padding: 60px 0;
}
.ar-section__container {
    position: relative;
    top: -30.25cqw;
    background-color: var(--color-primary-blue);
    color: var(--color-text-white);
    padding: 10cqw 10.833333333% 8.6cqw;
    display: flex;
    container-type: inline-size;
    margin-bottom: -25.25cqw;
    z-index: 1;
}
.ar-section__text {
    width: 30dvw;
    container-type: inline-size;
    display: grid;
}
.ar-section__title {
    font-weight: 700;
    font-size: 12.5cqw;
    margin-top: 0;
    color: var(--color-text-white);
}
.ar-section__text p {
    font-size: 4.76cqw;
    margin: 12.5cqw 0 15cqw;
    line-height: 2em;
    font-weight: 400;
}
.ar-section__navigation {
    padding: 0;
    width: 35%;
    margin-top: 1.5cqw;
    margin-left: 1cqw;
}
.ar-section__navigation img {
    display: block; 
}
.ar-section__navigation p {
    font-size: 1.5cqw;
    margin: 1cqw 0 0 3.9dvw;
}
.ar-section__image {
    position: relative;
    bottom: 0;
    right: 0;
}

.ar_image_inner_wrapper {
    position: absolute;
    width: 37.5dvw;
    right: -31dvw;
    bottom: -32.5cqw;
    opacity: 0;
    transition:
        bottom 1s ease,
        opacity 1s ease;
}

.ar_image_inner_wrapper img {
    width: 100%;
}

.ar_image_inner_wrapper.is-visible {
    bottom: -14.7cqw;
    opacity: 1;
}

.ar-section__img-navigation {
    width: 79%;
    margin: 0;
    margin-bottom: 2cqw;
}

.ar-section__img-qrcode {
    width: 13.89dvw;
    margin: 0px 0 0 4.86dvw;
}

/* ============================================= */
/* Notes Area */
/* ============================================= */
.notes-area {
    display: flex;
    width: 100%;
    container-type: inline-size;
}
.notes-box {
    container-type: inline-size;
}

.notes-box.attention {
    width: 44.68%;
    margin: 0 auto 0 0;
}
.notes-box.attention p{
    font-size: 3.44cqw;
    margin-bottom: 2em;
    line-height: 1.5em;
}

.notes-box.info {
    width: 42.29%;
    padding: 0 3.14cqw 6.14cqw 4.14cqw;
    margin: 0 0 0 auto;
    outline: solid 0.417dvw #004091;
    outline-offset: -0.417dvw;
}

.notes-box ul{
    padding: 0;
    margin: 0;
    padding-left: 5cqw;
    font-size: 3.2cqw;
    font-weight: 600;
}

.info_button_line {
    display: flex;
    gap: 5cqw;
    margin-top: 3dvw;
    justify-content: center;
}

/* ============================================= */
/* Footer */
/* ============================================= */
.footer {
    background-color: var(--color-primary-blue);
    color: var(--color-text-white);
    margin-top: 2cqw;
    width: 100%;
}
.footer__companies {
    width: 100%;
}
.footer__bottom {
    display: flex;
    padding: 1dvw 0;
    justify-content: center;
    align-items: center;
    margin: 0 12dvw;
}

.footer__socials {
    display: flex;
    height: 1.5dvw;
    gap: 2dvw;
    order: 1;
    flex: 1;
    justify-content: right;
    margin-right: 5dvw;
}

.footer__socials a {
    height: 100%;
    display: inherit;
}

.footer__socials img {
    height: 100%;
    vertical-align: top;
}

.footer__copyright {
    font-size: 1.5cqh;
    color: rgba(253, 253, 253, 0.8);
    text-align: center;
    order: 0;
}

.footer__container {
    margin: 0;
    padding: 0;
    width: 100%;
}

/* ============================================= */
/* Responsive Styles (for screens <= 768px)      */
/* ============================================= */
@media screen and (orientation: portrait) {
    section#ar {
        margin-top: 0;
    }
    .c-section-title {
        text-align: left;
        font-size: 8cqw;
    }
    .c-section-period {
        margin: 0;
    }
    .c-sub-section__title {
        position: relative;
        bottom: 0.65em;
        left: 1em;
        font-size: 6dvw;
        font-weight: 600;
        width: 100%;
        height: 100%;
        text-align: left;
    }
    .c-button--eyecatch {
        position: absolute;
        bottom: 13%;
        left: 11.3%;
        width: 34%;
        aspect-ratio: 5 / 1;
    }
    .c-button--inner-text {
        font-size: 3dvw;
        line-height: 1em;
        font-weight: 600;
    }
    .c-button__arrow {
        height: 3.5dvw;
    }

    section#application, section#prize {
        margin-top: 10dvw;
    }

    /* --- 1. campaign-about --- */
    /* textとgamesを縦並びに変更 */
    .campaign-about {
        flex-direction: column;
        align-items: center;
        gap: 2em;
    }

    .campaign-about__text,
    .campaign-about__games {
        flex: none; /* flexの比率指定をリセット */
        width: 100%;
        aspect-ratio:initial;
    }
    .campaign-about__games {
        aspect-ratio: 350/328;
    }
    .campaign-about__games-title {
        font-size: 7cqw;
        font-weight: 500;
    }
    .campaign-about__message {
        line-height: 1.75em;
    }
    .campaign-about__games-list li:first {
        padding-top: 0;
    }
    .campaign-about__games-list li {
        padding:  4cqw 0;
        border-bottom: solid 1cqw var(--color-text-white);
    }
    .campaign-about__games-list-item-title {
        font-size: 4.8cqw;
        padding: 0;
        font-weight: 400;
    }
    .campaign-about__games-list-item-date {
        font-size: 4.8cqw;
        margin-top: 0.5em;
        font-weight: 400;
    }

    #application .c-sub-section__title_wrapper {
        width: 55%;
        translate: 0 0;
        position: relative;
    }

    #application .c-sub-section__title {
        margin: 0;
        text-align: center;
        display: inline;
        vertical-align: middle;
        top: 4cqw;
        left: -8cqw;
        font-size: 8.5cqw;
        font-weight: 400;
    }

     /* --- 2. application-steps --- */
    /* step-cardを2x2のグリッド状に変更 */
    .application-steps {
        flex-wrap: wrap;
        gap: 2dvw 0;
        justify-content: space-between; /* 親要素のgapと幅計算を連携させるため、space-betweenに戻します */
    }

    .step-card {
        flex: 0 0 calc(50% - 2dvw); /* gapの半分の値を引いて、正確に2分割します */
        min-width: 0; /* 最小幅の指定をリセットします */
        aspect-ratio: 168 / 230;
    }

    .step-card__number {
        font-size: 23.5cqw;
        margin-top: 0.25em;
    }

    .step-card__title {
        font-size: 9.37cqw;
    }

    .step-card__description {
        font-size: 5.8cqw;
        font-weight: 500;
        padding: 2.5em 0;
    }

    .c-button--in-card {
        aspect-ratio: 150 / 40;
    }

    #prize .c-sub-section__title_wrapper {
        width: 50%;
        aspect-ratio: 196 / 35;
        background-size: contain;
        position: relative;
        left: -2.25dvw;
    }

    #prize .c-sub-section__title {
        font-size: 6dvw;
        font-weight: 500;
    }

    /* --- 3. prize-list --- */
    /* prize-itemを縦1列に変更 */
    .prize-list {
        flex-direction: column;
        align-items: center;
        gap: 2em;
    }

    .prize-item {
        width: 100%;
        aspect-ratio: 35/28;
    }
    .prize-attention_this_is_image {
        font-size: 1.5cqw;
    }
    .prize-item__image {
        width: 57.14%;
    }
    .prize-item-name-label {
        font-size: 4cqw;
    }

    .prize-plus-alpha {
        font-size: 3.72413793103cqw;
    }
    .prize-plus-alpha.pc {
        display: none;
    }

    .prize-plus-alpha.sp {
        display: block;
    }
    .prize-item__label {
        font-size: 2.9cqw;
        font-weight: 500;
        top: 3.5em;
        right: 9em;
        padding: 0.4em 0.75em;
        border-radius: 1.9cqw;
        letter-spacing: 0.05em;
        text-align: center;
        line-height: 1em;
    }
    .prize-item-attention {
        font-size: 3cqw;
        right: 5em;
        bottom: 6.5em;
    }
    .prize-item_attention_this_is_image {
        font-size: 2cqw;
    }

    /* --- 4. ar-section__container --- */
    /* navigationを非表示にし、textとimageを縦並びに変更 */
    .ar-section__container {
        flex-direction: column;
        align-items: center;
        padding-top: 1em;
        padding-bottom: 1em;
        top: -30vw; /* 位置を少し調整 */
        margin-bottom: -10vw;
    }

    .ar-section_decoration {
        background-image: url(../img/ar_background_smp_01.png);
        background-color: #ffffff00;
        width: 100%;
        aspect-ratio: 658 / 247;
        position: relative;
        top: -13dvw;
        background-size: 145%;
        background-position: 64% 0%;
    }

    .ar-section__title {
        margin-top: 2em;
        font-size: 8cqw;
        font-weight: 700;
    }

    .ar-section__navigation {
        display: none; /* 要素を非表示にする */
    }

    .ar-section__text {
        width: 100%;
        order: 1; /* 表示順序を1番目に */
        z-index: 1;
    }

    .ar-section__text p{
        font-size: 3.76cqw;
        margin: 1.75em 0 3em;
        line-height: 1.75em;
    }

    .ar-section__image {
        position: relative;
        order: 2;
        width: 80%;
        height: auto;
        padding: 0;
        margin: 0;
    }

    #ar_image-event_trigger {
        top: 60%;
    }

    .ar-section_decoration_bottom_top {
        height: 11dvw;
    }

    .ar-section_decoration_bottom_wrapper {
        bottom: 0;
    }
    
    .ar-section_decoration_bottom_bottom {
        display: block;
        overflow: visible;
        z-index: 4;
        position: relative;
        top: -3dvw;
    }

    .ar-section_decoration_bottom_img {
        z-index: 4;
        background-image: url(../img/ar_background_smp_02.png);
        width: 100%;
        aspect-ratio: 1424 / 166;
        position: relative;
        left: 0;
        top: 0;
        background-size: 158%;
        background-position: 47% -11%;
    }

    .ar-section_decoration_bottom_white {
        z-index: 4;
        height: 20dvw;
    }

    .ar_image_inner_wrapper {
        position: relative;
        bottom: -25dvw;
        right: -5.5dvw; 
        opacity: 0;
        width: 100%;
    }   

    .ar_image_inner_wrapper.is-visible {
        bottom: -9dvw;
        opacity: 1;
    }

    .c-button__play-ar {
        height: 9dvw;
        width: initial;
        margin: 0 auto;
        aspect-ratio: 150 / 40;
    }

    .c-button__play-ar .c-button--inner-text {
        font-weight: 600;
        margin-left: 4.5dvw
    }

    .c-button__play-ar .c-button__arrow {
        position: relative;
        margin-left: 1dvw;
    }


    /* --- 5. notes-area --- */
    /* notes-boxを縦並びに変更 */
    .notes-area {
        flex-direction: column;
        gap: 2em;
    }

    .notes-box.attention,
    .notes-box.info {
        width: 100%;
        margin: 0;
    }

    .notes-box ul {
        padding: 0;
        margin: 0;
        padding-left: 1.5em;
        font-size: 4.76cqw;
        font-weight: 500;
        line-height: 1.5em;
        color: #1E272FDD;
    }

    .notes-box .c-sub-section__title {
        bottom: 0.35em;
    }

    .notes-box.info {
        padding: 0;
        outline: solid 1dvw #004091;
        outline-offset: -1dvw;
    }

    .notes-box.info ul {
        font-size: 5cqw;
        letter-spacing: 0.05em;
    }

    .notes-info-wrapper {
        margin: 0 4.14cqw 6.14cqw 5.14cqw;
    }

    #info .c-sub-section__title_wrapper {
        width: 67%;
    }

    #info .c-sub-section__title {
        font-size: 12cqw;
    }

    .apply_terms {
        margin: 0;
        margin-top: 1em;
        font-size: 3.5dvw;
        line-height: 4dvw;
        position: relative;
        bottom: 0;
        font-weight: 400;
        display: flex;
        text-align: center;
        justify-content: center;
    }

    .apply_terms label:before {
        width: 4dvw;
        height: 4dvw;
        outline: solid 0.5dvw #C0C7D1;
        outline-offset: -0.5dvw;
        margin-right: 0.5em;
    }

    .info_button_line {
        display: block;
    }

    .c-button--in-info {
        aspect-ratio: 150 / 40;
        width: 34.09dvw;
        display: block;
        margin: 6dvw auto;
    }

    .footer__bottom {
        padding: 5dvw 0;
        display: block;
    }

    .footer__socials {
        height: 4.5dvw;
        justify-content: center;
        gap: 7.5dvw;
        order: 1;
        flex: 1;
        margin: 0;
        margin-bottom: 5dvw;
    }
}