@charset "utf-8";
/* ==========================================================================
   網走ちゃんぽん研究会
   このファイルで色・文字の大きさ・余白を管理しています。
   色を変えるときは、いちばん下の「色の設定」だけ直せば全体に反映されます。
   ========================================================================== */

/* --- 色の設定 ------------------------------------------------------------ */
:root{
  --y:      #FFE23D;   /* 基調の黄色（レモンイエロー） */
  --y-deep: #B08800;   /* 濃い黄（線・小見出し・小さい文字用） */
  --y-pale: #FFF8D6;   /* 淡い黄（背景の面） */
  --ink:    #241F16;   /* 文字・濃い背景 */
  --ink-2:  #5E574A;   /* 副文字 */
  --paper:  #FFFDF7;   /* 地の色 */
  --line:   #E3DDCB;   /* 罫線 */
  --maxw:   860px;     /* 本文の最大幅 */
}

/* --- 土台 ---------------------------------------------------------------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);color:var(--ink);
  font-family:"Hiragino Sans","Yu Gothic Medium","Yu Gothic",system-ui,sans-serif;
  line-height:1.9;font-size:16px;-webkit-text-size-adjust:100%;
}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
section{padding:64px 0;scroll-margin-top:112px}   /* ヘッダーの高さぶんずらす */
@media(min-width:820px){section{scroll-margin-top:70px}}

h2{font-size:clamp(21px,4.4vw,28px);line-height:1.5;letter-spacing:.02em;margin-bottom:8px}
h2 .en{display:block;font-size:11px;letter-spacing:.22em;color:var(--y-deep);
       font-weight:600;margin-bottom:6px}
.lead{color:var(--ink-2);font-size:15px;margin-bottom:30px}
/* 写真枠（仮）。写真が用意できたら、下の .photo-img に差し替えます */
.photo{border:2px dashed var(--line);display:flex;align-items:center;
       justify-content:center;text-align:center;font-size:12px;color:#A9A296;padding:14px}

/* 実際の写真。<div class="photo">…</div> を
   <img class="photo-img" src="images/○○.jpg" alt="説明"> に置き換えるだけで収まります */
.photo-img{width:100%;object-fit:cover}
.hero .photo-img{margin-top:28px;aspect-ratio:16/9;border-radius:4px}
.about .photo-img{aspect-ratio:16/10;margin-bottom:28px}
.shop .photo-img{aspect-ratio:4/3;margin-bottom:14px}

/* --- ヘッダー（スマホは2段・PCは1段） ------------------------------------ */
header{position:sticky;top:0;z-index:20;background:var(--paper);
       border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
             padding-top:11px;padding-bottom:9px}
.logo{order:1;display:flex;align-items:center;gap:9px;
      font-weight:800;font-size:17px;letter-spacing:.04em;white-space:nowrap;
      color:var(--ink);text-decoration:none}
.logo img{height:34px;width:auto;display:block}
.logo b{color:inherit}          /* ロゴ文字は黒一色 */
.navbtn{order:2;margin-left:auto;background:var(--ink);color:var(--paper);
        text-decoration:none;font-size:13px;font-weight:700;padding:9px 15px;
        border-radius:100px;white-space:nowrap}
nav{order:3;flex-basis:100%;display:flex;gap:18px;overflow-x:auto;
    padding-bottom:2px;-webkit-overflow-scrolling:touch}
nav::-webkit-scrollbar{display:none}
nav a{color:var(--ink-2);text-decoration:none;font-size:13.5px;font-weight:700;
      white-space:nowrap;padding-bottom:2px;border-bottom:2px solid transparent}
nav a:hover{color:var(--ink);border-bottom-color:var(--y)}
@media(min-width:820px){
  nav{order:2;flex-basis:auto;margin-left:auto;gap:22px}
  .navbtn{order:3;margin-left:0}
}

/* --- ヒーロー ------------------------------------------------------------ */
.hero{background:var(--y);border-bottom:4px solid var(--y-deep)}
.hero .wrap{padding-top:52px;padding-bottom:52px}
.hero .kicker{font-size:clamp(15px,3.6vw,19px);font-weight:800;letter-spacing:.1em;
              margin-bottom:16px}
.hero h1{font-size:clamp(32px,8.5vw,54px);line-height:1.28;letter-spacing:.02em;
         font-weight:800;margin-bottom:14px}
.hero .by{display:inline-block;background:var(--ink);color:var(--paper);
          font-size:12.5px;line-height:1.7;padding:8px 15px;border-radius:4px;
          margin-bottom:18px}
.hero p{font-size:15.5px;max-width:30em}
.hero .photo{margin-top:28px;aspect-ratio:16/9;border-color:rgba(36,31,22,.32);
             color:rgba(36,31,22,.55);border-radius:4px}

/* --- 出店予定（黒地） ---------------------------------------------------- */
.events{background:var(--ink);color:var(--paper)}
.events h2{color:var(--paper)}
.events h2 .en{color:var(--y)}
.events .lead{color:#C9C2B2}
.ev{display:flex;gap:16px;align-items:baseline;padding:16px 0;
    border-bottom:1px solid rgba(255,253,247,.16)}
.ev .date{color:var(--y);font-weight:800;font-size:15px;white-space:nowrap;min-width:6.2em}
.ev .name{font-size:15px}
.ev .place{display:block;font-size:13px;color:#C9C2B2}
.ev .tag{display:inline-block;font-size:11.5px;font-weight:800;padding:2px 9px;
         border-radius:100px;margin-left:8px;vertical-align:2px}
.ev .tag.ok{background:var(--y);color:var(--ink)}
.ev .tag.no{background:transparent;color:#C9C2B2;border:1px solid rgba(255,253,247,.35)}
.events .more{display:inline-block;margin-top:26px;background:var(--y);color:var(--ink);
              text-decoration:none;font-weight:800;font-size:15px;
              padding:14px 26px;border-radius:100px}

/* --- どんな一杯か -------------------------------------------------------- */
.about .photo{aspect-ratio:16/10;margin-bottom:28px}
.about .body p{margin-bottom:18px;font-size:15px}
.parts{background:var(--y-pale);padding:24px 22px;margin-top:28px}
.parts h3{font-size:16px;margin-bottom:14px}
.parts dl{display:grid;gap:10px 18px}
@media(min-width:640px){.parts dl{grid-template-columns:auto 1fr}}
.parts dt{font-weight:800;color:var(--y-deep);font-size:13.5px;white-space:nowrap}
.parts dd{font-size:14px;color:var(--ink-2);line-height:1.8}
@media(max-width:639px){.parts dd{margin-bottom:6px}}

/* --- 三つの掟 ------------------------------------------------------------ */
.rules{display:grid;gap:14px}
@media(min-width:700px){.rules{grid-template-columns:repeat(3,1fr)}}
.rule{background:var(--y-pale);border-top:4px solid var(--y);padding:22px 20px}
.rule .n{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--y-deep);
         margin-bottom:8px}
.rule h3{font-size:16.5px;margin-bottom:8px;line-height:1.55}
.rule p{font-size:13.5px;color:var(--ink-2);line-height:1.85}

/* --- 物語 ---------------------------------------------------------------- */
.story{background:var(--y-pale)}
.story .body{font-size:15px}
.story .body p{margin-bottom:18px}
.chikuwa{background:var(--paper);border-left:5px solid var(--y);
         padding:18px 20px;margin:26px 0;font-size:14px}
.chikuwa dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px}
.chikuwa dt{font-weight:800;color:var(--y-deep);white-space:nowrap}
.chikuwa dd{color:var(--ink-2)}
.story .photo-img{max-width:620px;margin:26px auto 6px;border-radius:4px}
.story .credit{text-align:center;font-size:12px;color:var(--ink-2);margin-bottom:22px}

/* --- 出店予定ページ（events/）専用 --------------------------------------- */
.hero.slim .wrap{padding-top:36px;padding-bottom:36px}
.hero.slim h1{font-size:clamp(28px,7vw,42px);margin-bottom:10px}
.hero.slim p{font-size:15px}

/* 引換券をお持ちの方へ */
.ticketinfo{background:var(--y-pale);border-left:5px solid var(--y-deep);
            padding:24px 22px;margin-bottom:34px}
.ticketinfo h2{font-size:18px;margin-bottom:12px}
.ticketinfo h2 .en{margin-bottom:5px}
.ticketinfo ul{list-style:none;margin:0}
.ticketinfo li{font-size:14.5px;line-height:1.85;padding-left:22px;position:relative;
               margin-bottom:6px}
.ticketinfo li::before{content:"";position:absolute;left:2px;top:.78em;
                       width:10px;height:10px;border-radius:50%;background:var(--y-deep)}
.ticketinfo .strong{font-weight:800}

/* 最終更新 */
.updated{margin-top:30px;padding-top:16px;border-top:1px solid rgba(255,253,247,.2);
         font-size:13px;color:#C9C2B2}
.backlink{display:inline-block;margin-top:26px;font-size:14.5px;font-weight:700;
          color:var(--ink);text-decoration:none;border-bottom:2px solid var(--y)}

/* --- フッターのあばちゃん ------------------------------------------------ */
.mascot{display:flex;align-items:flex-end;gap:14px;margin-bottom:24px}
.mascot img{width:110px;height:auto;flex:none}
.mascot p{font-size:12.5px;margin:0 0 6px;color:rgba(36,31,22,.75)}

/* --- 目指していること ---------------------------------------------------- */
.goals{display:grid;gap:2px;background:var(--line);border:1px solid var(--line)}
@media(min-width:700px){.goals{grid-template-columns:repeat(3,1fr)}}
.goal{background:var(--paper);padding:22px 20px}
.goal .n{display:inline-block;background:var(--y);font-size:12px;font-weight:800;
         width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;
         margin-bottom:10px}
.goal h3{font-size:15.5px;margin-bottom:6px;line-height:1.6}
.goal p{font-size:13.5px;color:var(--ink-2);line-height:1.85}
.activity{margin-top:26px;border-left:5px solid var(--y);padding:4px 0 4px 18px;
          font-size:14.5px;color:var(--ink-2)}

/* --- 食べられるお店 ------------------------------------------------------ */
.dummy{background:#FFF0F0;border:1px dashed #D98080;color:#A33;
       font-size:12.5px;padding:10px 14px;margin-bottom:22px;border-radius:3px}
.shops{display:grid;gap:16px}
@media(min-width:700px){.shops{grid-template-columns:1fr 1fr}}
.shop{border:1px solid var(--line);padding:20px}
.shop .photo{aspect-ratio:4/3;margin-bottom:14px}
.shop h3{font-size:17px;margin-bottom:4px}
.shop .price{display:inline-block;background:var(--y);font-size:13px;font-weight:800;
             padding:2px 10px;border-radius:100px;margin-bottom:10px}
.shop p{font-size:13.5px;color:var(--ink-2);line-height:1.8}
.shop .info{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);
            font-size:12.5px;color:var(--ink-2)}

/* --- おうちで作る（黒地） ------------------------------------------------ */
.home{background:var(--ink);color:var(--paper)}
.home h2{color:var(--paper)} .home h2 .en{color:var(--y)}
.home .lead{color:#C9C2B2}
.set{display:grid;gap:22px;margin-bottom:36px}
@media(min-width:700px){.set{grid-template-columns:1fr 1fr;align-items:center}}
.set .photo{aspect-ratio:4/3;border-color:rgba(255,253,247,.28);color:rgba(255,253,247,.5)}
.set .photo-img{aspect-ratio:auto;max-width:340px;margin:0 auto;
                border:1px solid rgba(255,253,247,.2)}
.set-body h3{font-size:18px;color:var(--y);margin-bottom:12px}
.set-body ul{list-style:none;margin-bottom:14px}
.set-body li{font-size:14.5px;padding-left:20px;position:relative;margin-bottom:5px}
.set-body li::before{content:"";position:absolute;left:0;top:.85em;
                     width:10px;height:2px;background:var(--y)}
.set-body p{font-size:13.5px;color:#C9C2B2}
.home .subttl{font-size:15px;font-weight:800;margin-bottom:16px;
              padding-bottom:8px;border-bottom:1px solid rgba(255,253,247,.16)}
.packs{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.pack{background:rgba(255,253,247,.07);padding:18px;border-radius:3px}
.pack h3{font-size:15px;color:var(--y);margin-bottom:6px}
.pack p{font-size:13px;color:#C9C2B2;line-height:1.8}

/* --- フッター ------------------------------------------------------------ */
footer{background:var(--y);padding:48px 0 30px}
footer h3{font-size:19px;margin-bottom:10px}
footer p{font-size:14px;margin-bottom:20px;max-width:32em}
.sns{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.sns a{background:var(--ink);color:var(--paper);text-decoration:none;
       font-size:13.5px;font-weight:700;padding:11px 20px;border-radius:100px}
.copy{border-top:1px solid rgba(36,31,22,.2);padding-top:18px;
      font-size:12px;color:rgba(36,31,22,.7)}
