@charset "utf-8";
/*
Theme Name: hanamidori
Theme URI: ---
Description: hanamidori-theme
Author: torizendining
Author URL: https://www.torizendining.co.jp/
Version: 1.0
Tags:
*/
/* ----- reset ----- */
*,*::before,*::after { box-sizing:border-box; }
body,h1,h2,h3,h4,p,ul[class],ol[class],li,figure,figcaption,blockquote,dl,dd { margin:0; position:relative; }
body { min-height:100vh; scroll-behavior:smooth; text-rendering:optimizeSpeed; line-height:1.5; }
ul,ol { padding:0; list-style:none; }
ul[class],ol[class] { list-style:none; }
h1 { line-height:1; }
a { text-decoration:none; }
a:not([class]) { text-decoration-skip-ink:auto; }
img { max-width:100%; object-fit:cover;height:auto; -webkit-touch-callout:none;touch-callout:none; -webkit-touch-callout:none;-webkit-user-select:none;-moz-touch-callout:none;-moz-user-select:none; user-select:none;/*display:block;height: fit-content　iPhoneが表示崩れ;*/ }
td img { vertical-align:middle; }
article > * + * { margin-bottom:1em; }
input,button,textarea,select,option { appearance:none; -webkit-appearance:none; -moz-appearance:none; -ms-appearance:none; font:inherit; position:relative; background-color:#fff; border:0; border-radius:0; }
button { outline:none; border:none; background:none; }
select:focus, button:focus { outline:none;}
em, i, address { /*text-align:center;*/ font-style:normal; }
iframe { margin:0 auto; border:1px solid #ccc; }
main:not([class]) td, main[class] th { border-color:#eeecec; }
@media (prefers-reduced-motion: reduce) {
 * { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
}
#cookie-notice { width:100vw; }
/* ----- root / common ----- */
:root {
  --theme-color:#b41010;/* #9e2d2d;*/
  --text-color:#1a1918;
  --color-gold:#D8BF55;
  --color-dyellow:#827241;
  --h5-color:#443014;
  --border-color:#eeecec;
  --border-color-dark:#626262;
  --font-gothic:"Helvetica Neue", Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  /* --font-gothic:Noto Sans JP, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
  --font-mincho:"Hina Mincho", serif;
  --font-size-m:clamp(18px, 1.35em, 30px);
  --font-size-s:clamp(15px, 1em, 17px);
  --font-size-xs:clamp(11px, .85em, 15px);
  --font-size-base:clamp(17px, 1.1em, 22px);/*clamp(15px, 1em, 22px);*/
  --vh:0;
}
body {
  margin:0;padding:0; color:var(--text-color); font-family:var(--font-gothic);
  font-size:var(--font-size-base); line-height:clamp(1.5, 1.8, 2); font-weight:400; font-weight:normal; 
  -webkit-text-size-adjust: 100%; overflow-x: hidden;
}
select { 
/* appearance:base-select; */
/* -webkit-appearance:base-select; -moz-appearance:base-select; -ms-appearance:base-select; */
border-radius:2px; background-color:#fff; opacity:1;
background: #fff url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22currentColor%22%20class%3D%22bi%20bi-chevron-down%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M1.646%204.646a.5.5%200%200%201%20.708%200L8%2010.293l5.646-5.647a.5.5%200%200%201%20.708.708l-6%206a.5.5%200%200%201-.708%200l-6-6a.5.5%200%200%201%200-.708%22%2F%3E%3C%2Fsvg%3E') no-repeat right 5px top 55%; }
/* ドロップダウン部分全体のスタイル */
::picker(select) {
  border:1px solid #ddd;
  box-shadow: rgba(15, 15, 15, 0.05) 0px 0px 0px 1px, rgba(15, 15, 15, 0.1) 0px 3px 6px,rgba(15, 15, 15, 0.2) 0px 9px 24px;
}
option { padding:.8em; }
option:hover,
option:focus-visible { background-color: rgba(55, 53, 47, 0.06); outline:none; }
a, button, select { color:var(--text-color); cursor:pointer; }

.p00 { padding:0!important;}
.mBtm-1em { margin-bottom:1em!important; }
.mBtm-2em { margin-bottom:2em!important; }
.mBtm-4em { margin-bottom:4em!important; }
.f-size-120 { font-size:120%; line-height:1.6; }
.f-size-m { font-size:var(--font-size-m); }
.f-size-s { font-size:var(--font-size-s); }
.f-size-xs { font-size:var(--font-size-xs); line-height:1.2; }
.txt-center { text-align:center; }
.txt-right { text-align:right; }
.tate { writing-mode:vertical-rl; }
.f-mincho-r { font-family:var(--font-mincho); font-weight:400; font-style:normal; }
br.sp-only { display:none; }
.non-post { margin:2em 0; color:#959595; }

.flex, 
.is-layout-flex, 
.wp-block-group.flex > .wp-block-group__inner-container{ display:flex;  align-items:flex-start; gap:4vw; }
.flex .flex { gap: 2vw;}
.col-2 .flex, .col-2.flex { justify-content:center; }

.w100p,
.w100p > .wp-block-group__inner-container { width:100%; }
.fb50p { flex-basis:50%; }
.note,
.menu_note { color:#646363; font-size:var(--font-size-xs); margin-top:1rem; line-height:1.4; font-family:var(--font-gothic); }
.menu_note { margin:8vh auto 6vh; padding:2em!important; max-width:62em; width:90vw;}
.page__course .menu_note { width:auto; color:#ebebeb; border:1px solid var(--border-color); line-height:2; }
.page__lunch .menu_note,
#course-other .menu_note { margin-top:6vh; line-height:1.6; border:1px solid; }

/* wp-block-group */
/* article:not(.page__lunch).wp-block-group + .wp-block-group { padding-top:12vh; } */
/* #menu-drink .wp-block-group + .wp-block-group { padding-top:0; } */

/* wp-block-gallery */
.wp-block-gallery.wp-block-gallery-1 {
--wp--style--unstable-gallery-gap: var(--wp--style--gallery-gap-default, var(--gallery-block--gutter-size, var(--wp--style--block-gap, 0.5em)));
gap: var(--wp--style--gallery-gap-default, var(--gallery-block--gutter-size, var(--wp--style--block-gap, 0.5em)));
}
/* wp-block-table */
main[class] .wp-block-table { overflow-x:visible; }
.wp-block-table table { width:100%; }
.wp-block-table th,
.wp-block-table td { padding:2em 1em; font-size:var(--font-size-s); border-color:#eeecec;}
.archive .wp-block-table td, 
.single-stores .wp-block-table td, 
.single-stores .wp-block-table th { border:none; border-bottom:1px solid var(--border-color); }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background-color:#f6f3ef; }

figure:not(.wp-block-gallery) .wp-block-gallery .wp-block-image img,
.profile__image img { margin-bottom:.5em; }

/* wp-lightbox */
.lightbox-image-container + .lightbox-image-container { display:none; }
.wp-lightbox-container button.lightbox-trigger { opacity:.8; }
.wp-lightbox-overlay button.close-button { fill:#fff!important;background:#333!important;}

/* btn_link */
.btn_link aside { margin:0 auto; }
.btn_link .flex { width:100%; justify-content:center; flex-wrap:wrap; }
.btn_link a { 
  display:block; min-width:260px; padding:.8em; margin-bottom:.5em; line-height:1; 
  text-align:center; border:1px solid var(--color-gold); border-radius:2px;
  background:#fff; font-family:var(--font-mincho); font-size:var(--font-size-m); 
 }
.btn_link a:hover { transition:.3s cubic-bezier(0.45, 0, 0.55, 1); background-color:var(--color-gold); }
.btn_link .nav__arrow a:after { right:1em; }

/* ----- arrow_u ----- */
.arrow_u,
select::before,
select::picker-icon { position:relative; display:inline-block; }
.arrow_u { padding-right:15px; }
.arrow_u::before,
select::before,
select::picker-icon {
  content: ''; width:6px; height:6px; margin:auto;
  border:0; border-bottom:solid 1px var(--text-color); border-right:solid 1px var(--text-color); 
  transform:rotate(45deg);
  position:absolute; top:0; right:0; bottom:0;
}
.arrow_u::before { right:-1em; }
select::picker-icon { right:1em; }
select::before  { transform:rotate(-135deg); /*pointer-events:none;*/ }

/* ----- nav__arrow ----- */
.nav__arrow a { position:relative; display:inline-block; padding-right:.8em;margin-right:.8em; }
.nav__arrow a:last-child { margin:0; }
.nav__arrow a::after {
  content:''; margin:auto; width:.4rem; height:.4rem;
  border: 0; border-top:solid 1px var(--text-color); border-right:solid 1px var(--text-color);
  transform:rotate(45deg);
  position:absolute; top:.1rem; right:0; bottom: 0;
}
/* ----- arrow_scale ----- */
.arrow_scale,
.modal-card__image { position: relative; }
/* .arrow_scale .wp-block-image:before,
.modal-card__image:before {
  content: '';
  width:30px; height:30px;
  border-radius:50%; border:1px solid #fff;
  position:absolute; right:10px; bottom:20px;
  margin-top:auto;
} */
.arrow_scale .wp-block-image:after,
.modal-card__image:after {
  content:'＋'; color:#fff; font-size:1.5em; line-height:1;
  position:absolute; right:13px; bottom: 24px;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { }
.wp-block-gallery figcaption { bottom:0; left:0; max-height:100%; position:absolute; right:0; }

/* ----- nav__cate ----- */
nav.bg_nav__cate { padding:0; }
.nav__cate { display:flex; align-items:center; gap:.8em; margin:0 auto; padding:2vh 0; font-family:var(--font-mincho); }
.nav__cate .f-size-s { display:inline-block; margin-right:1vw; vertical-align:middle; align-self:center; color:var(--color-dyellow); }
.nav__cate .arrow_u::before { display:none; }

/* ----- header ----- */
header.header.mode-dark a { color:#fff; }
header.header,
header.header .logo img  { transition:0.5s; }
header.header .logo img  { width:auto; height:68px; }
header.scroll { display:block; height:auto; background:#ffffffe6; box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.1);
  /* background: linear-gradient(90deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 35%, rgba(255, 255, 255, 0) 100%); */
}
header.scroll .logo,
header.scroll li a { color:var(--text-color);}

.header {
  container: header-g / inline-size; resize: horizontal; width:100%;
  position:fixed; top:0; left: 50%; padding:8px 0;
  -webkit-transform: translateX(-50%); transform: translateX(-50%);
  z-index:5000; 
}
.header__wrap {
  max-width:86vw; margin:0 auto;
  display:-webkit-box; display:-ms-flexbox; display:flex;  align-items:flex-start;
  -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; 
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
.header__head { max-width:265px; margin-right:20px; }
.header__nav { font-family:var(--font-mincho); position:relative; margin-right:calc(7vw + 80px); margin-left:auto; display:block; -ms-flex-negative:0; flex-shrink:0; }
.nav__links { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-align:center; -ms-flex-align:center; align-items:center; margin-right:28px; }
.nav__links li { margin-right:28px;}
.nav__links li a { display:block; padding: .5em 0; }

/* ----- footer ----- */
footer.site-footer { margin-top:-1px; padding:8vh 0 4vh; color:#fff; background:#22201f; position:relative; z-index:100; }
footer.site-footer .site-info { justify-content:space-between; margin:0 auto 1em; width:100%; max-width:86vw; font-size:var(--font-size-xs); }
footer.site-footer a { color:#fff; }
.footer_nav_btn a { display:inline-block; min-width:280px; margin-bottom:.8em; padding:1em; text-align:center; border:1px solid var(--border-color-dark); }
.footer_nav_btn { text-align:center; }
footer.site-footer p { font-size:85%; }
footer.site-footer .logo { margin-bottom:1em; text-align:center; }
footer.site-footer .logo img { max-width:150px; }
.site-footer .nav-inside { padding:1em 0; }
.site-footer .nav-inside ul { margin-bottom:1em; }
.site-footer .nav-inside li { line-height:1; }
.site-footer .nav-inside .sub{ font-size:80%; color:#999; } 
.site-footer small { padding-left:2em; }
.site-footer svg path { fill:#fff; }

/* ----- main ----- */
main section,
main nav { padding:3em 0 2em; margin:0 auto; max-width:86vw; width:min(100%, 2000px); }
main#menu-food-other,
main#menu-food { margin-bottom:4vh; }

/* headline h2 * h3 */
header h2.tate::before {
 content:""; position:absolute; top:-75px;left:5px; width:150px; height: 150px;
 background: url(./assets/img/common/bg_title.png) no-repeat; background-size: 150px; z-index:-1; }
#home .sec__about h2:before,
#home .bg_store_inner h2::before { display:none; }
#home header.center-pc { align-self:center; justify-items:center; width:19em; }
#home header.center-pc h2 ~ p { margin-top:3em; line-height:2; text-align:center; }
#home .sec__info header,
#home .sec__info_thumb header { align-self:stretch; display: flex; flex-direction: column; justify-content: space-between; }

main header, 
main h1, 
main h2, 
main h3,
main h4,
main h5,
#modal-section h2 { line-height:1.15; font-family:var(--font-mincho); font-weight:400; font-style:normal; }
header:not(.page-header) h2 { padding:0 .5em; font-size:clamp(28px, 3vw, 46px); }
h2 i { position:relative; display:inline-block; font-size:clamp(12px, 1.1vw, 14px); letter-spacing:.15em; color:var(--color-gold); }
h2.tate { position:relative; padding:1.3rem 0 .5rem!important; letter-spacing:.1em; border-top:1px solid var(--color-gold); }
h2.tate i { margin:0 0 .5rem; vertical-align:top; text-transform:capitalize; }
h2.tate p { margin-right:-.3em; }
h2.h2 { width:86vw; margin:4vh auto -2vh; font-size:clamp(22px, 2.4vw, 46px); }
.sec__details h3 { margin:3em 0 1em; font-size:var(--font-size-m); }
h4 { margin:1em 0; font-size:1.2em; }
h5 { display:inline-block; margin-bottom:1.3em; padding:.4em 1em; line-height:1; color: #fff; background:var(--h5-color); }
/* basic style*/
.contents { margin:6vh 0; }
.contents + section { margin-top: 0 !important; }
.contents .wp-block-columns + .wp-block-columns { margin-top:6vh; }
.contents h2 { margin-bottom:1.5rem; font-size:clamp(28px, 2em, 45px); }
.contents h2.tate:first-child { margin-top:0; }
.contents h2 i { margin-right:.5em; font-size:.5em; letter-spacing:0; vertical-align:super;}
.contents h3 { margin-bottom:1rem; font-size:var(--font-size-m); }
.contents p + h4 { margin-top:1.5em; }
.contents p + p,
.wp-block-column p + p { margin-top:1em; }
.contents ul { margin-left:1.6em; list-style:disc; }

/*====================ブレイクポイント　最大値の設定　====================*/
@media screen and (min-width: 1024px) {
  article { padding:6vh 0 4vh; }
  article.sec__menu { padding-left:7vw; }
}
@media only screen and (min-width: 1920px) {
  :root { --font-size-base:clamp(18px, 1.2em, 23px);}
  .contents, article { width:1920px!important; margin:0 auto;  }
}
/*====================ブレイクポイント　最大値の設定　====================*/

/* ----- sec__basic ----- */
.sec__basic { padding:130px 0 2vh; background:#f3ede5 url(./assets/img/common/bg_basic.png) center top; background-size:cover; }
.page-header { margin:0 auto; width:86vw; }
.sec__basic .page-header h2 { padding:0; font-size:clamp(30px, 5vw, 58px); }
.page-header h2 strong { font-weight:normal; }
.page-header small { padding-right:.3em; font-size:50%; vertical-align:bottom; line-height:2; }

.bg_basic { background:url(./assets/img/common/bg_basic.png) center top; background-size:cover; }
.bg_white { background-color:#fff; width:100%; }
.bg_brand_link  { padding:6vh 7vw; background:url(./assets/img/common/bg_nav_857858.jpg) center top no-repeat; background-size:cover; position:relative;z-index:50; } 
#home .bg_brand_link { margin-top:6vh; }

/* ----- page__course / footer__navi ----- */
.img_wrap { gap:0; overflow:hidden; }
.img_wrap.footer__navi p { flex-basis:calc(100% / 3); }
.img_wrap.img_wrap.footer__navi img { max-height:200px; width:100%; }
.img_wrap img { grid-row:1 / 2; grid-column:1 / 2; min-height:100px; }
.img_wrap span,
.img_wrap .catch { grid-row:1 / 2; grid-column:1 / 2; z-index:10; font-weight:400;
  font-family:var(--font-mincho); font-size:var(--font-size-s); color:#fff; text-shadow:0 0 8px rgb(34, 34, 34);
}
.img_wrap a::before { background:#0000009e; position: absolute; top:0; left:0; content:""; width:100%; height:100%; }
.img_wrap a { width:100%; height:auto; display:block; transition-duration:0.5s;  display:grid; justify-items:center; align-items:center; }
.img_wrap a:hover img { transform: scale(1.03); transition-duration: 0.8s; }


/* ----- nav__reserve - セレクト ----- */
.nav__reserve { background:url(./assets/img/common/bg_nav_857858.jpg) 0 0 no-repeat; background-size:cover; font-family:var(--font-mincho); }
.nav__reserve h2 { display:flex; align-items:center; }
.nav__reserve span { margin:0; }
.nav__reserve nav { justify-content:center; align-items:center; flex-wrap:wrap; gap:.5em; }
.nav__reserve select { max-width:290px; min-width:8em; padding:.85rem; margin:0 .5em; font-size:1.1em; line-height:1; border:1px solid #ddd; }
.nav__reserve .select3 { width:290px; }
.nav__reserve option { border:1px solid #ddd; }
/* page */
#home .nav__reserve { padding:1vh 0 3vh; }
.page__store .nav__reserve nav { padding:6vh 2vw; background:#e4d08f60; }
.page__course .nav__reserve nav.content-section { padding-bottom:3em; background:#e4d08f60; }
.page .nav__reserve { padding:10vh 6vw 6vh; text-align:center; }
.page .nav__reserve > h2 { margin-bottom:1rem!important; }
#modal-section h2 { margin-bottom:1rem;text-align:center; }

.page .nav__reserve nav,
.page .nav__reserve dl { margin-bottom:2em; }
.page .nav__reserve dt { margin-bottom:.5rem; display:inline-block; border-bottom:1px solid var(--text-color);}
/* a */
.link-area { text-align:center; }
.link-area a {
 display:inline-block; padding:.8rem 1rem; line-height:1; font-size:1.2em; font-family:var(--font-mincho);
 background-color:var(--theme-color); color:#fff; border-radius:2px; transition:background-color 0.3s, opacity 0.3s;
}
.link-area a:hover { background: #b51111; }
.link-area a.is-disabled { background-color:#6c757d; opacity:.65; cursor:not-allowed; /* マウスカーソルを禁止マークに */}
@media screen and (max-width:781px) {
#home .nav__reserve h2 { margin-bottom:1vh; flex-basis:100%; justify-content:center; flex-direction:column; }
.page .nav__reserve h2 { margin-bottom:2vh; flex-basis:100%; justify-content:center; flex-direction:column; }
.nav__reserve nav { gap:.8em; }
.nav__reserve .link-area,
.nav__reserve select { width:90%; max-width:90%; display:block; margin:1em auto 0; }
}

/* ----- page__store ----- */
main.page__store { background-size:cover!important; background:url(./assets/img/common/bg_basic.png) center top no-repeat; }
main.page__store .sec__basic { background:none; }
img.i_lunch,
img.i_dinner { width:82px; }
img.i_breakfast { width:98px; }
#googlemap { display:none; }
.page__store nav.nav__reserve { margin:6vh auto 1vh; padding:3rem 4vw 2rem; background:#d8b25526;/*#e6c7a278;*/ text-align:center; justify-items:center; }
.page__store .bg_white .nav__reserve { margin-top:0 !important; }
.page__store nav.nav__reserve ul{ width:100%; justify-content:center; }
.page__store nav.nav__reserve li { flex-basis:30%; min-width:300px; padding:.5rem 1rem; font-size:var(--font-size-m); font-family:var(--font-mincho); }
.page__store nav.nav__reserve li.btn_reserve { background:var(--theme-color); }
.page__store .course__memo { margin-top:2em; text-align:center; color:#c6c6c6; font-family:var(--font-gothic); }
#nav__reserve { padding-bottom:4vh; }

/* ----- taxo__stores ----- */
.page__area .container { 
  margin-bottom:4vh;
  display:grid; grid-template-columns: 1fr 1fr; grid-template-rows:auto;
  gap:0 4vw; grid-auto-flow: row; grid-template-areas:"name photo" "detail photo";
}
.name { grid-area: name; }
.photo { grid-area: photo; }
.detail { grid-area: detail; }
.page__area section.flex:first-child { padding-top:1em; }
.page__area .container table { width:100%; }
.page__area td,
.page__area th{ padding:1em .3em 1em 1em; min-width:5em; font-size:94%; font-weight:normal; border-width:0; border-bottom: 1px solid var(--border-color); }
.page__area .nav__link { display:flex; gap:1vw; justify-content:center; padding:2em 0 0; } 
.page__area .nav__link p { flex-basis:50%; margin-bottom:1rem; }
.page__area h2.tate { border:none; margin:-1em 0 1em; }
.page__area .list_store { width:100%; padding-top: 1em;}
.page__area .list_store section:first-child { padding-top:0; }
.page__area .list_store h3 { margin:.8rem 0 1rem; font-size:clamp(20px, 1.7em, 30px); }
.page__area .list_store .name p { text-box-trim:trim-both; }
.page__area .list-store td:last-child { padding-right:0; }
.page__area .list-store .note { margin-top:0; }

/* ----- sec__feature ----- */
.sec__feature .entry-contents { min-height:40vh; flex-basis: calc(100% - 10vw); }

/* ----- sec__info ----- */
.page .sec__info .entry-contents { min-height:40vh; }
.page__store .sec__info .entry-contents { padding-inline: 0; }
.sec__info .entry-contents { flex-basis:calc(100% - 10vw); }
.entry-title { font-family:var(--font-gothic); }
.sec__info .entry-title a { display:flex; flex-wrap:wrap; width:100%; padding:2em 1em; color:var(--text-color); border-bottom:1px solid var(--border-color); }
.sec__info .entry-title a:hover { opacity:.7; }
.sec__info img.i_extarnal { margin:0; padding-left:.5em; display:inline; height:12px; width:12px; box-sizing: content-box; }
.sec__info .entry-title p { overflow:hidden; }
.sec__info .entry-title p, 
.sec__info .entry-title time,
.sec__info_thumb .entry-title p,
.sec__info_thumb .entry-title time { min-width:5.2em; line-height:1.4; }
.sec__info_thumb .entry-title p { width:100%; margin-top:.3em; }
.sec__info_thumb ul.lcp_catlist { display:flex; flex-wrap:wrap; gap:3.5em 3em; margin-bottom:0; }

#home .sec__info .entry-contents { max-width:100%; }
#home .sec__info .entry-contents ul { margin:0; }
#home .sec__info_thumb,
#home .sec__info { margin:4vh auto 6vh; font-size:var(--font-size-s); }
#home .sec__info_thumb .entry-title { flex-basis:calc((100% - (3em * 3)) / 4); }/*home*/
#home p.link_text { padding:.5em 0;}
.page-template-page-temp-feature .sec__info_thumb .entry-contents,
.category .sec__info_thumb .entry-contents { flex-basis:calc(100% - 10vw); }
.category .sec__info_thumb .entry-title,
.sec__info_thumb ul.lcp_catlist .entry-title { padding:0; flex-basis:calc((100% - (3em * 2)) / 3); }
.page__store .sec__info_thumb ul.lcp_catlist .entry-title { flex-basis:100%; }
.entry-title img { margin-bottom:.5em; }
.entry-title time { margin-right:.5rem; }
i.cate-name,
i.tag-name { 
  display:inline-block; padding:.45em .5em 0; margin:-.2em .5rem .25rem 0;
  min-width:4.5em; height:1.8em; line-height:1; border-radius:2px;
  background:#333; color:#fff; font-size:.8em; text-align:center;
}
i.tag-name { background:var(--color-dyellow);}

/* feature */
.category-feature .entry-contents li { flex-basis:33%; }
.category-feature .sec__info li a { padding:0; flex-direction: column; }
.entry-title img { display: block; }

/* single */
.entry-container { padding:0 2rem; margin:0; max-width:65em; }
h3.entry-title { padding:2rem 1rem; margin-bottom:1em; line-height:1.4; border-bottom:1px solid #ddd;}
.single .entry-contents { padding-inline:1rem; }
.single .entry-contents figure { margin:1.5rem 0; }
.single .entry-contents h2,
.single .entry-contents h3 { margin:2em 0px 1em; font-size:var(--font-size-m); }
.single .entry-contents ul { margin-top:0; }
.single .entry-contents p + p { margin-top: 1rem; }
.lcp_paginator,
.pagenation,
.single nav.link_text { margin-bottom:4vh; text-align:center; }
.single nav.link_text { border-top:1px solid var(--border-color); }
.single nav.link_text a { margin:.5rem 1rem; }
.single .sec__info { flex-basis:65%; }
.single .sec__info_thumb { flex-basis:35%; }
.single .sec__info_thumb img { display:block; margin-bottom:1rem; max-width:360px; }
.single .block_pattern { max-width:65em;margin-top:6vh; padding:0 8vw 3vh; border: 1px solid var(--h5-color); }
.single .block_pattern ul { flex-wrap:wrap; justify-content:left; gap:.8em 1.5em;}
.single .wp-block-buttons { margin:1em auto; }
/* pagenation */
.lcp_paginator li { border:none!important; }
.page-numbers.current,
.lcp_currentpage { background-color:#eae6d9/*#e6c7a278; */}
.page-numbers,
.lcp_currentpage,
.lcp_paginator a { padding:.6em .8em!important; line-height:1; }

/* ----- sec__menu / foods / drink----- */
.sec__menu { font-family: var(--font-mincho); }
.sec__menu .f-size-m { margin-right:.8em; }
#home .sec__menu .f-size-m { font-size:158%; }
.sec__menu .flex { justify-content:center; gap:2.5em; }

article.sec__foods + article { padding-top:0!important; }
.sec__foods h2 { border:none; margin-top:-1em; }
.contents .sec__foods h2 { margin-top:1em; }
.sec__foods h4 { margin:.5em 0; font-size:var(--font-size-m); }
.sec__foods .tab-menu { font-size:var(--font-size-m);/*1.25em;*/ }

.page__lunch .content-box img { width:auto; }
.page__lunch .wp-block-column { flex-basis:50%; }
.page__lunch .h3 {  display:inline-block; margin:1.5em 0 .5em; padding:.2em 1em; color:#fff; background:var(--h5-color); }
.page__lunch p + h4 { margin-top: 1.5em; }


.sec__pdf { margin:0 auto 8vh; padding:6vh 8vw; max-width:65em; background:#f3ede5 url(./assets/img/common/bg_basic.png) center top; }
.sec__pdf .flex { flex-wrap:wrap; gap:1em 2em; }


@media (min-width: 981px) {
#home .figure_course { width:calc(100% - 19em); }
  .profile__group { display:flex; align-items:center; align-items:flex-start; gap:2em; }
}
.profile__group { align-items:center; }
.profile__image { flex-basis:56%; flex-shrink:0; /* 幅が縮まないように設定 */ aspect-ratio: 1 / 1.1; /* アスペクト比を直接指定 */}
.profile__image img { width:100%; height:100%; object-fit:cover;}
.profile__content { flex-basis:calc(100% - 400px); gap:2em; }
.sec__special h3,
.profile__title { font-weight:normal; font-family:var(--font-mincho); font-size:var(--font-size-m); }
.profile__text { margin-top:1.5em; line-height: 2; }
.profile__price,
.profile__price_m,
.profile__memo,
.profile__memo_m { margin-top:1.5em; word-break:auto-phrase; }
.profile__price span,
.profile__price_m span { padding:.3em .5em; margin-right:.5em; font-size:.8em; white-space:nowrap; background:#e2e0d9; }
.profile__memo_m,
.profile__memo,
.profile__note { line-height:1.4; font-size:var(--font-size-xs); color:#7e7a75; }

.sec__special .wp-block-columns { margin-bottom:6vh; }
.sec__special .wp-block-image img { width:100%; }
.sec__special h3 { margin-bottom:1em; }
.special_note { font-family:var(--font-mincho); }


/* ----- Course ----- */

.sec__store_lead,
.sec__details_course { line-height:2; font-family:var(--font-mincho); }
.sec__store_lead h3 { margin:1rem 0 1.6rem; line-height:1.6; font-size:var(--font-size-m);}
/* page:course */
.page__course { background:#18130f;  }
.page__course h2.yoko { margin-bottom:2rem; justify-content:center; text-align:center; font-size:clamp(32px, 5vw, 60px); }
.page__course h2.yoko i { margin-bottom:1rem; }
.page__course .sec__details_course .tab-list { margin-bottom:8vh !important; }
.sec__details_course .tab-list { padding-left:0; justify-content:center; gap:2vw; }
.sec__details_course .tab-menu { display:block!important;}
.sec__details_course .tab-menu a { color:#ddd; padding-inline:.1em; }
.sec__details_course { font-family:var(--font-mincho); color:#fff; background:url(./assets/img/common/bg_dark.jpg) center top; background-size:cover; } 
.sec__details_course .content-group { width:86vw; max-width:1400px; padding-bottom:3vh; margin:0 auto; }
.sec__details_course .content-group .wp-block-columns { margin-bottom: 8vh; }
.sec__details_course h3 { 
  display:inline-block; padding:.1em; margin:0 0 .5em -.1em; line-height:1.2; border-bottom: 1px solid #8c7e6c;
  font-size:clamp(26px, 2.2em, 50px); letter-spacing:.1rem;
}
.sec__details_course h3 em { display:inline-block; width:5em; line-height:1.1; font-size:var(--font-size-s); font-style:normal; }
.sec__details_course ul { margin-bottom:.5rem; padding-left:2em; line-height:1.8; list-style:disc; font-size: var(--font-size-s); }
.course__memo { line-height:1.4; font-size:var(--font-size-xs); }
.sec__details_course .course__memo { color:var(--color-gold); }
.course__index { display:inline-block; width:6em; text-align:center; padding:.5em; list-style:none; line-height:1; font-size:var(--font-size-xs); }
.sec__details_course .course__index { margin:0 0 .5rem -2.2em; background:#333; }
.contents .course__index { margin:0 0 .5rem -1.8em; background:#eeecec; }
.course__price { letter-spacing:.1rem; font-size:var(--font-size-m); margin-bottom:1rem; margin-top:0!important; }
.course__price small { font-size:70%; }
/* page:store */
.page__store .sec__details_course { padding:6vh 0; }
.page__store .sec__details_course .wp-block-group__inner-container { display:flex; gap:4vw; }
.page__store .sec__details_course .wp-block-table td { padding-inline:.6em; }
.page__store .sec__details_course .wp-block-table td:first-child { font-family:var(--font-mincho); font-size:var(--font-size-m); width:7em; }
.page__store .sec__details_course td { line-height:1.4; border-bottom:var(--border-color-dark) 1px solid !important; }
.page__store .sec__details_course div { width:100%; align-self:center!important; color:#fff; }
.page__store .sec__details_course img { object-fit:cover; max-height:760px; min-height:600px; width:auto; }
@media screen and (max-width: 781px) {
.page__store .sec__details_course td { padding:.8em; }
}

/* .sec__course / ランチページ */
.sec__course { margin-top:8vh; padding:7vh 3rem 1vh; background:#f3ede5 url(./assets/img/common/bg_basic.png) center top; background-size:cover; }
.sec__course h2 { margin-bottom:1em; padding:0!important; } 
.sec__course h2 p { margin-left:-.15em;}
.sec__course .btn_link { margin-bottom:4vh; padding-top:4vh; justify-items:center;font-size:1em; background:none;}


/* ----- #home sec__about ----- */
.sec__about { position:relative; margin:8vh 0; color:#fff; font-family: var(--font-mincho); }
.sec__about_inner { align-items:self-end;align-self:flex-end;text-shadow: 0px 2px 6px black; }
.sec__about header { margin-bottom:2em;}
.sec__about .flex { flex-direction:row-reverse; }
.sec__about .note { align-self:self-end; }
.sec__about a { color:#fff; }
.sec__about .nav__arrow a { display:block; margin-top:1.5em; margin-right:1em; padding-right:1em; text-align:right; }
.sec__about .nav__arrow a:after { border-color:#fff; }
@media (min-width: 1024px) {
  .sec__about { height:90vh;background-size:contain; }
  .sec__about .flex { align-self:center;margin-right:8vw; }
  .sec__about .nav__arrow a { margin-top:4em;margin-bottom:1em; }
}

/* ----- #home  sec__stores ----- */
#home .bg_store { margin-top:4vh; background:url(./assets/img/common/store_map.png) no-repeat center bottom; background-size:cover;}
#home .bg_store_inner { max-width:86vw; width:min(100%, 2000px); margin:0 auto; min-height:430px; align-content:center;}
#home .sec__stores .nav__arrow { padding:2em 1em 0; font-size:var(--font-size-xs); }
/* .sec__stores .btn_link { width:15em; margin:2em auto; }
.sec__stores .btn_link a { font-size:var(--font-size-xs)!important; } */
.box_icon { margin-top:1rem; padding:.8rem 1em; font-size:80%; border-top:1px solid var(--border-color); }
.box_icon img{ margin-right:.3em; vertical-align:middle; }

.list-store { display:flex; flex-wrap:wrap; flex-basis:45%; gap:.8em; list-style:none; counter-reset:number; }
.list-store li { width:47%; padding-left:1.8em; margin-bottom:.5em; line-height:1.4; text-box-trim:trim-both; }
.list-store img { vertical-align:middle; margin-top:-3px; }
.list-store li::before {
  counter-increment: number; content:counter(number);
  box-sizing:border-box; display:flex; justify-content:center; align-items:center;
  position: absolute; top:-.15em; left:0; width:22px; height:22px;
  color:#fff; background:var(--text-color); border-radius:50%; border:1px solid;
  text-align:center; line-height:1; font-size:.7em;
}
.list-store li a { padding:.5em 0; }
.tab { margin-right:auto; margin-bottom:0; width:100%; position:relative; }
.tab-list { align-items:flex-end; display:flex; gap:1em; margin:0 0 2em!important; }
.tab-menu {
  padding:.3em 5px; font-size:1.25em; line-height:1.2;
  display:flex; align-items:center; cursor: pointer; position:relative; color:#b0b0b0;
  /* transition: all .3s ease-out; */
}
.tab-menu::before {
  content:""; height:6px; width:6px; margin:auto; position:absolute; left:48%; bottom:-7px;
  transition: all .1s ease-out;
}
.tab-menu.current::before {
  width:8px; height:calc(8px / 2 * tan(60deg)); background:var(--text-color); clip-path:polygon(0 0, 100% 0, 50% 100%);
  transition: all .1s ease-in-out;
}
.page__course .tab-menu.current::before { display:none; }
.page__course .tab-menu.current { color:#fff; border:none; background:#9d9d9d61; }
.tab-menu:hover { opacity:.5; transition:opacity .3s ease-in-out; }
.tab-menu.current { display:block; border-bottom:1px solid #000; color:var(--text-color); opacity:1; }
.content-box { display:none; width:100%; padding-bottom:2em;}
/* for SP*/
button.tab-menu-button {
position: absolute; right:-10px; top:1px; width:3em; padding:.2em; 
 font-size:80%; line-height:1.2; z-index:8888; background:#eae6d9;
}
@media screen and (max-width: 781px) {
 .sec__foods .tab { margin-top:4vh; }
 .sec__foods ul.tab-list { flex-direction:column; width:calc(100% - 2em); border-top:1px solid var(--border-color); }
 .sec__foods li.tab-menu { color:var(--text-color); }
 .sec__foods li.tab-menu { align-self:flex-start; width:100%; line-height:1.2; padding:.5rem 0; border-bottom:1px solid var(--border-color); font-size:1.15em; opacity:1; }
 .sec__foods li.tab-menu.current { border-top:none; border:none;}
 .sec__foods li.tab-menu::before { display:none; }
}

/* ----- sec__details (store)----- */
.sec__details { background-color:#fff; }
.sec__details .entry-contents { width:100%; }

.sec__details td { vertical-align: top; }
.sec__details .wp-block-table td:first-child { width: 10em; }
.sec__details iframe { filter:grayscale(90%);-webkit-filter:grayscale(90%) }
figure.arrow_scale.wp-block-gallery img { max-height:400px; width:fit-content; }


/* ========= mv ========== */
.sec__mv.img_wrap picture { width:100vw; display:block; grid-row:1 / 2; grid-column:1 / 2; }
#firstView { width:100vw; min-height:100vh; height:100vh; /*height:calc(var(--vh) * 100)vh;*/ }/*page__course*/
.sec__mv { overflow:hidden; display:grid; justify-items:center; align-items:center; grid-row:main; height:100%; width:100vw; }
.sec__mv .catch {
  width:100vw; height:100vh;
  display:flex; justify-content:center; align-items:center; z-index:10;
}
.sec__mv .catch h1 {
  font-family:var(--font-mincho); font-size:clamp(24px, 2.6vw, 68px); font-weight:400;
  text-shadow:0 0 8px rgba(0, 0, 0, 0.633);
  color:#fff; text-align:center; line-height:1.2;
}
.sec__mv .catch strong { 
  display:block; font-size:clamp(30px, 4vw, 80px); font-weight:400;
}

/* --- slick --- */
.slick { margin-top:1rem!important; max-height:40vh; overflow:hidden; will-change:transform; transition-timing-function:linear; }
.slick li { margin:0 1vh 0; }

/* --- infinity-scroll --- */
.infinite-scroll { display:flex; width:100vw; overflow:hidden; padding-bottom:1vh; max-height:50vh; }
.infinite-scroll__container {
  display:flex; gap:1em; 
  padding-right: 20px; width:100%; flex-shrink:0;
  will-change:transform; transition-timing-function:linear;
  @media screen and (max-width: 768px) { gap: 0.8rem; padding-right: 0.8rem; }
}
.infinite-scroll__img {
  flex-shrink:0; list-style: none;
  max-width:50vw; width:auto; height:auto;
  @media screen and (max-width: 768px) { width: 16.2rem; }
}
@keyframes loop {
  0% { transform: translateX(100%); } to { transform: translateX(-100%); }
}
@keyframes loop2 {
  0% { transform: translateX(0); } to { transform: translateX(-200%); }
}
.infinite-scroll__container:first-child { animation: loop 80s -40s linear infinite; }
.infinite-scroll__container:last-child { animation: loop2 80s linear infinite; }


/*========= hamburger / lang =======*/
.openbtn { position:fixed; z-index:9999; cursor:pointer; display:block; top:5px; right:10px; width:50px; height:48px; }
.openbtn span{ width:80%; display:inline-block; transition:all .4s; position:absolute; left:0; height:1px; background-color:var(--text-color); }
.openbtn span:nth-of-type(1) { top:15px; }
.openbtn span:nth-of-type(2) { top:23px; }
.openbtn span:nth-of-type(3) { top:31px; }
/* ×に変化 */	
.openbtn.active span { background-color:var(--text-color)!important; }
.openbtn.active span:nth-of-type(1) { top:18px; left:5px; transform:translateY(6px) rotate(-45deg); }
.openbtn.active span:nth-of-type(2) { opacity:0; }
.openbtn.active span:nth-of-type(3) { top:30px; left:5px; transform:translateY(-6px) rotate(45deg); }
/* 位置 */
#js-hamburger { right:calc(7vw + 70px); }
#js-lang { top:6px; right:calc(7vw + 5px); font-family:var(--font-mincho); }

#js-lang button { padding:0 30px 2px 5px; border-bottom:1px solid var(--text-color); background:url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22currentColor%22%20class%3D%22bi%20bi-chevron-down%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M1.646%204.646a.5.5%200%200%201%20.708%200L8%2010.293l5.646-5.647a.5.5%200%200%201%20.708.708l-6%206a.5.5%200%200%201-.708%200l-6-6a.5.5%200%200%201%200-.708%22%2F%3E%3C%2Fsvg%3E') no-repeat right 13px top 30%; background-position:right 12px; }
#js-lang ul { display:none; }
#js-lang.active ul { display:block; right:100%;/*calc(7vw + 3px);*/ top:6px; }
#js-lang li { width:7em; background:var(--text-color); font-size:var(--font-size-s); }
#js-lang li a { margin:0 10px; padding:1rem; width:calc(100% - 20px); display:inline-block; line-height:1; text-align:center; color:#fff; border-top:1px solid #444; }
/* .mode-light */
#js-hamburger.mode-light span { background-color:var(--text-color); }
/* .mode-dark */
#js-hamburger.mode-dark span { background-color:#fff; }
#js-lang.mode-dark button { border-color:#fff; color:#fff; background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%23fff%22%20class%3D%22bi%20bi-chevron-down%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M1.646%204.646a.5.5%200%200%201%20.708%200L8%2010.293l5.646-5.647a.5.5%200%200%201%20.708.708l-6%206a.5.5%200%200%201-.708%200l-6-6a.5.5%200%200%201%200-.708%22%2F%3E%3C%2Fsvg%3E'); }
/*　ハンバーガー内 */
#js-nav {
  position:fixed; z-index:9999; visibility:hidden; inset:0; width:100%; background:#fff;
  opacity:0; transition: opacity 0.4s ease, visibility 0.4s ease;
}
#js-nav .gnav-bg {
  display:block; width:100%; height:100%; font-family:var(--font-mincho);
  background-color:#251e19;
  background-image:url(./assets/img/about/about_history.jpg);
  background-position:-120px 0; background-size:auto 109%;
  background-repeat: no-repeat;
  transition:background-size 30s ease;
}
#js-nav.panelactive { visibility:visible; z-index:9000; opacity:1; }
#js-nav li { width:100%; margin-bottom:.5rem; line-height:1; }
#js-nav li a { display:inline-block; padding:.5rem; margin:0 auto; }
#js-nav .nav__brand li a { padding:0; }

.gnav-bg li.sub li { display: inline; /*border-right:1px solid #ddd; */}
.gnav-bg li.sub em { margin:2.5rem 0 .5rem; display:block; font-size:85%; color:var(--color-dyellow); }
.gnav-bg li.sub li:last-child { border:none; }
.gnav-bg li.sub.menu { flex-wrap:wrap; }
.gnav-bg li.sub.menu li { flex-basis:50%; }
.gnav-bg a svg path { fill:var(--text-color); }
.gnav-bg .container { height:100%; display:grid; gap:15px 11px; background:url(./assets/img/common/bg_nav_857858.jpg) 0 0 no-repeat; background-size:cover; }

/* 共通 */
.btn_tel a,
.btn_reserve a,
.btn_shop a { display:block!important; margin-bottom:0 !important; padding:1.3rem 0!important; color:#FFF; line-height:1; text-align:center; }
.btn_reserve, .btn_shop, .btn_tel { border-radius:2px; }
.btn_reserve { background:var(--theme-color);}
.btn_shop { background:var(--color-dyellow); }
.btn_shop svg path { fill:#fff; }
.btn_tel { background:#3f322b; }

.nav__brand { grid-area:brand; }
.nav__brand .flex { gap:10px; }
.nav__brand .gnav-list li { flex-basis:49%; padding:1rem .5rem; text-box-trim:trim-end; text-align:center; background:#fff; }
.nav__brand img { height:45px; max-width:fit-content; }
.nav__inside { grid-area:inside; }
.nav__inside .logo { margin-bottom:6vh; }
.nav__external { grid-area:external; }


/*====================ブレイクポイント　max980px　====================*/
@media screen and (max-width: 980px) {
  .contents { margin:4vh 0; }
  .site-footer .nav-inside ul { justify-content:center;flex-wrap:wrap; text-align:center; }
  .site-footer .nav-inside .sub { flex-basis:100%;}
  .site-footer .nav-inside li a { padding:.3em .5em;}
  .site-info.flex,
  section.flex { flex-direction:column; gap:0 !important; }
  .sec__foods > section.flex { gap:2vh!important; }
  .site-info.flex  > *,
  section.flex > * { display:block; width:100%; }
  main:not(#home) h2.tate,
  #home .sec__info_thumb h2.tate,
  #home .sec__info h2.tate { margin-top:0; padding-top:0!important; }
  h2.tate { border:none; margin-top:0; writing-mode:inherit; }
  h2.tate i { margin-bottom:.3rem; vertical-align:bottom; }
  header h2.tate::before { top:-20px;left:-20px; width:80px; height:80px; background-size:80px; }
  .contents .sec__foods h2 { margin-top:-1em!important; }
  .flex .wp-block-group__inner-container,
  .sec__store_lead .is-layout-flex,
  .sec__details_course .is-layout-flex, 
  .sec__details_course .wp-block-group__inner-container { flex-direction:column; }
  .sec__details_course .content-group .wp-block-columns { flex-direction:column-reverse; }
  .page__store .sec__details_course,
  .page__store .sec__details_course .is-layout-flex { text-align:center; }
  .page__store .wp-block-group__inner-container { align-items:center; }
  .page__store .sec__details_course { padding:0; }
  .page__store .sec__details_course header { margin:0 auto; }
  .page__store .sec__details_course .wp-block-table { margin:0 auto; }
  .page__store .sec__info_thumb { width:100%; margin-bottom:4vh; }
  .page__store .sec__info_thumb .entry-title a { clear:both; position:relative; }
  .page__store .sec__info_thumb .entry-title img { float:left; margin-right:5%; width:30%; }
  .page__store .sec__info_thumb .entry-title p { float:right; width:64%; }
  .page__store .bg_white section { margin-bottom:0 !important; }
  .page__store nav.nav__reserve ul { flex-wrap:wrap; }
  #block_address .flex { display: block; }
  #block_address .flex p { margin-bottom:.5em; }
  .sec__foods .tab-menu { font-size:1.0em; }
  .page__course .sec__details_course { padding-top:6vh;}
  #menu-drink .sec__pdf { margin-bottom:0; }

  #home header.center-pc h2 ~ p { margin-top:1em; }
  #home header.center-pc h2.tate::before { left: calc(50% - 80px); }
  #home .tab-list { gap:1em; justify-content:center; text-align:center;}
  #home .bg_store_inner { align-content:flex-start; max-height:300px; min-height:200px; }
  #home .sec__stores .tab-menu { flex-basis:30%; display:block!important; padding-inline:0; font-size: var(--font-size-s); }
  #home .sec__stores .content-box .flex { flex-direction:column; }
  #home .sec__stores .content-box .flex > div {  flex-basis:100%; width:100%; }
  #home .sec__stores .content-box iframe { width:86vw; }
  #home .sec__stores .list-store { width:100%; padding:1rem; }
  #home .sec__info_thumb,
  #home .sec__info { margin:2vh auto 8vh; padding-top:0; }
  #home .sec__info_thumb header,
  #home .sec__info header { display:flex; justify-content:space-between; flex-direction:row; align-items:flex-end; }
  #home .sec__info_thumb ul { gap:1.5em; }
  #home .sec__info_thumb li.entry-title { flex-basis:calc((100% - (1.5em * 1)) / 2);}
  #home .sec__menu { padding-bottom:6vh; }  
  #home .sec__menu .flex { gap:2em; flex-direction:column; align-items:center; text-align:center; }
  #home .sec__menu header.center-pc { width:86vw; }
  #home .sec__menu header.center-pc h2 { padding:0 0 .8rem!important; }
  #home .sec__menu header.center-pc h2 ~ p {margin-top:0; }
  #home .sec__menu img {aspect-ratio:1 / 0.9; flex-shrink:0; width:86vw; }
  #home .sec__about { background-size:cover; }
  #home .sec__about header { width:4em; }
  #home .sec__about .tate { writing-mode:vertical-rl!important; text-align:left; }
  #home .sec__about h2.tate i { vertical-align:middle; }
  #home .sec__about_inner { flex-direction:column; padding-bottom:2em; }
  #home .sec__about_inner p { text-align:right; }
  #home .sec__about_inner .nav__arrow { display:block; margin-right:1em; margin-left:auto; width:15em; }
}

/*====================ブレイクポイント　min768px　====================*/
@media screen and (min-width: 782px) {
#js-nav li { text-align:center; margin:1.5rem auto; max-width:380px;}
#js-lang.openbtn,
#js-hamburger.openbtn { top:22px; }
.gnav-bg .container {  
  width:70%; margin-left:auto; padding:15px;
  grid-template-columns:1fr 1fr; grid-template-rows:auto; grid-auto-flow:row;
  grid-template-areas:"inside external" "brand brand";
}
.gnav-bg .container nav { padding:15px; align-content:end; }
.gnav-bg .container nav.nav__brand { align-content:start;}
.gnav-bg .container nav.nav__inside .logo { text-align:center; }

.nav__cate a { font-size:1.25em; }
.sec__special .wp-block-column { align-self:center; }
#home .sec__about header { margin-right:3em; }
#home .list-store { padding:1em 1em 3em;}
}

/*====================ブレイクポイント　max767px　====================*/
@media screen and (max-width: 781px) {
.sp { display: block; }
.header__wrap { max-width:90vw; }
.header__nav { display:none; }
.header .logo img,
.nav__inside .logo img { width:120px; height:43px!important;}

.sec__basic { padding-top:70px; }
.page-header { width:90vw; }
main section, main nav { width:auto; max-width:90vw; padding:2em 0 0.5em; }

.reverse { flex-direction:column-reverse; }
.contents { margin-top:0; }
.contents h2 { font-size:clamp(28px, 1.6em, 45px);}
.contents h2 i { display:block; }
h2.h2 { width:92vw; }
section.sec__store_lead { padding:1em 0 0;}
/* .wp-block-column + .wp-block-column { margin-top:1em;} */
#home .sec__menu .flex { flex-direction:column; align-items:center; }
#home .bg_store { background-position:58% bottom; }
#home .bg_store_inner{ min-height:200px; align-content:flex-start; }
#home .bg_store_inner .center-pc { justify-items:flex-start; }
#home .sec__about.flex::before { position:absolute;bottom:0;left:0; content:""; height:45%;width:100%; opacity:.8;
  background:linear-gradient(360deg, rgba(0, 0, 0, 1) 0%, rgb(28 28 25 / 70%) 70%, rgb(24 24 24 / 0%) 100%); } 

.page__area section.flex { padding-top:.5rem; }
.page__area .container { grid-template-columns:1fr; grid-template-rows:auto; grid-template-areas:"name" "photo" "detail"; }
.gnav-bg .container { overflow-y:scroll;overscroll-behavior-y:contain; grid-template-columns:1fr; grid-template-rows: auto; grid-template-areas:"inside" "external" "brand"; }
.gnav-bg .container nav { width:calc(100% - 6vw); margin:0 auto; }
.gnav-bg li { width:auto; text-align:left; }
.gnav-bg li a { padding-inline:0; }
.gnav-bg li.sub ul { display:block; justify-content:left; }
.gnav-bg li.sub li { width:auto !important; margin-right:1em; margin-bottom:0!important; display:inline-block; border-right:none; }
.gnav-bg li.sub em { padding-left:.5rem; margin:1rem 0 .5rem; font-size:80%; }
.gnav-bg .btn_reserve,
.gnav-bg .btn_shop { width:calc(100% - 1em)!important; margin:1.5rem .5em 0; text-align:center; }
.gnav-bg .nav__inside .logo { margin:8px 2vw 3rem; }
.gnav-bg .nav__brand { margin-top:1vh; margin-bottom:5vh; }
/* 共通　.nav__brand */
.nav__brand .gnav-list { flex-wrap:wrap; justify-content:center; }
.nav__brand .gnav-list li { flex-basis:47%; padding:10px 5px; margin:0!important;}
.nav__brand li img { height:38px; }

.sec__course { padding-inline:1.5rem; }
.sec__special .wp-block-columns { margin-bottom:2em; }
.sec__omotenashi h2 { padding:0; }
.btn_tel a, .btn_reserve a, .btn_shop a {padding:1rem 0!important; }
.sec__info .entry-title a { padding:1rem 0; }
.sec__info .entry-title p { flex-basis:100%; margin-top:.5em; }
.category #feature .entry-contents ul { gap:3em 1.5em; }
.category #feature .sec__info_thumb .entry-title { padding:0; flex-basis:calc((100% - (1.5em * 1)) / 2); }
.single h3.entry-title,
.single .entry-contents { padding-inline:0; }
.entry-container { padding:0;width:auto; }
.nav__cate,
.pagenation, 
.single nav.link_text { font-size:82%; }
.nav__reserve .note,
.list_store .note,
.page__store .course__memo { font-size:82%; }
}


/*====================ブレイクポイント　600 最小値の設定　====================*/
@media (min-width: 601px) {
 .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
  width: calc(23% - var(--wp--style--unstable-gallery-gap, 16px) * .1);
 }
 .bg_nav__cate { border-bottom:1px solid #ddd; }
 .btn_link aside { padding:2vh 0 5vh; }
}
@media (max-width: 600px) {
:root { --font-size-base:clamp(15px, 1em, 20px); }
.single .wp-block-table th,
.single .wp-block-table td { display:block; width:100%; }
.single .wp-block-table.col-2 td:first-child { padding:.65em 1em .25em; }
.single .wp-block-table.col-2 td:nth-child(2){ padding:.25em 1em .5em; }

.is-style-stripes.wp-block-table th,
.is-style-stripes.wp-block-table tr:first-child { padding-bottom:.1em; }

#home .list-store li { width:100%; }
.page__area td, .page__area th { padding:.5em; }
.sec__details td { display: block; }
.sec__details td:first-child { padding-bottom: 0; border: none !important;}
.sec__details td:last-child { margin-top:0!important; padding:.8em .5em 1.5em;}
.sec__details_course h3 em { width:auto; display:block; }
.sec__details .wp-block-table td:first-child {display:inline; padding:.2em .5em; width:10em; background: #eeecec; }
.sec__details .wp-block-gallery { margin-bottom:1.5em; }
.page__store .sec__details_course td { display:block !important; width: 100% !important; border:none !important; padding:.5rem 0; }
.sec__details_course tr { border-bottom:var(--border-color-dark) 1px solid !important; }
.sec__details_course td:first-child { margin-top:1rem; }
.page__store .btn_link aside { padding:4vh 5vw; }
.page__store .btn_link a { min-width:137px; font-size:.95em; }
.bg_nav__cate.flex { flex-direction:column; gap:0; margin:1vh auto; border:none; }
.nav__cate { padding:1vh 0; width:100%; border-bottom:1px solid #ddd;}
.nav__cate .f-size-s {  margin-right:1rem; letter-spacing:-.1em; }
.page__store nav.nav__reserve li { min-width:240px; }
}

/* ========= modal ========== */
.modal-overlay {
  visibility:hidden; opacity:0; transition:visibility 0s 0.3s, opacity 0.3s;
  position:fixed; top:0; left:0;
  width:100%; height:100%; background: rgba(0, 0, 0, 0.7);
  display:flex; align-items:center; justify-content:center;
}
.modal-overlay.is-visible { z-index:20000; visibility:visible; opacity:1; transition: opacity 0.3s; }
.modal-content {
  position:relative; padding:30px 40px; width:90%; max-width:600px; max-height:90vh;
  overflow-y:auto; background:white; border-radius:2px;
}
.modal-close-button { position:absolute; top:10px; right:10px; font-size:1.5rem; color:var(--text-color); background:none; border:none; cursor:pointer; }
#modal-section .select-container select { width:100%; margin-bottom:1em; padding:.8em; border:1px solid #7a7a7a; }

/* ========= media ========== */
@media (max-width:900px) {
  br.sp-only { display: block; }
  br.pc-only { display: none!important; }
}

/* ========= animetion ========== */
/* 0.5秒間かけてフェードイン */
.fadeIn500ms {
  animation-name:fadeIn500ms; animation-delay:500ms;
  animation-duration:1.5s; animation-fill-mode:forwards; opacity:0;
}
@keyframes fadeIn500ms {
  0% {}
  100% { opacity: 1;}
}
/* for about, course */
.inview.fadeup { opacity:0; transition-duration:1.5s; transform:translateY(10px); }
.inview.fadeup.active { opacity:1; transform: translateY(0px); }
/* for about, course */
.kenburns-top {
	-webkit-animation: kenburns-top 100s ease-out both;
	        animation: kenburns-top 100s ease-out both;
}
/* ----------------------------------------------
 * Generated by Animista on 2025-11-21 17:25:38
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
@-webkit-keyframes kenburns-top {
  0% {
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
    -webkit-transform-origin: 50% 16%;
            transform-origin: 50% 16%;
  }
  100% {
    -webkit-transform: scale(1.25) translateY(-15px);
            transform: scale(1.25) translateY(-15px);
    -webkit-transform-origin: top;
            transform-origin: top;
  }
}
@keyframes kenburns-top {
  0% {
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
    -webkit-transform-origin: 50% 16%;
            transform-origin: 50% 16%;
  }
  100% {
    -webkit-transform: scale(1.25) translateY(-15px);
            transform: scale(1.25) translateY(-15px);
    -webkit-transform-origin: top;
            transform-origin: top;
  }
}
