@charset "UTF-8";

/*----------------------------------------------------------------------------------------------------------------index----------*/
body {
    width: 100%;
    background: #fff;
    background-size: contain;
}


.contentbox {
    overflow: hidden;
}



#mainarea .contentbox {

    overflow: hidden;
    position: relative;
}

.container-fluid {
    padding-right: 0px;
    padding-left: 0px;
}



.foot_bnr {
    width: 100%;
    max-width: 1200px;
    margin-bottom: 10rem;
    margin-left: auto;
    margin-right: auto;
}


#canvas{
    position:absolute;
    width:100vw;
    height:100vh%;
    mix-blend-mode: screen;
    top:0;
    left:0;
    z-index:10000;
}


#flareCanvas{
    position:absolute;
    width:100vw;
    height:100vh%;
    mix-blend-mode: screen;
    top:0;
    left:0;
    z-index:10000;
}




/*========= particle js を描画するエリア設定 ===============*/

html,body{
	height: 100%;/*高さを100%にして描画エリアをとる*/
}

#particles-js{ 
	position:fixed;/*描画固定*/
	z-index:2;/*描画を一番下に*/
	width: 100%;
	height: 100%;
	
}

#wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align:center;
  }
  
#wrapper{
	position: relative;/*描画を#particles-jsよりも上にするためposition:relative;を指定*/
	z-index: 1;/*z-indexの数字を大きくすることで描画を#particles-jsよりも上に*/
	width:100%;
	height: 100%;
}

.content-wrap{
	position: relative;/*描画を#particles-jsよりも上にするためposition:relative;を指定*/
	z-index: 20;/*z-indexの数字を大きくすることで描画を#particles-jsよりも上に*/
	width:100%;
	height: 100%;
}




/*========= ナビゲーションのためのCSS ===============*/

#g-nav {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top: 0;
    right: -100%;
    width: 30%;
    height: 100vh;
    /*ナビの高さ*/
    background: linear-gradient(-45deg, rgba(170, 21, 33, 1), rgba(249, 69, 83, 1));
    /*背景色（グラデーション）*/
    /*動き*/
    transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 30%;
    height: 100vh;
    /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*横幅が768px以下になった際の指定*/
@media only screen and (max-width: 768px) {

    #g-nav,
    #g-nav.panelactive #g-nav-list {
        width: 100%;
    }
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

/*リストのレイアウト設定*/

#g-nav li {
    list-style: none;
    text-align: center;
    border-bottom: 1px dotted #c18973;
}

#g-nav li a {
    color: #fff;
    text-decoration: none;
    padding: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
    transition: all .5s;

    font-size: calc(15px + 6 * ((100vw - 320px) / 1120));
}

#g-nav li a:hover {
    color: #ccc;
}




.imgarea {
    padding-top: 7rem;
    position: relative;
    
}


.head_img {
    width: 100%;
    max-width: 1200px;

    margin-left: auto;
    margin-right: auto;
    position: relative;
}




body.preload .wow.fadeInLeftBig {
    opacity: 0 !important;
}


body.preload .wow.fadeInRightBig {
    opacity: 0 !important;
}








@keyframes FloatVertical {
    0% {
        transform: translate3d(0, 2vw, 0);
    }

    50% {
        transform: translate3d(0, -2vw, 0);
    }

    100% {
        transform: translate3d(0, 2vw, 0);
    }
}

.float {
    animation: FloatVertical 6.0s ease-in-out infinite alternate;
}



@keyframes FloatHorizontal {
    0% {
        transform: translate3d(1.1vw, 0, 0);
    }

    25% {
        transform: translate3d(-1.2vw, 0, 0);
    }

    50% {
        transform: translate3d(1.2vw, 0, 0);
    }

    75% {
        transform: translate3d(1.2vw, 0, 0);
    }

    100% {
        transform: translate3d(1.7vw, 0, 0);
    }
}

.FloatHorizontal {
    animation: FloatHorizontal 7.0s ease-in-out infinite alternate;
}








@keyframes ShakeLeft {
    0% {
        transform: translate3d(3vw, 2vw, 0);
    }

    25% {
        transform: translate3d(2vw, -1vw, 0);
    }


    50% {
        transform: translate3d(1vw, -2vw, 0);
    }

    75% {
        transform: translate3d(2vw, -1vw, 0);
    }


    100% {
        transform: translate3d(3vw, 2vw, 0);
    }
}

.shake_left {
    animation: ShakeLeft 2s linear infinite alternate;
}



@keyframes ShakeRight {
    0% {
        transform: translate3d(-3vw, 2vw, 0);
    }

    25% {
        transform: translate3d(-2vw, -1vw, 0);
    }


    50% {
        transform: translate3d(-1vw, -2vw, 0);
    }

    75% {
        transform: translate3d(-2vw, -1vw, 0);
    }


    100% {
        transform: translate3d(-3vw, 2vw, 0);
    }
}

.shake_right {
    animation: ShakeRight 2s linear infinite alternate;
}




.voice {
    position: absolute;
    left: 17%;
    top: 16%;
    z-index: 100;
    width: calc(120px + 400 * ((100vw - 320px) / 1120));
}

.butterfly {
    position: absolute;
    right: 17.5%;
    top: 37%;
    z-index: 100;
    width: calc(20px + 80 * ((100vw - 320px) / 1120));
}


.hand_left {
    position: absolute;
    left: 16%;
    top: 54%;
    z-index: 100;
    width: calc(70px + 280 * ((100vw - 320px) / 1120));
    max-width: 300px;
}

.hand_right {
    position: absolute;
    right: 16%;
    top: 54%;
    z-index: 100;
    width: calc(70px + 280 * ((100vw - 320px) / 1120));
    max-width: 300px;
}



/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/


.openbtn {
    position: fixed;
    z-index: 9999;
    top: 0px;
    right: 0px;
    /*ボタン内側の基点となるためrelativeを指定*/
    background: linear-gradient(0.25turn, #ce2ca5, #b41e8e);
    cursor: pointer;
    width: 54px;
    height: 54px;
}

/*ボタン内側*/
.openbtn span {
    display: inline-block;
    transition: all .4s;
    /*アニメーションの設定*/
    position: absolute;
    left: 13px;
    height: 2px;
    border-radius: 0px;
    background: #fff;
    width: 52%;
}

.openbtn span:nth-of-type(1) {
    top: 17px;
}

.openbtn span:nth-of-type(2) {
    top: 25px;
}

.openbtn span:nth-of-type(3) {
    top: 33px;
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn.active span:nth-of-type(1) {
    top: 20px;
    left: 16px;
    transform: translateY(6px) rotate(-45deg);
    width: 45%;
}

.openbtn.active span:nth-of-type(2) {
    opacity: 0;
    /*真ん中の線は透過*/
}

.openbtn.active span:nth-of-type(3) {
    top: 32px;
    left: 16px;
    transform: translateY(-6px) rotate(45deg);
    width: 45%;
}



/*----------------------------------------------------------------------------------firefox fade対策----------*/
img,
x:-moz-any-link,
x:default {
    box-shadow: #000 0 0 0;
}

/*
Back to top button 
*/
#page-top {
    position: fixed;
    right: 15px;
    z-index: 100;
}

#page-top a {
    width: 50px;
    display: block;
    text-align: center;
    font: 1.1rem/100% Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    /* background color transition */
    -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;

}



/* arrow icon (span tag) */
#page-top span {
    padding-top: 4px;
    width: 60px;
    height: 60px;
    display: block;
    margin-bottom: 7px;
    background: #b41e8e;
    /* rounded corners */
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    /* background color transition */
    -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;
}

#page-top a:hover span {
    background-color: #fff;
    color: #111;
}



#cat-top {
    position: fixed;
    right: 15px;
    z-index: 100;
}

#cat-top a {
    width: 50px;
    display: block;
    text-align: center;
    font: 1.1rem/100% Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    /* background color transition */
    -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;

}



/* arrow icon (span tag) */
#cat-top span {
    padding-top: 4px;
    width: 60px;
    height: 60px;
    display: block;
    margin-bottom: 7px;
    background: #c30d23;
    /* rounded corners */
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    /* background color transition */
    -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;
}

#cat-top a:hover span {
    background-color: #f998a4;
    color: #111;
}




/*
haed
*/
header {}

.headerlogo {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    font-size: 0;
    padding: 0px 0;
    height:54px;
    display:flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: 0.3s ease;
    -moz-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.headerlogo.scbg {
    -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
        background-color: rgba(255, 255, 255, .7);
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.7);
        
}

.headerlogo h1 {
    
    margin: 0 0;
}

.headerlogo h1 img {
    width: 60vw;
    max-width: 320px;
    -webkit-transition: 0.8s linear;
    -moz-transition: 0.8s linear;
    -o-transition: 0.8s linear;
    transition: 0.8s linear;
}


#logo.mini {
    width: 220px !important;
}


.aeonlogo img {
    width: 85px;
    -webkit-transition: 0.6s ease;
    -moz-transition: 0.6s ease;
    -o-transition: 0.6s ease;
    transition: 0.6s ease;
}

#ael.mini {
    width: 70px !important;
}


#category{
    
    z-index: 100;
}


.catmenu {
    width: 100%;
    z-index: 10;
    position: absolute;

    

    top: 85%;


  left: 50%;
  transform: translate(-50%, -50%);

}




.catmenu.gourmet {
    background: #fae4eb url(../images/bg_menu.png) no-repeat center top;
    background-size: cover;
    padding-top: 2rem;
    width: 100%;
    position: relative;
    z-index: 10;
    padding: 0rem 2rem 8rem 2rem;
}






@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {}

.catclick {
    padding: .7rem 0;
    font-size: 2rem;
    color: #ec6c00;
    transform: rotate(-4deg);
    -moz-transform: rotate(-4deg);
    -webkit-transform: rotate(-4deg);
}

.catclick span {
    background: linear-gradient(transparent 70%, #faf18f 70%);
}








@keyframes fadeInUpMin {
    from {
        opacity: 0;
        transform: translate3d(0, 25%, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fadeInUpMin {
    animation-name: fadeInUpMin;
}



@keyframes fadeInDownMin {
    from {
        opacity: 0;
        transform: translate3d(0, -8%, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fadeInDownMin {
    animation-name: fadeInDownMin;
}






@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translate3d(8%, 0, 0);

    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fadeInLeft {
    animation-name: fadeInLeft;
}




@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translate3d(-8%, 0, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fadeInRight {
    animation-name: fadeInRight;
}







@keyframes fadeInLeftMin {
    from {
        opacity: 0;
        transform: translate3d(-8%, 0, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fadeInLeftMin {
    animation-name: fadeInLeftMin;
}







@keyframes fadeInRightMin {
    from {
        opacity: 0;
        transform: translate3d(8%, 0, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fadeInRightMin {
    animation-name: fadeInRightMin;
}



.card {
    border: none;
    background: none;
    border-radius: 0;
}


.card-img {
    position: relative;

}

.card-text {
    line-height: 1.3;
    width: 100%;
    max-width: 550px;
    margin: 0 auto;

}

.card-text ul {
    margin-left: 1.5rem;
}

.card-text li {
    list-style: circle;
    margin-bottom: 0.2rem;
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 160%;
}

.itemfont {
    letter-spacing: 0;
    font-size: 1.1rem;
}

.shopname {
    margin-top: .8rem;
    border-top: 1px solid #fff;
    padding-top: .8rem;
}



.grid-item {}

.gi-last {
    margin-bottom: 0rem;
}


.code-area {
    margin-bottom: 0rem;
}



#head_menu {

    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    

    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    

}



#head_menu img {
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));


}





.contentstitlebox {
    position: relative;
    z-index: 15;
    margin-top: -9rem;
}



.contents_title {
    display: inline-flex;

    justify-content: center;

    background: #f5f2e9;
    padding: 2rem 2rem 0 2rem;
    border-radius: 2rem 2rem 0 0;
    width: calc(200px + 140 * ((100vw - 320px) / 1120));

}



.menu_title {
    display: inline-flex;

    justify-content: center;

    background: #f5f2e9;

    padding: 2rem 1.5rem 0 1.5rem;
    border-radius: 2rem 2rem 0 0;
    margin-top: 8rem;

    width: calc(340px + 270 * ((100vw - 320px) / 1120));

}


.menu_newopen {
    padding: 0rem 0;
    width: 20%;
}

.menu_info {
    padding: 0rem 0;
    width: 100%;
}

.menu_code {
    width: 100%;
}



.menu_code {
    width: clamp(22rem, 8.1824rem + 51.14vw, 60rem);
    
    max-width:600px;
}





.menu_code a {
    width: 100%;
    position: relative;
}


.menu_code.menu_floral {
    margin-top: -2rem;
}

.menu_code.menu_denim {
    margin-top: -2rem;
}












.menu_play {

    padding: 2rem 0;
    width: calc(50% - 1.5rem);
}

.menu_trip {
    background: #e3f3fc;
    padding: 2rem 0;
}

.menu_gurume {
    background: #fff6d4;
    padding: 2rem 0;
}



.item_box{
    display: block;
    background:#FDEFF5;
    border:5px solid #FFF100;
    width:100%;
    max-width: 1000px;

    margin-top:0;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:clamp(2rem, -0.228rem + 6.02vw, 7rem);
    border-radius:30px;
    position:relative;

}

.item_box img{
    border-radius:30px;

}




.item_box.hoteiya img{
    margin-top:calc(-1 * clamp(2rem, 1.1088rem + 2.41vw, 4rem));
}

/*
content
*/

.card-block {
    margin-bottom: 20rem;
}



#summersale-area .card-block {
    margin-bottom: 0rem;

}

#gourmet-area .card-block {
    margin-bottom: 0rem;

}




.grid-index {}


#gift00 {
    width: 100%;
    background: url(../images/event_title_bg.png) repeat left top;
    padding: 6rem 0 6rem 0;
    position: relative;
    z-index:-1;
}
#gift00:before {
    width: 100%;
    
    background: url(../images/bg_star.png) repeat center top;
    background-size:contain;
    position: absolute;
    height:100%;
    content:"";
    left: 0;
    top: 0;
    z-index:-1;
}



#gift01 {
    width: 100%;
    background: #00C8FF url(../images/event_bg-2.png) repeat-x left 50% bottom;
background-size: 150%;
    padding: 5rem 0 8rem 0;
    position: relative;
    
}


#gift01:before {
    width: 100%;
    max-width: 1600px;
    background: url(../images/bg_info_seagull02.png) no-repeat center top 40%;
    position: absolute;
    
    height:100%;
    content:"";

  right: 0;
  left: 0;
  margin: 0 auto;


}

#gift01 .inner {
    
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}


.specialday{
    width:100%;
    max-width:1000px;
    margin:0 auto 0 auto;
    
}


.event_title_wrap{
    background: url(../images/event_title_bg.png) repeat left top;
}

.event_title{
    width:100%;
    max-width:800px;
    margin:6rem auto 4rem auto;
    padding:1rem 0;
}

.event_title img{
    margin-top:-2rem;
}

.event_flame{
    width:100%;
    max-width:1100px;
    margin:0 auto 5rem auto;
    background:#E6F4FD;
    border-radius:30px;
    border:5px solid #00C8FF;
    padding:3rem 0rem 3rem 3rem;
    position:relative;
    z-index:100;
}

.event_flame img{
    margin-left:-3rem;
    
}


.event_btn_wrap{
    display:flex;
    align-items: center;
    justify-content: space-between;
    gap:2rem;
    width:100%;
    max-width: 850px;
    padding:0 2rem;
    margin:0 auto;
}


.event_btn{
    text-align:center;
    width:100%;
    max-width:clamp(30rem, 0.6032rem + 79.45vw, 88rem);
    margin:0 auto 2rem auto;
    position:relative;
    z-index:100;
}


#gift02 {
    width: 100%;
    background: #e60012 ;
    padding: 5rem 15px 10rem 15px;
    position: relative;
}

#gift02:before {
    width: 100%;
    background: url(../images/bg_cb.png) repeat-y center top;
    background-size:contain;
    position: absolute;
    content: "";
    left:0;
    top:0;
    height: 100%;

}

#gift02 .inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}


#code_wrap {
    position:relative;
    z-index:100;
}


#gift02 #code_title {
    text-align: center;
    
    padding-top: 6rem;
    padding-bottom: 6rem;
}

#gift02 #code_title img {
    width: 100%;
    max-width: 900px;
    margin:0 auto;
}




#gift03 {
    width: 100%;
    background: linear-gradient(0deg, rgb(255, 250, 198), rgb(255, 240, 0));
    background: url(../images/bg_otoku.png) no-repeat center top;
    background-size: cover;
    padding: 8rem 15px 0rem 15px;
    position: relative;
}
#gift03:before {
    width: 100%;
    background: url(../images/bg_otoku_star.png) repeat-y center top;
    background-size: contain;
    position: absolute;

    content: "";
    top:0;
    height:100%;

}



#gift03 .inner {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}




#gift04 {
    width: 100%;
    
    background: #fff url(../images/bg_hinyari.png) no-repeat center top;
    background-size: cover;
    padding: 0 0 10rem 0;
    position: relative;
    margin:0 auto;
}




#gift04:before {
    width: 100%;
    background: url(../images/title_hinyari_bg.png) no-repeat center top;
    background-size: contain;
    position: absolute;

    content: "";
    top:calc(0.5rem + 50 * ((100vw - 320px) / 1120));

    
    height:100%;

}

#gift04:after {
    width: 100%;
    background: url(../images/foot_hinyari.png) no-repeat center bottom;
    background-size: contain;
    position: absolute;

    content: "";
    bottom:0;
    height: calc(55px + 130 * ((100vw - 320px) / 1120));
z-index:40;

}








#gift04 .inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    z-index:20;
    position:relative;
}



#gift04 #code_title {
    text-align: center;
    margin-bottom: 8rem;
    padding-top: 8rem;
}

#gift04 #code_title img {
    width: 100%;
    max-width: 900px;
}







#gift05 {
    width: 100%;
    background: url(../images/bg_cinema.png) repeat left top;
    
    padding: 0rem 15px 10rem 15px;
    position:relative;

}

#gift05:before {
    content:"";
    position:absolute;
    width: 100%;
    height:100%;
    left:0;
    top:0;
    background: url(../images/bg_cinema_star.png) repeat-y center top;
    

}


#gift05 .inner {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}


#gift06 {
    width: 100%;
    background: #ceeaf6 url(../images/bg_menu.png) repeat left top;
    padding: 0rem 15px 10rem 15px;
    position: relative;
    margin-top: -10rem;
}


#gift06 .inner {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
}



#gift06 #code_title h2 {
    margin-bottom: -3px;
}



#hinyari-area {
    position: relative;
    padding-top: 4rem;
    padding-bottom: 3rem;

}








.flame{
    position:relative;
    clip-path:polygon(
        0 calc(100% - 25px),
        0 25px,
        25px 0,
        calc(100% - 25px) 0,
        100% 25px,
        100% calc(100% - 25px),
        calc(100% - 25px) 100%,
        25px 100%);

        background-color: rgba(255, 255, 255, 0.5);
        
}

@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
    .flame {
        -webkit-backdrop-filter: blur(6px);
        backdrop-filter: blur(6px);

    }

}


.flame::before {
clip-path: polygon(
    0 calc(100% - 25px),
    0 25px,
    25px 0,
    calc(100% - 25px) 0,
    100% 25px,
    100% calc(100% - 25px),
    calc(100% - 25px) 100%,
    26px 100%,
    26px calc(100% - 3px),
    calc(100% - 26px) calc(100% - 3px),
    calc(100% - 3px) calc(100% - 26px),
    calc(100% - 3px) 26px,
    calc(100% - 26px) 3px,
    26px 3px,
    3px 26px,
    3px calc(100% - 26px),
    26px calc(100% - 3px),
    26px 100%,
    25px 100%);

content:"";
display: block;
height: 100%;
left: 50%;
position: absolute;
top: 0;
transform: translateX(-50%);
width: 100%;
background-color: #0099ff;
z-index:-1;
}
    






.hinyari_title{
    padding-top:calc(0rem + 80 * ((100vw - 320px) / 1120));
}

.hinyari_title h2 {
    margin-bottom:0;
}

#hinyari-area .card-block{
    
    max-width: 1000px;
    margin: 0 auto 5rem auto;
        margin-bottom: calc(0rem + 80 * ((100vw - 320px) / 1120));

}




#hinyari-area .card-block.hinyari_btn {
    width: calc(260px + 280 * ((100vw - 320px) / 1120));
}



.cinema-title{
    
    padding-top:calc(2rem + 50 * ((100vw - 320px) / 1120));
}


.cinema-info{
    background:#fff;
    border:5px solid #971478;
    border-radius:3rem;
    padding:3rem 3rem 0 3rem;
    margin-bottom:3rem;
}



#spring-event .row {
    justify-content: center;
}



.sale_item{
    width:calc(25% - 1.5rem);
}

.sale_item.twoblock{
    width:calc(50% - 1.5rem);
}



#sale-area {
    position:relative;
    
    display:flex;
    align-items: flex-start;
    gap:2rem 1.5rem;
    justify-content: center;
    flex-wrap: wrap;
    z-index:10;
}


#sale-area:before {
    position:absolute;
    content:"";
    background: url(../images/fubuki01.png) no-repeat right bottom;
    background-size: calc(220px + 180 * ((100vw - 320px) / 1120));
    right:calc(2rem - 50 * ((100vw + 320px) / 1120));
    bottom:calc(10px - 70 * ((100vw - 320px) / 1120));
    width:100%;
    height:100%;
}







#pass-area {
    margin-top: 5rem;
    position:relative;
}


#pass-area:before {
    position:absolute;
    content:"";
    background: url(../images/panda02.svg) no-repeat right bottom;
    background-size: calc(230px + 170 * ((100vw - 320px) / 1120));
    right:calc(12rem - 100 * ((100vw + 320px) / 1120));
    bottom:calc(100px - 50 * ((100vw - 320px) / 1120));
    width:100%;
    height:100%;
}










.fashion_btn {
    width: calc(180px + 120 * ((100vw - 320px) / 1120));
}

.gourumet_btn {
    width: calc(180px + 120 * ((100vw - 320px) / 1120));
}





#event {
    max-width: 1200px;
    margin: 0rem auto 3rem auto;
    background: #f5f2e9;
    border-radius: 2rem;

    padding-bottom: 2rem;
    box-shadow: 0px 6px 14px rgb(0 0 0 / 30%);

}


.eventinfo {
    padding: 2rem 0rem 0rem 0rem;
    position: relative;

}



.eventinfo .grid-item {
    margin-bottom: 3rem;
}



.event-card {
    border-radius: 0 1.5rem 0 1.5rem;
    padding: .8rem;
    
}



.event-card.noflame {
    border: none;
    
    border-radius: 0;
    padding: 0;
    
}



.event-card.purpleflame {
    border-radius: 2rem;
    border: 5px solid #7f1084;
    background: #ffffff;
    
    padding: .8rem .8rem .8rem .7rem;
}


.event-card.blueflame {
    border-radius:2rem;
    border: 5px solid #15a8b0;
    background: #ffffff;
    
    padding: .8rem .8rem .8rem .7rem;
}

.event-card.greenflame {
    border-radius:2rem;
    border: 5px solid #8dc556;
    background: #ffffff;
    
    padding: .8rem .8rem .8rem .7rem;
}


.event-card.yellowflame {
    border-radius: 2rem;
    border: 5px solid #fff100;
    background: #ffffff;
    
    padding: .8rem .8rem .8rem .7rem;
}





.event-card.pinkflame {
    
    
    border-radius: 1.5rem;
    padding: .8rem .8rem .8rem 0;
    margin-bottom: 3.5rem;
}



.aeoncard {
    margin-bottom: 3rem;
    margin-top:-3rem;
}

.chusenkai {
    margin-bottom: 3rem;
    
}


.blue {
    border: 4px solid #15a8b0 !important;
}

.orange {
    border: 4px solid #f39800 !important;
}

.purple {
    border: 4px solid #920783 !important;
}




.infobox {
    padding: 2rem 2rem 1.5rem 2rem;
    border-radius: 2rem;
    background: #fff;
    margin-bottom: 2rem;
}


.infobox.col_pink {
    background: #fdeff5;
}

.infobox.col_yellow {
    background: #fffde5;
}

.infobox.col_beige {
    background: #f2e8da;
}

.infobox.col_blue {
    background: #dff2fc;
}





.dotright-pc {
    border-right: 3px dotted #c9a746;
}

.dottop {
    border-top: 3px dotted #c9a746;
}



.mujibox {
    display: flex;
    flex-wrap: nowrap;
    gap: 0px;

}

.mujibox img.left {
    width: calc(100%);
}

.mujibox img.rigth {
    width: calc(100%);
}



.cinemabox {
    display: flex;

    gap: 30px;

    align-items: center;

}

.cinemabox .left {
    width: 270px;
}

.cinemabox .right {
    width: calc(100% - 270px);
}


.mov_txt {
    font-size: 1.4rem;
    margin: 0;
}




.mov_info {
    background: #f0cfe3;
    padding-left: 3rem;
    padding-right: 3rem;
}

.cinema_txt {
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0;
}

.code-text {
    color: #fcd68c;
    font-weight: 700;
    font-size: 1.8rem;
}

.play-text {
    color: #fcd68c;
    font-weight: 700;
    font-size: 1.8rem;
}

.trip-text {
    color: #fcd68c;
    font-weight: 700;
    font-size: 1.8rem;
}

.gurume-txt {
    color: #ea5504;
    font-weight: 700;
    font-size: 1.8rem;
}


.cold-txt {
    color: #0068b7;
    font-weight: 700;
    font-size: 1.8rem;
}



.tuiki {
    color: #000;
    letter-spacing: 0;
    background: #fff;
    padding: 1rem 2rem;
    text-align: left;
    width: 100%;
}

.codebox {
    
    padding-top: 5px;
    padding-bottom: 50px;
    padding-left: 0px;
    padding-right: 0px;
    margin-top: 0px;
    position: relative;
}


#code_title h2 {
    margin: 0;
}





#summersale-area.codebox {
    position: relative;


}




.gift02_foot {
    position: relative;
}







.headtitle {
    position: relative;
    background:#e50012;
    margin-left: auto;
    margin-right: auto;
    z-index: 10;
    padding-bottom:7rem;

}


.headtitle h2 {

    margin: 0;
}


.logobg {
    padding: 0.6rem;
    background: #fff;
}

.orikomi {
    position: absolute;
    left: calc(4%);
    bottom: calc(2%);
    width: 16vw;
    max-width: 250px;

}

.orikomi img {
    filter: drop-shadow(2px 2px 6px #888);
}



.menu-code-box {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 2rem;
    width: 100%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
}


.menu-other-box {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 2rem;
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
}



.contentstitle {
    font-size: 2.2rem;
    margin-bottom: 3rem;
    color: #111;
    padding-top: .8rem;
    padding-bottom: .5rem;
    border-top: 3px double #f6bc78;
    border-bottom: 3px double #f6bc78;
}