/* あいもか 土台（スターターパック共通）の部品：記事ページ・一覧・フォーム・スマホメニュー・管理バー対策
   色は子テーマの :root の変数（--bg --paper --ink --sub --line --brown --gold）を使う */
/* ===== WordPress用の追加 ===== */
.nlist a span:last-child{overflow:hidden;text-overflow:ellipsis}
.cats a{display:inline-block}
.pager{display:flex;gap:8px;justify-content:center;margin-top:48px}
.pager .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border:1px solid var(--line);font-family:"Cormorant Garamond",serif;font-size:17px;color:var(--sub);transition:.3s}
.pager .page-numbers.current{background:var(--brown);border-color:var(--brown);color:#fff}
.pager a.page-numbers:hover{border-color:var(--gold);color:var(--gold)}
.empty{padding:40px 0;color:var(--sub);text-align:center}
/* 記事ページ */
.post-head{max-width:820px;margin:0 auto 40px}
.post-head .meta{display:flex;gap:14px;align-items:center;font-size:13px;color:var(--sub)}
.post-head .meta time{font-family:"Cormorant Garamond",serif;font-size:18px}
.post-head .meta .cat{font-size:11px;letter-spacing:.1em;border:1px solid var(--line);padding:2px 12px}
.post-head h1{font-family:"Shippori Mincho",serif;font-weight:600;font-size:clamp(22px,2.6vw,32px);line-height:1.7;color:var(--brown);margin-top:14px;letter-spacing:.08em}
.post-thumb{max-width:820px;margin:0 auto 40px;aspect-ratio:16/9;overflow:hidden}
.entry{max-width:820px;margin:0 auto;background:var(--paper);padding:56px clamp(20px,5vw,64px);font-size:16px;line-height:2.1}
.entry > * + *{margin-top:1.4em}
.entry h2{font-family:"Shippori Mincho",serif;font-weight:600;font-size:22px;color:var(--brown);padding:14px 0 14px 18px;border-left:3px solid var(--gold);background:var(--bg);margin-top:2.4em;line-height:1.6}
.entry h3{font-family:"Shippori Mincho",serif;font-weight:600;font-size:18px;color:var(--brown);padding-bottom:8px;border-bottom:1px solid var(--line);margin-top:2em}
.entry a{color:var(--gold);text-decoration:underline}
.entry ul,.entry ol{padding-left:1.6em}
.entry li + li{margin-top:.4em}
.entry img{height:auto}
.entry blockquote{border-left:3px solid var(--line);padding:4px 0 4px 18px;color:var(--sub)}
.entry table{width:100%;border-collapse:collapse;font-size:14px}
.entry th,.entry td{border:1px solid var(--line);padding:10px 14px;text-align:left}
.entry th{background:var(--bg);font-weight:500}
.post-nav{max-width:820px;margin:40px auto 0;display:flex;justify-content:space-between;gap:20px;font-size:13px}
.post-nav a{color:var(--brown)}
.post-back{text-align:center;margin-top:50px}
/* フォーム */
.form-msg{max-width:760px;margin:0 auto 30px;padding:20px 24px;background:var(--paper);border-left:3px solid var(--gold);font-size:14px}
.form-msg.err{border-color:#b5523b;color:#b5523b}
.f-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.legal{max-width:820px;margin:0 auto}
.cats a{border:1px solid var(--line);padding:4px 18px;font-size:12px;letter-spacing:.1em;color:var(--sub);transition:.3s}
.cats a.on{background:var(--brown);color:#fff;border-color:var(--brown)}
.cats a:not(.on):hover{border-color:var(--gold);color:var(--gold)}
/* ログイン中の管理バーとヘッダーが重ならないように */
.admin-bar header{top:32px}
@media (max-width:782px){.admin-bar header{top:46px}}
/* ===== スマホ用メニュー（ハンバーガー） ===== */
.menu-btn{display:none;position:relative;width:44px;height:44px;margin-left:10px;border:0;background:transparent;cursor:pointer;z-index:41}
.menu-btn span{position:absolute;left:11px;width:22px;height:1px;background:var(--brown);transition:.3s}
.menu-btn span:nth-child(1){top:15px}.menu-btn span:nth-child(2){top:22px}.menu-btn span:nth-child(3){top:29px}
.menu-open .menu-btn span:nth-child(1){top:22px;transform:rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){opacity:0}
.menu-open .menu-btn span:nth-child(3){top:22px;transform:rotate(-45deg)}
.sp-menu{position:fixed;inset:0;z-index:29;background:var(--bg);padding:110px 28px 40px;overflow-y:auto;opacity:0;visibility:hidden;transition:.35s}
.menu-open .sp-menu{opacity:1;visibility:visible}
.menu-open{overflow:hidden}
.sp-nav{display:block}
.sp-nav a{display:flex;flex-direction:column;padding:16px 0;border-bottom:1px solid var(--line);font-family:"Shippori Mincho",serif;font-size:17px;color:var(--brown);letter-spacing:.1em}
.sp-nav a .en{font-size:13px;color:var(--gold);letter-spacing:.16em}
.sp-cta{display:flex;width:100%;margin-top:30px}
.sp-tel{margin-top:22px;text-align:center;font-family:"Cormorant Garamond",serif;font-size:26px;color:var(--brown);line-height:1.5}
.sp-tel small{display:block;font-family:"Noto Sans JP",sans-serif;font-size:11px;color:var(--sub);letter-spacing:.08em}
@media (max-width:960px){.menu-btn{display:block}}
@media (max-width:600px){header .cta{padding:8px 14px;font-size:12px}}
@media (min-width:961px){.sp-menu{display:none}}
/* スマホ用メニューの修正（v1.1.1）：メニュー項目が隠れないように／ヘッダーが窮屈にならないように */
.sp-menu .sp-nav a{display:flex}
@media (max-width:600px){
  header .wrap{height:72px}
  header nav .cta{display:none}
  .logo b{font-size:18px;letter-spacing:.1em;white-space:nowrap}
  .logo small{font-size:10px;letter-spacing:.18em}
  .sp-menu{padding-top:96px}
}
