@charset "UTF-8";
body.page-zen { overflow:visible;}
.headline { margin-top:0; }

@media screen and ( min-width:934.1px ){
	/* body.page-zen #site-header { opacity:0; top:-100px; transition:top 0.5s, opacity 0.25s; display:none; } */
	/* body.page-zen.fixed #site-header, body.page-zen.scrollback #site-header { display:block; } */
	/* body.page-zen #site-logo { font-size:12px } */
	/* body.page-zen.scrollforward:not(.scroll) #site-header, body.page-zen.scrollback #site-header { opacity:1; top:0; } */
}
@media screen and ( max-width:934px ){
	body.page-zen #site-logo { display:none; }
}
#lp-head { position:relative; width:100vw; max-width:1800px; left:50%; transform:translateX(-50%); margin-top:120px; }
#lp-head #lp-logo { position:absolute; z-index:2; left:var(--column-gap); bottom:0; width:296px; margin:0; border:0;  }
#lp-head #lp-logo img { width:100%; height:auto; margin:0; display:block; }
#lp-head .catchphrase {font-family: 'Serif JP','Noto Serif JP', serif; position:absolute; z-index:2; left:0; top:0; margin:24px 0 0 4.5vw; border:0;}
#lp-head .catchphrase span { display:table; font-size:calc( 2.5vw + .5em ); margin:0; border-bottom:2px solid #fff; }
/*body.page-kamokura #lp-head .catchphrase {font-family: 'Serif JP','Noto Serif JP', serif; position:absolute; z-index:2; left:0; top:0; margin: 100px 0 0 4.5vw; border:0;}
body.page-kamokura #lp-head .catchphrase span { display:table; font-size:calc( 2.5vw + .5em ); margin:0; border-bottom: none; background: rgba(144, 115, 0, .6);}*/
#lp-head .catchphrase span + span { margin:.25em 0 0 2.5em; }
#lp-head .swiper { opacity:0; transition:all 0.5s ease 1s; }
#lp-head .swiper-container { opacity:1; margin-left:calc(296px + 7%); width:auto; max-height:92vh; min-height:520px; position: relative; }
#lp-head .swiper-container::before { padding:58% 0 0 0; content:''; display:block; }
#lp-head .swiper-container .swiper-wrapper { width:100%;  height:100%; position:absolute; left:0; top:0; }
#lp-head .swiper-slide { height:100%; }
#lp-head .swiper-slide > .image-wrap { border-radius:0 0 0 16px;}
#section-zen-content .image-wrap { border-radius:16px;}
#section-zen-content .columns .column { position: relative; font-size:1.1em; }
#section-zen-content .columns .column:first-child { position: relative; z-index: -2; width: 70%; margin: 0 -15% 5em 0; }
#section-zen-content .columns .column:first-child + .column p { margin: 0 1em; line-height:2.4; }
#section-zen-content .columns .column:first-child + .column { margin: 0 0 0 -100%; padding: 7.5em 3em 2.5em 2em; width: auto; writing-mode: vertical-rl; font-family:serif; }
#section-zen-content .columns .column:first-child + .column h2 { font-family:serif; }
#section-zen-content .columns .column:first-child + .column::after { border-radius:16px; position:absolute; z-index: -1; display: block; content: ''; top: 5em; left: 0; bottom: 0; right: 0; background-color: #efe8da; background-color: var(--layer-color); }
#section-zen-menus { position: relative; text-align:inherit; }
#section-zen-menus h2.menu-title { text-align:left; margin:calc(5% + var(--column-gap) ) 0 var(--column-gap); padding:0; color:var(--hover-color); border-bottom-width:1px; }
#section-zen-menus h2.menu-title .jp { margin-right:.5em; }
#section-zen-menus h2.menu-title .en { font-size:14px; }
h3.menu-name { font-weight:bold; font-family:inherit; font-size:1.15em; border-bottom:2px solid currentColor; display:table; padding: 0 0 4px; }
#section-zen-menus .image-wrap { border-radius:16px; }
#section-zen-menus p.price { font-size:14px; margin:12px auto 0; display:table; }
#section-zen-menus p.desc { font-size:12px; margin:12px auto 0; display:table; }
#section-zen-menus .swiper-container { overflow:visible; }
#section-zen-menus .swiper-slide { margin-right:24px;}
#section-zen-menus .swiper-button-next, #section-zen-menus .swiper-button-prev { top:-80px; bottom: auto; position: absolute; left:auto; right:0; margin: 0; }
#section-zen-menus .amount { color:var(--hover-color); }
#section-zen-menus .swiper-button-prev { right:48px; }
#berger-swiper h3.menu-name { margin:16px auto 0; }
#section-zen-menus::after { position:absolute; content:''; display:block; z-index:-1; background-color:var(--layer-color); left:-24px; top:0; bottom:88px; right:25%; border-radius:16px; }
.menu-wrap { display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap:nowrap; flex-wrap:nowrap; align-items:center; margin:var(--column-gap) 0; width:100%; }
.menu-wrap .menu-name { margin:0 0 8px; }
.menu-wrap .menu-desc { margin:8px 0 0; font-size:.875em;}
.menu-image { flex:1; position: relative; }
.menu-image img { border-radius:16px; }
.menu-content { flex:1; padding-left:var(--column-gap); }
.menu_others { display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content:space-between; text-align: left; margin: 0 auto; letter-spacing: -0.4em; line-height: 1; }
.menu_others dl { width: calc( 33.333% - var(--column-gap) ); margin:0; padding:8px 0;display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content:space-between;-ms-flex-wrap:nowrap; flex-wrap: nowrap; letter-spacing: 0; }
.menu_others dl dt { padding-right:8px; }
#section-zen-menus .set { padding: var(--column-gap); margin:var(--column-gap) 0; border-width:1px; position:relative; border-radius:16px; }
#section-zen-menus .set h2 { text-align:left; margin:0; }
#section-zen-menus .set .caption { text-align:right; float:right; font-size:var(--font-size); margin:0 0 0 16px; }
#section-zen-menus .set h2 { border-width:0;}
#section-zen-menus .set h2::after { clear:both; display:table; content:''; }
#section-zen-menus .set .setmenus { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content:space-between; margin:var(--column-gap) 0 0; }
#section-zen-menus .set .setmenu { display: inline-block; text-align:center; margin:0; }
#section-zen-menus .set .setmenu + .setmenu { margin-left:16px; }
#section-zen-menus .set h3.menu-name { margin:16px auto 0; }
#section-zen-menus .set .set_main::after { content:''; }
#section-zen-menus .set .setmenu img { height:240px; width:140px; min-width:140px; object-fit:contain; object-position:center bottom; display:block; margin: 0 auto; }
#section-zen-menus .set .set_main img { height:240px; width:200px; min-width:200px; }
#section-zen-menus svg#setmenu_plus { stroke:var(--button-color); stroke-miterlimit:10; width:120px; height:120px; max-width:calc( 24vw - 90px ); margin:80px 0 10px; }
dl.field { border-top-width:1px; }
dl.field dt { font-weight:bold; color:var(--hover-color); }
dl.field dt::after { content:':'; }
dl.field dd { font-size:1.2em; padding-top:calc(16px -.2em); padding-bottom:calc(16px -.2em); }

.shop-info-hours h2 { font-size:1.2em; color:var(--hover-color); margin-top:var(--column-gap);  }
.shop-info-hours h2:first-child { margin-top:0; }
#section-zen-shop { overflow:visible; }
#section-zen-shop .map-canvas { border-radius:16px; }
#section-zen-shop .image-wrap { border-radius:16px; }
.shop-info-wrap { margin-top:var(--column-gap); display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap:wrap; flex-wrap:wrap; justify-content: space-between; align-items:flex-start; }
.shop-info { text-align:center; width:320px; position:sticky; top:80px;  }
.shop-info-hours { text-align:center; width:calc(100% - 320px - var(--column-gap)); }
.shop-info-hours p, .shop-info-hours dl { margin:16px 0; }
.hours-desc { text-align:left; font-size:.875em; }
.shop-info li { display:block; width:100%; margin:0 0 16px; display: flex; align-items: center; justify-content: center; }
.shop-info-name { margin: 0 0 var(--column-gap); }
.shop-info-logo { display:table; width:240px; max-width:75%; margin:0 auto; }
.shop-info div.phone, .shop-info div.mail { padding:16px 8px; background-color:var(--layer-color); margin:16px 0 0; border-radius:16px; }
.shop-info div.phone a { font-family:'EB Garamond','Serif JP','Noto Serif JP', serif; font-size:1.2em; color:#fff; }
.shop-info div.mail a { font-family:'EB Garamond','Serif JP','Noto Serif JP', serif; font-size:.7em; color:#fff; }
.shop-info div.phone p, .shop-info div.mail p { vertical-align:baseline; line-height:1.2em; font-size:2.2em }
.shop-info div.phone small, .shop-info div.mail small { font-size:12px; padding-right:.8em; }
#section-zen-shop div.address { margin:16px 0 0; text-align:center; }
#section-zen-shop div.access { margin:0; text-align:center; }
.shop-info-images { margin:var(--column-gap) 0 0; --grid-gap:16px; }

#section-zen-instagram { background-color:var(--theme-color); }
#section-zen-instagram h1 { color:var(--opposite-color); border-color:currentColor; }

@media screen and ( max-width:1100px ){
	#section-zen-menus .set .setmenu img { height:200px;  width:120px; min-width:120px;  }
	#section-zen-menus .set .set_main img { height:200px; width:180px; min-width:180px;  }
}
@media screen and ( max-width:934px ){
	#lp-head { margin-top:0; }
	#lp-head #lp-logo { position:absolute; z-index:2; left:24px; bottom: 0; width:224px; margin:0; border:0;  }
	#lp-head #lp-logo img { margin-bottom: 12px; }
	#lp-head .swiper-container { margin-left:auto; width:calc( 100% - 272px ); min-height:480px; }
}
@media screen and ( max-width:782px ){
	#section-zen-content .columns .column { font-size: 1em; }
	#section-zen-content .columns .column:first-child { width: 100%; margin: 0 -7% 0 7%; }
	#section-zen-content .columns .column:first-child + .column::after { left:-7%; top:-5%; bottom:30%; right:16px; height: auto; }
	#section-zen-content .columns .column:first-child + .column { margin:-2.2em 0 0; padding: 0; width: auto; }
	#section-zen-menus .swiper-slide{ margin-right:16px;}
	.menu_others { font-size:.9em; }
	.menu_others dl { width: calc( 50% - var(--column-gap) ); }
	#section-zen-menus::after { left:15%; top:16px; right:-32px;}
	#section-zen-content .columns .column:first-child + .column p { margin: 0 .7em; line-height:2; }
	#section-zen-menus .set .setmenus { display:block; }
	#section-zen-menus .set .setmenu { margin:16px auto!important; display:flex; align-items:center; width:100%!important; max-width:480px; text-align:left; }
	#section-zen-menus .set h3.menu-name { margin:0; }
	#section-zen-menus .set .setmenu img, #section-zen-menus .set .set_main img { height:160px; width:160px; min-width:160px; object-fit:contain; object-position:center; }
	#section-zen-menus p.desc { margin:8px 0 0; }
	#section-zen-menus svg#setmenu_plus { margin:0 auto; width:80px; height:80px; max-width:none; }
	#section-zen-menus .set .set_sub { width:calc(50% - 8px); margin:0 8px 0 0; }
	#section-zen-menus .set .set_drink { width:calc(50% - 8px); margin:0 0 0 8px;  }
	#section-zen-menus .set  h2.menu-title { text-align:center; }
	#section-zen-menus .set .caption { float:none; margin:8px 0 16px; text-align:center; }

	.shop-info-wrap { display:block; }
	.shop-info { text-align:center; width:auto; position:static; top:auto;  }
	.shop-info-hours { text-align:center; width:auto; margin-top:var(--column-gap); }
}
@media screen and ( max-width:600px ){
	#lp-head { margin: 0; }
	#lp-head #lp-logo { position:static; width:auto; margin:32px 5% 0; text-align:center; border:0;  }
	#lp-head #lp-logo img { margin-bottom:12px; width:280px; max-width:60%;  display:block; margin: 0 auto; }
	#lp-head .swiper-container { margin:0; width:100%; min-height:0; }
	#lp-head .swiper-container::before { padding: 100% 0 0 0; }
	#section-zen-menus .swiper-slide{ margin-right:12px;}
	#section-zen-menus h2.menu-title .en { font-size:13px; display:block; }
	#section-zen-menus .swiper-button-next { right:-8px; top:-64px; }
	#section-zen-menus .swiper-button-prev { right:44px; top:-64px; }
	#section-zen-menus .swiper-container { width:calc( 100% - 16px ); margin:0 8px; }
	#section-zen-menus p.desc { font-size:11px; }
	#section-zen-menus .set .setmenu img, #section-zen-menus .set .set_main img { height:120px; width:120px; min-width:120px; object-fit:contain; object-position:center; }
	#section-zen-menus .set .setmenu .menu-content { padding-left:8px;}
	#section-zen-menus svg#setmenu_plus { width:64px; height:64px; }
	.menu-wrap { display:block; }
	.menu-wrap .menu-content { margin:16px 0 0; padding:0; }
}
@media screen and ( max-width:480px ){
	.menu_others { display:block; }
	.menu_others dl { width:auto; }
}