/*
Theme Name: Tamura Shippo Kogei
Theme URI: https://tamura-shippo.com
Author: KOTA / run-digital
Author URI: https://run-digital.com
Description: 田村七宝工芸 ブランドサイト（尾張七宝・明治十六年創業）。LIGHT-2 PANORAMA デザイン。トップページ各画像はカスタマイザーから変更可能。最新情報は投稿連携。「田村七宝工芸について」固定ページ（ダークシネマ）、最新情報一覧（home.php）・記事（single.php）・カテゴリー（category.php）テンプレート同梱。
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tamura-shippo
Tags: custom-front-page, translation-ready, full-width-template
*/


:root{
  --bg:#f3f1e9;--bg-2:#eae5d9;--card:#fbf9f3;--ink:#1a1812;--ink-2:#4d4738;--ink-3:#8c8573;
  --gold:#9a7c39;--gold-2:#bda158;--line:#d7cfbd;
  --arch:'Archivo',sans-serif;--news:'Newsreader',serif;--jp:'Noto Sans JP',sans-serif;
  --wp--preset--color--black:#000000;--wp--preset--color--cyan-bluish-gray:#abb8c3;--wp--preset--color--white:#ffffff;--wp--preset--color--pale-pink:#f78da7;--wp--preset--color--vivid-red:#cf2e2e;--wp--preset--color--luminous-vivid-orange:#ff6900;--wp--preset--color--luminous-vivid-amber:#fcb900;--wp--preset--color--light-green-cyan:#7bdcb5;--wp--preset--color--vivid-green-cyan:#00d084;--wp--preset--color--pale-cyan-blue:#8ed1fc;--wp--preset--color--vivid-cyan-blue:#0693e3;--wp--preset--color--vivid-purple:#9b51e0;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{font-family:var(--jp);font-weight:400;background:var(--bg);color:var(--ink);line-height:2;letter-spacing:.05em;overflow-x:hidden;}
img{display:block;max-width:100%;}a{color:inherit;text-decoration:none;}
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(22px,5vw,72px);}
.kicker{font-family:var(--arch);font-weight:500;font-size:11px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);}
.label{font-family:var(--arch);font-weight:500;font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--ink-3);}
.it{font-family:var(--news);font-style:italic;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1.1s cubic-bezier(.2,.6,.2,1),transform 1.1s cubic-bezier(.2,.6,.2,1);}
.reveal.in{opacity:1;transform:none;}
.link{font-family:var(--arch);font-weight:500;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);position:relative;padding-bottom:7px;transition:color .4s;}
.link::before{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--line);}
.link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.6,.2,1);}
.link:hover{color:var(--gold);}
.link:hover::after{transform:scaleX(1);}
.btn{display:inline-flex;align-items:center;gap:14px;font-family:var(--arch);font-weight:500;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--card);background:var(--ink);padding:17px 44px;transition:background .45s,transform .45s,box-shadow .45s;}
.btn:hover{background:var(--gold);transform:translateY(-3px);box-shadow:0 16px 34px rgba(154,124,57,.3);}
.btn .ar{transition:transform .45s;}.btn:hover .ar{transform:translateX(6px);}
.ledger{display:flex;align-items:center;gap:14px;}
.ledger .ln{width:34px;height:1px;background:var(--gold);}
.ledger span{font-family:var(--arch);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-3);}

/* image (no white mat) */
.pano{overflow:hidden;}
.pano img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.6,.2,1);}
.pano:hover img{transform:scale(1.04);}
/* ATELIER — bento (varied size) */
.atelier{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(120px,14.8vw,176px);gap:clamp(8px,1vw,14px);grid-template-areas:"a a b c" "a a b d" "e e t d";}
.atelier figure{overflow:hidden;margin:0;}
.atelier img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.6,.2,1);}
.atelier figure:hover img{transform:scale(1.05);}
.atelier .b-a{grid-area:a;}.atelier .b-b{grid-area:b;}.atelier .b-c{grid-area:c;}.atelier .b-d{grid-area:d;}.atelier .b-e{grid-area:e;}
.at-text{grid-area:t;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;}
.at-text .eyebrow{font-family:var(--arch);font-weight:500;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);}
.at-text h3{font-family:var(--jp);font-weight:200;font-size:clamp(14px,1.6vw,19px);letter-spacing:.12em;color:var(--ink);margin:10px 0;}
.at-text .rule{width:28px;height:1px;background:var(--gold);margin:0 auto 10px;}
.at-text p{font-family:var(--arch);font-weight:400;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);}
@media(max-width:760px){.atelier{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(120px,30vw,170px);grid-template-areas:"a a" "b c" "d e" "t t";}}

header{position:sticky;top:0;z-index:50;background:var(--card);}
.hd{display:flex;align-items:center;height:86px;}
.hd .logo img{height:40px;}
nav.main{display:flex;gap:clamp(18px,2vw,32px);margin-left:auto;font-family:var(--jp);font-weight:400;font-size:13px;letter-spacing:.15em;color:var(--ink-2);}
nav.main a{padding-bottom:5px;border-bottom:1px solid transparent;transition:color .25s,border-color .25s;}
nav.main a:hover{color:var(--gold);}
nav.main a.cur{color:var(--ink);border-bottom-color:var(--gold);}
.hd-shop{margin-left:clamp(24px,2.6vw,44px);font-family:var(--arch);font-weight:500;font-size:11px;letter-spacing:.24em;text-transform:uppercase;border:1px solid var(--ink);padding:10px 24px;transition:.4s;}
.hd-shop:hover{background:var(--ink);color:var(--card);}
@media(max-width:1000px){nav.main{display:none;}.hd-shop{margin-left:auto;}}

/* HERO — magazine, white knockout over image */
.hero{position:relative;height:calc(100vh - 86px);min-height:560px;overflow:hidden;display:flex;align-items:flex-end;}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 36%;transform:scale(1.08);animation:kb 14s ease-out forwards;}
@keyframes kb{to{transform:scale(1);}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,14,8,.64),rgba(18,14,8,.1) 42%,rgba(18,14,8,.3));}
.hero .top{position:absolute;top:clamp(24px,4vw,44px);left:0;right:0;z-index:2;}
.hero .top .wrap{display:flex;align-items:center;color:rgba(255,255,255,.92);}
.hero .top span{font-family:var(--arch);font-weight:500;font-size:11px;letter-spacing:.34em;text-transform:uppercase;white-space:nowrap;}
.hero .top .line{flex:1;height:1px;background:rgba(255,255,255,.45);margin:0 22px;}
.hero-c{position:relative;z-index:2;width:100%;padding-bottom:clamp(46px,8vw,100px);color:#fff;}
.hero-logo{width:clamp(108px,14vw,188px);height:auto;opacity:0;transform:translateY(26px);animation:rise 1.1s .5s forwards;filter:drop-shadow(0 6px 34px rgba(0,0,0,.38));}
.hero-rule{display:block;width:48px;height:1px;background:var(--gold-2);margin:clamp(22px,3vw,32px) 0 clamp(18px,2.4vw,24px);opacity:0;transform:scaleX(0);transform-origin:left;animation:ruleIn 1s .85s forwards;}
.hero-lead{font-family:var(--jp);font-weight:400;font-size:clamp(16px,1.9vw,23px);letter-spacing:.16em;color:#fff;line-height:1.85;text-shadow:0 2px 30px rgba(0,0,0,.4);opacity:0;transform:translateY(24px);animation:rise 1.1s .95s forwards;}
.hero-sub{font-weight:400;font-size:clamp(12.5px,1.3vw,14px);letter-spacing:.13em;color:rgba(255,255,255,.82);line-height:2.15;margin-top:15px;max-width:38em;opacity:0;transform:translateY(24px);animation:rise 1.1s 1.1s forwards;}
.hero-link{display:inline-flex;align-items:center;gap:11px;font-family:var(--arch);font-weight:500;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:#fff;position:relative;padding-bottom:7px;margin-top:clamp(24px,3vw,34px);opacity:0;transform:translateY(24px);animation:rise 1.1s 1.25s forwards;}
.hero-link::before{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:rgba(255,255,255,.4);}
.hero-link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold-2);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.6,.2,1);}
.hero-link:hover{color:var(--gold-2);}
.hero-link:hover::after{transform:scaleX(1);}
.hero-link .ar{transition:transform .45s;}
.hero-link:hover .ar{transform:translateX(5px);}
@keyframes ruleIn{to{opacity:.9;transform:scaleX(1);}}
@keyframes rise{to{opacity:1;transform:none;}}
@media(max-width:680px){.hero .top .line{display:none;}.hero .top .wrap{flex-direction:column;align-items:flex-start;gap:5px;}.hero .top span{font-size:10px;letter-spacing:.2em;white-space:normal;line-height:1.6;}}

/* SECTION */
.sec{padding:clamp(76px,10vw,150px) 0;}
.sec.alt{background:var(--bg-2);}
.sec-head{text-align:center;max-width:48em;margin:0 auto 56px;}
.sec-head .label{display:block;margin-bottom:18px;}
.sec-head h2{font-family:var(--jp);font-weight:200;font-size:clamp(24px,3.4vw,42px);letter-spacing:.08em;line-height:1.55;margin-bottom:26px;}
.sec-head h2 .it{font-family:var(--news);font-style:italic;letter-spacing:.01em;text-transform:none;color:var(--gold);}
.sec-head p{font-weight:400;font-size:15px;color:var(--ink-2);line-height:2.5;}
.sec-head .copy{max-width:46em;margin:26px auto 0;text-align:left;}
.sec-head .copy p{font-weight:400;font-size:14.5px;color:var(--ink-2);line-height:2.45;margin-bottom:16px;}
.sec-head .copy p:last-child{margin-bottom:0;}
.sec-head .link{margin-top:28px;display:inline-block;}
.pano-cap{display:flex;justify-content:space-between;margin-top:16px;}

/* FILMSTRIP */
.strip-wrap{margin-top:50px;}
.hscroll{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);}
.film{}
@media(max-width:760px){.hscroll{grid-template-columns:1fr 1fr;}}
.film figure{padding:8px;border:1px solid var(--line);background:var(--card);}
.film .ph{aspect-ratio:3/4;overflow:hidden;}
.film img{width:100%;height:100%;object-fit:cover;transition:transform 1s;}
.film:hover img{transform:scale(1.05);}
.film .meta{display:flex;align-items:baseline;gap:12px;margin-top:14px;}
.film .n{font-family:var(--news);font-style:italic;font-size:22px;color:var(--gold);}
.film .t{font-weight:400;font-size:14px;letter-spacing:.06em;}
.film .ds{font-weight:400;font-size:12px;color:var(--ink-3);line-height:1.85;margin-top:4px;}

/* COLLECTION matted horizontal */
.collsec{padding:clamp(70px,9vw,130px) 0;}
.coll-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:46px;gap:20px;}
.coll-top .label{display:block;margin-bottom:12px;}
.coll-top h2{font-family:var(--jp);font-weight:200;font-size:clamp(22px,3vw,38px);letter-spacing:.1em;}
.cscroll{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,40px);}
.cc{}
@media(max-width:980px){.cscroll{grid-template-columns:1fr 1fr;}}@media(max-width:560px){.cscroll{grid-template-columns:1fr;}}
.cc figure{margin:0 0 clamp(16px,1.8vw,20px);}
.cc .ph{aspect-ratio:4/5;overflow:hidden;position:relative;}
.cc .ph .idx{position:absolute;top:14px;left:16px;font-family:var(--news);font-style:italic;font-size:24px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.4);z-index:2;}
.cc img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.6,.2,1);}
.cc:hover img{transform:scale(1.05);}
.cc .copy{font-family:var(--news);font-style:italic;font-size:23px;color:var(--gold);margin:18px 0 4px;}
.cc .nm{font-weight:400;font-size:17px;letter-spacing:.14em;margin-bottom:10px;}
.cc .ds{font-weight:400;font-size:13px;color:var(--ink-2);line-height:2.05;margin-bottom:14px;max-width:24em;}
.cc .more{font-family:var(--arch);font-weight:500;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-3);display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:5px;transition:color .35s,border-color .35s;}
.cc:hover .more{color:var(--gold);}
.swipe-hint{display:none;}

/* SPLIT (maison) */
.split .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;}
.split .pano img{aspect-ratio:4/5;}
.split-t .label{display:block;margin-bottom:20px;}
.split-t h2{font-family:var(--jp);font-weight:200;font-size:clamp(22px,2.9vw,36px);letter-spacing:.08em;line-height:1.6;margin-bottom:24px;}
.split-t h2 .it{font-family:var(--news);font-style:italic;text-transform:none;letter-spacing:.01em;color:var(--gold);}
.split-t p{font-weight:400;font-size:14px;color:var(--ink-2);line-height:2.4;margin-bottom:16px;}
.years{display:flex;gap:clamp(26px,4vw,52px);margin:22px 0;}
.years .n{font-family:var(--news);font-style:italic;font-size:clamp(30px,3.6vw,46px);color:var(--gold);line-height:1;}
.years .c{font-family:var(--arch);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-top:8px;}
.split-t .sig{font-family:var(--news);font-style:italic;font-size:20px;color:var(--gold);margin:6px 0 24px;}
@media(max-width:820px){.split .wrap{grid-template-columns:1fr;}.split .pano{order:-1;}}

/* SHOP CTA */
.shopcta{position:relative;padding:clamp(72px,9vw,124px) 0;text-align:center;overflow:hidden;background:#100e0a;}
.shopcta .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.46;}
.shopcta::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(16,14,10,.28),rgba(16,14,10,.7));}
.shopcta .wrap{position:relative;z-index:2;}
.shopcta img.mark{height:28px;margin:0 auto 16px;}
.shopcta .label{display:block;margin-bottom:12px;color:var(--gold-2);}
.shopcta h2{font-family:var(--jp);font-weight:200;font-size:clamp(20px,2.6vw,30px);letter-spacing:.06em;margin-bottom:12px;color:#f4eddc;}
.shopcta h2 .it{font-family:var(--news);font-style:italic;text-transform:none;letter-spacing:.01em;color:var(--gold-2);}
.shopcta p{font-weight:400;font-size:13px;color:rgba(244,237,220,.82);line-height:2.1;max-width:30em;margin:0 auto 26px;}
.shopcta .btn{background:#f4eddc;color:#171510;}
.shopcta .btn:hover{background:var(--gold-2);color:#171510;}
/* SAVOIR split (image left / text right) */
.savoir-split .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,84px);align-items:center;}
.sv-img{overflow:hidden;}
.sv-img img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.6,.2,1);}
.sv-img:hover img{transform:scale(1.04);}
.sv-t .label{display:block;margin-bottom:18px;}
.sv-t h2{font-family:var(--jp);font-weight:200;font-size:clamp(22px,2.9vw,38px);letter-spacing:.08em;line-height:1.6;margin-bottom:24px;}
.sv-t p{font-weight:400;font-size:14px;color:var(--ink-2);line-height:2.4;margin-bottom:16px;}
@media(max-width:820px){.savoir-split .wrap{grid-template-columns:1fr;}}
/* HERITAGE split (tighter) */
.heri-split .wrap{align-items:start;}
.heri-t h2{font-size:clamp(20px,2.6vw,32px)!important;line-height:1.55!important;margin-bottom:20px!important;}
.heri-t p{font-weight:400;font-size:13px;color:var(--ink-2);line-height:1.95;margin-bottom:13px;}
.heri-img{overflow:hidden;position:sticky;top:104px;align-self:start;}
.heri-img img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.6,.2,1);}
.heri-img:hover img{transform:scale(1.04);}
@media(max-width:820px){.heri-img{position:static;}}
/* HERITAGE — dark, full-bleed image */
.heri-dark{background:var(--ink);color:#e7e0cf;}
.heri-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.heri-photo{overflow:hidden;}
.heri-photo img{width:100%;height:100%;min-height:clamp(420px,56vw,680px);object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.2,.6,.2,1);}
.heri-dark:hover .heri-photo img{transform:scale(1.04);}
.heri-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,7vw,108px) clamp(22px,6vw,90px) clamp(56px,7vw,108px) clamp(34px,5vw,70px);max-width:48em;}
.heri-body .label{display:block;color:#bd9f57;margin-bottom:20px;}
.heri-body h2{font-family:var(--jp);font-weight:200;font-size:clamp(20px,2.7vw,34px);line-height:1.55;letter-spacing:.08em;margin-bottom:22px;color:#f4eddc;}
.heri-body p{font-weight:400;font-size:15px;line-height:2.2;color:#cbc2ac;margin-bottom:16px;}
.heri-body .link{color:#f4eddc;border-color:#bd9f57;margin-top:12px;align-self:flex-start;}
.heri-body .link:hover{color:#e6d3a3;}
@media(max-width:820px){.heri-grid{grid-template-columns:1fr;}.heri-photo img{min-height:300px;}}
/* NEWS — 最新情報 */
.news{padding:clamp(70px,9vw,130px) 0;}
.news-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:clamp(30px,4vw,46px);}
.news-head .label{display:block;margin-bottom:12px;}
.news-head h2{font-family:var(--jp);font-weight:200;font-size:clamp(22px,3vw,38px);letter-spacing:.1em;}
.newsB{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,5vw,72px);align-items:start;}
.nb-feat .ph{aspect-ratio:16/10;overflow:hidden;margin-bottom:20px;background:var(--bg);}
.nb-feat img{width:100%;height:100%;object-fit:contain;display:block;transition:transform 1.2s cubic-bezier(.2,.6,.2,1);}
.nb-feat:hover img{transform:scale(1.04);}
.nb-feat .meta{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.nb-feat .d{font-family:var(--arch);font-size:12px;letter-spacing:.12em;color:var(--ink-3);}
.nb-feat .cat{font-family:var(--arch);font-weight:500;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.nb-feat h3{font-family:var(--jp);font-weight:200;font-size:clamp(20px,2.4vw,28px);line-height:1.5;margin-bottom:14px;}
.nb-feat p{font-weight:400;font-size:13.5px;color:var(--ink-2);line-height:2.2;max-width:32em;}
.nb-list{list-style:none;border-top:1px solid var(--line);}
.nb-list a{display:block;padding:clamp(14px,1.7vw,19px) 2px;border-bottom:1px solid var(--line);transition:padding .4s;}
.nb-list a:hover{padding-left:12px;}
.nb-list .m{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.nb-list .d{font-family:var(--arch);font-size:11px;letter-spacing:.12em;color:var(--ink-3);}
.nb-list .cat{font-family:var(--arch);font-weight:500;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
.nb-list .t{font-weight:400;font-size:14px;color:var(--ink);line-height:1.6;transition:color .35s;}
.nb-list a:hover .t{color:var(--gold);}
@media(max-width:820px){.newsB{grid-template-columns:1fr;}}

/* FOOTER */
footer{background:var(--card);padding-bottom:clamp(34px,4vw,44px);}
.ft-tagline{text-align:center;padding:clamp(64px,8vw,108px) 20px;border-bottom:1px solid var(--line);}
.ft-tagline img{height:44px;margin:0 auto 24px;}
.ft-tagline p{font-family:var(--news);font-style:italic;font-size:clamp(24px,4vw,50px);line-height:1.35;color:var(--ink);}
.ft-tagline span{display:block;font-weight:400;font-size:13px;letter-spacing:.1em;color:var(--ink-3);margin-top:16px;}
.ft{display:grid;grid-template-columns:2fr 1fr 1fr;gap:46px;padding:clamp(56px,6vw,78px) 0 0;}
.ft-text{font-weight:400;font-size:13px;line-height:2.1;color:var(--ink-2);letter-spacing:.05em;margin:0 0 26px;max-width:32em;}
.ft address{font-style:normal;font-weight:400;font-size:13px;color:var(--ink-2);line-height:2.2;letter-spacing:.05em;}
.ft a:hover{color:var(--gold);}
.ft h4{font-family:var(--arch);font-weight:500;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.ft ul{list-style:none;display:flex;flex-direction:column;gap:11px;font-size:13px;font-weight:400;color:var(--ink-2);}
.ft-sns{display:flex;gap:20px;margin-top:18px;font-family:var(--arch);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.ft-bot{display:flex;justify-content:space-between;margin:56px 0 0;padding-top:24px;border-top:1px solid var(--line);font-family:var(--arch);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);}
@media(max-width:680px){.ft{grid-template-columns:1fr;gap:38px;}}

/* ===== About page (page-about.php) — dark cinematic ===== */
.aC{background:#14110c;color:#e7e0cf;}
.aC .kick{font-family:var(--arch);font-weight:500;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold-2);}
.aC-hero{position:relative;min-height:clamp(540px,84vh,800px);display:flex;align-items:flex-end;overflow:hidden;}
.aC-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48;animation:kb 16s ease-out forwards;}
@keyframes kb{from{transform:scale(1.08);}to{transform:scale(1);}}
.aC-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,12,.35) 0%,rgba(20,17,12,.2) 38%,rgba(20,17,12,.94) 100%);}
.aC-hero .inner{position:relative;z-index:2;padding:clamp(40px,8vw,110px) 0;max-width:48em;}
.aC-hero h1{font-family:var(--jp);font-weight:100;font-size:clamp(28px,4.6vw,62px);line-height:1.28;letter-spacing:.14em;color:#f4eddc;margin:22px 0 22px;}
.aC-hero .lead{font-weight:400;font-size:clamp(13.5px,1.35vw,15px);line-height:2.3;color:rgba(244,237,220,.82);max-width:40em;}
.aC-rule{width:46px;height:1px;background:var(--gold-2);margin:26px 0 0;}
.aC-mh{text-align:center;padding:clamp(54px,7vw,96px) 0 clamp(28px,4vw,46px);}
.aC-mh h2{font-family:var(--jp);font-weight:200;font-size:clamp(22px,2.8vw,36px);letter-spacing:.12em;color:#f4eddc;margin-top:14px;}
.h-feat{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(30px,5vw,82px);align-items:center;padding:clamp(60px,9vw,128px) 0;border-bottom:1px solid rgba(215,207,189,.16);}
.h-feat .img{overflow:hidden;}
.h-feat .img img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.6,.2,1);}
.h-feat:hover .img img{transform:scale(1.05);}
.h-feat h2{font-family:var(--jp);font-weight:200;font-size:clamp(22px,2.8vw,38px);line-height:1.5;letter-spacing:.08em;color:#f4eddc;margin:16px 0 24px;}
.h-feat p{font-weight:400;font-size:14px;line-height:2.35;color:#bdb49f;margin-bottom:14px;}
.aC-maker{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;padding:clamp(40px,6vw,72px) 0;border-top:1px solid rgba(215,207,189,.16);}
.aC-maker:nth-child(even) .mimg{order:2;}
.aC-maker .mimg{position:relative;overflow:hidden;}
.aC-maker .mimg img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 28%;transition:transform 1.3s cubic-bezier(.2,.6,.2,1);}
.aC-maker:hover .mimg img{transform:scale(1.05);}
.aC-maker .mimg .no{position:absolute;top:clamp(10px,1.4vw,20px);left:clamp(12px,1.6vw,22px);font-family:var(--news);font-style:italic;font-size:clamp(40px,5vw,84px);color:rgba(244,237,220,.9);text-shadow:0 2px 20px rgba(0,0,0,.5);}
.aC-maker .gen{font-family:var(--arch);font-weight:500;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-2);}
.aC-maker h3{font-family:var(--jp);font-weight:200;font-size:clamp(26px,3vw,44px);letter-spacing:.12em;color:#f4eddc;margin:14px 0 4px;}
.aC-maker .en{font-family:var(--news);font-style:italic;font-size:16px;color:rgba(244,237,220,.6);margin-bottom:22px;}
.aC-maker p{font-weight:400;font-size:14px;color:#bdb49f;line-height:2.35;}
@media(max-width:860px){.aC-hero .inner{max-width:none;}.h-feat{grid-template-columns:1fr;gap:24px;}.aC-maker{grid-template-columns:1fr;gap:22px;}.aC-maker:nth-child(even) .mimg{order:0;}}

/* ===== News list (home.php / category.php) + single (single.php) ===== */
.cat{font-family:var(--arch);font-weight:500;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-decoration:none;}
.date{font-family:var(--arch);font-weight:400;font-size:12px;letter-spacing:.16em;color:var(--ink-3);}
.nh{padding:clamp(46px,6vw,84px) 0 clamp(28px,3.4vw,44px);}
.nh h1{font-family:var(--jp);font-weight:100;font-size:clamp(34px,5vw,68px);letter-spacing:.16em;margin:18px 0 14px;}
.nh .sub{font-weight:300;font-size:14px;color:var(--ink-2);letter-spacing:.06em;}
.chips{display:flex;flex-wrap:wrap;gap:10px;padding:clamp(20px,2.4vw,30px) 0 clamp(30px,4vw,52px);border-bottom:1px solid var(--line);}
.chip{font-family:var(--jp);font-weight:300;font-size:12.5px;letter-spacing:.08em;color:var(--ink-2);padding:8px 18px;border:1px solid var(--line);border-radius:40px;transition:all .3s;}
.chip:hover{border-color:var(--gold);color:var(--gold);}
.chip.on{background:var(--ink);color:var(--card);border-color:var(--ink);}
.pager{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;padding:clamp(44px,6vw,80px) 0 clamp(56px,8vw,100px);}
.pager .page-numbers{font-family:var(--arch);font-size:13px;letter-spacing:.1em;color:var(--ink-2);min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:0 13px;transition:all .3s;}
.pager a.page-numbers:hover{border-color:var(--gold);color:var(--gold);}
.pager .page-numbers.current{background:var(--ink);color:var(--card);border-color:var(--ink);}
.pager .page-numbers.dots{border:none;min-width:auto;}

/* --- Featured (先頭の大きい記事) : flexベース --- */
.n1-feat{display:flex;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(32px,5vw,60px) 0;border-bottom:1px solid var(--line);text-decoration:none;}
.n1-feat .img{flex:0 0 46%;max-width:46%;height:clamp(200px,26vw,320px);overflow:hidden;border-radius:4px;background:var(--bg);}
.n1-feat .img img{width:100%;height:100%;object-fit:contain;display:block;transition:transform 1.2s cubic-bezier(.2,.6,.2,1);}
.n1-feat:hover .img img{transform:scale(1.04);}
.n1-feat>div{flex:1 1 auto;min-width:0;}
.n1-feat .meta{display:flex;align-items:center;gap:16px;margin-bottom:14px;}
.n1-feat h2{font-family:var(--jp);font-weight:300;font-size:clamp(20px,2.4vw,30px);line-height:1.55;letter-spacing:.04em;margin-bottom:14px;color:var(--ink);}
.n1-feat p{font-weight:300;font-size:14px;color:var(--ink-2);line-height:2.1;margin-bottom:20px;}

/* --- 案B : サムネ左・テキスト右（flex / 高さ固定 / 崩れない） --- */
.n1-list{padding-top:6px;}
.n1-row{display:flex;gap:clamp(16px,2.6vw,26px);align-items:center;padding:clamp(18px,2.2vw,24px) 2px;border-bottom:1px solid var(--line);text-decoration:none;transition:padding-left .35s;}
.n1-row:hover{padding-left:8px;}
.n1-row .th{flex:0 0 clamp(110px,16vw,150px);width:clamp(110px,16vw,150px);height:clamp(74px,11vw,100px);overflow:hidden;border-radius:4px;background:var(--bg);}
.n1-row .th img{width:100%;height:100%;object-fit:contain;display:block;transition:transform 1s cubic-bezier(.2,.6,.2,1);}
.n1-row:hover .th img{transform:scale(1.06);}
.n1-row .lft{flex:0 0 clamp(132px,15vw,176px);width:clamp(132px,15vw,176px);display:flex;flex-direction:row;align-items:center;gap:12px;}
.n1-row>div:not(.lft){flex:1 1 auto;min-width:0;}
.n1-row h3{font-family:var(--jp);font-weight:300;font-size:clamp(15px,1.5vw,18px);line-height:1.55;letter-spacing:.03em;color:var(--ink);transition:color .3s;margin:0;}
.n1-row:hover h3{color:var(--gold);}
.n1-row .ex{font-weight:300;font-size:13px;color:var(--ink-3);line-height:1.8;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.n1-empty{padding:clamp(50px,8vw,90px) 0;color:var(--ink-3);text-align:center;}

@media(max-width:780px){
  .n1-feat{flex-direction:column;align-items:stretch;}
  .n1-feat .img{flex:none;max-width:none;width:100%;height:clamp(180px,52vw,240px);}
  .n1-row{flex-wrap:wrap;gap:10px 12px;}
  .n1-row .th{flex:0 0 92px;width:92px;height:64px;}
  .n1-row .lft{flex:1 1 auto;}
  .n1-row>div:not(.lft){flex-basis:100%;}
}
.aHead.aB{padding:clamp(40px,5vw,72px) 0 clamp(56px,6.5vw,92px);}
.aHead.aB .meta{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
.aHead.aB h1{font-family:var(--jp);font-weight:200;font-size:clamp(26px,3.4vw,46px);line-height:1.42;letter-spacing:.05em;color:var(--ink);max-width:24em;}
.aFeatB{overflow:hidden;max-width:696px;margin:clamp(26px,3vw,40px) auto clamp(38px,4.5vw,60px);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:var(--bg);}
.aFeatB img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;}
.aHead-split .wrap{display:flex;align-items:center;gap:clamp(32px,5vw,72px);}
.aHead-split .aHead-txt{flex:1 1 0;min-width:0;}
.aHead-split .aHead-txt h1{max-width:none;}
.aHead-split .aFeatB{flex:0 0 46%;max-width:46%;margin:0;aspect-ratio:4/3;}
.aB-grid{display:grid;grid-template-columns:210px 1fr;gap:clamp(28px,5vw,72px);align-items:start;}
.aB-side .sticky{position:sticky;top:104px;display:flex;flex-direction:column;gap:22px;}
.aB-side .blk{display:flex;flex-direction:column;gap:7px;}
.aB-side .lab{font-family:var(--arch);font-weight:500;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);}
.aB-side .val{font-size:13.5px;color:var(--ink);}
.aB-side .sh{display:flex;gap:14px;font-family:var(--arch);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}
.aB-side .sh a{transition:color .3s;}.aB-side .sh a:hover{color:var(--ink);}
.sh-btns{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.sh-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--ink-2);background:transparent;cursor:pointer;padding:0;transition:all .25s;position:relative;}
.sh-btn:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);}
.sh-btn svg{display:block;}
.sh-copy .sh-copied{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;font-family:var(--jp);font-size:11px;letter-spacing:.04em;color:var(--card);background:var(--ink);padding:5px 10px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .25s;text-transform:none;}
.sh-copy.copied .sh-copied{opacity:1;}
.aB-side .bk{font-family:var(--arch);font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--ink);padding:12px 0;text-align:center;transition:all .35s;}
.aB-side .bk:hover{background:var(--ink);color:var(--card);}
.aB-main{min-width:0;}
.post-body{font-weight:400;font-size:15.5px;line-height:2.4;color:var(--ink-2);letter-spacing:.04em;}
.post-body > *:first-child{margin-top:0;}
.post-body p{margin:0 0 24px;}
.post-body h2{font-family:var(--jp);font-weight:400;font-size:clamp(20px,2vw,26px);letter-spacing:.05em;color:var(--ink);margin:48px 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.post-body h2::before{content:"";display:block;width:24px;height:1px;background:var(--gold);margin-bottom:14px;}
.post-body h3{font-family:var(--jp);font-weight:400;font-size:clamp(17px,1.7vw,21px);letter-spacing:.04em;color:var(--ink);margin:34px 0 14px;}
.post-body a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line);transition:text-decoration-color .3s;}
.post-body a:hover{text-decoration-color:var(--gold);}
.post-body strong{font-weight:500;color:var(--ink);}
.post-body ol{margin:0 0 24px;padding-left:1.4em;}
.post-body ol li{margin-bottom:9px;line-height:2.1;}
.post-body ul{list-style:none;margin:clamp(24px,3vw,36px) 0;padding:clamp(20px,2.4vw,30px) clamp(22px,2.6vw,34px);border:1px solid var(--line);border-radius:4px;background:var(--bg);}
.post-body ul li{margin:0;padding:clamp(13px,1.5vw,17px) 0;border-bottom:1px solid var(--line);line-height:1.9;font-size:14.5px;color:var(--ink-2);}
.post-body ul li:first-child{padding-top:0;}
.post-body ul li:last-child{padding-bottom:0;border-bottom:none;}
.post-body ul strong{font-family:var(--arch);font-weight:500;color:var(--gold);letter-spacing:.04em;margin-right:.6em;}
.post-body blockquote{margin:34px 0;padding:6px 0 6px 24px;border-left:2px solid var(--gold);font-family:var(--news);font-style:italic;font-size:clamp(18px,2vw,24px);line-height:1.7;color:var(--ink);}
.post-body blockquote p{margin:0;}
.post-body img{max-width:100%;width:auto;height:auto;max-height:650px;display:block;margin-left:auto;margin-right:auto;}
.post-body figure{margin:36px 0;}
.post-body figcaption{font-family:var(--arch);font-size:11px;letter-spacing:.1em;color:var(--ink-3);margin-top:10px;text-align:center;}
.post-body table{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:14px;}
.post-body th,.post-body td{border-bottom:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top;}
.post-body th{font-family:var(--arch);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);white-space:nowrap;}
.post-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:clamp(48px,6vw,76px);padding-top:26px;border-top:1px solid var(--line);}
.post-foot .tags{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.post-foot .tag{font-size:12px;color:var(--ink-3);letter-spacing:.04em;}
.cat-btns{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.cat-btn{font-family:var(--arch);font-weight:500;font-size:13px;letter-spacing:.1em;color:var(--gold);border:1px solid var(--gold);border-radius:4px;padding:9px 20px;transition:all .25s;white-space:nowrap;}
.cat-btn:hover{background:var(--gold);color:var(--card);}
.post-foot .share{display:flex;align-items:center;gap:16px;font-family:var(--arch);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);}
.post-foot .share a{color:var(--ink-2);transition:color .3s;}
.post-foot .share a:hover{color:var(--gold);}
.post-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin-top:clamp(48px,6vw,80px);margin-bottom:clamp(64px,9vw,120px);padding-top:clamp(26px,3vw,38px);border-top:1px solid var(--line);}
.post-nav + .rel{margin-top:0;}
section:has(.post-nav) + .rel{margin-top:0;}
.post-nav .pv,.post-nav .nx{display:flex;flex-direction:column;gap:6px;}
.post-nav .nx{text-align:right;}
.post-nav .pv span,.post-nav .nx span{font-family:var(--arch);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.post-nav b{font-weight:400;font-size:13px;color:var(--ink-2);line-height:1.6;transition:color .3s;}
.post-nav .pv:hover b,.post-nav .nx:hover b{color:var(--gold);}
.post-nav .bk{font-family:var(--arch);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--ink);padding:13px 26px;white-space:nowrap;transition:all .35s;justify-self:center;}
.post-nav .bk:hover{background:var(--ink);color:var(--card);}
.rel{border-top:1px solid var(--line);margin-top:clamp(48px,6vw,84px);padding:clamp(46px,5vw,72px) 0 clamp(64px,8vw,104px);}
.rel-h{margin-bottom:clamp(24px,3vw,38px);}
.rel-h h2{font-family:var(--jp);font-weight:200;font-size:clamp(20px,2.2vw,28px);letter-spacing:.1em;margin-top:10px;}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);}
.rel-card{margin-bottom:clamp(14px,2vw,22px);}
.rel-card .img{overflow:hidden;margin-bottom:14px;}
.rel-card .img img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.6,.2,1);}
.rel-card:hover .img img{transform:scale(1.05);}
.rel-card .meta{display:flex;gap:12px;margin-bottom:8px;}
.rel-card h3{font-family:var(--jp);font-weight:400;font-size:15px;line-height:1.6;transition:color .3s;}
.rel-card:hover h3{color:var(--gold);}
@media(max-width:760px){.rel-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;}}
@media(max-width:820px){
  .aB-grid{grid-template-columns:1fr;gap:clamp(30px,6vw,46px);}
  .aHead-split .wrap{flex-direction:column;align-items:stretch;gap:clamp(20px,4vw,28px);}
  .aHead-split .aFeatB{flex:none;max-width:none;width:100%;}
  .aB-side .sticky{position:static;display:grid;grid-template-columns:1fr 1fr;gap:22px 26px;align-items:start;padding-bottom:clamp(22px,4vw,30px);border-bottom:1px solid var(--line);}
  .aB-side .blk{gap:9px;}
  .aB-side .sticky .blk:nth-child(3){grid-column:1 / -1;}
  .aB-side .bk{grid-column:1 / -1;width:100%;text-align:center;padding:15px 0;margin-top:4px;}
}
@media(max-width:680px){.post-nav{grid-template-columns:1fr;}.post-nav .nx{text-align:left;}.post-nav .bk{order:-1;text-align:center;}}

/* =========================================================
   固定ページ（基本デザイン） page.php
   タイトル=H1、アイキャッチ=ヒーロー画像。本文は H2/H3/段落/箇条書き/表/引用 を書くだけ。
   目次・見出しの飾り（❖／其の◯）は本文のH2から自動生成。
   ========================================================= */
.pg .pg-hero{text-align:center;}
.pg .pg-hero-img{max-width:960px;margin:0 auto;aspect-ratio:16/9;overflow:hidden;line-height:0;}
.pg .pg-hero-img img{display:block;width:100%;height:100%;object-fit:cover;}
.pg .pg-hero .tx{max-width:1100px;margin:0 auto;padding:clamp(34px,4.5vw,62px) clamp(24px,5vw,64px) clamp(12px,2vw,28px);}
.pg .pg-hero h1{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:400;font-size:clamp(22px,3vw,38px);line-height:1.5;letter-spacing:.045em;color:var(--ink);margin:0 auto;max-width:24em;overflow-wrap:anywhere;}
.pg .pg-hero .rule{width:60px;height:2px;background:var(--gold);margin:24px auto 0;}
.pg .pg-body{padding:clamp(42px,5vw,78px) 0 clamp(20px,3vw,40px);}
.pg .pg-grid{display:grid;grid-template-columns:200px 1fr;gap:clamp(36px,5vw,84px);align-items:start;}
.pg .pg-grid.no-toc{grid-template-columns:1fr;}
.pg .toc{position:sticky;top:108px;}
.pg .toc .lab{font-family:var(--arch);font-weight:600;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin-bottom:18px;display:flex;align-items:center;gap:9px;}
.pg .toc .lab::before{content:"\2756";color:var(--gold);font-size:11px;}
.pg .toc ol{list-style:none;counter-reset:t;display:flex;flex-direction:column;margin:0;padding:0;}
.pg .toc a{display:block;padding:12px 0;border-top:1px solid var(--line);color:var(--ink-3);font-family:var(--min);font-size:14px;transition:color .35s;}
.pg .toc a::before{counter-increment:t;content:"0" counter(t) "  ";font-size:12px;color:var(--gold);}
.pg .toc a:hover,.pg .toc a.active{color:var(--ink);}
.pg .pg-flow{min-width:0;}
.pg .pg-flow .sec-fl{display:flex;align-items:center;justify-content:center;gap:15px;color:var(--gold);font-size:13px;margin:clamp(40px,5vw,72px) 0 0;}
.pg .pg-flow .sec-fl:first-child{margin-top:0;}
.pg .pg-flow .sec-fl::before,.pg .pg-flow .sec-fl::after{content:"";height:1px;width:min(80px,13vw);background:linear-gradient(90deg,transparent,var(--gold-2));}
.pg .pg-flow .sec-fl::after{background:linear-gradient(90deg,var(--gold-2),transparent);}
.pg .pg-flow h2{font-family:var(--jp);font-weight:100;font-size:clamp(19px,2.8vw,33px);letter-spacing:.08em;color:var(--ink);text-align:center;margin:18px 0 8px;scroll-margin-top:100px;}
.pg .pg-flow .sec-no{font-family:var(--min);font-size:13px;letter-spacing:.34em;color:var(--gold);text-align:center;margin:0 0 clamp(24px,2.8vw,38px);}
.pg .pg-flow h3{font-family:var(--min);font-weight:600;font-size:clamp(18px,2vw,24px);letter-spacing:.04em;color:var(--ink);max-width:680px;margin:34px auto 14px;}
.pg .pg-flow p{font-weight:400;font-size:15.5px;line-height:2.25;color:#322d24;max-width:680px;margin:0 auto 22px;}
.pg .pg-flow strong{color:var(--gold);font-weight:400;}
.pg .pg-flow a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(154,124,57,.4);transition:text-decoration-color .3s;}
.pg .pg-flow a:hover{text-decoration-color:var(--gold);}
.pg .pg-flow mark.has-inline-color{background-color:transparent;}
.pg .pg-flow .has-inline-color *,.pg .pg-flow .has-text-color *{color:inherit;}
.pg .pg-flow ul,.pg .pg-flow ol{max-width:680px;margin:4px auto 26px;padding:0;list-style:none;}
.pg .pg-flow ul li{position:relative;padding-left:24px;margin-bottom:11px;color:#322d24;line-height:2.15;}
.pg .pg-flow ul li::before{content:"\2756";position:absolute;left:0;top:1px;color:var(--gold);font-size:10px;}
.pg .pg-flow ol{counter-reset:li;}
.pg .pg-flow ol li{position:relative;padding-left:40px;margin-bottom:13px;color:#322d24;line-height:2.15;}
.pg .pg-flow ol li::before{counter-increment:li;content:counter(li,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:var(--min);color:var(--gold);font-size:14px;}
.pg .pg-flow figure{margin:30px auto;max-width:680px;}
.pg .pg-flow img{width:100%;height:auto;display:block;}
.pg .pg-flow figcaption{font-family:var(--arch);font-size:11px;letter-spacing:.1em;color:var(--ink-3);margin-top:10px;text-align:center;}
.pg .pg-flow table{width:100%;border-collapse:collapse;margin:6px auto 28px;max-width:680px;font-size:14.5px;}
.pg .pg-flow th,.pg .pg-flow td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top;}
.pg .pg-flow thead th{font-family:var(--arch);font-weight:600;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold-2);white-space:nowrap;}
.pg .pg-flow tbody th{font-weight:600;color:var(--ink);white-space:nowrap;}
.pg .pg-flow td{color:#322d24;}
.pg .pg-flow blockquote{max-width:680px;margin:30px auto;padding:8px 0 8px 22px;border-left:2px solid var(--gold);font-family:var(--min);font-size:clamp(18px,2vw,24px);line-height:1.8;color:var(--ink);}
.pg .pg-flow blockquote p{margin:0;max-width:none;color:var(--ink);font-family:inherit;font-size:inherit;}
@media(max-width:860px){
  .pg .pg-grid{grid-template-columns:1fr;gap:24px;}
  .pg .toc{position:static;}
  .pg .toc ol{flex-direction:row;flex-wrap:wrap;gap:0 18px;}
  .pg .toc a{border-top:none;}
}

/* =========================================================
   七宝焼制作体験ページ (.exp)  案A シネマティック + 制作の流れ=案Bタイムライン
   ========================================================= */
.exp{font-family:var(--jp);}
.exp h1,.exp h2,.exp h3{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;}
.exp-orn{display:block;text-align:center;color:var(--gold);font-size:16px;letter-spacing:.4em;}
/* hero */
.exp-hero{position:relative;min-height:78vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:120px 24px 80px;overflow:hidden;}
.exp-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.exp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(18,16,11,.34),rgba(18,16,11,.5));z-index:1;}
.exp-hero-in{position:relative;z-index:2;max-width:760px;}
.exp-kick{display:block;font-family:var(--arch);font-size:12px;letter-spacing:.4em;color:rgba(255,255,255,.82);margin-bottom:24px;}
.exp-hero h1{font-weight:600;font-size:clamp(30px,5vw,60px);line-height:1.55;letter-spacing:.06em;text-shadow:0 2px 30px rgba(0,0,0,.4);}
.exp-hero p{max-width:560px;margin:26px auto 34px;font-size:15px;line-height:2;color:rgba(255,255,255,.9);letter-spacing:.04em;}
.exp-cta{display:inline-block;font-size:14px;letter-spacing:.14em;border:1px solid rgba(255,255,255,.7);color:#fff;padding:15px 40px;transition:.3s;}
.exp-cta:hover{background:#fff;color:var(--ink);}
.exp-scroll{position:absolute;bottom:26px;z-index:2;font-family:var(--arch);font-size:10px;letter-spacing:.34em;color:rgba(255,255,255,.7);}
/* intro */
.exp-intro{padding:clamp(64px,8vw,120px) 0;text-align:center;}
.exp-intro .lead{max-width:760px;margin:30px auto 0;font-size:clamp(16px,1.6vw,19px);line-height:2.4;color:var(--ink-2);font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;}
/* feature */
.exp-feat{padding:0 0 clamp(50px,7vw,100px);}
.exp-feat-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center;}
.exp-feat figure{aspect-ratio:4/5;overflow:hidden;}
.exp-feat figure img{width:100%;height:100%;object-fit:cover;}
.exp-num{font-family:var(--arch);font-size:13px;letter-spacing:.3em;color:var(--gold);}
.exp-feat h2{font-weight:600;font-size:clamp(24px,3vw,38px);letter-spacing:.05em;margin:14px 0 20px;line-height:1.5;}
.exp-feat p{font-size:15px;line-height:2.2;color:var(--ink-2);max-width:30em;}
.exp-pts{list-style:none;margin-top:26px;display:flex;flex-direction:column;gap:12px;}
.exp-pts li{position:relative;padding-left:26px;font-size:14px;color:var(--ink);letter-spacing:.03em;}
.exp-pts li::before{content:"\2756";position:absolute;left:0;top:1px;color:var(--gold);font-size:11px;}
/* pano band */
.exp-pano{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:80px 24px;overflow:hidden;}
.exp-pano-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.exp-pano::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(18,16,11,.4),rgba(18,16,11,.5));z-index:1;}
.exp-pano p{position:relative;z-index:2;font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(20px,2.6vw,34px);line-height:2.1;letter-spacing:.08em;text-shadow:0 2px 24px rgba(0,0,0,.45);max-width:820px;}
/* section heads */
.exp-h2c{text-align:center;font-weight:600;font-size:clamp(24px,3vw,36px);letter-spacing:.1em;margin-bottom:8px;}
.exp-h2c-sub{display:block;text-align:center;font-family:var(--arch);font-size:11px;letter-spacing:.32em;color:var(--gold);margin-bottom:clamp(36px,5vw,60px);}
/* process = 案B タイムライン */
.exp-proc{background:var(--bg-2);padding:clamp(60px,8vw,110px) 0;}
.exp-proc h2{text-align:center;font-weight:500;font-size:clamp(23px,2.8vw,34px);letter-spacing:.12em;margin-bottom:8px;}
.exp-timeline{list-style:none;max-width:760px;margin:0 auto;}
.exp-tl{display:grid;grid-template-columns:96px 1fr;gap:26px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);}
.exp-tl:last-child{border-bottom:none;}
.exp-tl figure{width:96px;height:96px;border-radius:50%;overflow:hidden;}
.exp-tl figure img{width:100%;height:100%;object-fit:cover;}
.exp-tl .tx h3{font-weight:600;font-size:18px;letter-spacing:.05em;}
.exp-tl .tx h3 span{font-family:var(--arch);font-size:12px;color:var(--gold);letter-spacing:.2em;margin-right:12px;}
.exp-tl .tx p{font-size:13.5px;color:var(--ink-2);margin-top:6px;line-height:1.95;}
/* courses */
.exp-courses{padding:clamp(64px,8vw,110px) 0;}
.exp-cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,34px);}
.exp-card{background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;}
.exp-card figure{aspect-ratio:3/2;overflow:hidden;}
.exp-card figure img{width:100%;height:100%;object-fit:cover;transition:.5s;}
.exp-card:hover figure img{transform:scale(1.04);}
.exp-card .cbody{padding:26px 24px 28px;display:flex;flex-direction:column;flex:1;}
.exp-card .ckick{font-family:var(--arch);font-size:10px;letter-spacing:.26em;color:var(--ink-3);}
.exp-card h3{font-weight:600;font-size:21px;letter-spacing:.05em;margin:8px 0 10px;}
.exp-card .price{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-size:26px;color:var(--gold);letter-spacing:.04em;margin-bottom:14px;}
.exp-card .price small{font-size:12px;color:var(--ink-3);letter-spacing:.06em;margin-left:6px;}
.exp-card p{font-size:13.5px;color:var(--ink-2);line-height:2;}
.exp-card .meta{margin-top:16px;font-size:12px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:14px;line-height:1.95;}
.exp-card .clink{margin-top:auto;padding-top:20px;font-size:13px;letter-spacing:.12em;color:var(--gold);}
.exp-note{max-width:820px;margin:clamp(36px,4vw,52px) auto 0;text-align:center;font-size:12.5px;color:var(--ink-3);line-height:2;letter-spacing:.03em;}
/* cta band */
.exp-cta-band{position:relative;text-align:center;color:#fff;padding:clamp(70px,9vw,130px) 24px;overflow:hidden;}
.exp-cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.exp-cta-band::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(18,16,11,.45),rgba(18,16,11,.55));z-index:1;}
.exp-cta-in{position:relative;z-index:2;}
.exp-cta-band h2{font-weight:600;font-size:clamp(26px,3.4vw,42px);letter-spacing:.08em;}
.exp-cta-band p{margin:18px auto 30px;max-width:520px;font-size:14px;color:rgba(255,255,255,.88);line-height:2;}
@media(max-width:860px){
  .exp-feat-grid{grid-template-columns:1fr;}
  .exp-cgrid{grid-template-columns:1fr;max-width:460px;margin:0 auto;}
  .exp-tl{grid-template-columns:64px 1fr;gap:18px;}
  .exp-tl figure{width:64px;height:64px;}
}

/* ===== お問い合わせページ (template-contact.php / 案A) ===== */
.ct .ct-sec{padding:clamp(56px,7vw,100px) 0;}
.ct-hero{min-height:60vh;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:120px 24px;position:relative;}
.ct-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,13,.42),rgba(20,18,13,.66));}
.ct-hero>*{position:relative;z-index:1;}
.ct-k{font-family:var(--arch);font-size:12px;letter-spacing:.42em;color:rgba(255,255,255,.85);margin-bottom:22px;}
.ct-hero h1{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(30px,5vw,54px);letter-spacing:.1em;text-shadow:0 2px 30px rgba(0,0,0,.4);margin:0;}
.ct-hero p{max-width:540px;margin:24px auto 0;font-size:14.5px;line-height:2;color:rgba(255,255,255,.9);}
.ct-grid{display:grid;grid-template-columns:1.5fr .92fr;gap:clamp(32px,5vw,64px);align-items:start;}
.ct-card{background:var(--card);padding:clamp(28px,4vw,48px);box-shadow:0 34px 80px -56px rgba(0,0,0,.55);border:1px solid var(--line);}
.ct-card h2{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:23px;letter-spacing:.06em;margin:0 0 6px;}
.ct-card .ct-lead{font-size:13px;color:var(--ink-3);margin-bottom:30px;line-height:1.85;}
.ct-noform{font-size:13.5px;color:var(--ink-3);line-height:1.9;padding:20px;border:1px dashed var(--line);}
.ct-info .ct-ttl{font-family:var(--arch);font-size:11px;letter-spacing:.28em;color:var(--gold);margin-bottom:8px;}
.ct-info .blk{padding:18px 0;border-bottom:1px solid var(--line);}
.ct-info .blk:first-of-type{padding-top:4px;}
.ct-info .lbl{font-size:11px;letter-spacing:.2em;color:var(--ink-3);margin-bottom:6px;}
.ct-info .val{font-size:14px;color:var(--ink);line-height:1.85;display:block;}
.ct-info a.val:hover{color:var(--gold);}
.ct-info .maplink{color:var(--gold);font-size:12px;}
.ct-sns{display:flex;gap:16px;margin-top:20px;flex-wrap:wrap;}
.ct-sns a{font-family:var(--arch);font-size:11px;letter-spacing:.16em;color:var(--ink-2);}
.ct-sns a:hover{color:var(--gold);}
.ct-form .wpcf7{margin:0;}
.ct-form p{margin:0 0 20px;}
.ct-form label{display:block;font-size:12.5px;letter-spacing:.08em;color:var(--ink-2);margin-bottom:8px;line-height:1.8;}
.ct-form .wpcf7-form-control-wrap{display:block;margin-top:8px;}
.ct-form input[type=text],.ct-form input[type=email],.ct-form input[type=tel],.ct-form input[type=url],.ct-form input[type=date],.ct-form input[type=number],.ct-form select,.ct-form textarea{width:100%;font-family:var(--jp);font-size:14px;color:var(--ink);background:#fff;border:1px solid var(--line);padding:13px 14px;transition:.2s;border-radius:0;-webkit-appearance:none;appearance:none;}
.ct-form select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px;}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(154,124,57,.12);}
.ct-form textarea{resize:vertical;min-height:140px;}
.ct-form .wpcf7-list-item{margin:0 16px 4px 0;display:inline-flex;align-items:center;gap:7px;}
.ct-form .wpcf7-list-item-label{font-size:12.5px;color:var(--ink-2);}
.ct-form .wpcf7-acceptance .wpcf7-list-item{display:flex;}
.ct-form input[type=checkbox],.ct-form input[type=radio]{width:auto;margin:0;}
.ct-form .wpcf7-submit{width:100%;font-family:var(--arch);letter-spacing:.16em;font-size:14px;background:var(--ink);color:var(--bg);border:none;padding:16px;cursor:pointer;transition:.25s;margin-top:6px;}
.ct-form .wpcf7-submit:hover{background:var(--gold);}
.ct-form .wpcf7-spinner{margin:14px auto 0;display:block;}
.ct-form .wpcf7-response-output{margin:18px 0 0!important;padding:12px 14px;font-size:13px;border-radius:0;}
.ct-form .wpcf7-not-valid-tip{color:var(--wp--preset--color--vivid-red);font-size:11.5px;margin-top:5px;}
.ct-req{font-style:normal;font-size:10px;letter-spacing:.1em;color:#fff;background:var(--gold);padding:2px 7px;margin-left:8px;vertical-align:1px;}
@media(max-width:880px){.ct-grid{grid-template-columns:1fr;}}

/* ===== 職人ページ (single-artisan.php / 案3) ===== */
.art-pf{background:#15130d;color:#efe9da;}
.art-pfw{max-width:1080px;margin:0 auto;padding:clamp(52px,7vw,96px) clamp(20px,5vw,48px);display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(28px,5vw,60px);align-items:center;}
.art-pfw>img{aspect-ratio:4/5;object-fit:cover;width:100%;}
.art-pf-k{font-family:var(--arch);font-size:11px;letter-spacing:.34em;color:var(--gold-2);margin-bottom:18px;}
.art-name{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(25px,3.4vw,38px);letter-spacing:.08em;color:#fff;margin:0 0 22px;line-height:1.4;}
.art-pf p{font-size:14.5px;line-height:2.05;color:rgba(239,233,218,.82);margin:0 0 16px;}
.art-pf p:last-child{margin-bottom:0;}
.art-sh{text-align:center;margin-bottom:clamp(32px,5vw,48px);}
.art-sh .en{font-family:var(--arch);font-size:11px;letter-spacing:.34em;color:var(--gold);}
.art-sh .ja{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(22px,2.8vw,30px);letter-spacing:.12em;margin-top:10px;}
.art-tl-sec.art-light{background:var(--bg);}
.art-tlw{max-width:840px;margin:0 auto;padding:clamp(54px,7.5vw,98px) clamp(20px,5vw,48px);}
.art-tl{position:relative;padding-left:28px;}
.art-tl::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:var(--line);}
.art-grp{position:relative;margin-bottom:24px;}
.art-grp:last-child{margin-bottom:0;}
.art-grp::before{content:"";position:absolute;left:-27px;top:5px;width:8px;height:8px;border-radius:50%;background:var(--gold);}
.art-yr{font-family:var(--arch);font-size:12.5px;color:var(--gold);letter-spacing:.08em;margin-bottom:7px;}
.art-ev{font-size:12px;color:var(--ink-2);line-height:1.8;margin-bottom:5px;}
.art-ev:last-child{margin-bottom:0;}
.art-tl-sec.art-dark{position:relative;background-size:cover;background-position:center;}
.art-tl-sec.art-dark::after{content:"";position:absolute;inset:0;background:rgba(21,19,13,.86);}
.art-tl-sec.art-dark .art-tlw{position:relative;z-index:1;}
.art-dark .art-sh .en{color:var(--gold-2);}
.art-dark .art-sh .ja{color:#fff;}
.art-dark .art-tl::before{background:rgba(239,233,218,.18);}
.art-dark .art-grp::before{background:var(--gold-2);}
.art-dark .art-yr{color:var(--gold-2);}
.art-dark .art-ev{color:rgba(239,233,218,.88);}
.art-wk{background:var(--bg);}
.art-wkw{max-width:1180px;margin:0 auto;padding:clamp(54px,7vw,98px) clamp(20px,5vw,48px);}
.art-wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,32px);}
.art-wgrid figure img{aspect-ratio:1/1;object-fit:cover;width:100%;}
.art-wgrid figcaption{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-size:13px;color:var(--ink-2);margin-top:12px;text-align:center;letter-spacing:.04em;}
.art-cta{background:var(--card);border-top:1px solid var(--line);text-align:center;padding:clamp(50px,7vw,84px) 24px;}
.art-cta-btn{display:inline-block;font-family:var(--arch);letter-spacing:.14em;font-size:13.5px;background:var(--ink);color:var(--bg);padding:16px 46px;transition:.25s;}
.art-cta-btn:hover{background:var(--gold);}
.art-sns{display:flex;justify-content:center;gap:20px;margin-top:30px;flex-wrap:wrap;}
.art-sns a{font-family:var(--arch);font-size:11px;letter-spacing:.18em;color:var(--ink-2);}
.art-sns a:hover{color:var(--gold);}
@media(max-width:760px){.art-pfw{grid-template-columns:1fr;}.art-wgrid{grid-template-columns:1fr 1fr;}}

/* 職人紹介カードのリンク化（page-about） */
a.aC-maker { color: inherit; text-decoration: none; }
.aC-maker.has-link { cursor: pointer; }
.aC-more { display: inline-flex; align-items: center; gap: .5em; margin-top: 24px; font-family: var(--arch); font-weight: 500; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-2); }
.aC-more .ar { transition: transform .4s cubic-bezier(.2,.6,.2,1); }
.aC-maker.has-link:hover .aC-more { color: #f4eddc; }
.aC-maker.has-link:hover .aC-more .ar { transform: translateX(5px); }

/* 記事ヘッダーのカテゴリーをボタン化（カテゴリー一覧へ） */
.aHead.aB .meta .cat{font-size:13px;letter-spacing:.16em;color:var(--gold);border:1px solid var(--gold);padding:7px 18px;border-radius:2px;transition:.25s;}
.aHead.aB .meta .cat:hover{background:var(--gold);color:var(--card);}
