style.
    @charset "utf-8";
    @font-face {
        font-family: 'FOT-UDMincho Pr6';
        src: url(/common/font/FOT-UDKAKUGO_SMALLPR6N-B_0.OTF) format('opentype');
        src: url(/common/font/FOT-UDMINCHOPR6N-B_0.OTF) format('opentype');
    }
    /*-------------------------- 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%;
    }
    p{
        font-family: fot-udkakugo-large-pr6n, sans-serif;
        font-weight: 600;
        font-style: normal;
    }
    /* body.android p{
        font-weight: 700;
    } */
    /*-------------------------- /reset CSS ----------------------*/


    /*--------------------------　共通CSS　--------------------------*/
    body{
        overflow-x: hidden;
    }

    .contents-width{
        max-width: 600px;
        margin-right: auto;
        margin-left: auto;
        background: #fff;
    }
    .bg-none{
        background: rgba(0, 0, 0, 0);
    }
    section{
        position: relative;
    }
    .bg{    
        position: fixed;
        object-fit: cover;
        height: 100%;
        z-index: -1;
        pointer-events: none;
    }
    body{
        font-family: "fot-udkakugo-large-pr6n" , sans-serif;
    }

    /*--------------------------　/個別CSS　--------------------------*/


    /* ヘッダー追従バー */
    .header_common{
        position: fixed;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        height: 44px;
        z-index: 9999999999;
    }
    .header_bar{
        background: #000;
        width: 100%;
        height: 100%;
        padding: min(4px,calc(4 / 375 * 100%)) 0;
        position: relative;
        z-index: 999;
    }
    .header_icon{
        position: absolute;
        top: 50%;
        left: 16px;
        transform: translateY(-50%);
        display: block;
        width: min( 53px ,calc(53 / 375 * 100%));
    }
    @media screen and (max-width:768px)   {
        .header_icon{
            left: 8px;   
        }
    }
    .header_link{
        position: absolute;
        top: 50%;
        right: 72px;
        transform: translateY(-50%);
        display: block;
        width: min( 152px ,calc(152 / 375 * 100%));
        margin: 0 auto;
    }
    @media screen and (max-width:768px)   {
        .header_link{
            right: 60px;   
        }
    }
    .header_button{
        width: min(28px, calc(28 / 375 * 100%));
        aspect-ratio: 28 / 19;
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        cursor: pointer;
    }
    @media screen and (max-width:768px)   {
        .header_button{
            right: 8px;   
        }
    }

    /* ヘッダー開閉用ボタン */
    .header_button_line{
        width: 100%;
        aspect-ratio: 28 / 3;
        background: #fff;
        position: absolute;
        right: 50%;
    }
    .line-1{
        top: 0;
        transform: translateX(50%);
        transition: transform .5s ease,top .5s ease;
    }
    .line-2{
        top: 50%;
        transform: translate(50% , -50%);
        transition: opacity .5s ease;
    }
    .line-3{
        bottom: 0;
        transform: translateX(50%);
        transition: transform .5s ease,bottom .5s ease;
    }
    .header_button.open .line-1{
        top: 50%;
        transform: translate(50%, -50%) rotate(45deg);   
    }
    .header_button.open .line-2{
        opacity: 0;
    }
    .header_button.open .line-3{
        bottom: 50%;
        transform: translate(50%, 50%) rotate(-45deg);
    }

    /* ドロワー */
    .header_nav{
        position: fixed;
        top: 0;
        right: 0;
        transition: transform .5s ease;
        transform: translateX(100%);
        width: min(375px,100%);
        height: auto;
        min-height: 100vh;
        padding: 44px 32px 24px;
        background: #000;
        color: #fff;
        z-index: 3;
        font-family: "FOT-UDMincho Pr6N";
    }
    @media screen and (max-width: 767px) {
        .header_nav{
            width: 100%;
            padding: 44px 32px 24px 25px;
        }   
    }
    .header_nav.open{
        transform: translateX(0);
    }

    /* ヘッダーオープン時の背景 */
    .header_bg{
        width: 100vw;
        height: 100vh;
        transition: opacity .5s ease, visbility .5s ease;
        opacity: 0;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        background: #000;
        pointer-events: none;
    }
    .header_bg.open{
        opacity: .5;
        pointer-events: all;
    }
    .header_nav_list{
        padding-top: 24px;
        font-size: 32px;
        font-weight: 500;
        letter-spacing: 1.6px;
    }
    @media screen and (max-width: 767px) {

    }
    .header_nav_item{
        height: 48px;
    }
    .header_nav_item-1{
        width: 70.25px;
    }
    .header_nav_item-2{
        width: 197.5px;
    }
    .header_nav_item-3{
        width: 96.5px;
    }
    .header_nav_item-4{
        width: 156px;
    }
    .header_nav_item-5{
        width: 64.75px;
    }
    .header_nav-page_list{
        margin-top: 32px;
    }
    .header_nav-page_item{
        margin-top: 12px;
        letter-spacing: 0;
        line-height: 1.5;
        font-size: 16px;
        font-family: "fot-udkakugo-large-pr6n", sans-serif;
    }
    @media screen and (max-width: 767px) {
        .header_nav-page_item{
            font-size: 12px;
        }   
    }
    .header_nav-share{
        position: static;
        margin-top: 40px;
    }
    @media screen and (max-width: 767px) {
        .header_nav-share{
            position: absolute;
            left: 16px;
            top: 119px;
            margin-top: 0;
        }   
    }
    .header_nav-share_title{
        writing-mode: inherit;
        text-orientation: mixed;
        font-size: 16px;
    }
    @media screen and (max-width: 767px) {
        .header_nav-share_title{
            writing-mode: vertical-rl;
            text-orientation: mixed;
            font-size: 14px;
            margin: 0 auto;
        }   
    }
    .header_nav-share_list{
        flex-direction: row;
        margin-top: 8px;
        display: flex;
        gap: 16px;
    }
    @media screen and (max-width: 767px) {
        .header_nav-share_list{
            flex-direction: column;
            gap: 8px;
        }   
    }
    .header_nav-share_item{
        width: 30px;
    }
    @media screen and (max-width: 767px) {
        .header_nav-share_item{
            width: 24px;
        }   
    }
    .header_nav-official{
        margin-top: 33.5px;
        display: flex;
        gap: 40px;
        align-items: center;
    }
    .header_nav-official_title{
        font-size: 20px;
        font-weight: 700;
    }
    .header_nav-official_list{
        display: flex;
        gap: 24px;
    }
    .header_nav-official_item{
        width: 30px;
    }
    @media screen and (max-width: 767px) {

    }



    .fixed_container{
        max-width: 600px;
        width: 100%;
        margin: 0 auto;
    }
    .fixed_padding{
        padding-top: 44px;
    }

    /*-kv-*/
    #kv{
        z-index: 0;
        
    }
    /*-register-*/
    .register{
        /* background: url(../feature/bg_reg01.png); */
        /* margin-top: calc(-91 / 375* 100%); */
        padding-top: 30%;
        min-height: calc(-91 / 375* 100%);
        background-size: cover;
        padding: 18% 4.4% 0;
        z-index: 11111;
    }
    .reg01{
        margin-top: calc(-91 / 375* 100%);
    }
    .reg02{
        margin-top: calc(-88 / 375* 100%);
        padding-top: 28.8%;
    }
    .register:before{
        content:"";
        background: url(../feature/bgRegister03.png);
        background-size: cover;
        width: 100%; 
        height: 206.117%;
        display: block;
        z-index: -111;
        position: absolute;
        top: -40px;
        left: 0;
    }
    .reg02:before{
        top: 0;
        height: 169.624%;
    }
    .register h2 {
        text-align: center;
        width: calc(167 / 375* 100%);
        margin: 0 auto 11%;
        padding-right: 1px;
    }
    .register h2 img{
        width: 99%;
    }
    .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%;
    }

    /* link_container */
    #link_container{
        background-image: url(../feature/bg_gift.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: bottom center;
    }
    /* gift */
    #gift{
        padding: 0 0 23%;
    }
    .top_gift_title{
        width: calc(343 / 375 * 100%);
        margin: 0 auto calc(32 / 375 * 100%);
    }
    .top_gift_link{
        display: block;
        width: calc(343 / 375 * 100%);
        margin: 0 auto;
    }
    /* coin */
    #coin{
        padding: calc(178.22 / 375 * 100%) 0 0;
        margin-bottom: calc(60 / 375 * 100%);
    }
    .top_coin_title{
        width: calc(343 / 375 * 100%);
        margin: 0 auto calc(32 / 375 * 100%);
    }
    .top_coin_link{
        display: block;
        width: calc(343 / 375 * 100%);
        margin: 0 auto;
    }

    /*-benefit-*/
    #benefit{
        background:#fff url(../feature/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-*/
    #bg_wrap {
        background: #fff url(../feature/bg_wrap02.png) no-repeat;
        background-size: cover;
        background-position: 0 -160px;
        margin-top: -10%;
    }
    #intro{
        padding: 38.5% 4.2% 20.2%;
    }
    #intro h2{
        margin-bottom: 9.5%;
    }
    #intro p{
        text-align: center;
        font-size: 2.3rem;
        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.4rem;
        line-height: 1.8;
    }
    /* #intro p br.none{
        display: none;
    } */
    }
    /*-about-*/
    #about{
    padding: 0% 4.2% 0%;
    }
    #about h2 {
        margin: 0 auto 9.5%;
    }
    #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 {
        margin-bottom: 10%;
    }
    .about_flex p {
        line-height: 1.7;
        font-size: 2.3rem;
        text-align: center;
    }
    @media screen and (max-width: 530px) {
        .about_flex p {
            font-size: 1.4rem;
        }
    }
    .about_flex img{
        width: 100%;
    }
    
    /*-splide-*/
    #slide{
    padding: 0% 0% 20%;
    }
    .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: 111;
        top: 50%;
        display: flex;
        justify-content: space-between;
        width: 100%;
        cursor: pointer;
    }
    
    .splide__arrow svg{
        display: none;
    }
    .splide__arrow--prev img{
        position: absolute;
        left: 20px;
        transform: translateY(-50%);
        width: 40px!important;
        height: 40px;
        transition: all .3s;
    }
    .splide__arrow--next img{
        position: absolute;
        right: 20px;
        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:0 4.2% 17%;
        background: #EAE8E0;
    }
    #character h2{
        margin-bottom: 9.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(../feature/bg_official_sns.png);
        background-size: cover;
        background-position: 0 -170px;
        padding:17.3% 4.2% 45.2%;
    }
    #official_sns h2{
        margin-bottom: 11.3%;
    }
    #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(../feature/bg_foot.png);
        background-size: cover;
        padding: 35.5% 4.2% 10%;
        position: relative;
        top: -10%;
    }

    #detail table{
        width: 100%;
        text-align: left;
        margin-bottom: 8%;
    }
    #detail table th{
        min-width: 95px;
        font-size: 2.2rem;
        vertical-align: baseline;
        font-family: fot-udkakugo-large-pr6n, sans-serif;
        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-family: "fot-udkakugo-large-pr6n", "Droid Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS Ｐゴシック", sans-serif;
        font-weight: 500;
        font-style: normal;
        margin: auto;
        width: calc(275 / 375* 100%);
        display: flex;
        align-items: center;
    }
    @media screen and (max-width: 550px) {
        .footer_link{
        font-size: 1.4rem;
        }
        .copywrite{
        font-size: 1.0rem;
        }
    }
    @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(105 / 375* 100%);
        position: relative;
        z-index: 999999999;
        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: 12px;
    }
    .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;
        }


.header_container{
    background-image: url('/common/feature/header_bg.png');
    background-repeat: no-repeat;
    background-size: cover;
}
.header_logo{
    width: calc(63.922 / 375* 100%);
    margin: 0 auto;
    padding: calc(8 / 375* 100%) 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{
    font-family: "FOT-UDMincho Pr6";
}
.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/feature/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-family: "Noto Sans JP";
    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-family: "FOT-UDMincho Pr6";
    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-family: "FOT-UDMincho Pr6";
    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-family: "Noto Sans JP";
    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-family: "Noto Sans JP";
    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: 11;
    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-family: "FOT-UDMincho Pr6";
    font-size: min(32px,calc(20/375*100vw));
    text-align: center;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; */
    background-image: url('/common/feature/gift_slide_title_bg.png');
}
.slide_title_coin{
    padding: 4.6647% 23.7609%;
    background-image: url('/common/feature/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-family: "FOT-UDMincho Pr6";
    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-family: "FOT-UDKakugo_Large Pr6N";
    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-family: "FOT-UDMincho Pr6";
    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-family: "Noto Sans JP";
    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-family: "Noto Sans JP";
    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-family: "FOT-UDMincho Pr6";
    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%;
}
    
/* -----------------------------
    shopcoin
----------------------------- */

.coin_text_red{
    color: #D0000D;
}
#coin_kv h1{
    width: 100%;
}
.coin_kv_bg{
    width: 100%;
    background: center 100%/cover no-repeat url(/common/feature/coin_kv_bg.png);
    padding: calc(35 / 375 * 100%) 0 calc(136.5 / 375 * 100%);
}
.coin_kv_title{
    width: calc(64 / 375 * 100%);
    margin: 0 auto calc(34 / 375 * 100%);
}
.coin_kv_link{
    display: block;
    width: calc(343 / 375 * 100%);
    margin: 0 auto;
}

.coin_about_title{
    width: calc(343 / 375 * 100%);
    margin: calc(44 / 375 * 100%) auto calc(32 / 375 * 100%);
}
.coin_about_text{
    color: #000;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.8;
    margin: 0 auto calc(32 / 375 * 100%);
}
.coin_about_image{
    position: relative;
    width: calc(343 / 375 * 100%);
    margin: 0 auto calc(56 / 375 * 100%);
}
.coin_about_link{
    position: absolute;
    top: calc(131 / 449 * 100%);
    left: 50%;
    transform: translateX(-50%);
    width: calc(235.49 / 343 * 100%);
    padding-bottom: calc(46 / 343 * 100%);
}
.coin_about_button{
    position: absolute;
    top: calc(278 / 449 * 100%);
    left: 50%;
    transform: translateX(-50%);
    width: calc(204 / 343 * 100%);
    padding-bottom: calc(18 / 343 * 100%);
    cursor: pointer;
}

.coin_detail_title{
    width: calc(125 / 375 * 100%);
    margin: 0 auto calc(26 / 375 * 100%);
}
.coin_detail_image{
    width: calc(343 / 375 * 100%);
    margin: 0 auto calc(16 / 375 * 100%);
}
.coin_detail_text{
    color: #000;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.8;
    margin: 0 auto calc(56 / 375 * 100%);
}

.coin_attention_title{
    width: calc(82.18 / 375 * 100%);
    margin: 0 auto calc(26 / 375 * 100%);
}
.coin_attention_list{
    width: calc(343 / 375 * 100%);
    margin: 0 auto;
    padding-bottom: calc(80 / 375 * 100%);
}
.coin_attention_item{
    display: flex;
    gap: 4px;
    margin-bottom: 4px;
    color: #000;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.5px;
}
.coin_attention_item::before{
    content: '※';
    color: #000;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.5px;
}