@charset "utf-8";
/*------------------------  page.css  ------------------------*/



/*-----  main-visual  -----*/
.main-visual { margin: 0 0 60px; }
.main { display: flex; justify-content: center; align-items: center; position: relative; width: 100%; height: 580px; background: url(../images/main_sky.jpg) center no-repeat; background-size: cover; overflow: hidden; }
.main .leaves-l { position: absolute; top: -30px; left: -720px; width: 1080px; animation: leaves1 6s infinite ease; }
.main .leaves-r { position: absolute; top: 40px; right: -720px; width: 1080px; animation: leaves2 6s infinite ease; }
.main .title { max-width: 780px; z-index: 2; }

@media screen and (max-width: 980px) {
 .main { height: 480px; }
 .main .leaves-l { top: -30px; left: -640px; width: 920px;}
 .main .leaves-r { top: 40px; right: -640px; width: 920px; }
 .main .title { max-width: 640px; }
}

@media screen and (max-width: 800px) {
 .main-visual { margin: 0 0 40px; }
 .main { height: 400px; padding: 0 6%; }
 .main .leaves-l { top: -15px; left: -510px; width: 740px; }
 .main .leaves-r { top: 35px; right: -510px; width: 740px; }
 .main .title { max-width: 550px; }
}

@media screen and (max-width: 420px) {
 .main { height: 320px; padding: 0 5%; }
 .main .leaves-l { top: -15px; left: -410px; width: 560px; }
 .main .leaves-r { top: 30px; right: -410px; width: 560px; }
 .main .title { max-width: 400px; }
}


/* animation */
.fade1 { opacity: 0; transition: 1.2s 0.1s ease; }
.fade1.is-done { opacity: 1; }
.fade2 { opacity: 0; transition: 1.2s 2.5s ease; }
.fade2.is-done { opacity: 1; }

@keyframes leaves1 {
 0% { transform: rotate(0deg); }
 50% { transform: rotate(4deg); }
 100% { transform: rotate(0deg); }
}
@keyframes leaves2 {
 0% { transform: rotate(0deg); }
 50% { transform: rotate(-5deg); }
 100% { transform: rotate(0deg); }
}



/*-----  asian-block  -----*/
.asian-block { padding: 0 0 30px; }
.asian-block-inner { position: relative; background: url(../images/bg_lineup.jpg) center no-repeat #fbfdfe; background-size: cover; overflow: hidden; }
.asian-block-inner::before { content: ''; position: absolute; top: 0; left: 0; width: 32.5%; height: 100%; background: url(../images/bg_parts_l.png) left top no-repeat; background-size: cover; }
.asian-block-inner::after { content: ''; position: absolute; top: 0; right: 0; width: 32.5%; height: 100%; background: url(../images/bg_parts_r.png) right top no-repeat; background-size: cover; }

@media screen and (max-width: 800px) {
 .asian-block { padding: 0 0 20px; }
 .asian-block-inner::before { display: none;}
 .asian-block-inner::after { display: none;}
}



/*-----  concept-block  -----*/
.concept-block { padding: 0 0 20px; z-index: 2; }

@media screen and (max-width: 800px) {
 .concept-block { padding: 0; }
}



/*-----  sweets-block - snack-block  -----*/
.sweets-block { position: relative; z-index: 2; }
.snack-block { position: relative; z-index: 2; }

@media screen and (max-width: 800px) {
 .sweets-block { padding: 70px 0 20px; }
 .sweets-block::before { content: ''; position: absolute; top: 0; right: 0; width: 40%; height: 100%; background: url(../images/bg_parts_sweets.png) right top no-repeat; background-size: contain; z-index: -1; }
 .snack-block { padding: 40px 0 30px; }
 .snack-block::before { content: ''; position: absolute; top: -25px; right: 0; width: 40%; height: 100%; background: url(../images/bg_parts_snack.png) right top no-repeat; background-size: contain; z-index: -1; }
}



/*-----  head-block  -----*/
.head-block { padding: 0 6%; }
.head-block .head { max-width: 570px; }

@media screen and (max-width: 800px) {
 .head-block { padding: 0 8% 0 4%; }
 .head-block .head { max-width: 440px; }
}



/*-----  lineup-block  -----*/
.lineup-block { margin-top: -30px; padding: 0 6% 70px; }

.lineup-block .menu-block { display: flex; align-items: center; position: relative; background: url(../images/line_dot.png) bottom center repeat-x; background-size: 196px 4px; }

.lineup-block .b-narrow { padding: 20px 7% 20px; }
.lineup-block .b-narrow .block-img { position: relative; flex-basis: 46%; padding: 0; }
.lineup-block .b-narrow .block-info { flex: 1; padding: 100px 2% 0 1%; }

.lineup-block .b-wide { padding: 20px 1% 20px; }
.lineup-block .b-wide .block-img { position: relative; flex-basis: 51%; padding: 10px 0 0; }
.lineup-block .b-wide .block-info { flex: 1; padding: 40px 4% 0 3%; }

.lineup-block .menu-block .name { padding: 0 0 16px; font-weight: 800; font-size: 30px; line-height: 1.3; }
.lineup-block .menu-block .price-block { padding: 0 0 18px; }
.lineup-block .menu-block .box { display: flex; align-items: end; }
.lineup-block .menu-block .box .item { padding: 0 12px 4px 0; font-weight: 800; font-size: 16px; }
.lineup-block .menu-block .box .item { padding: 0 12px 4px 0; font-weight: 800; font-size: 16px; }
.lineup-block .menu-block .box .price { display: flex; align-items: end; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 36px; letter-spacing: 0; }
.lineup-block .menu-block .box .price .size-s { padding: 0 4px 3px 0; font-family: 'Noto Sans JP', sans-serif; font-weight: 800; font-size: 18px; }
.lineup-block .menu-block .box .price .size-m { padding: 0 4px 3px 10px; font-family: 'Noto Sans JP', sans-serif; font-weight: 800; font-size: 18px; }
.lineup-block .menu-block .box .price .yen { padding: 0 2px 0 0; font-size: 30px; }
.lineup-block .menu-block .txt { font-size: 16px; line-height: 1.6; }
.lineup-block .menu-block .note { padding: 10px 0 0; font-size: 14px; line-height: 1.6; }

@media screen and (max-width: 980px) {
 .lineup-block .menu-block .name { font-size: 28px; }
 .lineup-block .menu-block .box .price { font-size: 30px; }
 .lineup-block .menu-block .box .price .yen { font-size: 26px; }
}

@media screen and (max-width: 800px) {
 .lineup-block { margin-top: -18px; padding: 0 4% 20px; }

 .lineup-block .menu-block { display: block; background-size: 98px 2px; }

 .lineup-block .b-narrow { padding: 10px 0 40px; }
 .lineup-block .b-narrow .block-img { margin: 0 auto; padding: 0 12%; max-width: 520px; }
 .lineup-block .b-narrow .block-info { padding: 5px 4% 0;  }

 .lineup-block .b-wide { padding: 10px 0 40px; }
 .lineup-block .b-wide .block-img { margin: 0 auto; padding: 0 1%; max-width: 520px; }
 .lineup-block .b-wide .block-info { margin-top: -10px; padding: 0 4%;  }

 .lineup-block .menu-block .name { padding: 0 0 14px; font-size: 22px; }
 .lineup-block .menu-block .price-block { padding: 0 0 14px; }
 .lineup-block .menu-block .box .item { font-size: 15px; }
 .lineup-block .menu-block .box .price {  font-size: 28px; }
 .lineup-block .menu-block .box .price .size-s { font-size: 17px; }
 .lineup-block .menu-block .box .price .size-m { font-size: 17px; }
 .lineup-block .menu-block .box .price .yen { padding: 0 2px 1px 0; font-size: 22px; }
 .lineup-block .menu-block .txt { font-size: 15px; }
 .lineup-block .menu-block .note { padding: 6px 0 0; font-size: 13px; }
}



/*-----  sub-block  -----*/
.sub-block { display: flex; justify-content: space-between; padding: 0 0 60px; }
.sub-block .notes-list { font-weight: 600; font-size: 15px; line-height: 1.5; }
.sub-block .notes-list .note:not(:last-of-type) { padding: 0 0 2px; }
.sub-block .btn-menu { margin: 4px 0 0; width: 260px; }

@media screen and (max-width: 800px) {
 .sub-block { display: block; padding: 0 0 40px; }
 .sub-block .notes-list { padding: 0 0 32px; }
 .sub-block .notes-list { font-size: 14px; }
 .sub-block .notes-list .note:not(:last-of-type) { padding: 0 0 2px; }
 .sub-block .btn-menu { margin: 0 auto; width: 300px; }
}



/*-----  pagetop  -----*/
#pagetop { width: 140px; }

@media screen and (max-width: 800px) {
 #pagetop { width: 86px; }
}


