body {
    background-color:#fff !important;
    color: #333;
    font-family:"M PLUS Rounded 1c", sans-serif;
    font-weight: bolder;
    font-style: normal;
    font-size: 18px;
    -webkit-font-smoothing: antialiased;

}
h1,h2,h3,h4,ul,li,dl,dt,dd{
    margin: 0;
}
a {
    text-decoration: none;
}
p{
    margin: 0;
}
img {
    pointer-events: none; 
    user-select:none;
}
a img , .pointer{
    pointer-events: auto; 
    user-select:auto;
}
.w100 {
    width: 100%;
    margin: 0 auto;
}

.w95 {
    width: 95%;
    margin: 0 auto;
}

.w90 {
    width: 90%;
    margin: 0 auto;
}

.w80 {
    width: 80%;
    margin: 0 auto;
}

.w75 {
    width: 75%;
    margin: 0 auto;
}

.w70 {
    width: 70%;
    margin: 0 auto;
}

.w60 {
    width: 60%;
    margin: 0 auto;
}
.w50 {
    width: 50%;
    margin: 0 auto;
}
.w40 {
    width: 40%;
    margin: 0 auto;
}

.m_0 {
    margin: 0;
}

.m_b0 {
    margin-bottom: 0 !important;
}
.m_b5 {
    margin-bottom: 0.5em !important;
}

.m_b10 {
    margin-bottom: 1em !important;
}

.m_t10 {
    margin-top: 1em !important;
}

.m_t20 {
    margin-top: 2em !important;
}

.m_b20 {
    margin-bottom: 2em !important;
}

.m_t20 {
    margin-top: 2em !important;
}

.p_t10 {
    padding-top: 1em !important;
}

.p_t20 {
    padding-top: 2em !important;
}

.p_b10 {
    padding-bottom: 1em !important;
}

.p_b20 {
    padding-bottom: 2em !important;
}

.t_left {
    text-align: left;
}

.t_xlarge {
    font-size: 1.4em;
    font-weight: bold;
}

.t_large {
    font-size: 4vw;
}

.t_small {
    font-size: 0.9em;
}
.t_xsmall {
    font-size: 0.85em;
}

section{
    margin: 5em auto 0;
    position: relative;
}
section p img{
    width: 100%;
}
.shadow_box{
    position: relative;
    width: 88%;
    margin: auto;
    border-radius: 2em;
    padding: 4% 3% 6%;
    background-color: #fff;
    box-shadow: 0 0 8px #777 ;
}
.youtube{
    padding: 0 2% 2% 0;
    background-image: url(../images/202510_anniversary/image_04.png);
    background-size: 100%;
    background-repeat: no-repeat;
    margin-bottom: 3em;
}
.youtube iframe{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
.menu_list{
    background-color: #f6c715;
    display:flex;
    flex-flow: wrap;
}
.hide_menu .menu_list {
    width: 80%;
    margin: auto;
}
.menu_list li{
    width: 50%;
}
.menu_list li img{
    width: 100%;
}
.menu_list li.w100{
    width: 100%;
}
.app_list{
    display:flex;
    flex-flow: wrap;
    margin: 2em auto;
}
.app_list li.and{
    margin-left: calc(17/640*120%);
    width: calc(258/640*120%);
}
.app_list li.ios{
    margin-left: calc(36/640*120%);
    width: calc(206/640*120%);
}

#background{
    position: fixed;
    width: 100vw;
    height: 100vh;
    background-image: url(../images/202510_anniversary/bgimage_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: -10;
}
#container {
    max-width: 700px ;
    margin: auto;
    overflow-y: hidden;
}
header{
    width: 100%;
}

#fv{
    margin: 2em auto 0;
}
#fv p{
    margin: auto;
    margin-top: 3em;
    width: 93%;
}
nav{
    background-color: #f6c715;
}
#hide_menu{
    display: none; 
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 10;
    left:0;
    overflow-y: scroll;
}
#hide_menu .nav_inner{
    max-width: 700px;
    margin: auto;
    padding-bottom: 2em;
}

.menu_btn{
    display: block;
    text-align: right;
    margin: 0.5em 0.5em 0 0;
}
.menu_oc{
    display: block;
    width: 5em;
    margin: 0.5em 0.5em auto auto;
}

#news ul {
    margin: 1.5em 0 1em;
    border-top: #000 2px solid;
    border-bottom: #000 2px solid;
}
#news ul li + li{
    border-top: #000 2px solid;
}
#news dt ,#special dt,#event dt,#o_event dt,#a_event dt,#shop dt,
#news dd ,#special dd,#event dd,#o_event dd,#a_event dd,#shop dd{
    text-align: left;
    font-size: 24px;
    line-height: 1.6;
}
#news dl {
    padding: 1.5em 0 ;
}
#news dl dt{
    color: #f6c715;
    margin-bottom: 0.3em;
}
#news a.more{
    width: 30%;
    display: block;
    margin-left: 70%;
}
#news a.back{
    width: 22%;
    display: block;
}
#special dl dd + dd{
    margin-top: 1em;
}
#event ul,
#a_event ul,
#o_event ul
{
    display:flex;
    flex-wrap: wrap;
}
#event ul li,
#a_event ul li,
#o_event ul li
{
    width: 49%;
    padding: 0.5%;
    margin-top: 5%;
    position: relative;
}
#event ul li.icon_everyday::before,
#a_event ul li.icon_everyday::before,
#o_event ul li.icon_everyday::before{
    content: "";
    position: absolute;
    width: 25%;
    height: 11%;
    top: -0.4em;
    left: 5%;
    background-image: url(../images/202510_anniversary/icon_everyday.png);
    background-size: 100%;
    background-repeat: no-repeat;
}

#event dl,#o_event dl,#a_event dl{
    text-align: center;
}
#event dd,#o_event dd,#a_event dd{
    text-align: left;
    font-size: 17.5px;
    margin-top: 0.5em;
}
#shop dd{
    margin-top: 0.5em;
}
#event dd span,#o_event dd span,#a_event dd span{
    font-size: 84%;
}
#event dd+dd,#o_event dd+dd,#a_event dd+dd{
    text-align: left;
}
#event dd span.date,#o_event dd span.date,#a_event dd span.date{
    display: inline-block;
    text-align: left;
    background-color: #efefef;
    border-radius: 1em;
    padding: 0.3em 1em;
    margin-bottom: 0.3em;
}
#o_event .shadow_box{
    padding-top: 6em;
}
.inner_box{
    width: 93%;
    margin-top: 2em;
}
a + .inner_box{
    margin-top: 4em;
}
#special div , #fan div{
    background-image: url(../images/202510_anniversary/image_15bg.jpg);
    background-size: 3%;
}
#shop div , #f_contents div{
    background-color:#fff6df;
}
#f_contents .inner_box{
        padding: 6% 3% ;
}
#download{
    background-color:#f8d41d;
    padding: 4em 0 10em;
}
#download dl{
    margin: auto;
    flex-wrap: wrap;
    width: 100%;
    font-size: 21px;
}
#download dt{
    text-align: center;
    width: 90%;
    margin: auto;
    background-color: #f8de63;
    border-radius: 1em;
    padding: 0.3em 1em;
    margin-bottom: 0.3em;
}
#download dd{
    padding: 0.3em 1em 0.8em;
}
#special div{
    padding-bottom: 6em;
    margin-bottom: 8em;
}
.sns_list{
    width: 20%;
    display: flex;
    margin: 1em auto 0;
    flex-wrap: wrap;
    justify-content: center;
}
.sns_list li {
    width: 40%;
}
.sns_list li + li{
    margin-left: 20%;
}
.sns_list li img{
    width: 100%;
}

footer{
    background-color: #515151;
    padding: 6em 0 3em;
    color: #ccc;
}
.footer_inner{
    width: 100%;
    max-width: 700px;
    margin: auto;
}
.pos_absolute {
    position: absolute;
}

.pos_relative {
    position: relative;
}
#balloon_01{
    width: 20%;
    margin: auto;
    top:-6%;
    left:5%;
}
#balloon_02{
    width: 20%;
    margin: auto;
    bottom:-6%;
    right:5%;
}
#balloon_03{
    display: none;
/*    width: 20%;
    margin: auto;
    bottom:-6%;
    right:5%;*/
}
#balloon_04{
    width: 20%;
    margin: auto;
    top:-2%;
    left:5%;
}
#balloon_05{
    width: 20%;
    margin: auto;
    top:-2%;
    left:0%;
}
#balloon_06{
    width: 20%;
    margin: auto;
    top:-8%;
    right:-7%;
}
#balloon_07{
    width: 20%;
    margin: auto;
    top:-7%;
    left:-6%;
}
#balloon_08{
    width: 20%;
    margin: auto;
    top:-4%;
    left:2%;
}
#balloon_09{
    width: 20%;
    margin: auto;
    top:-5%;
    right:1%;
}
#footer_img{
    width: 90%;
    margin: auto;
    top:-85%;
    left:0;
    right:0;
}
#totop{
    display: none;
    position: fixed;
    bottom: 1em;
    right: 1em;
    margin: auto;
    z-index: 10;
    width: 4em;
}
.pc_only{
    display: block;
}
.sp_only{
    display: none;
}

@media screen and (max-width: 800px) {
    .pc_only{
        display: none;
    }
    .sp_only{
        display: block;
    }
    body {
        font-size: 3.9vw;
    }
    img{
        width: 100%;
    }

    h1 img{
        width: 80%;
        margin: auto;
    }
    .sns_list{
        width: 30%;
        margin : 1em auto 2em;
    }
    #fv p{
        width: 100%;
    }
    #special div {
        padding-bottom: 4em;
        margin-bottom: 5em;
    }
    #o_event .shadow_box {
        padding-top: 4em;
    }
    a + .inner_box {
        margin-top: 3em;
    }
    #news dt, #special dt, #event dt, #o_event dt, #a_event dt, #shop dt,
    #news dd, #special dd, #event dd, #o_event dd, #a_event dd, #shop dd{
        font-size: 3.8vw;
    }
    #event dd,#o_event dd,#a_event dd{
        font-size: 3.4vw;
        text-align: left;
    }
    #download{
        padding: 4em 0 6em;
    }
    #download dl{
        font-size: 3.1vw;
    }
    footer{
            padding: 3em 0 2em;
    }
    #footer_img{
        top:-60%;
    }
    .copyright{
        font-size: 2.5vw;
    }
}
