/*
Theme Name: AFFINGER Child
Template: affinger
Description: AFFINGER6 対応
Version: 20240601
*/

/* =========================================================
   カラー / ベース
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');
/* ローカルフォント読み込み */

:root{
  --torch-orange:#ef7e00;
  --torch-l-orange:#fffbf4;
  --torch-brown:#541905;
  --torch-l-brown:#dbc5a6;
  --torch-m-brown:#dbbd96;
  --torch-l-gray:#fbf7f0;
  --menu-brown:#e7c9a1;
  --menu-gray:#a6988c;
  --menu-orange:#de9645;
  --torch-max: 1280px;
  --concept-max:1180px;
  --font-base: "Zen Maru Gothic", system-ui, -apple-system, "Hiragino Kaku Gothic ProN","Hiragino Sans", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
}

html, body {overflow-x: hidden;}

/* HOME タイトル */
.home-title{font-size: 0;line-height: 0;display: inline-block;}
.home-title__svg{display:block;height:50px;}
.home-title[data-orient="v"]{position: relative;width:240px;height:auto;}
.home-title[data-orient="v"] 
.home-title__svg{position: absolute;left: 30%;top: 0;transform: rotate(90deg);transform-origin: 0 0;width: 340px;}
.home-title-ja{font-family: var(--font-base);font-weight: bold;font-size: 1.4rem;color:var(--torch-brown);}

/* TB */
@media (max-width: 1079px){
.home-title__svg,.home-title[data-orient="v"]{width: 200px;}
}

@media screen and (max-width: 679px){
.infomation__title-en,.store-tabs__title-en{font-size: 3rem;}
.infomation__title-area{ width:100%; }
.infomation__title{ justify-items:center; }
.infomation__title .home-title{ margin: 0 auto; }
.infomation__title .home-title-ja{ text-align:center; }
}

/* SP */
@media (max-width: 599px){
.home-title__svg,.home-title[data-orient="v"]{width: 150px;height: auto;}
.home-title[data-orient="v"] .home-title__svg{position:static;left: auto;top: auto;transform: none;transform-origin: initial;width: 100%;height: auto;}
.home-title-ja{font-size: 1rem;}
}

.concept__en, .concept__sub,.access__title-en {color:#751A05 !important;}
.concept__ja, .access__title-ja {color:#a08978 !important; }
#footer {background: #490f01;color: #fff;}
hr{background:#fff;margin: 30px 0;}

p{font-size:1rem;}
.post .entry-content ul li{font-size:1rem;}

/* hover */
a:hover {color: #ef7e00;}
a:hover img, header .sitename a:hover,.inquiry a:hover {filter:alpha(opacity=70);-moz-opacity: 0.7;opacity: 0.7;}
.inquiry a:hover{transform: translate3d(0, -2px, 0);}
#side aside ul li a:hover, #side a:hover,.childpage h2:hover, .ccpages_excerpt:hover,#footer .footer-nav a:hover {color: #ef7e00;transform: translate3d(0, -2px, 0) !important;}

/* underline */
.line {display: inline-block;position: relative;text-decoration: none;}
.line::after {position: absolute;content: '';bottom: -4px;left: 0;width: 0;height: 2px;background: #ef7e00;transition: all 0.3s ease 0s;}
.line:hover {cursor: pointer;}
.line:hover::after {width: 108%;}

/* 共通 */
html, body {overscroll-behavior-y: none;}
.right { display: block; float: right; box-sizing: border-box; padding-left: 2em;}
.left { display: block; float: left; clear: both;}
.center { display: block; margin: 0 auto; }
.clear{clear: both;}

.w60 { width: 60%; }
.w40 { width: 40%; }
.w45 { width: 45%; }
.w50 { width: 50%; }

.bold { font-weight: bold; }

p.note { margin-left: 1em; text-indent: -1em;}
p.note:before { content:"※";}

.fas, .far { margin-right: 0.5em; color:#61a6ce;}
.link {clear: both;float: right; text-decoration: underline;}

.tag-notice{border:1px solid #fff; border-radius: 4px;font-size: .5rem;padding: 4px 8px;}

.view-all-link{
  position: relative;
  display:inline-block;
  align-items:center;
  justify-content:center;
  gap:0;
  padding:.8rem 1rem .8rem 2rem ;
  background:var(--torch-orange);
  color:#fff;
  font-weight:bold;
  text-decoration:none;
  border-radius:9999px;
  transition:transform .3s, box-shadow .3s;
  box-shadow:0 4px 15px rgba(0,0,0,.1);
  z-index:6;
  width:200px;
}

.view-all-link:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.15);color:#fff;}
.view-all-link .material-icons,
.view-all-link .material-symbols-outlined{position: absolute;right: 16px;top: 50%;transform: translateY(-50%);font-size: 18px;line-height: 1;vertical-align: baseline;margin: 0;}
.inquiry { float: right; display: block;}
section {margin-bottom: 0;}

.br-pc { display:block; }
.br-sp { display:none; }

/* ---- TB ---- */
@media only screen and (max-width: 959px) {
  .tabnone { display: none; margin-top:0;}
  .smanone { display: none;}
}

/* ---- SP ---- */
@media print, screen and (max-width: 599px) {
.smanone { display: none;}
.br-pc { display:none; }
.br-sp { display:block; }
}

/* =========================================================
   ヘッダー
========================================================= */
#content-w{background: var(--torch-l-gray,#fbf7f0);margin-top:80px;padding-top:0 !important;}
#headbox{display:block !important;height: 80px;padding-top: 30px;}
#headbox-bg-fixed {position: fixed;top: 0;left: 0;width: 100%;z-index: 999;background-color:#fff;height: 80px;}
#header-l{position: fixed;left: 0;top: 0;z-index: 99;overflow: hidden;padding:0 !important;}
#header-l .site-logo{display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;width: 140px;height: 140px;background: var(--torch-orange, #ef7e00);border-radius: 0 0 30px 0;}
#header-l .site-logo img{width:100%;height:100%;object-fit:contain;display:block;}

/* 右メニュー */
#header-r{float: right;width: auto;display: flex;justify-content: flex-end;align-items: center;position: relative;}
#header-r .st-menu-side-box{float: none !important;width: auto;}
#header-r .st-menu-side-box ul{list-style: none;margin: 0;padding: 0;display: flex;justify-content: flex-end;align-items: center;}
#header-r .st-menu-side-box li{position: relative;display: flex;align-items: center;margin: 0;padding: 0;}
#header-r .st-menu-side-box,#header-r .st-menu-side-box a{font-family: var(--font-base) !important;}
#header-r .st-menu-side-box li a{color: var(--torch-brown) !important;text-decoration: none;font-weight: 700;font-size: 1rem;letter-spacing: .08em;line-height: 1;display: inline-flex;align-items: center;}
#header-r .st-menu-side-box li::after{ content: none !important; }
#header-r .st-menu-side-box li{padding: 0 16px !important;}
#header-r .st-menu-side-box  li + li::before{content: "/";position: absolute;left: 0;top: 50%;transform: translateY(-50%);color: rgba(84,25,5,.35);line-height: 1;font-size: .8rem;}
#header-r .st-menu-side-box li a:hover{color: var(--torch-orange) !important;transform: translate3d(0, -2px, 0) !important;}


@media only screen and (max-width: 959px) {
#content-w{margin-top: 0;}
#header-r,#header-r .st-menu-side-box{display: none;}
#headbox-bg-fixed {background-color: transparent; }
#headbox {padding: 0 10px;}
#header-l .site-logo{width: 100px;height: 100px;border-radius: 0 0 40px 0;padding:15px;}
#s-navi #st-text-logo,#s-navi #st-icon-logo,#s-navi .st-icon-logo,#s-navi .st-logo,#s-navi .site-logo,#st-mobile-link-design .st-icon-logo,#st-mobile-link-design #st-icon-logo{display:none !important;}
#header-l{display:block !important;z-index: 100060 !important;}
#header-l .site-logo{background: var(--torch-orange, #ef7e00) !important;}
#st-mobile-logo{display: none !important;}
}

@media screen and (max-width: 679px){
#headbox-bg-fixed,#headbox,#s-navi{overflow: visible !important;}
#s-navi dt.trigger{right: 20px !important;right: calc(env(safe-area-inset-right) + 20px) !important;transform: translateY(-50%) !important;}
#st-mobile-logo{display: none !important;}
}

@media (max-width: 599px){
#header-l .site-logo{width: 70px;height: 70px;padding: 12px;border-radius: 0 0 20px 0;}
#headbox{height: 45px !important;padding-top: 0 !important;}
#headbox-bg-fixed{height: 45px !important;}
}

/* SP/TB：ハンバーガーメニュー内 */
@media (max-width: 959px){
#s-navi dt.trigger .acordion_button{max-width: 100%;}
#s-navi dt.trigger{position: fixed !important;right: calc(env(safe-area-inset-right) + 18px) !important; transform: none !important;width: auto !important;height: auto !important;z-index: 100050 !important;overflow: visible !important;}
#s-navi dt.trigger .op,#s-navi dt.trigger .cl{display: flex !important;align-items: center;justify-content: center;width: 44px;height: 44px;border-radius: 9999px;background: var(--torch-orange, #ef7e00);color: #fff !important;line-height: 1;box-sizing: border-box;}
#s-navi dt.trigger .op{ font-size: 1.2rem; }
#s-navi dt.trigger .cl{ font-size: 1rem; }
.s-navi-right #s-navi dt.trigger{margin-top:.5rem;}
#s-navi dd{padding-top: calc(env(safe-area-inset-top) + 40px) !important;padding-left:1rem;box-sizing: border-box;}
.acordion_tree{background: var(--torch-l-orange);}
.acordion_tree .menu-item-label, nav:not(.st-footer-ul) .menu-item a{font-size: 1rem;}
}
@media (max-width: 679px){
  #s-navi dt.trigger{right: calc(env(safe-area-inset-right) + 10px) !important;}
  #s-navi dt.trigger{top: calc(env(safe-area-inset-top) + 6px) !important;}
}

@media (max-width: 599px){
#s-navi dt.trigger .op{width:35px;height:35px;}
.s-navi-right #s-navi dt.trigger{margin-top:4px;}
}

/* =========================================================
   FV
========================================================= */
:root{  --fv-zoom-scale: 1.04;  --fv-zoom-dur: 4.2s;  --mv-radius: 46px; --mv-side: 20px; --mv-top: 1rem; --mv-h: 650px;}

.slider-container *{ box-sizing: border-box; }
.bx-wrapper .bx-pager{display:none;}
.slider-container{position: relative;isolation: isolate;max-width: var(--torch-max);margin: 0 auto;padding: var(--mv-top) var(--mv-side) 0;height: calc(var(--mv-top) + var(--mv-h)); box-sizing: border-box;}
.slider-container .bx-wrapper{margin: 0;padding: 0;border: 0;box-shadow: none;background: transparent;}
.slider-container .bx-viewport{height: var(--mv-h) !important;overflow: hidden;border-radius: var(--mv-radius);background: #000;}
.slider-container .bxslider,.slider-container .bxslider li{height: 100%;}
.slider-container .bxslider img{width: 100%;height: 100%;object-fit: cover;display: block;transform: scale(1);opacity: 1;will-change: transform, opacity;}
.slider-container::after{content:"";position:absolute;left: var(--mv-side);right: var(--mv-side);top: var(--mv-top);height: var(--mv-h);border-radius: var(--mv-radius);background: linear-gradient(110deg, rgba(0,0,0,.22), rgba(0,0,0,0) 55%), linear-gradient(0deg, rgba(0,0,0,.36), rgba(0,0,0,0) 60%);z-index: 10;pointer-events:none;}
.slider-container .mv-overlay{position: absolute;left: var(--mv-side);right: var(--mv-side);top: var(--mv-top);height: var(--mv-h);z-index: 20;pointer-events: none;}

@keyframes fvZoom{from{ transform: scale(1); }to  { transform: scale(var(--fv-zoom-scale)); }}
@keyframes fvFadeIn{from{ opacity: 0; }to  { opacity: 1; }}

.slider-container .bxslider li.is-active img{animation:fvFadeIn .9s ease both,fvZoom var(--fv-zoom-dur) linear forwards;}
.slider-container .bxslider li.is-hold img{transform: scale(var(--fv-zoom-scale));}
.slider-container .bxslider li.is-pre{display: block !important; /* bxSliderのdisplay制御対策 */}

/* 読みやすさ用の薄いグラデ（右側＆下側） */
.slider-container::after{content:"";position:absolute;inset:0 20px;border-radius: var(--mv-radius);background:linear-gradient(110deg, rgba(0,0,0,.22), rgba(0,0,0,0) 55%),linear-gradient(0deg, rgba(0,0,0,.36), rgba(0,0,0,0) 60%);z-index: 10;pointer-events:none;margin-top:1rem;height: var(--mv-h);}
.slider-container .mv-overlay{position: absolute;inset: 0;z-index: 20;pointer-events: none;}

/* 右上：縦コピー3列 */
.slider-container .mv-copy{position: absolute;top: 120px;right: 100px;display: flex;flex-direction: row-reverse; gap: 2rem;}
.slider-container .mv-copy p{margin: 0;writing-mode: vertical-rl;text-orientation: mixed;color: #fff;font-weight: bold;font-size: 1.2rem;letter-spacing: .22em;text-shadow: 0 2px 10px rgba(0,0,0,.55);font-family: var(--font-base) ;}

/* 右下：ロゴ */
.slider-container .mv-brand{position: absolute;right: 50px;bottom: 30px;display: flex;align-items: flex-end;gap: 12px;}
.slider-container .mv-brand-logo{width: auto;height: 150px;display: block;filter: brightness(0);}
.slider-container img[src*="logo_kana.svg"]{filter: none !important;}

/* TB */
@media (max-width: 959px){
:root{ --mv-radius: 34px; --mv-top: 4rem; --mv-h: 480px;}
.mv-overlay,.slider-container::after{margin-top:var(--mv-top);}
.slider-container .mv-copy{ top: 50px; right: 70px; gap: 1.2rem; }
.slider-container .mv-copy p{ font-size: 1.2rem; }
.slider-container .mv-brand{ right: 50px; bottom: 30px; }
.slider-container .mv-brand-logo{ height: 110px; }
}

/* SP */
@media (max-width: 599px){
:root{ --mv-radius: 26px; --mv-side: 10px; --mv-top: 3.5rem; --mv-h: 550px;}
.slider-container::after{inset: 0 8px;}
.slider-container .mv-copy{ top: 50px; right: 30px; gap: .8rem; }
.slider-container .mv-copy p{ font-size: 1rem; }
.slider-container .mv-brand{ bottom: 20px; }
.slider-container .mv-brand-logo{ width: 90%; margin: 0 auto; }
}

@media (max-width: 420px){
:root{ --mv-h: 500px;}
.slider-container::after{inset: 0 9px;}
.slider-container .mv-brand-logo{ width: 60%; margin: 0 auto; }
.slider-container .mv-copy{ top: 100px; right: 30px; gap: .2rem; }
.slider-container .mv-brand{left: 50%;right: auto;transform: translateX(-50%);justify-content: center;width: calc(100% - 20px);bottom: 0;}
.slider-container .bxslider img{transform: scale(.40);object-position: 50% 40%;}
}


/* =========================================================
   NEWS
========================================================= */
:root{ --fv-stripe-start: 60%; --stripe-extend: 635px;}

.infomation *{box-sizing: border-box;}
.home-main{
  position: relative;
  overflow: visible;
}
.home-mainInner{
  position: relative;
  z-index: 1;
}
.home-main::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top: var(--fv-stripe-start);
  bottom: calc(-1 * var(--stripe-extend));
  background-color: #F3DAB7;
  background-image: repeating-linear-gradient(
    135deg,
    var(--torch-m-brown) 0,
    var(--torch-m-brown) 4px,
    #F3DAB7 6px,
    #F3DAB7 12px
  );
  z-index: 0;
  pointer-events:none;
}

.infomation{
  width:100%;
  position:relative;
  padding: 60px 0 80px 20px;
  overflow: hidden;
  background: transparent;
}

.infomation__inner{
  max-width:1280px;
  margin:0 auto;
  padding:0;
  display:flex;
  gap:20px;
  align-items:flex-start;
}

/* NEWSタイトル */
.infomation__title-area{
  writing-mode: vertical-rl;
  padding-top: 20px;
  flex-shrink: 0;
}
.infomation__title{
  display:grid;
  gap:0;
  margin:0 !important;
  padding:0 !important;
}

/* カードエリア */
.infomation__content-area{
  margin-left:-140px;
  min-width: 0;
}

/* =========================================================
   カードリスト
========================================================= */
.infomation__card-list{
  display:flex;
  gap:18px;
  flex-wrap:nowrap;
  overflow-x:auto;
  -ms-overflow-style:none;
  scrollbar-width:none;
  scroll-snap-type:x mandatory;

  /* 先頭カードの見切れ防止（視覚余白） */
  padding: 20px calc(50% - 50vw) 50px 14px;
  margin-right: calc(50% - 50vw);
}
.infomation__card-list::-webkit-scrollbar{
  display:none;
}

/* =========================================================
   topic-card 設計
   - .topic-card       : リボン基準の箱（占有幅）
   - .topic-card__body : 画像＋本文（右にオフセット）
========================================================= */
.topic-card{
  --card-body-w: 270px;  /* 本体幅 */
  --ribbon-gap: 8px;     /* リボンが左に見える量（見た目用） */

  position: relative;
  display: block;
  flex: 0 0 auto;
  width: calc(var(--card-body-w) + var(--ribbon-gap));
  text-decoration: none;
  color: inherit;
  background: transparent;
  border-radius: 18px;
  scroll-snap-align: start;
  transition: transform .28s ease;
}

/* 本体だけ右へ寄せる */
.topic-card__body{
  position: relative;
  width: var(--card-body-w);
  margin-left: var(--ribbon-gap);
}

/* hover */
.infomation__card-list .topic-card:hover{
  transform: translate3d(0, -6px, 0);
}

/* =========================================================
   サムネイル
========================================================= */
.card-thumbnail{
  position: relative;
  height: 180px;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
  background: #eee;
  width: 100%;
}

.card-thumbnail img,
.card-thumbnail .wp-post-image,
.card-thumbnail .attachment-large,
.card-thumbnail .attachment-medium{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.card-thumbnail .no-image{
  border-radius: inherit;
}

/* =========================================================
   リボン（topic-card 内に収める）
========================================================= */
.card-category{
  position: absolute;
  left: 0;                          /* ← topic-cardの左端 */
  top: calc(180px - 12px);
  z-index: 5;
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 38px 0 14px;
  background: var(--torch-orange, #ef7e00);
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .10em;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 6px 12px rgba(0,0,0,.14);
}

.card-category::before{
  content:"";
  position:absolute;
  left:0;
  top: calc(100% - 1px);
  width:0;
  height:0;
  border-style:solid;
  border-width: 0 8px 8px 0;
  border-color: transparent rgba(0,0,0,.40) transparent transparent;
  opacity:.8;
}

/* =========================================================
   本文
========================================================= */
.card-content{
  width:100%;
  height:200px;
  padding: 34px 18px 18px;
  border-radius: 0 0 18px 18px;
  background:#fff;
  box-shadow: 0 10px 10px rgba(0,0,0,.08);
  position: relative;
  z-index: 1;
}

.card-date{
  font-family:'Montserrat', sans-serif;
  font-size:.78rem;
  letter-spacing:.06em;
  color: rgba(84,25,5,.55);
}

.card-title{
  font-family: var(--font-base);
  font-size: 1.05rem;
  margin: 10px 0 8px;
  color: var(--torch-brown);
  height: 3rem;
}

.card-excerpt{
  font-size:.7rem;
  line-height:1.7;
  color:#5c4d42;
}

/* =========================================================
   NEWS ナビ
========================================================= */
.infomation__nav{
  display:flex;
  align-items:center;
  gap:14px;
  position:relative;
  z-index:6;
  padding-left:10px;
}

.infomation__nav button{
  width:50px;
  height:50px;
  border-radius:9999px;
  background: rgba(255,255,255,.92);
  border:none;
  color: var(--torch-brown);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.infomation__nav button:hover{
  background: var(--torch-orange);
  color:#fff;
  transform: scale(1.06);
}

.infomation__nav button:disabled{
  background: rgba(255,255,255,.38);
  color: rgba(84,25,5,.28);
  box-shadow:none;
  cursor:not-allowed;
  transform:none;
  opacity:1;
}

/* =========================================================
   TB
========================================================= */
@media (max-width: 1079px){
  :root{
    --stripe-extend: 580px;
  }

  .infomation{
    padding: 30px 20px;
  }

  .infomation__content-area{
    margin-left: -120px;
  }

  .infomation__card-list{
    padding: 20px 0 30px 10px;
  }

  .topic-card{
    --card-body-w: 240px;
    --ribbon-gap: 8px;
  }

  .card-thumbnail{
    height: 160px;
  }

  .card-category{
    top: calc(160px - 12px);
  }

  .card-content{
    height: 220px;
    padding: 28px 18px 18px;
  }

  .card-title{
    font-size:.9rem;
    height: 2.6rem;
  }
}

/* =========================================================
   SP手前
========================================================= */
@media (max-width: 699px){
  :root{
    --stripe-extend: 460px;
  }

  .infomation{
    padding: 10px;
    width: auto;
  }

  .infomation__inner{
    display:block;
  }

  .infomation__title-area{
    writing-mode: horizontal-tb;
    text-align:center;
    padding-top: 0;
    margin-bottom: 4px;
  }

  .infomation__title{
    display:grid;
  }

  .infomation__content-area{
    margin-left:0;
  }

  .infomation__card-list{
    gap: 12px;
    padding: 12px 0 24px 8px;
  }

  .topic-card{
    --card-body-w: 174px;
    --ribbon-gap: 6px;
  }

  .card-thumbnail{
    height: 120px;
  }

  .card-category{
    top: calc(120px - 10px);
    height: 24px;
    padding: 0 20px 0 10px;
    font-size: .62rem;
  }

  .card-category::before{
    border-width: 0 6px 6px 0;
  }

  .card-content{
    height: 120px;
    padding: 16px 14px 14px;
  }

  .card-date{
    font-size: .65rem;
  }

  .card-title{
    font-size:.7rem;
    height: 2rem;
    margin: 8px 0 4px;
  }

  .card-excerpt{
    display:none;
  }

  .infomation__nav{
    padding-left: 0;
    gap: 10px;
  }

  .infomation__nav button{
    width:35px;
    height:35px;
  }
}

/* =========================================================
   SP
========================================================= */
@media (max-width: 420px){
  .topic-card{
    --card-body-w: 165px;
    --ribbon-gap: 6px;
  }

  .infomation{
    padding-bottom: 40px;
  }

  .card-thumbnail{
    height: 100px;
  }

  .card-category{
    top: calc(100px - 9px);
    height: 22px;
    padding: 0 16px 0 9px;
    font-size: .56rem;
  }

  .card-category::before{
    border-width: 0 5px 5px 0;
  }

  .card-content{
    padding-top: 14px;
  }
}

@media (max-width: 375px){
  .topic-card{
    --card-body-w: 158px;
    --ribbon-gap: 6px;
  }
}

/* =========================================================
   メニュー
========================================================= */
.store-tabs *{ box-sizing: border-box; }
.store-tabs{padding: 40px 20px 100px;position: relative;background:var(--torch-l-gray);}
.store-tabs__inner{max-width: var(--torch-max);margin: 0 auto;}
.store-panels{padding: 0 40px 40px;background: var(--menu-brown);border-radius:0 0 12px 12px;}

/* MENU 見出し*/
.store-tabs__head{position: relative;text-align: center;padding: 64px 20px 40px;overflow: hidden;}
.store-tabs__title{position: relative;z-index: 2;margin: 0;display: inline-grid;gap: 8px;align-items: center;justify-items: center;}
.store-tabs__illust{position: absolute;z-index: 1;pointer-events: none;user-select: none;height: auto;}
.store-tabs__illust--left{top: 0;left: 25%;width: 13%;}
.store-tabs__illust--right{bottom: 30px;right: 25%;width: 10%;}

/* タブ*/
.store-tabs__frame{ --tab-h: 56px; --tab-h-active: 72px;overflow: hidden;}
.store-tabs__tablist{ --tabs: 3; --active: 0;position: relative;display: grid;grid-template-columns: repeat(var(--tabs), 1fr);height: var(--tab-h-active);align-items: end;gap: 1px;}
.store-tab{position: relative;z-index: 1;border: 0;background: var(--menu-gray);color: #fff;height: var(--tab-h);cursor: pointer;display: flex;align-items: center;justify-content: center;font-family: var(--font-base);align-self: end;transition: height .26s ease;border-radius: 12px 12px 0 0; font-weight: bold;font-size: 1.2rem;}
.store-tab.is-active{height: var(--tab-h-active);background: var(--torch-orange);font-size: 1.4rem;}
.store-tabs__tablist .seg-track{position: absolute;inset: 0 auto 0 0;width: calc(100% / var(--tabs));transform: translateX(calc(100% * var(--active)));transition: transform .26s ease;z-index: 0;border-radius: 12px 12px 0 0;}
.store-tabs__tab-sab{font-size: 1rem;margin: 4px 0 0 8px;border-bottom: 1px solid #ffffff9c;font-family: var(--font-base);}

/* メニュー */
.menu-card{display: grid;grid-template-columns: 1fr 1fr; gap: 56px;align-items: center;margin-bottom:50px;}
.menu-card.is-reverse .menu-card__image{ order: -1; }
.shop-menu__grid{display: grid;gap: 46px;}
.menu-card__text{width:100%;position: relative;z-index: 1;  --ico-w: 25%;  --ico-top: -2rem;  --ico-right: 0px;  --ico-rotate: 0deg; --ico-opacity: .8;}
.menu-card__titleRow,.menu-card__jp,.menu-card__desc,.menu-card__price{position: relative;z-index: 2;}

/* menu-head */
.menu-head{position: relative;overflow: hidden;display: flex;align-items: center;justify-content: center;min-height: 160px;align-items: center;gap: 26px;}
.menu-head__title{color: var(--torch-brown);}
.menu-head__titleSvg{display: block;width: auto;height: 24px;}
.menu-head__meta{margin: 0;display: inline-flex;align-items: center;gap: 10px;font-weight: bold;color: var(--torch-brown);}
.menu-head__meta .material-symbols-outlined{color: var(--torch-orange);font-size: 1.4em;line-height: 1;}
.menu-head__time{ letter-spacing: .02em;font-family: var(--font-base);font-size: 1.4rem;}

/* メニュー名 */
.menu-card__titleRow{display: flex;align-items:center;justify-content: space-between;gap: 14px;margin: 0;}
.menu-card__titleSvg{display: block;height: clamp(20px, 3vw, 40px) !important;width: auto;}
.menu-card__titleIcon{display: block;height: 100px !important;flex: 0 0 auto;opacity: .9;  position: absolute;top: var(--ico-top);right: var(--ico-right);width: var(--ico-w);height: auto !important;opacity: var(--ico-opacity);transform: rotate(var(--ico-rotate));pointer-events: none;user-select: none;z-index: 1;}
.menu-card__jp{margin: 1.5rem 0 1rem;font-weight: bold;color:var(--torch-brown);font-size: 1.8rem;font-family: var(--font-base);}

.menu-card__titleIcon[src*="ico_lunch-set.svg"]{width: 20%;top: -3rem;}
.menu-card__titleIcon[src*="ico_bread-set.svg"]{width: 27%;top: -3rem;}

/* バッジ */
.menu-card__badge{background: var(--menu-orange);color: #fff;font-size: .78rem;font-weight: bold;padding: 3px 10px;border-radius: 999px;letter-spacing: .08em;margin-left:10px;vertical-align: middle;}

/* メニューコンテンツ */
.menu-card__deco{position: absolute;top: -24px;right:4%;width: 140px;height: auto;pointer-events: none;user-select: none;z-index: 0;}
.menu-card__text .material-icons{color: var(--torch-orange);font-size: 1.15em;margin-right: 0;}
.menu-card__desc{margin: 0 0 16px;color:var(--torch-brown);line-height: 1.9;font-size: 1.2rem;}
.menu-card__desc span {display:block;font-size:.8rem;background:#ffffff2e;padding: 10px;margin-top:10px;}
.menu-card__price{margin: 0;display: flex;align-items: baseline;gap: 6px;font-weight: bold;color: var(--torch-brown);font-family: var(--font-base);}
.menu-card__price-c{border: 1px solid #de9645;padding: 2px 1rem;margin-left: 1rem;border-radius: 8px;}
.menu-card__price .yen{ font-size: 1.2rem; }
.menu-card__price .num{ font-size: 2.1rem; letter-spacing: .02em; }
.menu-card__price .tax{ font-size: .95rem; font-weight: 900; opacity: .92; }

/* 画像 */
.menu-card__image{border-radius: 40px;overflow: hidden;aspect-ratio: 3 / 2;}
.menu-card__image img{width: 100%;height: 100%;object-fit: cover;display: block;}

/* OMORIのランチタイトルの上だけ点線 */
#panel-omori .menu-head--lunch{position: relative;margin-top: 40px;}
#panel-omori .menu-head--lunch::before{content: "";position: absolute;top: 0;width: 70%;height: 6px;background-image: radial-gradient(circle, #6b2e1a 1.6px, transparent 1.7px);background-size: 18px 6px;background-repeat: repeat-x;background-position: left center;opacity: 0.95;}

.cta__cafe{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;     /* 文字は中央 */
  width: 240px;
  box-sizing: border-box;
  margin: 1rem 0 0 auto;       /* 右寄せ */
  padding: 12px 42px 12px 20px;/* 右に矢印ぶんの余白 */
  white-space: nowrap;         /* 改行させない */
  gap: 0;
}

/* cta__cafe内の矢印だけ固定（共通.material-iconsを打ち消す） */
.cta__cafe .material-icons,
.cta__cafe .material-symbols-outlined{
  position: absolute !important;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px !important;  /* 小さく */
  line-height: 1 !important;
  vertical-align: baseline !important;
  margin: 0;
  pointer-events: none;
}
.cta__cafe-row{display: flex;gap: 16px;justify-content: flex-end;align-items: center;flex-wrap: nowrap;width: 100%;margin-top:2rem;}
.cta__cafe-row .cta__cafe{flex: 0 0 auto;width: auto;margin: 0;}

/* TB */
@media (max-width: 1079px){
.store-tabs{padding: 30px 20px;}
.store-tabs__head{ padding: 40px 14px 34px; }
.menu-card{gap:50px;}
.menu-card__text{ --ico-w: 22%; --ico-top: -1.5rem;}
.menu-card__jp{font-size: 1.4rem;margin: 1rem 0 .8rem;}
.menu-card__desc{line-height: 1.9;font-size: .9rem;}
.menu-card__desc span {font-size:.8rem;padding: 10px;margin-top:10px;}
.menu-card__price .num{ font-size: 2rem; letter-spacing: .02em; }
}

/* TB-min */
@media (max-width: 820px){
.store-panels{padding: 0 30px 40px;}
.store-tabs__frame{ --tab-h: 45px; --tab-h-active: 60px;}
.store-tabs__head{ padding: 40px 14px 28px; }
.store-tab{font-size: 1rem;}
.store-tab.is-active{font-size: 1.2rem;}
.store-tabs__illust--left{left: 20%;}
.store-tabs__illust--right{right: 20%;}
.menu-card{gap:45px;}
.menu-card__jp{font-size: 1.1rem;margin: .8rem 0 .6rem;}
.menu-card__desc{line-height: 1.7;font-size: .8rem;}
.menu-card__desc span {font-size:.7rem;padding: 10px;margin-top:10px;}
.menu-card__price .num{ font-size: 1.8rem; letter-spacing: .02em; }
.menu-card__price{flex-wrap: wrap;line-height: 1.2;gap: 0 6px;}
.menu-card__price-c{margin-left: 0;margin-top: 0.5rem;padding:6px 1rem;}
}

/* SP */
@media (max-width: 599px){
.store-panels{padding: 0 20px 20px;}
.store-tabs{padding: 20px 10px;}
.store-tabs__frame{ --tab-h: 48px; --tab-h-active: 58px;}
.store-tab{white-space: normal;flex-direction: column;}
.store-tab.is-active{font-size: .9rem;}
.store-tabs__tab-sab{font-size: .8rem;margin: 0;border-bottom: 0px solid #ffffff9c;}
.menu-head{display: grid;grid-template-columns: 1fr;justify-items: center;align-content: center;gap: 6px;min-height: auto;padding: 25px 0;}
.menu-head__title{width: 100%;display: flex;justify-content: center;}
.menu-head__titleSvg{width:auto;height: clamp(20px, 3vw, 40px) !important;max-width: 100%;}
.menu-head__meta{width: 100%;display: flex;justify-content: center;align-items: center;gap: 8px;flex-wrap: nowrap;}
.menu-head__time{font-size: 1.05rem;line-height: 1.3;text-align: center;white-space: normal;}
.menu-head::after{ right: 10px; --illust-size: 82px; }

.menu-card{grid-template-columns: 1fr;gap: 20px;}
.menu-card__titleRow{gap: 10px;margin-bottom: 10px;}
.menu-card__titleSvg{height: clamp(30px, 3vw, 40px) !important;width: auto;}
.menu-card__text{  --ico-w: 30%;  --ico-top: 3rem;order: 1;}
.menu-card__jp{margin-bottom: 4px;font-size: 1.1rem;word-break: keep-all;}
.menu-card__price .num{font-size: 1.7rem;}
.menu-card__text,.menu-card__image{width: 100%;min-width: 0;}
.menu-card__image{order: 2;}
.menu-card.is-reverse .menu-card__image{order: 2;}
.menu-card__desc{font-size: .9rem;line-height: 1.7;}
.menu-card__price .num{font-size: 1.9rem;}
.menu-card__price{gap: 4 6px;}
.menu-card__price-c{margin-top: 0;padding:6px 1rem;}
.cta__cafe{margin: 1rem auto 0;}
.menu-card__titleIcon[src*="ico_buffe.svg"]{top: -3rem !important;}
.cta__cafe-row{flex-direction: column;gap: 12px;}
.cta__cafe-row .cta__cafe{width:100%;}
}

/* =========================================================
   コンセプト
   ========================================================= */
:root{ --concept-white:#fbf7f0;}
.concept *{ box-sizing: border-box; }
.concept{
  --concept-bg: url("./images/bg_concept.webp"); 
  --concept-illust: url("./images/concept04.svg");
  --cpt-white: #fbf7f0;
  --cpt-cream:  #f6f1ea;
  --concept-bg-h: min(1050px, 120vw);
  position: relative;
  background: var(--cpt-cream);
  overflow: hidden;
  isolation: isolate;
}

/* 上半分：パン背景（カラーグラデ + 乗算） */
.concept::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height: var(--concept-bg-h);
  background-image:
    linear-gradient(180deg, #8A6F46 0%, #AE9A7C 100%),
    var(--concept-bg);
  background-size: 100% 100%, cover;
  background-position: 0 0, 50% 0%;
  background-repeat: no-repeat;
  background-blend-mode: multiply;
  pointer-events:none;
  z-index: 0;
}

.concept::after{
  content:"";
  position:absolute;
  left:0; right:0;
  top: var(--concept-bg-h);
  bottom:0;
  background: url("./images/bg_concept-shop.webp") repeat;
  background-size: auto;
  pointer-events:none;
  z-index: 0;
}

.concept__inner{max-width: var(--concept-max);margin: 0 auto;padding: 120px 40px;position: relative;z-index: 2;}
.concept__title{display: grid;gap: 8px;justify-items: center;margin: 0 0 18px;padding: 0 !important;text-align: center;color:#fff;opacity: 0.8;}

/* ===============================
   CONCEPT 見出し：白＆センター
=============================== */
.concept .concept__header{display: grid;justify-items: center;text-align: center;gap: 18px;margin: 0;}
.concept .concept__header .home-title{display: grid;justify-items: center;gap: 30px;}
.concept .concept__header .home-title__svg{filter:brightness(0) invert(1) sepia(1) saturate(.35) hue-rotate(10deg)drop-shadow(0 2px 10px rgba(0,0,0,.45))}
.concept .concept__header .home-title-ja{color: var(--cpt-white) !important;text-align: center;opacity: 0.9;}
.concept__catch{margin: 0;text-align: center;font-family: var(--font-base);line-height: 2;color: var(--cpt-white);z-index: 3;padding-top:30px;font-size: 1.2rem;opacity: 0.9;font-weight:500;}

/* CONCEPT：ポイント */
.concept__card{
  border-radius: 46px;
  padding: 80px 60px;
  margin: 30px auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 56px;
  background-image: url("./images/bg_point.webp");
  background-repeat: repeat;
  background-size: auto;
  background-position: top left;
}

.concept-point{display: grid;grid-template-rows: auto 1fr;row-gap: 18px;color: var(--torch-brown);}
.concept-point__title{display:flex;align-items:center;gap:18px;margin:0;padding-left:1.5rem;min-height:100px;}
.concept-point__icon{width:100px;height:auto;flex:0 0 72px;display:block;}
.concept-point__text{line-height: 1.5;font-weight:500;text-align: center;}
.concept-point__copy,.concept-point__em{display:block;font-size:1.4rem;font-family: var(--font-base);}
.concept-point__dis{margin: 0;font-size: 1.2rem;line-height: 2.0;text-align: justify;}

/* =========================================================
   CONCEPT 下部レイアウト
========================================================= */

.concept__bottomArea{max-width: var(--concept-max);margin: 80px auto 0;display: block;}
.concept__photos{position: relative;min-height: 830px;}
.concept__photo{position: absolute;margin: 0;border-radius: 42px;overflow: hidden;aspect-ratio: 4 / 3;  --label-left: auto;  --label-right: auto;  --label-top: auto;  --label-bottom: auto;  --label-transform: none;  --label-svg-h: 42px;}
.concept__photo > img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;display: block;}
.concept__label{position: absolute;z-index: 3;pointer-events: none;user-select: none;line-height: 1;}
.concept__labelSvg{display:block;height:auto;height: var(--label-svg-h);opacity:.9;}

.concept__label--bench,.concept__label--cafe,.concept__label--terrace{left: var(--label-left);right: var(--label-right);top: var(--label-top);bottom: var(--label-bottom);transform: var(--label-transform);}
.concept__photo--bench{left: 4rem;top: 0;width: 55%;height: 400px;z-index: 1; --label-left: 2rem; --label-top: 1.5rem; --label-svg-h: 40px;}
.concept__photo--terrace{right: 0;top: 130px;width: 45%;z-index: 2; --label-right: 2rem; --label-bottom: 1.5rem; --label-svg-h: 40px;}
.concept__photo--cafe{left: 0;bottom: 0;width: 50%;height: 380px;z-index: 1;}
.concept__label--cafe{position: absolute;left: 1.5rem;top: 1rem;right: auto;bottom: auto;z-index: 3;}
.concept__label--cafe .concept__labelSvg{height: 40px;transform: rotate(90deg) translateY(-100%);transform-origin: left top;}

.concept__photo--bench::after,.concept__photo--terrace::after,.concept__photo--cafe::after{content:"";position:absolute;z-index:1;pointer-events:none;}
.concept__photo--bench::after{left: 0;right: 0;top: 0;height: 34%;background: linear-gradient(to bottom, rgba(109,98,92,.60) 0%, rgba(0,0,0,.24) 55%, rgba(0,0,0,0) 100%);}
.concept__photo--terrace::after{left:0; right:0;top:0;height: 34%;background: linear-gradient(to bottom,rgba(0,0,0,.38) 0%,rgba(0,0,0,0) 100%);}
.concept__photo--cafe::after{inset:0;background: linear-gradient(to bottom,  rgba(227,185,173,.32) 0%,  rgba(227,185,173,.18) 25%, rgba(227,185,173,0) 52%, rgba(227,185,173,0) 100%);mix-blend-mode: multiply;}

.concept__desc--inline{position: absolute;right: 0;bottom:3rem;width: 44%;display: block;padding: 0;z-index: 3;background: transparent;}
.concept__desc--inline .concept__descTitle{margin: 0 0 16px;font-family: var(--font-base);font-weight: bold;color: var(--torch-brown);line-height: 1.7;font-size: 1.2rem;}
.concept__desc--inline .concept__descBody{margin: 0;color: var(--torch-brown);line-height: 2;font-size: 1rem;}

/* TB */
@media (max-width: 1079px){
.concept .concept__header .home-title__svg{width: 100%;}
.concept__card{padding: 40px 30px;margin: 30px auto 0;gap: 40px;}
.concept-point__title{gap:10px;padding-left:0;min-height:80px;}
.concept-point__icon{width:80px;}
.concept-point__copy,.concept-point__em{font-size:1.2rem;}
.concept-point__dis{font-size: 1rem;line-height: 1.5;}
.concept__bottomArea{margin: 120px auto 0;gap: 130px;}
.concept__photos{ height: clamp(240px, 44vw, 420px); }
.concept__photo{ border-radius: 46px; }
.concept__photo--terrace{ top: 15%;height: 350px;}
.concept__desc{grid-template-columns: 1fr 200px;gap: 24px;}
}

/* TB-mini */
@media (max-width: 820px){
.concept__inner{padding: 80px 40px;}
.concept__photo--bench,.concept__photo--cafe,.concept__photo--terrace { --label-svg-h: 30px;}
.concept__bottomArea{margin: 60px auto 0;gap: 80px;}
.concept__photo{ border-radius: 40px; }
.concept__photo--cafe{height: 350px;}
.concept__label--cafe .concept__labelSvg{height: 30px;}
.concept__photo--terrace{ top: 15%;height: 250px;}
.concept__desc{grid-template-columns: 1fr 200px;gap: 24px;padding: 0 clamp(20px, 4vw, 64px);}
.concept__descTitle {font-size: 1.2rem;}
.concept__descBody{font-size: .9rem;}
}

/* SP */
@media (max-width: 599px){
.concept__inner{padding: 50px 20px;}
.concept__card{grid-template-columns: 1fr;padding: 30px 20px;gap: 20px;border-radius: 28px;}
.concept-point__title{gap:12px;min-height:70px;}
.concept-point__text{display:contents;}
.concept-point__icon{width:70px;}
.concept-point__copy,.concept-point__em{font-size:1.1rem;}
.concept-point__dis{font-size: .9rem;line-height: 1.5;}

.concept__bottomArea{margin: 50px auto 0;display: block;}
.concept__photos{position: static;min-height: auto;height: auto;display: flex;flex-direction: column;gap: 10px;align-items: flex-start;}
.concept__photo{position: relative;left: auto;right: auto;top: auto;bottom: auto;width: 100%;height: 200px;border-radius: 24px;overflow: hidden;margin: 0;}
.concept__photo > img{position: static;inset: auto;}
.concept__label--bench,.concept__label--terrace,.concept__label--cafe{left: 1rem;top: 1rem;}
.concept__label--bench .concept__labelSvg,.concept__label--terrace .concept__labelSvg,.concept__label--cafe .concept__labelSvg{height: 28px;}
.concept__label--cafe .concept__labelSvg{transform: rotate(0deg);}



  /* ---------- 説明文（PCのabsolute解除） ---------- */
  .concept__desc--inline{
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    padding: 0 !important;
    margin-top: 4px;
    background: transparent;
    z-index: auto;
    text-align: left;
  }

  .concept__descText{
    text-align: left;
  }

  .concept__desc--inline .concept__descTitle{
    margin: 0 0 10px;
    font-size: 1rem;
    line-height: 1.7;
    text-align: left;
  }

  .concept__desc--inline .concept__descBody{
    margin: 0;
    font-size: .9rem;
    line-height: 1.9;
    text-align: left;
  }
}

/* SP */
@media (max-width: 420px){
.concept{　--concept-bg-h: min(1000px, 250vw);}
.concept .concept__header .home-title__svg {width: 70%;}
.concept__catch{font-size: .9rem;padding-top: 20px;}
.concept__desc{padding: 0;}
}


/* =========================================================
   ACCESS
========================================================= */
.access *{ box-sizing: border-box; }
.access{padding: 0 20px 80px; background: var(--torch-l-orange);}
.access__inner{max-width: var(--concept-max); margin: 0 auto;padding:0 40px;}
.access-grid{display:grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 100px;align-items:start;margin-top: 28px;}

/* タイトル */
.access__title{position: relative;display: grid;justify-items: center;text-align: center;gap: 10px;padding: 120px 20px 0;overflow: hidden;}
.access__title > .home-title,.access__title > .home-title-ja{position: relative;z-index: 2;opacity: .9;}
.access__title .store-tabs__illust{position: absolute;z-index: 1;top: 50%;height: auto;pointer-events: none;user-select: none;transform: translateY(-50%);}
.access__title .store-tabs__illust--left{left: 28%;top: 42%;bottom: auto;width: clamp(70px, 15vw, 350px);}
.access__title .store-tabs__illust--right{right: 28%;top: 70%;bottom: auto;left: auto;width: clamp(60px, 10vw, 110px);}

/* 各店舗カード */
.access-card{
  --dl-label: 92px;
  --dl-gap: 10px;
  display:grid; gap: 8px;}
.access-card__ttl{display:flex; justify-content:center; align-items:center; margin: 8px 0;}
.access-card__ttlSvg{display:block; height: 24px; width: auto; color: rgba(84,25,5,.85);}
.access-card__ttlSvg [fill]:not([fill="none"]){ fill: currentColor !important; }
.access-card__ttlSvg [stroke]:not([stroke="none"]){ stroke: currentColor !important; }
.access-card__ttlFallback{font-weight:900; letter-spacing:.12em; color: rgba(84,25,5,.7);}

.access-card__photo{border-radius: 60px;overflow:hidden;background:#ddd;height: 250px;}
.access-card__photo img{width:100%; height:100%; object-fit:cover; display:block;}
.access-card__name{margin: 4px 0 0;text-align:center;font-family: var(--font-base);color: var(--torch-brown);font-size: 1.3rem;}

/* 情報（画像の「薄ベージュのラベル」寄せ） */
.access-card__dl{margin: 8px 0 0;display:grid;grid-template-columns: var(--dl-label) 1fr;column-gap: var(--dl-gap);align-items:stretch;row-gap: 2px;}
.access-card__dl dt{margin:0;padding: 8px 10px;border-radius: 4px;background: #f5e7d8;color: var(--torch-brown);font-weight: 500;text-align:center;font-size: .9rem;align-self: stretch;display:flex;align-items:center;justify-content:center;}
.access-card__dl dd{margin:0;padding: 8px 0;color: var(--torch-brown);font-size: .9rem;}
.access-card__dl a{color: inherit; text-decoration: underline;}

/* SNS */
.access-card__sns{display:flex; justify-content:left; gap: 10px; margin-top: 4px;padding-left: calc(var(--dl-label) + var(--dl-gap));align-items: center;flex-wrap: wrap;}
.access-card__sns .sns-ico{width:20px; height:20px; display:block;}
.access-card__sns p{color: var(--torch-brown);font-size: .9rem;line-height: 1.2;}

/* map */
.access-card__map{overflow:hidden;border: 2px solid #fff;margin-top: 6px;}
.access-card__map iframe{width:100%; height: 260px; border:0; display:block;}

/* TB */
@media (max-width: 1079px){
.access__title{padding: 100px 20px 0;}
.access__title .store-tabs__illust--left{left: 25%;}
.access__title .store-tabs__illust--right{right: 25%;}
}

/* TB/SP */
@media (max-width: 959px){
.access__title{padding: 80px 20px 0;}
.access__title .store-tabs__illust--left{left: 23%;}
.access__title .store-tabs__illust--right{right: 23%;}
.home-title__svg, .home-title[data-orient="v"] {width: 180px;}
.access-grid{grid-template-columns: 1fr; gap: 46px;}
.access-card__map iframe{height: 240px;}
}

@media (max-width: 599px){
.access{padding: 0 0 40px;}
.access__inner{padding: 0 20px;}
.home-title__svg, .home-title[data-orient="v"]{width: 100%;}
.access__title{ padding: 50px 10px 18px; }
.access__title .store-tabs__illust--left{ left: 0;width: 120px; }
.access__title .store-tabs__illust--right{ right: 0;width: 80px; }
.home-title__svg, .home-title[data-orient="v"] {width: 140px;}
.access-card__name{font-size:1.1rem;}
.access-card__photo{border-radius: 28px;}
.access-card__dl{grid-template-columns: 84px 1fr; column-gap: 12px;}
.access-card__dl dt{font-size:.85rem;}
.access-card__dl dd{font-size:.9rem;}
.access-card__map iframe{height: 210px;}
}

/* =========================================================
   SHOP FREE AREA
========================================================= */
.shop-freearea{background: #ece7e0;}
.shop-freearea__inner{max-width: var(--concept-max);margin: 0 auto;padding: 40px 20px;}
.shop-freearea__block{display: grid;grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);gap: 44px;align-items: start;padding:4rem;background: #fff;border-radius: 20px;}
.shop-freearea__block--delivery{grid-template-columns: minmax(0, 1fr) minmax(620px, 1fr);}
.shop-freearea__block--line{grid-template-columns: minmax(0, 1.55fr) minmax(180px, 0.45fr);align-items: center;}
.shop-freearea__block + .shop-freearea__block{margin-top: 16px;}
.shop-freearea__text{min-width: 0;}
.shop-freearea__media{min-width: 0;}
.shop-freearea__titleSvg{display: block;width: auto;margin-bottom: 2rem;}
.shop-freearea__titleSvg--delivery,.shop-freearea__titleSvg--line{height: 36px !important;}
.shop-freearea__text p{margin: 0 0 1rem;color: var(--torch-brown);line-height: 1.75;font-size: 1rem;}
.shop-freearea__lead{color: var(--torch-brown);font-family: var(--font-base);font-size: 1.2rem;line-height: 1.5;font-weight: bold;margin-bottom:.5rem;}
.shop-freearea__media--delivery .delivery{margin: 0;}
.shop-freearea__media--line{display: flex;justify-content: center;align-items: center;}
.shop-freearea__stamp{display: block;width: min(260px, 100%);height: auto;}

/* TB */
@media (max-width: 1079px){
.shop-freearea{padding: 30px;}
.shop-freearea__block{gap: 28px;padding: 3rem;}
.shop-freearea__block--delivery{grid-template-columns: minmax(0, 1fr) minmax(360px, 1.2fr);align-items: start;}
.shop-freearea__block--line{grid-template-columns: minmax(0, 1.50fr) minmax(180px, 0.50fr);}
.shop-freearea__titleSvg--delivery,.shop-freearea__titleSvg--line{height: 30px !important;}
.shop-freearea__lead{font-size: 1rem;line-height: 1.6;}
.shop-freearea__text p{font-size: .82rem;line-height: 1.85;margin: 0 0 .9rem;}
.shop-freearea__media--delivery .delivery{padding: 2rem 1.25rem;border-radius: 20px;}
.shop-freearea__media--delivery .delivery__inner{gap: 18px;}
.shop-freearea__media--delivery .delivery__left{flex: 0 0 72px;}
.shop-freearea__media--delivery .delivery__img img{width: 72px;}
.shop-freearea__media--delivery .delivery__item-ttl{font-size: .95rem;line-height: 1.6;margin-bottom: 10px;}
.shop-freearea__media--delivery .delivery__buttons{width: 100%;max-width: 100%;gap: 10px;}
.shop-freearea__media--delivery .delivery_item-button{padding: 12px 12px;font-size: .82rem;}
.shop-freearea__media--delivery .delivery__download{font-size: .9rem;margin-top: .8rem;}
.shop-freearea__media--delivery .delivery_apps{gap: 10px;padding-left: 0;margin-top: 8px;}
.shop-freearea__media--delivery .delivery__ico-appstore img,
.shop-freearea__media--delivery .delivery__ico-googleplay img{height: 36px;}
.shop-freearea__media--line{justify-content: center;align-items: center;}
.shop-freearea__stamp{width: min(180px, 100%);}
}

/* TB-mini */
@media (max-width: 959px){
.shop-freearea__block--delivery{grid-template-columns: 1fr;gap: 20px;align-items: start;}
.shop-freearea__block--delivery .shop-freearea__text{max-width: none;}
.shop-freearea__block--delivery .shop-freearea__titleSvg--delivery{height: 30px;margin-bottom: 12px;}
.shop-freearea__block--delivery .shop-freearea__text p{font-size: .88rem;line-height: 1.9;margin: 0 0 .9rem;}
.shop-freearea__block--delivery .shop-freearea__media--delivery{display: flex;justify-content: center;}
.shop-freearea__block--delivery .delivery{width: 100%;max-width: 460px;padding: 1.5rem 1rem;margin: 0;}
.shop-freearea__block--delivery .delivery__inner{gap: 14px;}
.shop-freearea__block--delivery .delivery__left{flex: 0 0 64px;}
.shop-freearea__block--delivery .delivery__img img{width: 64px;}
.shop-freearea__block--delivery .delivery__item-ttl{font-size: .9rem;line-height: 1.6;}
.shop-freearea__block--delivery .delivery__buttons{gap: 8px;}
.shop-freearea__block--delivery .delivery_item-button{padding: 10px 10px;font-size: .78rem;}
.shop-freearea__block--delivery .delivery__download{font-size: .85rem;}
.shop-freearea__block--delivery .delivery__ico-appstore img,
.shop-freearea__block--delivery .delivery__ico-googleplay img{height: 34px;}
}

/* SP */
@media (max-width: 599px){
.shop-freearea{padding: 0;}
.shop-freearea__block{padding: 2rem;gap: 18px;}
.shop-freearea__titleSvg--delivery,.shop-freearea__titleSvg--line{height: 28px;}
.shop-freearea__text p{font-size: .9rem;line-height: 1.8;}
.shop-freearea__block--line{grid-template-columns: 1fr;gap: 18px;align-items: start;}
.shop-freearea__block--line .shop-freearea__text{width: 100%;max-width: none;}
.shop-freearea__block--line .shop-freearea__lead{font-size: 1rem;line-height: 1.7;margin: 0 0 12px;}
.shop-freearea__block--line .shop-freearea__text p{font-size: .85rem;line-height: 1.5;margin: 0 0 .5rem;word-break: normal;overflow-wrap: anywhere;}
.shop-freearea__media--line{justify-content: center;align-items: center;}
.shop-freearea__stamp{width: min(180px, 100%);margin: 0 auto;}
}

/* =========================================================
   フッター
========================================================= */

#footer { background:var(--torch-brown); color:#fff; }
#footer-wrapper{display:flex;justify-content:space-between;gap:40px;max-width:var(--concept-max);margin:0 auto;box-sizing:border-box;padding: 4rem 6rem;align-items:stretch;}
.conpany{width:70%;}
.conpany,.conpany p{line-height:1.7;font-size: .9rem;text-align: left;}
.conpany p{padding-top:20px;}
.company-logo{width:180px;height:auto;filter:brightness(0) invert(1);margin-bottom:1.5rem;}
.company-dl{margin:0;display:grid;grid-template-columns:auto 1fr;column-gap:20px;row-gap:8px;color:#fff;}
.company-dl > div{display:contents;}
.company-dl dt{padding: 4px 12px 0 0;}
.company-dl dd{margin:0;padding: 4px 0;}

.footer-r{display:flex;flex-direction:column;justify-content:end;align-items:flex-end;min-width: 260px;padding:0;margin-bottom: 0;gap: 30px;}

#footer .footer-r .footer-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns: repeat(2, max-content);column-gap: 40px;row-gap: 16px;justify-content:end;align-items:start;}
footer .footermenust li{border-right: 0px solid #ccc;}
#footer .footer-r .footer-nav li{margin:0;padding:0;}
#footer .footer-r .footer-nav a{color:#fff;text-decoration:none;line-height:1.7;font-size:.85rem;display:inline-block;padding:0;font-family: var(--font-base);}

#footer .footer-r .copyr{margin:18px 0 0;text-align:right !important;align-self:flex-end;}
#footer .footer-nav a:hover{color:#ef7e00;transform: translate3d(0, -2px, 0);}
#footer a {color:#fff !important;    text-decoration-line: underline;}

/* TB/SP */
@media (max-width: 959px){
#footer-wrapper{padding: 60px;}
}

/* =========================================================
   フッター：SPは1カラム（右メニューを下に落とす）
========================================================= */
@media (max-width: 599px){
#footer-wrapper{flex-direction: column;align-items: stretch;gap: 18px;padding: 40px 20px;}
.conpany{ width: 100%; }
.footer-r{width: 100%;display: flex;flex-direction: column;align-items: stretch;gap: 14px;}

#footer .footer-nav ul,#footer .st-footer-link ul{display: grid !important;grid-template-columns: repeat(2, minmax(0, 1fr)) !important;gap: 10px !important;width: 100%;justify-content: stretch !important;align-items: stretch;}
#footer .footer-nav{width: 100%;padding-top: 14px;margin-top: 4px;}
#footer .footer-r .footer-nav ul{display: grid !important;grid-template-columns: repeat(2, auto);gap: 18px 60px;justify-content: center !important;padding-top: 20px;}
#footer .footer-nav li{ padding: 0 !important; width: 100%;min-width: 0;} 
#footer .footer-r .copyr{margin: 6px 0 0;text-align: center !important;align-self: anchor-center;}
#footer .footer-r .footer-nav a{display: flex !important;align-items: center;justify-content: center;width: 100%;height: 30px;box-sizing: border-box;border-radius: 10px;text-align: center;background: rgba(255,255,255,.04);border: 1px solid rgba(255,255,255,.14);font-size: .8rem;padding:20px 0;}

#page-top:not(.st-pagetop-text){bottom:20px; right:10px;}
#page-top:not(.page-top-img):not(.st-pagetop-text) a{width: 50px;height: 50px;background: #e2c29f;}
}

/* =========================================================
   下層ぺージ
========================================================= */
body:not(.front-page) main{border: none !important;padding:5rem 6rem 4rem;box-sizing: border-box;margin: 0;}
.entry-title,h1,h2,h3,dd h3 a{color:var(--torch-brown) !important;}
body:not(.front-page) .entry-content h2{margin-top: 3rem !important;padding: 1rem 0 !important;border-top: 1px solid #d4d4d4 !important;}
body:not(.front-page) .entry-content h3{margin-top: 2rem !important; padding: 0 !important;}
main .kanren:not(.st-cardbox) dt{height: 130px;overflow: hidden;}

/* TB */
@media (max-width: 1079px){
body:not(.front-page) main{padding: 6rem 3rem 4rem !important;}
}

/* TB-mini */
@media (max-width: 959px){
body:not(.front-page) main{padding: 4rem 2rem !important;}
}

/* SP */
@media (max-width: 599px){
body:not(.front-page) main{padding: 2rem 1rem !important;}
p{font-size:.9rem;line-height: 1.8;}
}

/* =========================
   CAFE MENU
========================= */
.cafe-menu *{ box-sizing: border-box; }
.cafe-menu{
  --cm-text:#2e231f;
  --cm-beige:#f4e9da;
  --cm-gray:#ece8e5;
background: var(--menu-brown);color: var(--torch-brown);padding: 3rem 2rem 4rem;border-radius: 30px;max-width: 980px;margin: 0 auto;}

.cafe-menu__header{text-align: center;margin-bottom: 3rem;position: relative;}
.cafe-menu__title{margin-bottom: 2rem;}
.cafe-menu__title-svg,.cafe-bottom__title-svg{width:auto;height:40px !important;margin:0 auto;}
.cafe-menu__takeout{position: absolute;right: 0;top: 0;width: 140px;border: 2px dashed var(--torch-orange);border-radius: 14px;padding: 1.5rem 1rem 1rem;color: var(--torch-brown);line-height: 1;}
.cafe-menu__takeout-ttl{position: absolute;top: -8px;left: 50%;transform: translateX(-50%);height: 16px;width: auto;display: block;z-index: 2;background: var(--menu-brown);padding: 0 10px;box-sizing: content-box;}
.cafe-menu__takeout p{margin: 0;display: grid;gap: 0px;text-align: center;}
.cafe-menu__takeout .label,.cafe-menu__takeout .price,.cafe-menu__takeout .num,.cafe-menu__takeout .yen,.cafe-menu__takeout .tax{font-family: var(--font-base);font-weight: bold;font-size: .9rem;}
.cafe-menu__takeout .price{display: inline-flex;align-items: flex-end;justify-content: center;gap: 2px;line-height: 1;}
.cafe-menu__takeout .num{font-size: 1.8rem;}
.cafe-menu__takeout .yen{margin-bottom: 2px;}
.cafe-menu__takeout .tax{margin-left: 4px;margin-bottom: 2px;font-size: .8rem;}
.cafe-menu__takeout small{display: block;font-size: .8rem;}
.cafe-menu__lead{margin: 0;font-size: .9rem;line-height: 1.7;font-family: var(--font-base);font-weight: bold;}

/* Cafe menu 内容 */
.cafe-menu__grid{display: grid;grid-template-columns: 1fr 1fr;grid-template-areas:
    "hot ice"
    "special ice"
    "kids cafe-note"
    "divider divider"
    "icecream with-bread";gap: 22px;}
.cafe-card__title-svg{width:auto;height:24px !important;margin:0 auto 1rem;}
.cafe-card{padding: 2rem 0 1rem;border-radius: 4px;}
.cafe-card--hot,.cafe-card--ice,.cafe-card--special,.cafe-card--kids,.cafe-card--icecream,.cafe-card--with-bread{ background: var(--cm-beige); }
.cafe-card--gray{ background: var(--cm-gray); }
.cafe-card--hot{ grid-area: hot; }
.cafe-card--ice{ grid-area: ice; }
.cafe-card--special{ grid-area: special; }
.cafe-card--kids{ grid-area: kids; }
.cafe-card--icecream{ grid-area: icecream; }
.cafe-card--cafe-note{ grid-area: cafe-note; }
.cafe-card--with-bread{ grid-area: with-bread; }
.cafe-card__title{text-align: center;}
.cafe-card__title--brown{ color: var(--cm-brown); }

.cafe-list{list-style: none;margin: 0;padding: 0;}
.cafe-list li,.cafe-bottom__withbreadList li{display: grid;grid-template-columns: 1fr auto;gap: 12px;align-items: baseline;font-size: 1rem;font-weight: bold;padding: 4px 1.9rem;}
.cafe-list li span:last-child,.cafe-bottom__withbreadList li span:last-child{white-space: nowrap;}
.cafe-card__sub{margin: 4px 0 8px 4px;font-size: .8rem !important;}
.cafe-card .yen{margin: 2px 0  0 4px;font-size: .8rem;}
.cafe-card__subnote {border: 2px dashed var(--torch-orange);padding: 4px .5rem;display: block;box-sizing: border-box;margin: 0 1rem;}
.cafe-list li.plus {font-size: .8rem !important;color:var(--torch-orange);}
.cafe-card__subnote li {margin: 0;padding: 4px;}

/* Topping */
.cafe-topping{margin-top: 2rem;}
.cafe-topping__head{display: flex;align-items: center;}

/* Special */
.cafe-card__pill{padding: .8rem 1rem;margin: .5rem 1rem;background: #f8d4ab;border-radius: 12px;font-size: .8rem;line-height: 1.6;font-weight: bold;}

/* Kidsタイトル行 */
.cafe-card__title--kids{position: relative;display: flex;justify-content: center;align-items: center;min-height: 34px;}
.cafe-card__kidsIcon{position: absolute;left: 15%;top: 30%;transform: translateY(-50%);font-size: 40px;color: var(--torch-brown);opacity: .5;}

/* 右 */
.cafe-card--cafe-note{display: grid;gap: 14px;min-width: 0;margin: 4px 0 0;font-weight: bold;font-size: .8rem;line-height: 1.5;color: var(--torch-brown);font-weight: bold;}
.cafe-note__main{margin-bottom: .5rem;font-weight: bold;font-size: 1.2rem;line-height: 1.4;color: var(--torch-brown);font-family: var(--font-base);font-weight: bold;}
.cafe-plus{margin:0 4px; padding:4px;color: #fff;background:var(--torch-orange);}

/* Bottom area */
.cafe-menu__divider{border-top: 2px dashed #b99271;grid-column: 1 / -1;margin-top:2rem;}
.cafe-card--icecream,.cafe-card--with-bread{background: transparent;padding: 1rem 0;}


/* TB */
@media (max-width: 959px){
.cafe-menu{padding: 3rem 2rem 2rem;}
.cafe-menu__header{text-align: left;}
.cafe-menu__title-svg, .cafe-bottom__title-svg{height: 35px !important;}
.cafe-menu__lead{font-size: .8rem;}
.cafe-menu__takeout{padding: 1rem .5rem .5rem;}
.cafe-menu__takeout .num{font-size: 1.5rem;}
.cafe-card__title-svg{height: 20px !important;}
.cafe-menu__grid{gap:8px;}
.cafe-card__kidsIcon{left: 5%;}
.cafe-card--cafe-note{padding:.5rem;}
.cafe-note__main{font-size: .9rem;}
.post .entry-content ul li{font-size: .9rem;}
}

/* SP（1カラム） */
@media (max-width: 599px){
.cafe-menu{padding: 1.2rem 0.9rem 1.4rem;border-radius: 20px;max-width: 100%;overflow: hidden;}
.cafe-menu__header{margin-bottom: 1rem;display: grid;grid-template-columns: 1fr;grid-template-areas:"title""lead""takeout";row-gap: 10px;}
.cafe-menu__title{margin: 1rem 0;text-align: center;order: 1;}
.cafe-menu__title-svg,.cafe-bottom__title-svg{height: 28px !important;max-width: 100%;}
.cafe-menu__lead{order: 2;margin: 0;font-size: 0.78rem;line-height: 1.7;text-align: left;}

.cafe-menu__takeout{order: 3;position: relative;right: auto;top: auto;width: 100%;max-width: 80%;margin: 0.4rem auto 0.8rem;padding: 1rem 0.6rem 0.6rem;}
.cafe-menu__takeout-ttl{position: absolute;top: -7px;left: 50%;transform: translateX(-50%);width: 50%;}
.cafe-menu__takeout p{display: flex;flex-wrap: wrap !important;flex-direction: row;align-items: center;align-items: baseline;gap: 0 8px;justify-content: center !important;}
.cafe-menu__takeout .label,.cafe-menu__takeout .price{white-space: nowrap;}
.cafe-menu__takeout .num{font-size: 1.4rem;}
.cafe-menu__takeout small{flex-basis: 100%;}

.cafe-menu__grid{display: grid;grid-template-columns: 1fr !important;grid-template-areas: "hot""ice""special""kids""cafe-note""divider""icecream" "with-bread";gap: 12px;width: 100%;}
.cafe-menu__grid > *{grid-column: 1 / -1;justify-self: stretch;width: 100%;min-width: 0;max-width: 100%;}
.cafe-card{padding: 1rem 0 0.8rem;border-radius: 8px;}
.cafe-card__title-svg{height: 20px !important;margin-bottom: 0.7rem;}
.cafe-list li,.cafe-bottom__withbreadList li{padding: 4px 0.8rem;gap: 8px;font-size: 0.9rem;}
.cafe-card__subnote{margin: 0 0.7rem;padding: 4px 0.4rem;}
.cafe-card__subnote li{padding: 2px 0;font-size: 0.72rem !important;}
.cafe-card__pill{margin: 0.4rem 0.7rem;padding: 0.6rem 0.75rem;font-size: 0.75rem;}

.cafe-card__title--kids{min-height: 28px;padding-left: 18px;}
.cafe-card__kidsIcon{left: 3rem;top: 40%;transform: translateY(-50%);font-size: 1.6rem;}
.cafe-topping{margin-top: 1rem;}
.cafe-menu__divider{margin-top:0;}
}



/* =========================
   店舗情報
========================= */
.entry-content .access-card__ttlSvg{height:24px !important;}
table th{background:#f1efeb;}
.entry-content .no-image,.entry-content .no-thumb{background: url("images/no-image.webp") center / cover no-repeat !important;}
.entry-content .access-grid {gap: 50px;}
.entry-content .access-card__name{font-weight: bold;padding:1rem 0;}
.entry-content .access-card__sns p{color: var(--torch-brown);font-size: .9rem;line-height: 1.2;}
.entry-content .shop__photo{display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 24px;align-items: start;}
.entry-content .shop__photoname{font-size: 1rem;font-weight: bold;color: var(--torch-brown);font-family: var(--font-base, sans-serif);margin-bottom:.5rem;}
.entry-content .shop__photoItem{margin: 0;display: grid;gap: 10px;align-items: start;}
.entry-content .shop__photoItem img{display: block;width: 100%;aspect-ratio: 4 / 2.5;object-fit: cover;border-radius: 18px;}
.shop__photoText{display: grid;gap: 8px;}
.entry-content .shop__photoItem h3{margin: 0;font-size: 1rem;line-height: 1.5;color: var(--torch-brown, #541905);}
.entry-content .shop__photoItem p{font-size: .9rem;line-height: 1.8;}

/* TB */
@media (max-width: 1079px){
.entry-content .shop__photo{grid-template-columns: 1fr;gap: 18px;}
.entry-content .shop__photoItem{grid-template-columns: 42% 1fr;gap: 20px;align-items: center;}
.entry-content .shop__photoname{font-size: 1rem;}
.shop__photoItem img{border-radius: 16px;}
.shop__photoText p{font-size: .8rem;line-height: 1.7;}
}

/* SP */
@media (max-width: 599px){
.entry-content .shop__photo{gap: 16px;}
.entry-content .shop__photoItem{grid-template-columns: 1fr;gap: 10px;align-items: start;}
.entry-content .shop__photoItem img{border-radius: 14px;}
.entry-content .shop__photoText{margin-bottom: 2rem;}
}


/* =========================
　応募フォーム
========================= */
.entry-content iframe{max-width: var(--concept-max) !important;}
.comform-wrap{max-width: var(--concept-max) !important;}

/* TB */
@media (max-width: 959px){
table th, table th p, .post table tr td p, .post table tr td{font-size: .9rem;}
}

/* =========================
   FAQ
========================= */
.faq{max-width: var(--concept-max);margin: 0 auto;display: grid;gap: 18px;}
.faq__item{background: #f1efeb;border-radius: 16px;overflow: hidden;border: 1px solid rgba(0,0,0,.04);}
.faq__question::-webkit-details-marker{display: none;}
.faq__question{list-style: none;position: relative;cursor: pointer;margin: 0;padding: 22px 52px 18px 24px;color: #333;font-family: var(--font-base, sans-serif);font-weight: 700;font-size: 1rem;line-height: 1.5;}
.faq__item[open] .faq__question::before{content: "";position: absolute;left: 24px;right: 24px;bottom: 0;height: 1px;background: rgba(0,0,0,.35);}
.faq__question::after{content: "";position: absolute;right: 24px;top: 50%;width: 7px;height: 7px;border-right: 2px solid rgba(0,0,0,.7);border-bottom: 2px solid rgba(0,0,0,.7);transform: translateY(-60%) rotate(45deg);transition: transform .2s ease;}
.faq__item[open] .faq__question::after{transform: translateY(-35%) rotate(-135deg);}
.faq__answer{padding: 16px 24px 22px;color: #666;font-size: .95rem;line-height: 2;}

/* SP */
@media (max-width: 599px){
.faq{gap: 12px;}
.faq__item{border-radius: 12px;}
.faq__question{padding: 16px 42px 14px 16px;font-size: .92rem;}
.faq__item[open] .faq__question::before{left: 16px;right: 16px;}
.faq__question::after{right: 16px;width: 6px;height: 6px;}
.faq__answer{padding: 12px 16px 16px;font-size: .82rem;line-height: 1.9;}
}

/* =========================
   スタッフ紹介
========================= */
.ceo-sign{text-align:right;}
.ceo-sign__name{font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;font-size: 2rem;letter-spacing: .03em;
  padding-left: .5rem;}
.staff{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 40px;margin-top: 24px;}
.staffText{display: grid;grid-template-columns: 180px 1fr;column-gap: 20px;align-items: start;}
.staffImage{grid-column: 1;grid-row: 1 / span 20;}
.staffImage img{display: block;width: 100%;height: auto;object-fit: cover;}
.staffText p{grid-column: 2;margin: 0;}
.staffText p.staff__copy{font-family: var(--font-base);color: var(--torch-brown);margin-bottom: 1rem;font-weight:bold;font-size: 1.1rem;}
.staffText p.staff__name{font-weight: bold;}
.staffText p{font-size: 0.9rem;}
.staffText p:last-child{margin-bottom: 0;}

/* タブレット */
@media (max-width: 1079px){
.staff{gap: 28px;}
.staffText{grid-template-columns: 160px 1fr;column-gap: 16px;}
.staffText p.staff__copy{font-size: 1rem;}
.staffText p.staff__name,.staffText p{font-size: 0.85rem;}
}

/* TB-mini*/
@media (max-width: 959px){
.staff{grid-template-columns: 1fr;gap: 28px;}
.staffText{grid-template-columns: 190px 1fr;column-gap: 16px;align-items: start;}
.staffText p.staff__name,.staffText p{line-height: 1.6;}
}

/* SP*/
@media (max-width: 599px){
.staff{grid-template-columns: 1fr;gap: 24px;}
.staffText{grid-template-columns: 1fr;row-gap: 10px;}
.staffImage{grid-column: 1;grid-row: auto;max-width: 200px;margin: 0 auto;}
.staffText p{grid-column: 1;}
.staffText p.staff__copy{justify-self: center;}
.staffText p.staff__name{font-size: 1rem;}
}

/* =========================
   商品一覧
========================= */

.product-list{display:grid;gap:24px;grid-template-columns:repeat(3, minmax(0, 1fr));align-items:stretch;}
.product-item{display:flex;flex-direction:column;gap:10px;height: 100%;}
.product-icon img{width:100%;aspect-ratio: 4 / 3;object-fit:cover;display:block;border-radius: 20px;}
.product-body{min-height: 300px;display: flex;flex-direction: column;}
.product-title{margin:.5rem 0;font-weight:bold;font-size:1.2rem;line-height:1.3;text-align:center;font-family: var(--font-base);color: var(--torch-brown);}
.product-price{font-weight:bold;font-size:1.2rem;text-align:right;font-family: var(--font-base);color: var(--torch-brown);padding-bottom:.5rem;}
.product-desc{margin:0;font-size:.9rem;line-height:1.6;text-align:left;min-height: calc(1.6em * 3);}

.product-bottom{margin-top: auto;}
.product-allergen{display: flex;flex-direction: column;gap: 6px;min-height: 80px;background:#f6f0e8;border-radius: 8px;padding: .5rem;margin-bottom:1rem;}
.product-allergen-label{font-size: .9rem;font-weight: bold;color: var(--torch-brown);}
.product-allergen-tags{display: flex;flex-wrap: wrap;gap: 6px;}
.product-allergen-tag{display: inline-block;padding: 4px 10px;border-radius: 999px;font-size: .7rem;line-height: 1;background:#fff ;color: var(--torch-brown);font-weight: bold;}

.product-price .yen{font-family: var(--font-base);font-weight:bold;font-size:.8rem;color: var(--torch-brown);}


@media (max-width: 959px){
  .product-list{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .product-list{ grid-template-columns:repeat(1, minmax(0, 1fr)); }
}

/* =========================
   Uber Eats delivery
========================= */
.delivery{padding: 3rem;border: 1px solid #cebdb7;border-radius: 20px;margin: 4rem 0;}
.delivery__inner{display: flex;align-items: center;gap: 28px;}
.delivery__left{flex: 0 0 20%;display: flex;justify-content: center;align-items: center;}
.delivery__img img{width: 100%;height: auto;display: block;}
.delivery__right{flex: 1 1 auto;min-width: 0;text-align: center;}
.delivery__item-ttl{font-size: 1rem;line-height: 1.8;margin: 0 0 14px;}
.delivery__buttons{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: min(520px, 100%);
  margin: 10px auto 0;
}
.delivery_item-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 16px;
  border-radius: 6px;
  background: var(--torch-orange);
  color: #fff !important;
  text-decoration: none;
  font-weight: 700;
  position: relative;
}

.delivery_item-button:hover{opacity: .8;}
.delivery_item-button:active{transform: translateY(1px);}
.delivery_item-button::after{content: "›";position: absolute;right: 14px;top: 50%;transform: translateY(-50%);font-size:1rem;line-height: 1;}
.Button__label{display: inline-block;}
.delivery__download{margin-top: 1rem;font-size: 1rem;}
.delivery_apps{margin-top: 10px;display: flex;justify-content: center;align-items: center;gap: 12px;flex-wrap: wrap;padding-left: 2rem;}
.delivery__ico-appstore img,.delivery__ico-googleplay img{height: 44px;width: auto;display: block;}

/* スマホ：縦積み */
@media (max-width: 780px){
  .delivery__inner{
    flex-direction: column;
    align-items: center;
    gap: 18px;
  }
  .delivery__left{
    flex-basis: auto;
  }
  .delivery__img img{
    width: 200px;
  }
  .delivery__right{
    text-align: center;
  }
}

@media (max-width: 520px){
  .delivery__buttons{grid-template-columns: 1fr;}
  .delivery_apps{padding-left: 0rem;}
}
