@charset "UTF-8";
/* CSS Document */

.sp{
    display: none;
}

.pc{
    display: inherit;
}

/*動き*/
.fadein_element {
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px);
    transition: opacity 1s, visibility 1s, transform 1s;
}

.fadein_element_is_fadein {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    left: 0;
    right: 0;
}

/* fuwafuwa-uesita */
.fuwafuwa-uesita,
#event::before,
#stamprally::before{
    animation: fuwafuwa-uesita 2s linear infinite;
} 

.fuwafuwa-uesita2,
#event::after,
#stamprally::after{
    animation: fuwafuwa-uesita2 2s linear infinite;
} 

/* fuwafuwa */
@keyframes fuwafuwa-uesita {
  0%   { transform: translateY(-3px); }
  50%  { transform: translateY(3px); }
  100% { transform: translateY(-3px); }
}

@keyframes fuwafuwa-uesita2 {
  0%   { transform: translateY(3px); }
  50%  { transform: translateY(-3px); }
  100% { transform: translateY(3px); }
}

/*yurayura*/
.yurayura,
.event_text::before,
.stamprally_text::before{
    transform-origin: center bottom;
    animation: yurayura 2s linear infinite;
}

@keyframes yurayura {
  0% , 100%{
      transform: rotate(5deg);
  }
  50%{
      transform: rotate(-5deg);
  }
}

.yurayura2,
.event_text::after,
.stamprally_text::after{
    transform-origin: center bottom;
    animation: yurayura2 2s linear infinite;
}

@keyframes yurayura2 {
  0% , 100%{
      transform: rotate(-5deg);
  }
  50%{
      transform: rotate(5deg);
  }
}

/*yurayura3*/
#kv div.pc .kv_ca_01::after,
#kv div.pc .kv_ca_02::after{
    transform-origin: center bottom;
    animation: yurayura3 3s linear infinite;
}

@keyframes yurayura3 {
  0% , 100%{
      transform: rotate(3deg);
  }
  50%{
      transform: rotate(-3deg);
  }
}

/*
.popup.is-popup {
  animation: popup 1s ease-in-out, poyopoyo 1.5s ease-out 0.8s infinite;
}
*/



/*kv*/

/* poyoyon */
.poyoyon {
  animation: poyoyon 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.6s;
  opacity: 0;
}

/* 次fuwafuwa */
.fuwafuwa {
  animation: fuwafuwa 3s infinite ease-in-out alternate;
  display: inline-block;
  opacity: 1;
  animation-delay: 0.4s;
}

@keyframes poyoyon {
  0% {
    transform: translateY(-200px);
    opacity: 0;
  }
  50% {
    transform: translateY(0);
    opacity: 1;
  }
  65% {
    transform: translateY(-35px);
  }
  80% {
    transform: translateY(0); 
  }
  90% {
    transform: translateY(-20px); 
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fuwafuwa {
    0% {
        transform: rotate(0deg);
    }
    30% {
        transform: rotate(3deg);
    }
    70% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(3deg);
  }
}

.kv_ca_img,
.kv_ca_01,
.kv_ca_02 {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.9s ease, transform 0.9s ease;
}

.kv_ca_img.show2,
.kv_ca_01.show,
.kv_ca_02.show {
  opacity: 1;
  transform: translateY(0);
}

/*jump*/
.jump_01,
.kv_ob_02,
.kv_ob_04,
#kv div.sp ul .kv_title::after,
#kv div.sp ul .kv_ca::after{
    transform-origin: center bottom;
    animation: jump_01 0.7s ease-in alternate infinite;
}
@keyframes jump_01 {
    0% {
        transform: translateY(-2%) scale(1, 1);
    }
    80% {
        transform: translateY(0%) scale(1, 1);
    }
    100% {
        transform: translateY(0%) scale(1,1);
    }
}

.jump_02,
.kv_ob_03,
#kv div.sp ul .kv_ca::before{
    transform-origin: center bottom;
    animation: jump_02 0.7s ease-in alternate infinite;
}
@keyframes jump_02 {
    0% {
        transform: translateY(2%) scale(1, 1);
    }
    80% {
        transform: translateY(0%) scale(1,1);
    }
    100% {
        transform: translateY(0%) scale(1,1);
    }
}

/**/
body{
    font-family: 'Noto Sans JP', sans-serif;
/*    max-width: 768px;*/
    width: 100%;
    margin: 0 auto;
    background: #FFE7BC;
    color: #333;
    font-size: 16px;
    letter-spacing: 0.07em;
    font-weight: 700;
    line-height: 1.625;
}

img{
    width: 100%;
}

.asterisk{
    text-indent: -1em;
    margin-left: 1em;
}

.asterisk::before{
    content: '※';
}

#kv{
/*    max-width: 1500px;*/
    width: 100%;
    margin: 0 auto;
}

.inner{
    max-width: 930px;
    width: 86.67%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

/*kv*/
#kv{
    background: url(../img/kv_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
/*    height: 100vh;*/
    width: 100%;
    overflow: hidden;
    padding-bottom: 35px;
}

#kv div.pc{
    display: flex;
    justify-content: space-between;
    max-width: 1400px;
    width: 96%;
    margin: 0 auto;
}

#kv div.pc ul:first-child{
    width: 56%;
}

#kv div.pc ul:last-child{
    width: 41%;
}

#kv div.pc .kv_logo{
/*    width: 160px;*/
    width: 20.4%;
    margin-top: 40px;
}

#kv div.pc .kv_title{
    width: 100%;
    margin-top: -38px;
}

#kv div.pc ol{
    display: flex;
}

#kv div.pc .kv_ob_01{
    width: 127px;
    margin-top: -50px;
    margin-left: 10px;
    margin-right: 15px;
}

#kv div.pc .kv_ob_02{
    width: 153px;
    margin-right: 20px;
}

#kv div.pc .kv_ob_03{
    width: 180px;
}

#kv div.pc .kv_ob_04{
    width: 194px;
}

#kv div.pc .kv_ca_01,
#kv div.pc .kv_ca_02{
    width: 90.68%;
    position: relative;
}

#kv div.pc .kv_ca_01{
    margin-top: 60px;
    margin-bottom: 60px;
}

#kv div.pc .kv_ca_01::after{
    content: '';
    background: url(../img/kv_ca_01_fuki.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 45.92%;
    height: 100%;
    display: block;
    position: absolute;
    top: -2vw;
    right: -4vw;
}

#kv div.pc .kv_ca_02::after{
    content: '';
    background: url(../img/kv_ca_02_fuki.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 49%;
    height: 100%;
    display: block;
    position: absolute;
    top: -2.1vw;
    right: -10px;
}

/*nav*/
#nav{
    font-size: 20px;
    line-height: 1.35;
    color: #fff;
    position: relative;
    z-index: 1;
/*    margin: 25px auto 40px auto;*/
    background: #C94024;
    position: relative;
    box-shadow: 0 2px 6px rgba(0,0,0,0.16);
}

#nav::before,
#nav::after{
    content: '';
    background: url(../img/nav.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 10px;
    display: block;
}

#nav ul{
    max-width: 930px;
    width: 97%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
}

#nav ul li{
    height: 80px;
    width: 100%;
    border-left: 1px solid rgba(255,255,255,0.7);
    text-align: center;
    align-content: center;
}

#nav ul li:last-child{
    border-right: 1px solid rgba(255,255,255,0.7);
}

#nav ul li a{
/*    padding: 0 33px;*/
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

#nav ul li a span{
    margin-bottom: 10px;
}

#nav ul li a::after{
    content: '';
    background: url(../img/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 10px;
    height: 10px;
    position: absolute;
    bottom: 0;
}

a:hover{
    opacity: 0.7;
}


/*about*/
#about{
    background: url(../img/about_bg.jpg);
    background-size: cover;
/*    background-position: top center;*/
    background-repeat: no-repeat;
    text-align: center;
    position: relative;
}

#about::before{
    content: '';
    background: url(../img/about_ob_01.png);
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    position: absolute;
    top: 38px;
    left: 29px;
    width: 199px;
    height: 184px;
}

#about::after{
    content: '';
    background: url(../img/about_ob_02.png);
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 322px;
    height: 207px;
}

#about .inner{
    padding: 20px 0 100px 0;
}

#about .about_ob{
    max-width: 245px;
    width: 100%;
    display: inline-block;
    margin-top: -15px;
    margin-bottom: 30px;
}

#about p:first-of-type{
    font-size: 20px;
    line-height: 1.9;
    font-weight: 900;
}

#about p:last-of-type{
    font-size: 23px;
    margin-top: 20px;
    line-height: 1.8;
    font-weight: 900;
}

/*cp*/
#cp{
    background: url(../img/cp_hanabi.png),linear-gradient(180deg,rgba(21, 22, 61, 1) 0%, rgba(91, 179, 221, 1) 100%);
    background-repeat: repeat-y;
    background-size: 100%;
    position: relative;
}

#cp::before{
    content: '';
    background: url(../img/cp_bg_top.png);
    background-size: 100%;
    background-repeat: no-repeat;
    height: 45px;
    width: 100%;
    position: absolute;
    top: -2vw;
}

#cp .inner{
    padding: 245px 0 100px 0; 
}

#event_area{
    background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 246, 219, 1) 100%);
    border: 2px solid #fff;
    border-radius: 25px;
    position: relative;
    padding-bottom: 40px;
}

.cp_title{
    max-width: 596px;
    width: 100%;
    margin: -165px auto 40px auto;
}

.cp_inner{
    max-width: 828px;
    width: 90.345%;
    margin: 0 auto;
    text-align: center;
}

.event_text{
    font-size: 24px;
    text-align: center;
    font-weight: 900;
    position: relative;
}

.event_text::before{
    content: '';
    background: url(../img/event_fukidashi_01.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 207px;
    height: 115px;
    display: block;
    position: absolute;
    top: -75px;
    left: 0;
}

.event_text::after{
    content: '';
    background: url(../img/event_fukidashi_02.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 266px;
    height: 200px;
    display: block;
    position: absolute;
    top: -145px;
    right: -70px;
}

.event_text .min{
    font-size: 19px;
}

.event_text .big{
    font-size: 31px;
}

.event_text .line{
    background: linear-gradient(transparent 50%, #FFEC00 50%);
    padding: 0 0.5em;
    display: inline-block;
}

.asterisk_box{
    font-weight: 500;
    margin: 20px auto 57px auto;
    display: inline-block;
    text-align: left;
    font-size: 14px;
}

.example_box{
    display: flex;
    justify-content: space-between;
}

.example_box div{
    width: 48.31%;
    background: #fff;
    border: 2px solid #1663AC;
    border-radius: 10px;
    padding-bottom: 30px;
}

.example_box div .number{
    background: #1663AC;
    color: #fff;
    font-size: 28px;
    text-align: left;
    padding: 5px 0 5px 30px;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    margin-bottom: 20px;
    position: relative;
}

.example_box div:first-child .number::after{
    content: '';
    background: url(../img/event_ob_01.png);
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    width: 190px;
    height: 90px;
    position: absolute;
    top: -17px;
    right: 0;
}

.example_box div:last-child .number::after{
    content: '';
    background: url(../img/event_ob_02.png);
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    width: 190px;
    height: 120px;
    position: absolute;
    top: -45px;
    right: 0;
}


.example_box div ul{
    display: inline-block;
    text-align: left;
    font-size: 24px;
    font-weight: 900;
    padding: 0 1em;
}

.example_box div ul li .min{
    font-size: 19px;
}

.example_box div ul li .red,
.example_box div p:last-child .red{
    color: #DC0A16;
}

.example_box div p:last-child{
    letter-spacing: 0.12em;
    font-size: 24px;
    font-weight: 900;
    display: block;
    width: 95%;
    margin: 0 auto;
}

.example_box div p:last-child .line{
    background: linear-gradient(transparent 50%, #FFEC00 50%);
    padding: 0 0.5em;
}

.example_box div p:last-child .big{
    font-size: 31px;
}

.example_img{
    width: 115px;
    margin: 10px auto;
}




#stamprally_area{
    background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 246, 219, 1) 100%);
    border: 2px solid #fff;
    border-radius: 25px;
    position: relative;
    padding-bottom: 40px;
    margin-top: 260px;
}

.stamprally_text{
    font-size: 24px;
    text-align: center;
    font-weight: 900;
    position: relative;
}

.stamprally_text .big{
    font-size: 31px;
}

.stamprally_text .line{
    background: linear-gradient(transparent 50%, #FFEC00 50%);
    padding: 0 0.5em;
    display: inline-block;
}

.stamprally_text::before{
    content: '';
    background: url(../img/stamprally_fukidashi_01.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 201px;
    height: 118px;
    display: block;
    position: absolute;
    top: -75px;
    left: 0;
}

.stamprally_text::after{
    content: '';
    background: url(../img/stamprally_fukidashi_02.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 250px;
    height: 195px;
    display: block;
    position: absolute;
    top: -162px;
    right: -50px;
}



.chance{
    border-top: 1px dashed #333333;
    padding-top: 40px;
    margin-top: -10px;
}

.chance p:first-child{
    font-size: 24px;
    font-weight: 900;
    color: #DC0A16;
    margin-bottom: 10px;
}

.app_title {
    max-width: 570px;
    width: 100%;
    margin: 60px auto 20px auto;
}

.app_text{
    text-align: left;
    font-weight: 500;
    color: #0A51A4;
    background: #fff;
    border-radius: 10px;
    margin-top: 20px;
    padding: 30px 0;
}

.app_text_t{
    font-weight: 900;
    font-size: 19px;
    max-width: 728px;
    width: 86.21%;
    margin: 30px auto 15px auto;
}

.app_text_t:first-child{
    margin-top: 0;
}

.app_text_t::before{
    content: '';
    background: #0A51A4;
    width: 5px;
    height: 20px;
    display: inline-block;
    /* border-left: 5px solid #0A51A4; */
    margin-right: 10px;
    vertical-align: middle;
    line-height: normal;
    margin-bottom: 5px;
}

.app_text_d{
    max-width: 728px;
    width: 86.21%;
    margin: 0 auto;
}

.app_text .asterisk {
    max-width: 728px;
    width: 86.21%;
    color: #333;
    font-size: 14px;
    margin: 0 auto;
    padding-left: 1em;
}

.app_text ul{
    display: flex;
    max-width: 728px;
    width: 86.21%;
    margin: auto auto 15px auto;
}

.app_text ul li:first-child{
    width: 147px;
}

.app_text ul li:last-child{
    width: 166px;
    margin-left: 10px;
}

/*banner*/
#banner{
    padding: 100px 0;
}

#banner ul{
    display: flex;
    justify-content: space-between;
    width: 86.46%;
    margin: 0 auto;
}

#banner ul li{
    max-width: 390px;
    width: 48%;
}


@media screen and (max-width:1225px){
    #about::before,
    #about::after{
        opacity: 0.4;
    }
}

@media screen and (max-width:1020px){
    .event_text::before {
        width: 22vw;
        top: -75px;
        left: -20px;
    }
    
    .event_text::after {
        width: 26vw;
        top: -120px;
        right: -70px;
    }
    
    .stamprally_text::before {
        width: 22vw;
        top: -95px;
        left: -30px;
    }
    
    .stamprally_text::after {
        width: 26vw;
        top: -135px;
        right: -68px;
    }
}

@media screen and (max-width:930px){
    .example_box div:first-child .number::after {
        top: auto;
        bottom: -1px;
    }
    .example_box div:last-child .number::after {
        top: auto;
        bottom: -1px;
    }
}

@media screen and (max-width:767px){
    .pc{
        display: none!important;
    }

    .sp{
        display: inherit;
    }
    
    body{
        font-size: 14px;
        letter-spacing: 0.02em;
        line-height: 1.64;
    }
    
    .inner{
        max-width: 930px;
        width: 86.67%;
        margin: 0 auto;
        position: relative;
        z-index: 2;
    }

    /*kv*/
    #kv{
        background: url(../img/sp/kv_bg.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        width: 100%;
        overflow: hidden;
        padding: 15px 0 25px 0;
        text-align: center;
    }

    #kv div.sp ul li{
        display: inline-block;
        position: relative;
    }

    #kv div.sp ul .kv_logo{
        width: 86px;
        margin-left: 10px;
        display: block;
    }

    #kv div.sp ul .kv_title{
        max-width: 600px;
        width: 93%;
        margin-top: -30px;
    }

    #kv div.sp ul .kv_title::before{
        content: '';
        background: url(../img/sp/kv_ob_01.png);
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        bottom: -11vw;
        right: 0;
        max-width: 300px;
        width: 18.4%;
        height: 28vw;
    }

    #kv div.sp ul .kv_title::after{
        content: '';
        background: url(../img/sp/kv_ob_02.png);
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        bottom: -37vw;
        right: 0;
        max-width: 300px;
        width: 15%;
        height: 21vw;
    }

    #kv div.sp ul .kv_ca{
        max-width: 600px;
        width: 97.33%;
    }

    #kv div.sp ul .kv_ca::before{
        content: '';
        background: url(../img/sp/kv_ob_03.png);
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        bottom: 0;
        left: -5px;
        max-width: 300px;
        width: 17.8%;
        height: 24vw;
    }

    #kv div.sp ul .kv_ca::after {
        content: '';
        background: url(../img/sp/kv_ob_04.png);
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        bottom: 10px;
        left: 16vw;
        max-width: 300px;
        width: 18.1%;
        height: 23vw;
    }

    /*nav*/
    #nav{
        font-size: 16px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.16);
        letter-spacing: 0.04em;
    }

    #nav::before,
    #nav::after{
        content: '';
        background: url(../img/sp/nav.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        width: 100%;
        height: 10px;
        display: block;
    }

    #nav ul{
        width: 89.4%;
        display: block;
        padding: 10px 0 20px 0;
    }

    #nav ul li{
        height: auto;
        border-left: none;
        border-bottom: 1px solid rgba(255,255,255,0.7);
        text-align: left;
    }

    #nav ul li:last-child{
        border-right: none;
    }

    #nav ul li a{
        display: block;
        padding: 10px 0;
    }

    #nav ul li a span{
        width: 90%;
        margin-bottom: 0;
        display: inline-block;
    }

    #nav ul li a::after{
        content: '';
        background: url(../img/arrow.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 10px;
        height: 10px;
        position: absolute;
        top: 50%;
        right: 0%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
    }
    
    #nav li a span.min{
        display: inline;
        font-size: 14px;
    }
    
    /*about*/
    #about{
        background: url(../img/sp/about_bg.jpg);
        background-size: cover;
    /*    background-position: top center;*/
        background-repeat: no-repeat;
        text-align: center;
        position: relative;
    }

    #about::before{
        content: '';
        background: url(../img/sp/about_ob_01.png);
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        top: 38px;
        left: 0;
        width: 98px;
        height: 105px;

        opacity: 1;
    }

    #about::after{
        content: '';
        background: url(../img/sp/about_ob_02.png);
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 151px;
        height: 123px;
        opacity: 1;
    }

    #about .inner{
        padding: 0px 0 80px 0;
        width: 95%;
    }

    #about .about_ob{
        max-width: 200px;
        margin-top: 20px;
        margin-bottom: 20px;
    }

    #about p:first-of-type{
        font-size: 16px;
        line-height: 1.875;
        letter-spacing: 0.02em;
    }

    #about p:last-of-type{
        font-size: 18px;
        margin-top: 15px;
        line-height: 1.77;
        letter-spacing: 0.02em;
    }

    #about .about_title{
        max-width: 500px;
        margin: 0 auto;
    }
    
    #about .about_title p:last-of-type{
        margin: 0;
    }
    
    /*cp*/
    #cp{
        background: url(../img/sp/cp_hanabi.png),linear-gradient(180deg,rgba(21, 22, 61, 1) 0%, rgba(91, 179, 221, 1) 100%);
        background-repeat: repeat-y;
        background-size: 100%;
        position: relative;
    }

    #cp::before{
        content: '';
        background: url(../img/sp/cp_bg_top.png);
        background-size: 100%;
        background-repeat: no-repeat;
        height: 10vw;
        width: 100%;
        position: absolute;
        top: -9vw;
    }

    #cp .inner{
        padding: 170px 0 50px 0; 
    }

    #event_area{
        border-radius: 10px;
        padding-bottom: 20px;
    }

    .cp_title{
        margin: -115px auto 20px auto;
        position: relative;
    }

    .event_text{
        font-size: 18px;
        line-height: 1.5;
    }

    .event_text::before,
    .event_text::after{
        display: none;
    }
    
    #event::before{
        content: '';
        background: url(../img/sp/event_fukidashi_01.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 55.143%;
        height: 100%;
        display: block;
        position: absolute;
        top: -4vw;
        left: -20px;
    }

    #event::after{
        content: '';
        background: url(../img/sp/event_fukidashi_02.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 48.289%;
        height: 100%;
        display: block;
        position: absolute;
        top: -8vw;
        right: -15px;
    }
    
    .event_text .line{
        display: inline;
    }

    .event_text .min{
        font-size: 12px;
    }

    .event_text .big{
        font-size: 24px;
    }
    
    .event_text .min.sp{
        margin-top: 5px;
    }

    .asterisk_box{
        margin: 30px auto 35px auto;
        font-size: 12px;
        letter-spacing: 0.01em;
    }

    .example_box{
        display: block;
    }

    .example_box div{
        max-width: 400px;
        width: 100%;
        margin: auto auto 45px auto;
        padding-bottom: 15px;
    }
    
    .example_box div:last-child{
        margin-bottom: 0;
    }

    .example_box div .number{
        font-size: 23px;
        padding: 10px 0 10px 15px;
        margin-bottom: 15px;
    }

    .example_box div:first-child .number::after{
        content: '';
        background: url(../img/sp/event_ob_01.png);
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        width: 131px;
        height: 62px;
        position: absolute;
        bottom: -1px;
        top: auto;
        right: 0;
    }

    .example_box div:last-child .number::after{
        content: '';
        background: url(../img/sp/event_ob_02.png);
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        width: 131px;
        height: 82px;
        position: absolute;
        bottom: -1px;
        top: auto;
        right: 0;
    }

    .example_box div ul{
        font-size: 20px;
        letter-spacing: 0.04em;
    }

    .example_box div ul li .min{
        font-size: 15px;
    }

    .example_box div p:last-child{
        letter-spacing: 0.05em;
        font-size: 20px;
        width: 98%;
    }

    .example_box div p:last-child .line{
        padding: 0 0.2em;
    }

    .example_box div p:last-child .big{
        font-size: 27px;
    }

    .example_img{
        width: 86px;
    }
    
    #stamprally_area{
        border-radius: 10px;
        padding-bottom: 20px;
        margin-top: 180px;
    }

    .stamprally_text{
        font-size: 18px;
        line-height: 1.5;
    }

    .stamprally_text .big{
        font-size: 22px;
    }

    .stamprally_text .line{
        padding: 0 0.3em;
        display: inline;
    }

    #stamprally::before{
        content: '';
        background: url(../img/sp/stamprally_fukidashi_01.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 53.9%;
        height: 100%;
        display: block;
        position: absolute;
        top: -4vw;
        left: -24px;
    }

    #stamprally::after{
        content: '';
        background: url(../img/sp/stamprally_fukidashi_02.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 45.2%;
        height: 100%;
        display: block;
        position: absolute;
        top: -8vw;
        right: -15px;
    }

    .stamprally_text::before,
    .stamprally_text::after{
        display: none;
    }

    .chance{
        padding-top: 20px;
    }

    .chance p:first-child{
        font-size: 20px;
        line-height: 1.35;
        letter-spacing: 0.06em;
    }

    .app_title {
        margin: 30px auto 15px auto;
    }

    .app_text{
        margin-top: 30px;
        padding: 20px 0;
    }

    .app_text_t{
        font-size: 16px;
        margin: 30px auto 5px auto;
    }
    
    .app_text .asterisk {
        font-size: 12px;
        letter-spacing: 0.01em;
    }

    .app_text ul li:last-child{
        margin-left: 5px;
    }

    /*banner*/
    #banner{
        padding: 50px 0;
    }

    #banner ul{
        display: block;
        width: 89.24%;
    }

    #banner ul li{
        max-width: 300px;
        width: 100%;
        margin: 0 auto;
    }
    
    #banner ul li:first-child{
        margin-bottom: 15px;
    }
}

@media screen and (max-width:340px){
    #kv div.sp ul .kv_logo{
        width: 22%;
    }
}

@media screen and (max-width:330px){
    #about::before,
    #about::after{
        opacity: 0.4;
    }
}