style.
    @charset "utf-8";
    @font-face {
        font-family: Noto Sans, Noto Sans JP, Helvetica, Arial, sans-serif;
    }
    /*-------------------------- reset CSS ----------------------*/
    *,
    *:after,
    *:before {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    html,
    body,
    div,
    span,
    object,
    iframe,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    blockquote,
    pre,
    abbr,
    address,
    cite,
    code,
    del,
    dfn,
    em,
    img,
    ins,
    kbd,
    q,
    samp,
    small,
    strong,
    sub,
    sup,
    var,
    b,
    i,
    dl,
    dt,
    dd,
    ol,
    ul,
    li,
    fieldset,
    form,
    label,
    legend,
    table,
    caption,
    tbody,
    tfoot,
    thead,
    tr,
    th,
    td,
    article,
    aside,
    canvas,
    details,
    figcaption,
    figure,
    footer,
    header,
    hgroup,
    menu,
    nav,
    section,
    summary,
    time,
    mark,
    audio,
    video,
    button,
    svg {
        margin: 0;
        padding: 0;
        border: 0;
        outline: 0;
        font-size: 100%;
        vertical-align: middle;
        background: transparent;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    article,
    aside,
    details,
    figcaption,
    figure,
    footer,
    header,
    hgroup,
    menu,
    nav,
    section {
        display: block;
    }

    nav,
    ul,
    li {
        list-style: none;
    }

    blockquote,
    q {
        quotes: none;
    }

    blockquote:before,
    blockquote:after,
    q:before,
    q:after {
        content: "";
        content: none;
    }

    a {
        text-decoration: none;
        color: inherit;
        margin: 0;
        padding: 0;
        font-size: 100%;
        vertical-align: baseline;
        background: rgba(0, 0, 0, 0);
    }

    /* change colours to suit your needs */
    ins {
        background-color: #ff9;
        color: #000;
        text-decoration: none;
    }

    /* change colours to suit your needs */
    mark {
        background-color: #ff9;
        color: #000;
        font-style: italic;
        font-weight: bold;
    }

    del {
        text-decoration: line-through;
    }

    abbr[title],
    dfn[title] {
        border-bottom: 1px dotted;
        cursor: help;
    }

    table {
        border-collapse: collapse;
        border-spacing: 0;
    }

    /* change border colour to suit your needs */
    hr {
        display: block;
        height: 1px;
        border: 0;
        border-top: 1px solid #cccccc;
        margin: 1em 0;
        padding: 0;
    }

    input,
    select {
        vertical-align: middle;
    }

    img {
        vertical-align: middle;
    }
    html {
        width: 100%;
        height: 100%;
        font-size: 62.5%;
    }

    body {
        width: 100%;
        height: 100%;
    }

    img {
        width: 100%;
        position: relative;
        z-index: 1;
    }
    p{
        font-weight: 600;
        font-style: normal;
    }
    /* body.android p{
        font-weight: 700;
    } */
    /*-------------------------- /reset CSS ----------------------*/
    /*--------------------------　共通CSS　--------------------------*/
    body {
        overflow-x: hidden;
        font-family: Noto Sans, Noto Sans JP, Helvetica, Arial, sans-serif;
    }
    .bg {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw; /* ビューポート全体の幅 */
        height: 100vh; /* ビューポート全体の高さ */
        background-image: url(/common/images/bg.png); /* 背景画像を設定 */
        background-position: center;
        background-size: cover; /* 画面全体をカバーする */
        z-index: -2; /* コンテンツよりも背面に配置する */
    }
    .bg2 {
        position: fixed;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%); /* 要素自体の幅の50%だけ左にずらす */
        width: 600px; /* ビューポート全体の幅 */
        height: 340px; /* ビューポート全体の高さ */
        background-color:#000;
        background-position: center;
        background-size: cover; /* 画面全体をカバーする */
        z-index: -1; /* コンテンツよりも背面に配置する */
    }
    .contents-width {
        max-width: 600px;
        margin: 0 auto;
        position: relative;
        background-color: #6b0d0d;
        z-index: 1;
    }
    .contents-width-bottom {
        max-width: 600px;
        margin: auto;
        position: relative;
        background-color: #000;
        z-index: 10;
    }
    section {
        position: relative;
    }
    .ta-c {
        text-align: center;
    }
    .fw-b {
        font-weight: bold;
    }
    .fs-12 {
        font-size: 12px;
    }
    .fs-14 {
        font-size: 14px;
    }
    .fs-16 {
        font-size: 16px;
    }
    .fc-rd {
        color: #bb0000 ;
    }
    .fc-wh{
      color:#FFF;
    }

    .gray {
      filter: grayscale(100%);
      -webkit-filter: grayscale(100%); /* Safari対応 */
      opacity:0.8;
    }

    /*--------------------------　/個別CSS　--------------------------*/
    /*-header-*/
    #header {
        position: relative;
        z-index: 10001;
    }
    #fix_header {
        width: 100%;
        height: 44px;
        background-color: #000000;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 10001;
    }
    .shop_btn {
        width: 142px;
        position: fixed;
        top: 22px;
        left: 8px;
        transform: translateY(-50%);
    }
    .header_logo {
        width: 100px;
        position: fixed;
        top: 22px;
        right: 8px;
        transform: translateY(-50%);
    }


    /*-kv-*/
    #kv{
        z-index: 0;
    }
    /*-register-*/
    .register {
        background: url(/common/images/bg03.png) no-repeat center/cover;
        padding: 0 5% 3%;
        z-index: 10000;
    }

    .reg01, .reg02 {
        margin-top: calc(-83 / 375 * 100%);
    }

    .reg02 {
        padding-top: 28.8%;
    }

    .register h2 {
        text-align: center;
        width: calc(1089 / 371 * 34%);
        margin: 0 auto -3%;
    }

    .register h2 img {
        width: 99%;
        position: relative;
    }

    .register:before {
        width: 100%;
        aspect-ratio: 1500 / 1138;
        display: block;
        z-index: -100;
        position: absolute;
        top: 10px;
        left: 0;
    }

    .reg02:before {
        top: 0;
        height: 169.624%;
    }

    .follow:nth-of-type(1) {
        margin-bottom: 3.6%;
    }

    .app_register {
        display: flex;
        justify-content: space-between;
        margin-bottom: 11.7%;
    }

    .app_register li:first-child {
        margin-right: 1.5%;
    }

    /* gift */
    #gift{
        padding: 34.5% 4.5% 36.267%;
        background-image: url(/common/images/bg_gift.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: bottom center;
    }
    /*-benefit-*/
    #benefit{
        background:#fff url(/common/images/bg_benefit02.png);
        background-size: cover;
        padding: 34.5% 4.5% 45%;
        background-position-y: 125%;
        margin-top: -10%;
    }
    #benefit h2{
        width: calc(379 / 375* 100%);
        margin: 0 auto 10%;
    }
    .benefit_copy {
        font-size: 2.6rem;
        font-weight: 600;
        text-align: center;
        margin: 0 auto 10.6%;
    }
    .benefit_copy span {
        display: block;
        font-size: 2.4rem;
        font-weight: normal;
    }
    @media screen and (max-width: 500px) {
    .benefit_copy {
        font-size: 1.6rem;
    }
    .benefit_copy span {
        font-size: 1.4rem;
    }
    }
    #benefit img {
        margin-bottom: 9.8%;
    }
    #benefit img:last-child{
        margin-bottom: 0;
    }
    
    /*-intro-*/
    #intro{
        padding: 28% 4% 26%;
        color:#FFF;
    }
    #intro h2{
        margin-bottom: 6%;
    }
    #intro p{
        text-align: center;
        font-size: 2.0rem;
        line-height: 1.8;
    }
    #intro p:nth-of-type(1){
        margin-bottom: 5%;
    }

    @media screen and (max-width: 550px) {
    #intro p{
        text-align: center;
        font-size: 1.3rem;
        line-height: 1.8;
    }
    /* #intro p br.none{
        display: none;
    } */
    }
    /*-about-*/
    #about{
        padding: 26% 4% 0%;
        color: #ab0000;
    }

/*
    #about .bg{
        background: url(/common/images/bg_about.png);
        background-size: cover;
        width: 100%;
        aspect-ratio: 1500 / 3763;
        display: block;
        position: relative;
        top: -40px;
        left: 0;
    }
*/

    #about h2 {
        margin: 0 auto 6%;
    }
    #about h3 {
        margin: 0 auto 9%;
        width: calc(263 / 375* 100%);
        font-size: 3.2rem;
        text-align: center;
        font-weight: 600;
        letter-spacing: 0.1rem;
        line-height: 1.7;
        white-space: nowrap;
    }
    @media screen and (max-width: 500px) {
    #about h3{
        font-size: 2.0rem;
        white-space: nowrap;
        }
    }
    .about_text, .premiumCoin_text {
        margin-bottom: 10%;
    }
    .about_flex p, .premiumCoin_flex p {
        line-height: 1.7;
        font-size: 2.0rem;
        text-align: center;
    }
    @media screen and (max-width: 530px) {
        .about_flex p, .premiumCoin_flex p {
            font-size: 1.4rem;
        }
    }
    .about_flex img{
        width: 100%;
    }
    
    /*-splide-*/
    #slide{
        padding: 0% 0% 20%;
        position: relative;
        top: -588px;
    }
    .splide__list,.splide__slide{
        -webkit-backface-visibility: hidden;
        -webkit-transform: translate3d(0, 0, 0);
        visibility: visible;
    }
    .splide__slide img{
        visibility: visible;
    }
    .splide__arrows{
        position: absolute;
        z-index: 100;
        top: 50%;
        display: flex;
        justify-content: space-between;
        width: 100%;
        cursor: pointer;
    }
    .splide__arrow--prev img{
        position: absolute;
        left: -9px;
        transform: translateY(-50%);
        width: 40px!important;
        height: 40px;
        transition: all .3s;
    }
    .splide__arrow--next img{
        position: absolute;
        right: -9px;
        transform: translateY(-50%) rotate(180deg);
        width: 40px!important;
        height: 40px;
        transition: all .3s;
    }
    @media screen and (min-width: 600px) {
    .splide__arrow img:hover{
        transition: all .3s;
        width: 46px!important;
        height: 46px;
        }
        .splide__arrow--prev img:hover{
            left: 17px;
        }
        .splide__arrow--next img:hover{
            right: 17px;
        }
    }
    .about_img span{
        margin-top: 3%;
        display: block;
        font-size: 1.4rem;
        text-align: right;
        margin-right: 4.2%;
        }
    @media screen and (max-width: 500px) {
    .about_img span{
        margin-top: 3%;
        display: block;
        font-size: 1.0rem;
        }
    }
    /*-character-*/
    #character {
        padding: 30% 4% 30%;
        background: none;
    }
    #character h2{
        margin-bottom: 7.5%;
    }
    .container{
        display: flex;
        justify-content: space-between;
        margin-top: 7.4%;
    }
    .thumbnail{
        width: 23.3%;
        cursor: pointer;
    }

    #character .chara_image{
        position: relative;
    }
    #character .chara {
        position: absolute;
        opacity: 0;
        z-index: 1;
        transition: opacity ease-in .3s, visibility ease-in .3s;
    }


    #character .chara.active{
        opacity: 1;
        visibility: visible;
    }
    .container {
    position: relative;
    display: flex;
    justify-content: space-between;
    margin-top: 157.4%;
    align-items: flex-start;
    }
    /*-official_sns-*/
    #official_sns{
        background:#fff url(/common/images/bg02.png);
        background-size: cover;
        background-position: 0 -170px;
        padding: 2.1% 4.2% 45%;
        color: #000;
    }
    #official_sns h2{
        margin-bottom: 2%;
    }
    #official_sns h3{
        font-size: 2.6rem;
        font-weight: 600;
        letter-spacing: 0.1rem;
        line-height: 1;
        white-space: nowrap;
    }
    @media screen and (max-width: 500px) {
        #official_sns h3{
            font-size: 1.6rem;
            font-weight: bold;
        }
    }
    .sns_x {
        margin-bottom: 9%;
    }
    .sns_x h3{
        width: calc(92.7 / 375* 100%);
        margin-bottom: 6.5%;
    }
    .sns_youtube h3{
        width: calc(161 / 375* 100%);
        margin-bottom: 6.5%;
    }
    .sns_x a,
    .sns_youtube a{
        display: block;
        margin-top: 4.5%;
    }

    /*-detail-*/
    #detail{
        background:#fff url(/common/images/bg_foot.png);
        background-size: cover;
        padding: 35.5% 4.2% 10%;
        position: relative;
        top: -10%;
        color: #000;
    }

    #detail table{
        width: 100%;
        text-align: left;
        margin-bottom: 8%;
    }
    #detail table th{
        min-width: 95px;
        font-size: 2.2rem;
        vertical-align: baseline;
        font-weight: 600;
    }
    /* body.android #detail table th{
        font-weight: 700;
    } */
    #detail table td{
        padding: 0 0 4%;
        font-size: 1.6rem;
        line-height: 1.9;
        font-weight: 500;
        padding-top: 4px;
    }
    .item_list{
        display: flex;
        justify-content: center;
        margin-bottom: 12%;
        justify-content: flex-start;
    }
    .item_list p{
        width: calc(114 / 375* 100%);
        margin-right: calc(47 / 375* 100%);;
    }
    .item_list ul{
        width: calc(180 / 375* 100%);
    }
    .item_list .app li:first-child {
        margin-bottom: 5%;
    }
    .app_icon{
        width: 100%;
        height: auto;
    }
    .ios_btn{
        width: calc(290 / 375* 100%);
    }
    .google_btn{
        width: calc(364 / 375* 100%);
    }
    #detail ul li{
        line-height: 1.7;
        font-size: 1.6rem;
        padding-left: 3.5%;
    }
    #detail ul.rec li:before{
        content: "※";
        position: absolute;
        left: 4.5%;
    }
    #detail ul li p{
        font-weight: 500;
    }
    small{
        line-height: 1.7;
        font-size: 1.6rem;
    }
    @media screen and (max-width: 500px) {
    #detail table th{
        font-size: 1.4rem;
        }
    #detail table td{
        font-size: 1.0rem;
        padding-top: 3px;
    }
    small{
        font-size: 1.0rem;
    }
    #detail ul li p,
    #detail ul.rec li:before{
        font-size: 1.0rem;
        }
    }
    @media screen and (max-width: 340px) {
    #detail ul li p,
    #detail ul.rec li:before{
        font-size: 0.8rem;;
        }
    }
    /*-footer-*/
    #footer{
        padding:16.5% 3% 16.5%;
    }
    .footer_icon_list{
        display: flex;
        align-items: center;
        width: 100%;
        margin: auto;
        margin-bottom: 11%;
    }
    .footer_icon_list li{
        width: 20%;
    }
    .footer_icon_list li:nth-of-type(1){
        margin-left: 19%;
    }
    .footer_icon_list li:nth-of-type(2){
        margin-left: 10%;
    }
    .footer_icon_list li:nth-of-type(3){
        margin-left: -2%;
    }
    .footer_icon_list li:nth-of-type(2) img{
        width: calc(250 / 375* 100%);
    }
    .footer_icon_list li:nth-of-type(3) img{
        width: calc(250 / 375* 100%);
    }

    .footer_link{
        display: flex;
        justify-content: flex-start;
        font-size: calc(790 / 375* 100%);
        flex-wrap: wrap;
        gap: 16px 0;
    }
    .footer_link li{
        width: 50%; 
        text-align: center;
        white-space: nowrap;
    }
    .footer_link li:nth-child(odd){
        border-right: 1px solid #EAE8E0;
    }
    .footer_link li a{
        padding-bottom: 3px;
        border-bottom: 1px solid #000;
    }
    .copywrite {
        color: #fff;
        background: #000;
        text-align: center;
        padding: 3.5%;
        font-size: 1.7rem;
    }
    .copywrite p{
        font-weight: 500;
        font-style: normal;
        margin: auto;
        width:  100%;
        display: flex;
        justify-content: center; /* 横方向のセンター揃え */
        align-items: center; /* 縦方向のセンター揃え */
        text-align: left;
    }
    @media screen and (max-width: 550px) {
        .footer_link{
        font-size: 1.2rem;
        }
        .copywrite{
        font-size: 0.8rem;
        }
    }
    @media screen and (max-width: 440px) {
        .footer_link li{
            padding: 0 calc(15 / 375* 100%);
        }
    }

    @media screen and (max-width: 330px) {
        .none{
            display: none;
        }
    }
    /* -fix_area (公開まで非表示) */
    #fix_area {
        padding-bottom: calc(340 / 1500* 100%);
        position: relative;
        z-index: 10000;
        opacity: 0;
        visibility: hidden;
        transition: opacity ease-in 0.4s, visibility ease-in .2s;
    }
    #fix_area.active{
        opacity: 1;
        visibility: visible;
        transition: opacity ease-in 0.4s, visibility ease-in .3s;
    }

    .fix_btn{
        position: fixed;
        bottom : 0;
        left: 0;
        right: 0;
        max-width: 600px;
        margin-right: auto;
        margin-left: auto;
        -webkit-backface-visibility: hidden;
        -webkit-transform: translate3d(0, 0, 0);
        }
    .fix_btn a{
        display: block;
        position: absolute;
        bottom: 3px;
        z-index:100;
    }
    .fix_ios{
        width: calc(210 / 600* 100%);
        padding-top: calc(77 / 600* 100%);
        left: calc(60 / 600* 100%);
    }
    .fix_google{
        width: calc(254 / 600* 100%);
        padding-top: calc(77 / 600* 100%);
        right: calc(62 / 600* 100%);
    }
        
    .iframe-responsive {
    position: relative;
    width: 100%;
      padding: calc(343 / 600 * 100%) 0 0;
    }
    .iframe-responsive iframe {
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    top: 0;
    }

    #attention{
        background: #EAE8E0;
        padding: calc(64 / 375* 100%) calc(16 / 375* 100%);
    }
    .attention_title{
        font-size: 1.6rem;
        font-style: normal;
        font-weight: 700;
        line-height: 120%;
    }
    .attention_list{
        margin-top: calc(16 / 375* 100%) ;
    }
    .attention_item{
        font-size: 1.4rem;
        list-style-type: disc;
        margin: 0 0 0 1.6rem;
        font-style: normal;
        font-weight: 600;
        line-height: 180%;
    }
    .attention_border{
        text-decoration-line: underline;
    }

    /* -----------------------------
        giftcode
    ----------------------------- */

    .wrap_giftcode{

    }
    .main_container{
        position: relative;
        overflow: hidden;
    }
    .main_container_bg{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }
    .form{
        padding: 17.068% 4.267% 30.4%;
        background-image: url('/common/images/gift_form_bg.png');
        background-size: cover;
        background-repeat: no-repeat;
    }
    .form_message{
        font-size: min(19.2px,calc(12/375*100vw));
        font-weight: 700;
        margin-bottom: 4.665%;
        color: #FEFE00;

    }
    .form_giftcode{
        margin-bottom: 9.33%;
    }
    .form_giftcode .form_name {
        display: block;
        width: 43.149%;
        margin-bottom: 1.75%;
    }
    .form_id .form_name{
        display: block;
        width: 43.732%;
        margin-bottom: 1.75%;
    }
    .form_input{
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border-radius: 0;
        padding: 0 3%;
        color: #fff;
        font-size: min(25.6px,calc(16/375*100vw));
        width: 100%;
        height: min(80px,calc(50/375*100vw));
        background-color: rgba(0, 0, 0, 0);
        border: 0 solid rgba(0, 0, 0, 0);
        border-bottom: 1.5px solid #8D8669;
    }
    .form_input:focus-visible{
        outline: none;
    }
    .form .form_input:-internal-autofill-selected{
        background-color: rgba(0, 0, 0, 0)!important;   
    }
    .form_caption{
        text-align: end;
    }
    .form_text{
        color: #CCC;
        display: inline-block;
        justify-content: flex-end;
        font-size: min(19.2px,calc(12/375*100vw));
        font-style: normal;
        font-weight: 500;
        line-height: 130%; /* 15.6px */
        text-decoration-line: underline;
        margin-top: 2.333%;
    }
    .form_button{
        width: 100%;
        margin-top: 6.998%;
        padding: 2.666875% 45.190%;
        border-radius: 5px;
        background: #D0000D;
        color: #FFF;
        font-size: min(25.6px,calc(16/375*100vw));
        font-style: normal;
        font-weight: 700;
        line-height: 150%; /* 24px */
        letter-spacing: 0.48px;
        cursor: pointer;
    }
    .form_button:disabled{
        background: #BFBFBF;
        cursor: auto;
    }


    .howto{
        position: relative;
        padding: 10.6675% 4.267%;
    }
    .howto_image{
    }
    .howto_title{
        position: absolute;
        top: 8.818%;
        left: 50%;
        transform: translateX(-50%);
        color: #FFF;
        text-align: center;
        width: 100%;
        font-size: min(32px,calc(20/375*100vw));
        font-style: normal;
        font-weight: 700;
        line-height: 150%; /* 30px */
    }
    .howto_text{
        position: absolute;
        top: 42.834%;
        left: 49.6%;
        color: #666;
        font-size: min(19.2px,calc(12/375*100vw));
        font-style: normal;
        font-weight: 500;
        line-height: 130%; /* 15.6px */
        text-decoration-line: underline;
    }
    .howto_text_1{
        top: 21.732%;
    }
    .howto_text_2{
        top: 35.59%;
    }
    .howto_text_3{
        top: 55.433%;
    }
    .howto_text_red{
        color: #D0000D;
        vertical-align: top;
    }
    /* .howto_caption{
        display: block;
        text-align: right;
        color: #666;
        font-size: min(19.2px,calc(12/375*100vw));
        font-style: normal;
        font-weight: 500;
        line-height: 130%;
        text-decoration-line: underline;
    } */
    .slide_open{
        cursor: pointer;
    }

    .slide{
        max-width: 600px;
        /* width: 100%; */
        height: 68.366%;
        /* padding: 0 4.267%; */
        aspect-ratio: 343/456;
        transition: opacity .5s ease;
        position: fixed;
        top: 50%;
        left: 50%;
        z-index: 10;
        transform: translate(-50%,-50%);
        opacity: 0;
        pointer-events: none;
    }
    @media  screen and (max-width: 600px) {
        .slide{
            /* max-width: 465px; */
        }
    }
    .slide.open{
        opacity: 1;
        pointer-events: all;
    }
    .slide_bg{
        position: fixed;
        top: 0;
        left: 0;
        background: rgba(0, 0, 0, 0.63);
        z-index: 10;
        width: 100%;
        height: 100vh;
        opacity: 0;
        pointer-events: none;
        transition: opacity .5s ease;
    }
    .slide_bg.open{
        opacity:1;
        pointer-events: all;
    }
    .slide_title{
        /* margin: 0 4.267%; */
        padding: 6.134% 18.801%;
        /* color: #FFF;
        font-size: min(32px,calc(20/375*100vw));
        text-align: center;
        font-style: normal;
        font-weight: 700;
        line-height: 150%; */
        background-image: url('/common/images/gift_slide_title_bg.png');
    }
    .slide_item{
        width: 100%;
        /* padding: 0 4.267%; */
    }
    .slide_item_1{
        position: relative;
    }
    .slide_item_2{

    }
    .slide_item_3{

    }
    .slide_item_4{

    }
    .slide_icon{
        position: absolute;
        width: 27.734%;
        top: 45.682%;
        left: 50%;
        transform: translateX(-50%);
    }
    .slide_badge{
        position: absolute;
        width: 80.8%;
        top: 76.138%;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 3.032%;
    }
    .slide_button{
        visibility: visible;
        width: 10.666%;
        margin: 4.267% auto 0;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        cursor: pointer;
    }

    .slide .splide{
        display: flex;
    }
    .slide .splide__arrows{
        display: block;
        height: 6.093%;
        cursor: auto;
    }
    .slide .splide__arrow{
        width: 3.5%;
        height: 100%;
        position: absolute;
        top: -46%;
        /* background-color: #000; */
        cursor: pointer;
        opacity: 0;
    }
    .slide .splide__arrow--prev{
        left: 5.831%;
    }
    .slide .splide__arrow--next{
        right: 5.831%;
    }
    .slide .splide__arrow svg{
        width: 100%;
    }
    .slide .splide__pagination{
        opacity: 0;
        z-index: -1;
        height: 0;
    }


    .gift-attention{
        padding: 0 4.267% 17.064%;
    }
    .gift-attention_title{
        color: #000;
        font-size: min(25.6px,calc(16/375*100vw));
        font-style: normal;
        font-weight: 700;
        line-height: 150%; /* 24px */
        letter-spacing: 0.48px;
        margin-bottom: 3.1995%;
        width: 19.242%;
    }
    .gift-attention_text{
        color: #000;
        font-size: min(19.2px,calc(12/375*100vw));
        font-style: normal;
        font-weight: 500;
        line-height: 180%; /* 21.6px */
        letter-spacing: 0.6px;
    }

    .dl_btn{
        max-width: 600px;
        margin-right: auto;
        margin-left: auto;
        -webkit-backface-visibility: hidden;
        -webkit-transform: translate3d(0, 0, 0);
        }
    .dl_btn a{
        display: block;
        position: absolute;
        bottom: 12px;
    }
    .dl_ios{
        width: calc(210 / 600* 100%);
        padding-top: calc(77 / 600* 100%);
        left: calc(60 / 600* 100%);
    }
    .dl_google{
        width: calc(254 / 600* 100%);
        padding-top: calc(77 / 600* 100%);
        right: calc(62 / 600* 100%);
    }


    /* -----------------------------
        完了画面
    ----------------------------- */
    .thanks{
        position: relative;
        overflow: hidden;
        padding: 32% 0;
    }
    .thanks_bg{
        position: absolute;
        top: 0;
        left: 0;
    }
    .thanks_title{
        z-index: 2;
        position: relative;
        /* color: #000;
        font-size: min(51.2px,calc(32/375*100vw));
        font-style: normal;
        font-weight: 700;
        line-height: 150%; 
        letter-spacing: 1.6px; */
        text-align: center;
        width: 35.467%;
        margin: 0 auto 10.666%;
    }
    .thanks_text{
        z-index: 2;
        position: relative;
        color: #000;
        font-size: min(25.6px,calc(16/375*100vw));
        font-style: normal;
        font-weight: 400;
        line-height: 150%; /* 24px */
        letter-spacing: 0.8px;
        text-align: center;
        margin-bottom: 2.133%;
    }
    .thanks_text_small{
        z-index: 2;
        position: relative;
        color: #000;
        font-size: min(19.2px,calc(12/375*100vw));
        font-style: normal;
        font-weight: 400;
        line-height: 150%; /* 18px */
        letter-spacing: 0.6px;
        text-align: center;
        margin-bottom: 10.666%;
    }
    .thanks_link{
        z-index: 2;
        position: relative;
        color: #FFF;
        font-size: min(25.6px,calc(16/375*100vw));
        font-style: normal;
        font-weight: 700;
        line-height: 150%; /* 24px */
        letter-spacing: 0.48px;
        text-align: center;
        display: block;
        width: 91.467%;
        margin: 0 auto;
        border-radius: 5px;
        background: #000;
        padding: 2.667% 32.934%;
    }


    /* -----------------------------
    独自調整
    ----------------------------- */
    #intro {
        padding: 24% 4% 27%;
    }
    #about {
        background: url(/common/images/bg02.png);
        background-size: cover;
        padding: 3% 4% 4%;
        color: #ab0000;
    }
    #slide {
        background: url(/common/images/bg02.png);
        background-size: cover;
        top: 0;
        padding: 0% 4% 4%;
    }



    /*白のデコレーション背景（上）*/
    .top-decoration_bg02 {
        background: url(/common/images/bg02_top.png);
        background-size: cover;
        position: absolute;
        left: 0;
        top: -10%;
        z-index: 0;
        width: 100%;
        aspect-ratio: 1500 / 328;
    }
    /*白のデコレーション背景（下）*/
    .bottom-decoration_bg02 {
        background: url(/common/images/bg02_bottom.png);
        background-size: cover;
        position: absolute;
        left: 0;
        bottom: -14%;
        z-index: 0;
        width: 100%;
        aspect-ratio: 1500 / 328;
    }


    /*黒のデコレーション背景（上）*/
    .top-decoration_bg03 {
        background: url(/common/images/bg03_top.png);
        background-size: cover;
        position: absolute;
        left: 0;
        top: -28%;
        z-index: -1;
        width: 100%;
        aspect-ratio: 1500 / 328;
    }
    /*黒のデコレーション背景（下）*/
    .bottom-decoration_bg03 {
        background: url(/common/images/bg03_bottom.png);
        background-size: cover;
        position: absolute;
        left: 0;
        bottom: -24%;
        z-index: -1;
        width: 100%;
        aspect-ratio: 1500 / 328;
    }

    .thumbnail {
        width: 12%;
        cursor: pointer;
    }


    .container {
        position: relative;
        display: flex;
        justify-content: space-between;
        margin-top: 152.7%;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 0px;
    }

    #footer{
        background-color: #000;
    }
    .footer_link{
        color: #FFF;
    }
    .footer_link li a {
        padding-bottom: 3px;
        border-bottom: 1px solid #FFF;
    }
    .footer_link li {
        width: 100%;
        text-align: center;
        white-space: nowrap;
    }
    .footer_link li:nth-child(odd) {
        border-right: none;
    }

    .heading {
        border-bottom: 1.5px solid #ab0000;
        width: 90%;
        margin: 5% auto 0 !important;
    }