/* 花と、こみち 下層ページ共通CSS */
:root{
  --main:#5f806f; --main-light:#8aab9a; --main-pale:#eef3ef;
  --cream:#f7f6f3; --brass:#b8a47c; --ink:#3a423d; --sub:#6f7a73;
  --line:#e3e0d8; --bar:42px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans JP',sans-serif;color:var(--ink);background:var(--cream);line-height:1.8}
img{max-width:100%;display:block}
a{color:var(--main)}

.sample-banner{position:sticky;top:0;z-index:50;background:var(--main);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);text-align:center;padding:8px 16px;font-size:.88rem;font-weight:800;letter-spacing:.04em}
.sample-banner a{color:#fff;text-decoration:underline;font-weight:600}

/* 下層ヘッダー（ベタ塗り） */
header.site{position:sticky;top:var(--bar);z-index:66;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 28px}
.logo{text-decoration:none}
.logo .en{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.72rem;letter-spacing:.18em;display:block;color:var(--brass)}
.logo .ja{font-family:'Noto Serif JP',serif;font-size:1.3rem;font-weight:600;letter-spacing:.12em;color:var(--ink)}
nav.g{display:flex;gap:20px;align-items:center}
nav.g a{color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:500}
nav.g a:hover{color:var(--main)}
.h-cta{display:flex;gap:10px;align-items:center}
.tel-head{text-align:right;font-size:.72rem;line-height:1.3;color:var(--sub)}
.tel-head b{font-size:1.1rem;letter-spacing:.04em;color:var(--main)}
.line-btn{background:#06c755;color:#fff;text-decoration:none;font-weight:700;font-size:.85rem;padding:9px 16px;border-radius:999px}

/* ページタイトル */
.page-head{background:var(--main-pale);text-align:center;padding:52px 20px}
.page-head .en{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--brass);font-size:.95rem;letter-spacing:.3em;display:block;margin-bottom:8px}
.page-head h1{font-family:'Noto Serif JP',serif;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:600;letter-spacing:.12em}
.page-head .lead{margin-top:12px;color:var(--sub);font-size:.92rem}
.pan{max-width:1080px;margin:0 auto;padding:12px 20px 0;font-size:.78rem;color:var(--sub)}
.pan a{color:var(--sub);display:inline-block;padding:11px 4px}

section{padding:56px 20px;scroll-margin-top:130px}
.sec-head[id]{scroll-margin-top:150px}
footer a{color:#fff;text-decoration:underline;font-weight:600}
.inner{max-width:1080px;margin:0 auto}
.sec-head{text-align:center;margin-bottom:36px}
.sec-head .en{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--brass);font-size:.9rem;letter-spacing:.3em;display:block;margin-bottom:8px}
.sec-head h2{font-family:'Noto Serif JP',serif;font-size:clamp(1.25rem,2.6vw,1.6rem);font-weight:600;letter-spacing:.1em}
.sec-head .lead{margin-top:12px;color:var(--sub);font-size:.92rem}

.btn{display:inline-block;padding:14px 34px;border-radius:999px;text-decoration:none;font-weight:700;font-size:.95rem;letter-spacing:.06em;border:none;cursor:pointer}
.btn-main{background:var(--main);color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.btn-sub{background:#fff;color:var(--main);border:1px solid var(--line)}

/* 商品カード */
.item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.i-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(60,70,64,.07)}
.i-card img{aspect-ratio:1/1;object-fit:cover;width:100%}
.i-card.yoko img{aspect-ratio:4/3}
.i-card .body{padding:16px 18px 20px}
.i-card h3{font-size:1rem;font-weight:700;letter-spacing:.04em}
.i-card .kakaku{margin-top:8px;line-height:1.5}
.i-card .kakaku b{color:var(--main);font-size:1.05rem}
.i-card .souba{font-size:.8rem;color:var(--sub)}
.i-card .omakase{display:inline-block;margin-top:8px;background:var(--main-pale);color:var(--main);font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:4px}
.i-card p.desc{margin-top:8px;font-size:.85rem;color:var(--sub)}

/* 説明ボックス */
.o-box{background:#fff;border-radius:12px;padding:28px 26px;box-shadow:0 2px 10px rgba(60,70,64,.07)}
.o-box h3{font-family:'Noto Serif JP',serif;color:var(--main);font-size:1.1rem;letter-spacing:.08em;margin-bottom:14px}
.o-box ul{list-style:none}
.o-box li{padding:9px 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.o-box li b{color:var(--main)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}

/* 電話CTA帯 */
.tel-band{background:var(--main);color:#fff;text-align:center;padding:36px 20px;border-radius:14px}
.tel-band p{font-size:.95rem}
.tel-band .num{font-family:'Noto Serif JP',serif;font-size:1.7rem;font-weight:700;letter-spacing:.06em;margin:8px 0}
.tel-band small{opacity:.85;font-size:.8rem}

footer{background:var(--main);color:#fff;text-align:center;padding:34px 20px;font-size:.85rem;margin-top:0}
footer .en{font-family:'Cormorant Garamond',serif;font-style:italic;letter-spacing:.2em;display:block;margin-bottom:6px}

dialog#cart-dummy{border:none;border-radius:14px;padding:34px 30px;max-width:440px;width:90%;text-align:center}
dialog#cart-dummy::backdrop{background:rgba(30,40,34,.55)}
dialog#cart-dummy h3{font-family:'Noto Serif JP',serif;color:var(--main);margin-bottom:12px}
dialog#cart-dummy p{font-size:.88rem;text-align:left}
dialog#cart-dummy .note{margin-top:10px;color:var(--sub);font-size:.78rem;text-align:left}
dialog#cart-dummy button{margin-top:18px}

/* ハンバーガー（スマホ） */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;width:44px;height:44px;position:relative;z-index:70;padding:10px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px auto;transition:.3s}
.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;position:fixed;inset:0;background:rgba(247,246,243,.98);z-index:65;padding:96px 30px 30px;flex-direction:column;gap:4px}
.mobile-nav.open{display:flex}
.mobile-nav a{font-size:1.05rem;padding:14px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600;font-family:'Noto Serif JP',serif;letter-spacing:.08em}

.sp-bar{display:none}
@media(max-width:820px){
  :root{--bar:67px}
  nav.g{display:none}.tel-head{display:none}
  header.site .line-btn{display:none}
  .nav-toggle{display:block}
  .item-grid{grid-template-columns:1fr 1fr;gap:12px}
  .two-col{grid-template-columns:1fr}
  section{padding:44px 16px}
  body{padding-bottom:56px}
  .sp-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;height:56px}
  .sp-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;color:#fff;text-decoration:none;font-weight:700;font-size:.95rem}
  .sp-bar .call{background:var(--main)}
  .sp-bar .line{background:#06c755}
}
@media(max-width:480px){
  .item-grid{grid-template-columns:1fr}
}
