
:root{--ink:#2e2a27; --line:#ece7df; --brand:#6f5a4d; --brand2:#806a5b; --gold:#d7b56d;}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#fff;color:var(--ink);
  font-family:'Noto Sans JP',system-ui,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;}
a{color:inherit;text-decoration:none}
.container{max-width:980px;margin:0 auto}

/* Header */
.topbar{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:10}
.topbar .bar{position:relative;height:60px}
.topbar .logo{position:absolute;left:10px;top:50%;transform:translateY(-50%);height:34px;width:auto;display:block}
.topbar .telpill{position:absolute;right:10px;top:50%;transform:translateY(-50%);
  display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;
  border:2px solid #dbcab6;padding:8px 16px;border-radius:999px;font-weight:700;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.topbar .telpill .lbl{display:inline-block;background:var(--brand2);border:1px solid #bda68d;border-radius:6px;padding:2px 6px;font-size:12px}

/* KV */
.kv{background:#2a1d15}
.kv img{display:block;width:100%;height:auto}

/* Info */
.info{background:#fff;border-bottom:1px solid var(--line)}
.info .row{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px 10px;align-items:center}
.info .pill{display:inline-block;border:1px solid #cfc6bb;border-radius:4px;padding:2px 10px;font-size:12px;color:#3b2b24}
.info .text{font-size:14px}

/* Notices */
.notice-wrap{max-width:980px;margin:10px auto;padding:0 10px}
.notice{background:#fff7f3;border:1px solid #f0d5cd;border-radius:10px;padding:10px;margin:8px 0}
.notice .tag{display:inline-block;background:#b33;color:#fff;border-radius:6px;padding:2px 8px;font-size:12px;margin-right:8px}
.notice .date{font-size:12px;color:#8a6b63;margin-left:auto}
.notice p{margin:0;font-size:14px;color:#3b2b24}

/* Section label */
.section-label{max-width:980px;margin:14px auto 6px;color:#6e1e1e;font-size:11px;letter-spacing:.2em;margin-left:25px}

/* Feed core */
.feed{max-width:980px;margin:0 auto;padding:0 10px}
.post{background:#faf8f6;border:1px solid #efeae4;border-radius:12px;padding:8px;margin:10px 0}
.post .head{display:flex;align-items:center;gap:6px;color:#6e1e1e;font-weight:700;border-left:3px solid #b33;padding-left:6px}
.post .time{font-size:12px;color:#777;margin-left:auto}
.card-wrap{display:grid;grid-template-columns:160px 1fr;gap:10px;margin-top:8px}
.left .main{width:100%;height:160px;border:1px solid #e6ddd2;border-radius:10px;object-fit:cover}
.left .thumbs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.left .thumbs img{width:100%;height:70px;border:1px solid #e6ddd2;border-radius:10px;object-fit:cover}
.body{background:#efe9e2;border-radius:10px;border:1px solid #e6ddd2;padding:10px;color:#3b2b24;font-size:13px}
.body .badge{display:inline-block;background:#6e1e1e;color:#fff;border:1px solid var(--gold);border-radius:999px;font-size:12px;padding:1px 8px;margin-right:4px}
.small{font-size:12px;opacity:.85}

/* Price (left-aligned) */
.price-wrap{max-width:980px;margin:12px auto;padding:0 10px}
.price-card{background:#fff;border:1px solid #efeae4;border-radius:12px;padding:14px}
.price-title{margin:0 0 8px;color:#6e1e1e;letter-spacing:.2em}
.menu-course{border:1px solid #e7dcd1;border-radius:10px;padding:8px 10px;margin:10px 0;background:#fff7f3}
.menu-course .course-name{font-weight:700;margin:0 0 6px}
.menu-list{display:block;margin:0;padding:0;list-style:none}
.menu-item{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed #e0d6cc;padding:6px 0}
.menu-item:last-child{border-bottom:none}
.menu-item .label{opacity:.9}
.menu-item .price{font-weight:700}


/* Terms (ご利用規約) */
.terms{max-width:980px;margin:16px auto;padding:0 10px}
.terms-card{background:#faf8f6;border:1px solid #efeae4;border-radius:16px;padding:18px}
.terms-title{color:#6e1e1e;font-weight:700;margin:0 0 12px;letter-spacing:.1em}
.terms p{color:#3b2b24;font-size:14px;line-height:1.9;margin:0 0 12px}
.terms ul{list-style:none;margin:8px 0 12px;padding:0}
.terms li{position:relative;padding-left:1.2em;color:#3b2b24;font-size:14px;line-height:1.9}
.terms li::before{content:'●';position:absolute;left:0;color:#6f5a4d;font-size:.9em;line-height:1.9}

/* Extra sections: コンセプト / アクセス / 支払い */
.section-card{max-width:980px;margin:16px auto;padding:0 10px}
.section-card .card{background:#faf8f6;border:1px solid #efeae4;border-radius:16px;padding:18px}
.section-card .title{color:#6e1e1e;font-weight:700;margin:0 0 12px;letter-spacing:.1em}
.section-card p{color:#3b2b24;font-size:14px;line-height:1.9;margin:0 0 10px}
.pay-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.pay-tag{background:#fff;border:1px solid #e6ddd2;border-radius:999px;padding:4px 10px;font-size:13px;color:#3b2b24}
.addr{font-size:14px;color:#3b2b24}

/* Access map embed */
.map-embed{position:relative;width:100%;max-width:980px;margin:8px 0 0}
.map-embed::before{content:"";display:block;padding-top:56.25%}
.map-embed iframe{position:absolute;inset:0;border:0;width:100%;height:100%;border-radius:12px;box-shadow:0 0 0 1px #e6ddd2 inset}


/* Footer Partners block */
.footer-card{max-width:980px;margin:18px auto;padding:0 10px}
.footer-card .inner{background:#faf8f6;border:1px solid #efeae4;border-radius:16px;padding:14px;text-align:center}
.footer-logos{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;margin-bottom:8px}
.footer-logos a{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border-radius:8px;background:#fff;border:1px solid #e6ddd2}
.footer-logos img{display:block;height:38px;width:auto}
.footer-copy{font-size:13px;color:#3b2b24;margin:6px 0}
.footer-note{font-size:12px;color:#6e1e1e;margin:2px 0}
