.alignC { text-align: center !important; }

.alignR { text-align: right !important; }

.alignT { vertical-align: top !important; }

.alignM { vertical-align: middle !important; }

.alignB { vertical-align: bottom !important; }

.mt10 { margin-top: 10px !important; }

.mt20 { margin-top: 20px !important; }

.mt30 { margin-top: 30px !important; }

.mt40 { margin-top: 40px !important; }

.mt50 { margin-top: 50px !important; }

.mt60 { margin-top: 60px !important; }

.mt70 { margin-top: 70px !important; }

.mt80 { margin-top: 80px !important; }

.mt90 { margin-top: 90px !important; }

.mt100 { margin-top: 100px !important; }

.mt110 { margin-top: 110px !important; }

.mt120 { margin-top: 120px !important; }

.mt130 { margin-top: 130px !important; }

.mt140 { margin-top: 140px !important; }

.mt150 { margin-top: 150px !important; }

.mt160 { margin-top: 160px !important; }

.mt170 { margin-top: 170px !important; }

.mt180 { margin-top: 180px !important; }

.mt190 { margin-top: 190px !important; }

.mt200 { margin-top: 200px !important; }

.mb10 { margin-bottom: 10px !important; }

.mb20 { margin-bottom: 20px !important; }

.mb30 { margin-bottom: 30px !important; }

.mb40 { margin-bottom: 40px !important; }

.mb50 { margin-bottom: 50px !important; }

.mb60 { margin-bottom: 60px !important; }

.mb70 { margin-bottom: 70px !important; }

.mb80 { margin-bottom: 80px !important; }

.mb90 { margin-bottom: 90px !important; }

.mb100 { margin-bottom: 100px !important; }

.mb110 { margin-bottom: 110px !important; }

.mb120 { margin-bottom: 120px !important; }

.mb130 { margin-bottom: 130px !important; }

.mb140 { margin-bottom: 140px !important; }

.mb150 { margin-bottom: 150px !important; }

.mb160 { margin-bottom: 160px !important; }

.mb170 { margin-bottom: 170px !important; }

.mb180 { margin-bottom: 180px !important; }

.mb190 { margin-bottom: 190px !important; }

.mb200 { margin-bottom: 200px !important; }

.font10 { font-size: 10px !important; }

.font12 { font-size: 12px !important; }

.font14 { font-size: 14px !important; }

.font16 { font-size: 16px !important; }

.font18 { font-size: 18px !important; }

.font20 { font-size: 20px !important; }

.font22 { font-size: 22px !important; }

.font24 { font-size: 24px !important; }

.font26 { font-size: 26px !important; }

.font28 { font-size: 28px !important; }

.font30 { font-size: 30px !important; }

.font40 { font-size: 40px !important; }

.sup { font-size: 50%; position: relative; top: -1em; }

.white { color: #fff !important; }

.red { color: #FF0505 !important; }

.blue { color: #1757A1 !important; }

.yellow { color: #FFFF00 !important; }

.serif { font-family: serif; }

.san-serif { font-family: san-serif; }

body, h1, h2, h3, h4, h5, h6, div, p, dt, dd, li, th, td, input, textarea, select, option, a:link, a:visited, a:hover, a:active { letter-spacing: 0.05em; color: #4B4B4B; }

body { background-color: #fff; }

#wrap { min-width: 1200px; margin: 0 auto; }

a:hover { transition: 0.5s; opacity: 0.7; }

/*==================================================
header
==================================================*/
#header { width: 100%; height: 520px; }
#header .visual { width: 100%; height: 400px; }

body:not(.sp) #header .menu-btn, body:not(.sp) #header .logo { display: none; }
body:not(.sp) #header .global { display: flex; justify-content: space-between; width: 1200px; height: 120px; margin: 0 auto; }
body:not(.sp) #header .global ul { display: flex; justify-content: space-between; width: 830px; margin: 0 auto; }
body:not(.sp) #header .global li { padding: 50px 0 0; text-align: center; }
body:not(.sp) #header .global li a { color: #4B4B4B; font-family: serif; font-size: 23px; line-height: 1.1; }
body:not(.sp) #header .global li span { font-family: serif; font-size: 14px; }
body:not(.sp) #header .global .tel a { display: flex; flex-direction: column; justify-content: center; width: 260px; height: 120px; padding: 0 0 0 15px; color: #fff; font-family: serif; font-size: 28px; line-height: 1.8; text-indent: 26px; background: url(../img/common/head_tel.png) left 15px top 28px no-repeat #573C00; }
body:not(.sp) #header .global .tel a span { text-indent: 0; font-size: 28px; }

body.fixed { position: fixed; width: 100%; }

.sp #header .global { position: relative; width: 1200px; margin: 0 auto; }
.sp #header .global ul { display: none; position: absolute; top: 120px; left: 0; width: 100%; height: calc(100vh - 120px); padding: 50px 0; background: #FFBE8E; z-index: 10; }
.sp #header .global ul li { background: #FFBE8E; }
.sp #header .global ul a { display: block; padding: 30px 0; text-align: center; font-family: serif; font-size: 60px; color: #fff; }
.sp #header .global ul a span { font-size: 40px; }
.sp #header .global .menu-btn { cursor: pointer; }
.sp #header .global .logo { position: absolute; top: 35px; left: 200px; }
.sp #header .global .tel { position: absolute; top: 0; right: 0; }
.sp #header .global .tel a { display: flex; flex-direction: column; justify-content: center; width: 260px; height: 120px; padding: 0 0 0 15px; color: #fff; font-family: serif; font-size: 28px; line-height: 1.8; text-indent: 26px; background: url(../img/common/head_tel.png) left 15px top 28px no-repeat #573C00; }
.sp #header .global .tel a span { text-indent: 0; font-size: 28px; }

#home #header { height: 720px; }
#home #header .visual { height: 600px; background: url(../img/home/visual.jpg) center center; background-size: cover; text-align: center; padding: 200px 0 0; }
#home #header .visual h1 { display: inline-block; margin: 0 0 20px; padding: 0 0 8px; font-family: serif; font-size: 120px; line-height: 1; letter-spacing: normal; color: #fff; border-bottom: 8px solid #fff; }
#home #header .visual p { font-family: serif; font-size: 44px; line-height: 1; color: #fff; }

body:not(#home) #header .visual { background-size: cover; text-align: center; padding: 150px 0 0; }
body:not(#home) #header .visual p { margin: 0 0 30px; font-family: serif; font-size: 100px; line-height: 1; color: #fff; }
body:not(#home) #header .visual h1 { font-family: serif; font-size: 28px; line-height: 1; color: #fff; }

#menu .visual { background: url(../img/menu/visual.jpg) center center; }

#faq .visual { background: url(../img/faq/visual.jpg) center center; }
#faq .visual p { letter-spacing: 0.2em; }

#shop .visual { background: url(../img/faq/visual.jpg) center center; }

/*==================================================
footer
==================================================*/
#footer .map { width: 1200px; margin: 0 auto; }
#footer .link { display: flex; justify-content: space-between; width: 1100px; margin: 0 auto; padding: 28px 0; }
#footer .link a { display: block; width: 240px; height: 50px; text-align: center; color: #fff; font-size: 22px; line-height: 50px; background: #ffbe8e; border-radius: 10px; }
#footer .inner { width: 100%; margin: 0 auto; padding: 48px 0 55px; background: #ffbe8e; }
#footer .icon { display: flex; justify-content: space-between; align-items: center; width: 510px; margin: 0 auto 48px; }
#footer .insta { margin: 0 0 50px; }
#footer .insta dt { margin: 0 0 10px; text-align: center; color: #fff; font-size: 24px; line-height: 24px; letter-spacing: normal; background: url(../img/common/foot_insta_tit.png) center center no-repeat; }
#footer .insta dd { text-align: center; }
#footer .logo { margin: 0 0 40px; text-align: center; }
#footer .logo a { color: #fff; font-size: 40px; line-height: 1; letter-spacing: normal; }
#footer .logo a span { display: inline-block; position: relative; top: -5px; padding: 5px 10px 0; font-size: 19px; border-top: 3px solid #fff; }
#footer .navi { display: flex; justify-content: center; margin: 0 0 30px; }
#footer .navi li { position: relative; padding: 0 40px; text-align: center; }
#footer .navi li::after { position: absolute; right: 0; top: 0; content: ''; display: block; width: 1px; height: 25px; background: #fff; }
#footer .navi li:last-child::after { display: none; }
#footer .navi li a { color: #fff; font-family: serif; font-size: 23px; line-height: 1.1; }
#footer .navi li span { font-family: serif; font-size: 14px; }
#footer .addr { margin: 0 0 10px; text-align: center; font-size: 22px; color: #fff; }
#footer .time { margin: 0 0 15px; text-align: center; font-size: 20px; color: #fff; }
#footer .tel { display: flex; justify-content: center; margin: 0 0 30px; }
#footer .tel li { margin: 0 20px; font-size: 24px; color: #fff; }
#footer .copy { text-align: center; font-family: serif; font-size: 16px; color: #fff; }

/*==================================================
layout parts
==================================================*/
main { padding: 1px 0; }
main section > .inner { margin: 0 auto; }
main section p { font-size: 18px; line-height: 1.8; }
main section em { color: inherit; }
main section .small { font-size: 80%; }

main .intro { padding: 150px 0; }
main .intro .tit-en { margin: 0 0 80px; text-align: center; color: #FFD7BA; font-size: 58px; font-weight: bold; line-height: 1; }
main .intro .tit-jp { margin: 0 0 80px; text-align: center; font-size: 40px; font-weight: bold; line-height: 1; }
main .intro .lead { text-align: center; font-size: 22px; line-height: 2.5; }

.btn-contact { padding: 100px 0; }
.btn-contact a { display: block; width: 700px; margin: 0 auto; padding: 10px 0 10px 45px; font-size: 23px; line-height: 1; border: 1px solid #1A1311; border-radius: 3px; background: url(../img/common/btn_arw.png) right 30px top 50% no-repeat; }

#home main .box { display: flex; justify-content: space-between; align-items: center; width: 1200px; margin: 0 auto; }
#home main .box .tit { margin: 0 0 50px; font-size: 36px; }
#home main .box .txt { font-size: 20px; line-height: 2; }
#home main .about { margin-bottom: 90px; background: #fff3ea; }
#home main .about .unit { width: 750px; padding: 0 100px 0 50px; }
#home main .mom { margin-bottom: 90px; flex-direction: row-reverse; padding: 60px 0; background: url(../img/home/mom_bg.png) 0 0 repeat-y; }
#home main .mom .unit { width: 750px; padding: 0 50px 0 100px; }
#home main .kitchen { justify-content: flex-start; padding: 40px 0; background: #fff3ea; }
#home main .kitchen .unit { width: 705px; padding: 0 40px 0 50px; }

#menu main .box { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; width: 1200px; margin: 0 auto; padding: 70px 0; background: #fff3ea; }
#menu main .box .tit-en { margin: 0 0 10px; font-size: 35px; font-weight: bold; line-height: 1; letter-spacing: normal; color: #FFBE8E; }
#menu main .box .tit { margin: 0 0 30px; font-size: 40px; letter-spacing: normal; }
#menu main .box .txt { font-size: 24px; line-height: 2; }
#menu main .box .unit { width: 750px; padding: 0 70px 0 100px; }
#menu main .box:nth-of-type(even) { flex-direction: row; background: #ffd7ba; }
#menu main .box:nth-of-type(even) .unit { width: 750px; padding: 0 100px 0 70px; }

#faq main .qa { padding: 10px 0 90px; background: url(../img/faq/bg.jpg) top center; background-size: cover; }
#faq main .que { display: flex; justify-content: flex-start; width: 1020px; margin: 90px auto 0; cursor: pointer; }
#faq main .que dt { width: 100px; color: #9C5E16; font-size: 30px; font-weight: bold; }
#faq main .que dd { width: 920px; color: #1A1311; font-size: 30px; font-weight: bold; }
#faq main .ans { display: none; }
#faq main .ans dl { display: flex; justify-content: flex-start; width: 1020px; margin: 30px auto 0; }
#faq main .ans dt { width: 100px; color: #FFBE8E; font-size: 30px; font-weight: bold; }
#faq main .ans dd { width: 920px; color: #FFBE8E; font-size: 30px; font-weight: bold; line-height: 1.6; }
