/* ============================================================
   刺青や — irz layer（黒×金の重厚スキン。自作テンプレ専用）
   ※ add.css の後に読み込まれる想定
   ============================================================ */
:root{
  --irz-bg:#0b0a09; --irz-bg2:#121010; --irz-panel:#17140f;
  --irz-gold:#7c6637; --irz-gold-hi:#c1a05e; --irz-gold-deep:#5e4d29;
  --irz-white:#efe9dd; --irz-bone:#cfc7b8; --irz-mute:#8f877b;
  --irz-line:rgba(233,228,216,.12);
  --irz-jp:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif;
  --irz-latin:"Palatino Linotype","Palatino","Georgia",serif;
  --irz-sans:"Helvetica Neue","Segoe UI",Arial,sans-serif;
}

/* ---- base（黒地・白文字にリセット） ---- */
body.irz{
  background:var(--irz-bg); color:var(--irz-white);
  font-family:var(--irz-jp); line-height:1.9; letter-spacing:.02em;
  -webkit-font-smoothing:antialiased;
}
body.irz a{color:inherit; text-decoration:none;}
body.irz img{max-width:100%; height:auto;}
body.irz ::selection{background:var(--irz-gold); color:#000;}
.irz-wrap{overflow-x:clip;} /* hiddenはスクロールコンテナ化しsticky(スクロール演出)を殺すのでclip */
.irz-container{max-width:1200px; margin-inline:auto; padding-inline:clamp(20px,5vw,48px);}
.irz-label{font-family:var(--irz-sans); font-size:11px; letter-spacing:.34em; text-transform:uppercase; color:var(--irz-gold-hi);}
.irz-gold{color:var(--irz-gold-hi);}
*:focus-visible{outline:2px solid var(--irz-gold); outline-offset:3px;}

/* ---- header ---- */
.irz-header{position:sticky; top:0; z-index:100; background:transparent; border-bottom:1px solid transparent; transition:background .45s ease,border-color .45s ease,backdrop-filter .45s ease;}
.irz-header.is-scrolled{background:rgba(9,8,7,.9); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom-color:var(--irz-line);}
/* 透過時（トップ）は動画の上でも読めるよう軽い影を、スクロール時は不要なので外す */
.irz-header:not(.is-scrolled) .irz-nav a{text-shadow:0 1px 3px rgba(0,0,0,.9),0 2px 20px rgba(0,0,0,.6);}
/* トップページはヘッダーをヒーロー動画に重ねて浮遊（fixed）。下層はstickyのまま */
body.home .irz-header{position:fixed; top:0; left:0; right:0;}
body.home.admin-bar .irz-header{top:32px;}
@media(max-width:782px){ body.home.admin-bar .irz-header{top:46px;} }
.irz-header__inner{display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1340px; margin-inline:auto; padding:clamp(18px,2.4vw,30px) clamp(20px,4vw,48px); transition:padding .4s ease;}
.irz-header.is-scrolled .irz-header__inner{padding-top:13px; padding-bottom:13px;}
.irz-logo{display:flex; align-items:center; gap:12px; line-height:1; transition:opacity .3s;}
.irz-logo:hover{opacity:.82;}
.irz-logo__ja{font-size:clamp(22px,2.4vw,28px); font-weight:600; letter-spacing:.12em; color:var(--irz-white);}
.irz-logo__en{font-family:var(--irz-sans); font-size:9.5px; letter-spacing:.3em; color:var(--irz-gold-hi); text-transform:uppercase;}
.irz-logo .irz-logo__img{height:clamp(54px,6vw,76px); width:auto; max-width:none; display:block; filter:drop-shadow(0 3px 16px rgba(0,0,0,.7)); transition:height .4s ease;}
.irz-header.is-scrolled .irz-logo__img{height:clamp(40px,4.2vw,50px);}
.irz-nav{display:flex; align-items:center; gap:clamp(16px,1.9vw,30px);}
.irz-nav a{position:relative; font-size:13.5px; letter-spacing:.14em; color:var(--irz-bone); transition:color .35s ease,transform .35s ease; text-align:center;}
.irz-nav a:not(.irz-nav__reserve){padding-bottom:7px;}
.irz-nav a .en{display:block; font-family:var(--irz-sans); font-size:8.5px; letter-spacing:.26em; color:var(--irz-mute); text-transform:uppercase; margin-bottom:5px; transition:color .35s ease;}
.irz-nav a:not(.irz-nav__reserve)::after{content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg,var(--irz-gold),var(--irz-gold-hi)); transform:scaleX(0); transform-origin:left center; transition:transform .45s cubic-bezier(.2,.7,.2,1); box-shadow:0 0 10px rgba(193,160,94,.55);}
.irz-nav a:not(.irz-nav__reserve):hover::after,.irz-nav a:not(.irz-nav__reserve):focus-visible::after{transform:scaleX(1);}
.irz-nav a:hover,.irz-nav a:focus-visible{color:var(--irz-gold-hi); transform:translateY(-2px);}
.irz-nav a:hover .en,.irz-nav a:focus-visible .en{color:var(--irz-gold);}
.irz-nav a.irz-nav__reserve{position:relative; overflow:hidden; z-index:0; border:1px solid var(--irz-gold-deep); color:var(--irz-white)!important; padding:.82em 1.5em; letter-spacing:.2em; font-size:12.5px; white-space:nowrap; transition:color .4s ease,border-color .4s ease;}
.irz-nav a.irz-nav__reserve::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg,#caa963,#f4dea3); transform:scaleX(0); transform-origin:left center; transition:transform .45s cubic-bezier(.2,.7,.2,1);}
.irz-nav a.irz-nav__reserve:hover,.irz-nav a.irz-nav__reserve:focus-visible{color:#0b0a09!important; border-color:var(--irz-gold-hi); transform:none;}
.irz-nav a.irz-nav__reserve:hover::before,.irz-nav a.irz-nav__reserve:focus-visible::before{transform:scaleX(1);}
.irz-burger{display:none; width:34px; height:26px; background:none; border:0; cursor:pointer; padding:0;}
.irz-burger span{display:block; height:1.5px; background:var(--irz-white); margin:6px 0; transition:.3s;}

/* ---- sub hero（下層の見出し） ---- */
.irz-subhero{position:relative; padding:clamp(70px,11vw,140px) 0 clamp(40px,6vw,70px); text-align:center;
  background:linear-gradient(180deg,#0e0c0a,var(--irz-bg)); border-bottom:1px solid var(--irz-line); overflow:hidden;}
.irz-subhero::after{content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:60px; height:2px; background:linear-gradient(90deg,transparent,var(--irz-gold),transparent);}
.irz-subhero__en{font-family:var(--irz-latin); font-size:clamp(34px,7vw,72px); letter-spacing:.14em; color:var(--irz-gold);
  text-transform:uppercase; margin:0; line-height:1;}
.irz-subhero__ja{display:block; margin-top:14px; font-size:clamp(13px,1.4vw,16px); letter-spacing:.5em; color:var(--irz-bone);}

/* ---- section ---- */
.irz-section{padding:clamp(50px,8vw,100px) 0;}

/* ---- gallery ---- */
.irz-tabs{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:clamp(28px,4vw,48px);}
.irz-tab{font-family:var(--irz-sans); font-size:12.5px; letter-spacing:.16em; color:var(--irz-bone);
  border:1px solid var(--irz-line); padding:.7em 1.3em; border-radius:2px; cursor:pointer; background:none; transition:.3s;}
.irz-tab:hover{border-color:var(--irz-gold-deep); color:var(--irz-white);}
.irz-tab.is-active{background:var(--irz-gold); border-color:var(--irz-gold); color:#0b0a09;}
.irz-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(10px,1.4vw,18px);}
.irz-work{position:relative; display:block; aspect-ratio:3/4; overflow:hidden; background:var(--irz-panel);
  border:1px solid var(--irz-line);}
.irz-work__img{position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .9s ease;}
.irz-work:hover .irz-work__img{transform:scale(1.06);}
.irz-work__ph{position:absolute; inset:0; display:grid; place-items:center; color:var(--irz-mute);
  font-family:var(--irz-sans); font-size:10px; letter-spacing:.3em; text-transform:uppercase;}
.irz-work__ov{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; gap:4px;
  padding:16px; background:linear-gradient(transparent 45%,rgba(6,5,4,.86)); opacity:0; transition:opacity .4s;}
.irz-work:hover .irz-work__ov,.irz-work:focus-visible .irz-work__ov{opacity:1;}
.irz-work__cat{font-family:var(--irz-sans); font-size:9.5px; letter-spacing:.22em; color:var(--irz-gold-hi); text-transform:uppercase;}
.irz-work__ttl{font-size:15px; letter-spacing:.06em;}
.irz-work__chip{position:absolute; top:10px; left:10px; z-index:2; font-family:var(--irz-sans); font-size:9px;
  letter-spacing:.16em; color:var(--irz-white); background:rgba(124,102,55,.85); padding:.35em .7em; text-transform:uppercase;}
.irz-empty{text-align:center; color:var(--irz-mute); padding:60px 0; letter-spacing:.1em;}

/* ---- button ---- */
.irz-btn{position:relative; display:inline-flex; align-items:center; justify-content:center; gap:.7em; font-size:13px; letter-spacing:.2em; overflow:hidden; z-index:0; border:1px solid var(--irz-gold-deep); color:var(--irz-bone); padding:.95em 2em; background:transparent; transition:color .45s ease,border-color .45s ease,transform .3s cubic-bezier(.2,.7,.2,1);}
.irz-btn::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg,#caa963,#f4dea3); transform:scaleX(0); transform-origin:left center; transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.irz-btn::after{content:""; position:absolute; inset:4px; border:1px solid rgba(193,160,94,.28); pointer-events:none; transition:border-color .45s ease;}
.irz-btn:hover,.irz-btn:focus-visible{color:#0b0a09; border-color:var(--irz-gold-hi);}
.irz-btn:hover::before,.irz-btn:focus-visible::before{transform:scaleX(1);}
.irz-btn:hover::after,.irz-btn:focus-visible::after{border-color:rgba(11,10,9,.25);}
.irz-btn i{font-size:.82em; transition:transform .4s ease;}
.irz-btn:hover i{transform:translateX(4px);}

/* ---- footer ---- */
.irz-footer{background:var(--irz-bg2); border-top:1px solid var(--irz-line); padding:clamp(50px,7vw,80px) 0 30px;}
.irz-footer__grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:clamp(24px,4vw,50px);}
.irz-footer h3{font-size:20px; letter-spacing:.14em; margin:0 0 6px;}
.irz-footer__en{font-family:var(--irz-sans); font-size:10px; letter-spacing:.3em; color:var(--irz-gold-hi); text-transform:uppercase;}
.irz-footer__info{color:var(--irz-bone); font-size:14px; line-height:2.1; margin-top:16px;}
.irz-footer__info b{color:var(--irz-white); font-weight:600;}
.irz-fnav{display:flex; flex-direction:column; gap:10px; font-size:14px; letter-spacing:.1em; color:var(--irz-bone);}
.irz-fnav a:hover{color:var(--irz-gold-hi);}
.irz-sns{display:flex; gap:14px; margin-top:16px;}
.irz-sns a{width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--irz-line);
  color:var(--irz-bone); border-radius:50%; transition:.3s;}
.irz-sns a:hover{border-color:var(--irz-gold); color:var(--irz-gold-hi);}
.irz-copy{margin-top:clamp(30px,5vw,54px); padding-top:22px; border-top:1px solid var(--irz-line);
  text-align:center; font-family:var(--irz-sans); font-size:11px; letter-spacing:.2em; color:var(--irz-mute);}

/* ---- top hero（墨→作品リビール） ---- */
.irz-hero{position:relative; height:100svh; min-height:600px; overflow:hidden; background:var(--irz-bg);}
.irz-hero__video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; background:var(--irz-bg);}
.irz-hero__canvas{position:absolute; inset:0; width:100%; height:100%; display:block; touch-action:pan-y; cursor:crosshair; z-index:1;}
/* スマホは縦スクロール優先。墨ドラッグ演出はPC(マウス)のみ＝ヒーロー上でも普通にスクロールできる */
@media(hover:none){ .irz-hero__canvas{touch-action:auto; cursor:default; pointer-events:none;} }
.irz-hero__vign{position:absolute; inset:0; z-index:2; pointer-events:none; background:radial-gradient(150% 125% at 50% 46%,transparent 62%,rgba(5,4,3,.5)); }
.irz-hero__inner{position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:clamp(20px,5vw,60px); pointer-events:none;}
.irz-hero__en{font-family:var(--irz-latin); font-size:clamp(11px,1.3vw,15px); letter-spacing:.5em; color:var(--irz-gold-hi); text-transform:uppercase; margin:0 0 18px;}
/* ヒーローの小見出しをひらがな「いれずみや」白文字に */
.irz-hero__en--jp{font-family:var(--irz-jp); text-transform:none; color:var(--irz-white); letter-spacing:.42em; font-size:clamp(13px,1.6vw,17px); font-weight:700;}
.irz-hero__logo{font-size:clamp(58px,13vw,164px); letter-spacing:.06em; font-weight:600; color:var(--irz-white); line-height:1; margin:0; text-shadow:0 8px 60px rgba(0,0,0,.85);}
.irz-hero__read{font-size:clamp(14px,1.7vw,20px); letter-spacing:.3em; color:var(--irz-bone); margin-top:24px; line-height:2;}
.irz-hero__cta{display:flex; gap:14px; margin-top:clamp(28px,4vw,46px); pointer-events:auto; flex-wrap:wrap; justify-content:center;}
.irz-hero__scroll{position:absolute; bottom:24px; left:50%; transform:translateX(-50%); z-index:3; color:var(--irz-mute); font-family:var(--irz-sans); font-size:10px; letter-spacing:.3em; text-transform:uppercase; display:flex; flex-direction:column; align-items:center; gap:8px; pointer-events:none;}
.irz-hero__scroll .ln{width:1px; height:44px; background:linear-gradient(var(--irz-gold),transparent);}
/* ===== 水墨画ヒーロー：左寄せ見出し＋登場演出＋スクロール視差 ===== */
.irz-hero__lead{position:absolute; z-index:3; left:clamp(24px,6vw,96px); top:50%; transform:translateY(-50%); text-align:left; pointer-events:none; will-change:transform,opacity;}
.irz-hero__lead .irz-hero__en{margin:0 0 16px; letter-spacing:.5em;}
.irz-hero__lead .irz-hero__logo{font-size:clamp(56px,11vw,150px); line-height:1; display:flex;}
.irz-hero__lead .irz-hero__read{margin-top:20px; letter-spacing:.28em; font-weight:700;}
/* マスクワイプ（英字・一言） */
.irz-rl{overflow:hidden; display:block;}
.irz-rl > span{display:inline-block; transform:translateY(115%); opacity:0;}
:root.irz-revealed .irz-rl > span{transform:translateY(0); opacity:1; transition:transform 1s cubic-bezier(.16,1,.3,1), opacity 1s ease;}
:root.irz-revealed .irz-hero__en.irz-rl > span{transition-delay:.15s;}
:root.irz-revealed .irz-hero__read.irz-rl > span{transition-delay:1.05s;}
/* ロゴ1文字ずつせり上がり */
.irz-hero__logo .ch{display:inline-block; transform:translateY(120%) rotate(6deg); opacity:0;}
:root.irz-revealed .irz-hero__logo .ch{transform:translateY(0) rotate(0); opacity:1; transition:transform 1.3s cubic-bezier(.16,1,.3,1), opacity 1.1s ease;}
:root.irz-revealed .irz-hero__logo .ch:nth-child(1){transition-delay:.35s;}
:root.irz-revealed .irz-hero__logo .ch:nth-child(2){transition-delay:.48s;}
:root.irz-revealed .irz-hero__logo .ch:nth-child(3){transition-delay:.61s;}
@media (prefers-reduced-motion: reduce){ .irz-hero__lead .irz-rl > span, .irz-hero__logo .ch{transform:none; opacity:1; transition:none;} }
@media(max-width:768px){
  .irz-hero__lead{left:0; right:0; top:auto; bottom:27vh; transform:none; text-align:center; padding:0 20px;}
  .irz-hero__lead .irz-hero__logo{justify-content:center; font-size:clamp(64px,20vw,120px);}
}
/* 落款＝印影を右下に押印演出で（墨が晴れる約2.4s後にポンッと出る） */
.irz-hero__seal{position:absolute; right:clamp(16px,3vw,44px); bottom:clamp(88px,12vh,132px); width:clamp(78px,9vw,124px); height:auto; z-index:4; pointer-events:none; transform-origin:center; opacity:0; filter:drop-shadow(0 8px 22px rgba(0,0,0,.55)); transform:rotate(8deg); animation:irzHeroSeal 2.4s ease 2.6s forwards; animation-play-state:paused;}
:root.irz-revealed .irz-hero__seal{animation-play-state:running;}
/* 墨がにじみ出て、少し斜めのまま定着する押印 */
@keyframes irzHeroSeal{
  0%{opacity:0; transform:rotate(8deg);}
  100%{opacity:1; transform:rotate(8deg);}
}
@media (prefers-reduced-motion: reduce){ .irz-hero__seal{opacity:1; filter:drop-shadow(0 8px 22px rgba(0,0,0,.55)); transform:rotate(8deg); animation:none;} }
/* スマホは印影を中央下の文字（「刺青や」〜「命を」）にしっかり重ねる。※グローバル.irz-hero__sealより後に置いて上書き */
@media(max-width:768px){ .irz-hero__seal{right:11%; bottom:25vh; width:clamp(72px,24vw,116px);} }
/* ============ ローディング画面（墨から浮かぶマーク → 金の帳が上下に開く）============ */
.irz-loading{overflow:hidden;}
.irz-load{position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; overflow:hidden; background:transparent;}
.irz-load::before,.irz-load::after{content:""; position:absolute; left:0; right:0; height:calc(50% + 1px); background:#0b0a09; z-index:1; transition:transform 1.05s cubic-bezier(.76,0,.18,1);}
.irz-load::before{top:0; box-shadow:0 1px 0 rgba(193,160,94,.45);}
.irz-load::after{bottom:0; box-shadow:0 -1px 0 rgba(193,160,94,.45);}
.irz-load__mark{position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:20px; transition:opacity .45s ease;}
.irz-load__mark img{width:clamp(88px,13vw,132px); height:auto; display:block; opacity:0; filter:blur(14px); transform:scale(.92); animation:irzLoadIn 1.15s cubic-bezier(.2,.8,.2,1) .12s forwards;}
.irz-load__ln{width:0; height:1px; background:linear-gradient(90deg,transparent,var(--irz-gold-hi) 30%,var(--irz-gold-hi) 70%,transparent); box-shadow:0 0 14px rgba(193,160,94,.6); animation:irzLoadLn 1s ease .95s forwards;}
.irz-load.is-done::before{transform:translateY(-101%);}
.irz-load.is-done::after{transform:translateY(101%);}
.irz-load.is-done .irz-load__mark{opacity:0;}
@keyframes irzLoadIn{ to{opacity:1; filter:blur(0); transform:scale(1);} }
@keyframes irzLoadLn{ to{width:clamp(96px,15vw,150px);} }
@media (prefers-reduced-motion: reduce){
  .irz-load__mark img{animation:none; opacity:1; filter:none; transform:none;}
  .irz-load__ln{animation:none; width:clamp(96px,15vw,150px);}
  .irz-load::before,.irz-load::after{transition-duration:.5s;}
}

/* ---- top sections ---- */
.irz-t-sec{padding:clamp(60px,9vw,120px) 0; position:relative; overflow:hidden; isolation:isolate;}
/* 水墨：巨大な縦組み墨文字ウォーターマーク（スクロールで滲み出て上下にドリフト） */
.irz-kanji{position:absolute; top:50%; z-index:-1; writing-mode:vertical-rl; font-family:var(--irz-jp); font-weight:600; font-size:clamp(180px,33vw,460px); line-height:.84; letter-spacing:-.04em; color:var(--irz-white); opacity:0; filter:blur(2px); pointer-events:none; user-select:none; transform:translateY(-50%); will-change:transform,opacity;}
.irz-kanji--l{left:-.1em;}
.irz-kanji--r{right:-.1em;}
.irz-t-sec--alt{background:var(--irz-bg2); border-block:1px solid var(--irz-line);}
.irz-t-head{text-align:center; margin-bottom:clamp(34px,5vw,58px);}
.irz-t-head__en{position:relative; display:inline-block; font-family:var(--irz-latin); font-size:clamp(26px,4vw,44px); letter-spacing:.14em; color:var(--irz-gold); text-transform:uppercase; margin:0; line-height:1;}
.irz-t-head__en::before,.irz-t-head__en::after{content:""; position:absolute; top:52%; width:clamp(22px,4vw,52px); height:1px; background:linear-gradient(90deg,transparent,var(--irz-gold-deep));}
.irz-t-head__en::before{right:calc(100% + 20px); transform:scaleX(-1);}
.irz-t-head__en::after{left:calc(100% + 20px);}
.irz-t-head__ja{display:block; margin-top:12px; font-size:14px; letter-spacing:.4em; color:var(--irz-bone);}

/* おしゃれ強化：カードのゴールドグロー */
.irz-work{transition:box-shadow .45s ease, border-color .45s ease, transform .45s ease;}
.irz-work:hover{border-color:var(--irz-gold-deep); box-shadow:0 0 0 1px var(--irz-gold-deep),0 22px 50px -24px rgba(0,0,0,.95);}
.irz-artist-card__img{transition:box-shadow .45s ease, border-color .45s ease;}
.irz-artist-card:hover .irz-artist-card__img{border-color:var(--irz-gold-deep); box-shadow:0 0 0 1px var(--irz-gold-deep),0 22px 50px -24px rgba(0,0,0,.9);}

/* スクロール表示（フェイドアップ） */
.irz-reveal{opacity:0; transform:translateY(28px); transition:opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1);}
.irz-reveal.is-in{opacity:1; transform:none;}
/* 墨にじみ：見出しがぼやけ→定着 */
.irz-reveal .irz-t-head__en,.irz-reveal .irz-heading__en{filter:blur(10px); transition:filter 1.1s cubic-bezier(.2,.7,.2,1) .06s;}
.irz-reveal.is-in .irz-t-head__en,.irz-reveal.is-in .irz-heading__en{filter:blur(0);}
/* 筆の一払い：セクション見出し上の墨ストローク。スクロールで左→右に走る */
.irz-brush{width:min(300px,58%); height:30px; margin:0 auto clamp(24px,3.5vw,42px); background:center/contain no-repeat url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 40'><defs><linearGradient id='b' x1='0' y1='0' x2='1' y2='0'><stop offset='0' stop-color='%237c6637'/><stop offset='.4' stop-color='%23c1a05e'/><stop offset='1' stop-color='%237c6637' stop-opacity='0'/></linearGradient></defs><path fill='url(%23b)' d='M6 22 C80 13 170 12 230 17 C280 21 320 19 350 15 C356 15 356 18 350 20 C315 26 265 25 215 26 C150 27 78 30 16 30 C5 30 2 25 6 22 Z'/><path fill='%23c1a05e' fill-opacity='.45' d='M250 20 C290 19 320 17 352 14 C356 16 350 19 340 21 C312 25 280 24 250 23 Z'/><path fill='%237c6637' fill-opacity='.35' d='M210 28 C270 28 315 26 350 23 C338 28 292 31 235 31 C222 31 212 30 210 28 Z'/></svg>"); clip-path:inset(0 100% 0 0); transition:clip-path 1.15s cubic-bezier(.5,.12,.15,1);}
.irz-brush.is-in{clip-path:inset(0 0 0 0);}
/* カード3Dチルト：ホバー追従は速く、離れたら滑らかに戻す */
.irz-work.irz-tilt,.irz-artist-card.irz-tilt{transition:transform .12s ease-out; z-index:4; box-shadow:0 30px 60px -24px rgba(0,0,0,.8);}

/* ===== マウス演出 ===== */
/* 墨の追従カーソル */
#irzCursor{position:fixed; top:0; left:0; width:22px; height:22px; border-radius:50%; z-index:9999; pointer-events:none;
  background:radial-gradient(circle,rgba(12,10,9,.9),rgba(12,10,9,0) 68%); transform:translate(-50%,-50%); mix-blend-mode:multiply; transition:width .3s,height .3s; will-change:transform;}
#irzCursor.big{width:46px; height:46px;}
@media(hover:none){ #irzCursor{display:none;} }
/* 羽（固定・全ページに薄くかぶせて、ヒーロー以外でも降って見える） */
#irzFeather{position:fixed; inset:0; width:100%; height:100%; z-index:9997; pointer-events:none; opacity:.5;}

/* 微グレイン（全体に和紙のようなノイズ） */
body.irz::after{content:""; position:fixed; inset:0; z-index:9998; pointer-events:none; opacity:.045; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
@media(prefers-reduced-motion:reduce){ .irz-reveal{opacity:1; transform:none;} .irz-reveal .irz-t-head__en,.irz-reveal .irz-heading__en{filter:none;} .irz-brush{clip-path:none;} }
.irz-t-lead{max-width:640px; margin:0 auto clamp(30px,4vw,44px); text-align:center; color:var(--irz-bone); line-height:2.15; letter-spacing:.06em; text-wrap:balance;}
.irz-t-center{text-align:center; margin-top:clamp(30px,4vw,48px);}

/* ---- work detail（作品詳細） ---- */
.irz-detail{padding:clamp(38px,6vw,78px) 0 clamp(56px,9vw,110px);}
.irz-detail__grid{display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(26px,4vw,54px); align-items:start;}
.irz-detail__media{display:flex; flex-direction:column; gap:12px;}
.irz-detail__main{aspect-ratio:4/5; background:var(--irz-panel); border:1px solid var(--irz-line); background-size:cover; background-position:center; position:relative; transition:opacity .3s ease, transform .3s ease;}
.irz-detail__main.is-switching{opacity:0; transform:translateX(16px);}
.irz-detail__ph{position:absolute; inset:0; display:grid; place-items:center; color:var(--irz-mute); font-family:var(--irz-sans); font-size:11px; letter-spacing:.3em;}
.irz-detail__thumbs{display:grid; grid-template-columns:repeat(4,1fr); gap:10px;}
.irz-detail__thumbs span{aspect-ratio:1; background-size:cover; background-position:center; border:1px solid var(--irz-line);}
.irz-detail__thumb{cursor:pointer; opacity:.6; transition:opacity .25s ease, border-color .25s ease, transform .25s ease;}
.irz-detail__thumb:hover,.irz-detail__thumb:focus-visible{opacity:1; transform:translateY(-2px); outline:none;}
.irz-detail__thumb.is-active{opacity:1; border-color:var(--irz-gold-hi); box-shadow:0 0 0 1px var(--irz-gold-hi);}
.irz-detail__meta{position:sticky; top:92px;}
.irz-detail__cat{font-family:var(--irz-sans); font-size:11px; letter-spacing:.24em; color:var(--irz-gold-hi); text-transform:uppercase;}
.irz-detail__ttl{font-size:clamp(26px,3.4vw,40px); letter-spacing:.06em; margin:12px 0 22px; line-height:1.45;}
.irz-detail__row{display:flex; align-items:center; gap:14px; padding:13px 0; border-top:1px solid var(--irz-line); font-size:14px;}
.irz-detail__row .k{color:var(--irz-mute); min-width:88px; font-family:var(--irz-sans); font-size:11px; letter-spacing:.18em;}
.irz-detail__row a:hover{color:var(--irz-gold-hi);}
.irz-detail__desc{color:var(--irz-bone); line-height:2.1; margin:22px 0; letter-spacing:.03em; text-align:left;}
.irz-detail__back{margin-top:26px;}

/* ---- artist list（彫師一覧） ---- */
.irz-artists{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.4vw,34px);}
.irz-artist-card{display:block; text-align:center;}
.irz-artist-card__img{aspect-ratio:3/4; background:var(--irz-panel); border:1px solid var(--irz-line); background-size:cover; background-position:center; position:relative; overflow:hidden;}
.irz-artist-card__img::after{content:""; position:absolute; inset:0; box-shadow:inset 0 -60px 60px -30px rgba(6,5,4,.8); opacity:0; transition:.4s;}
.irz-artist-card:hover .irz-artist-card__img::after{opacity:1;}
.irz-artist-card__ph{position:absolute; inset:0; display:grid; place-items:center; color:var(--irz-mute); font-family:var(--irz-sans); font-size:11px; letter-spacing:.3em;}
.irz-artist-card__en{display:block; margin-top:16px; font-family:var(--irz-latin); font-size:20px; letter-spacing:.2em; color:var(--irz-gold-hi);}
.irz-artist-card__ja{display:block; margin-top:4px; font-size:15px; letter-spacing:.14em;}
.irz-artist-card__role{display:block; margin-top:4px; font-family:var(--irz-sans); font-size:10px; letter-spacing:.2em; color:var(--irz-mute);}

/* ---- artist profile（彫師詳細） ---- */
.irz-profile{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(28px,4vw,56px); align-items:center;}
.irz-profile__img{aspect-ratio:3/4; background:var(--irz-panel); border:1px solid var(--irz-line); background-size:cover; background-position:center; position:relative;}
.irz-profile__en{font-family:var(--irz-latin); font-size:clamp(28px,4vw,46px); letter-spacing:.16em; color:var(--irz-gold-hi); margin:0; line-height:1;}
.irz-profile__ja{font-size:clamp(18px,2vw,24px); letter-spacing:.1em; margin:10px 0 4px;}
.irz-profile__role{font-family:var(--irz-sans); font-size:11px; letter-spacing:.2em; color:var(--irz-mute); text-transform:uppercase;}
.irz-profile__text{color:var(--irz-bone); line-height:2.1; margin:22px 0; white-space:pre-line;}
.irz-heading{text-align:center; margin-bottom:clamp(26px,4vw,46px);}
.irz-heading__en{font-family:var(--irz-latin); font-size:clamp(24px,3.4vw,38px); letter-spacing:.14em; color:var(--irz-gold); text-transform:uppercase; margin:0;}
.irz-heading__ja{display:block; margin-top:8px; font-size:13px; letter-spacing:.4em; color:var(--irz-bone);}

/* ---- visually hidden（SEO/読み上げ用・見た目に出さない） ---- */
.irz-visually-hidden{position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}

/* ---- 金ボタン（塗り） ---- */
.irz-btn--gold{background:linear-gradient(100deg,#caa963,#f4dea3); color:#0b0a09!important; border-color:transparent; box-shadow:0 6px 26px rgba(200,166,100,.42), inset 0 0 0 1px rgba(244,222,163,.55);}
/* CTAボタンと同じ明るい金グラデ（アクセスの電話するボタン用） */
.irz-btn--grad{background:linear-gradient(100deg,#caa963,#f4dea3)!important; color:#0b0a09!important; border-color:transparent; font-weight:700; box-shadow:0 6px 26px rgba(200,166,100,.42), inset 0 0 0 1px rgba(244,222,163,.55);}
.irz-btn--grad i{color:#0b0a09;}
.irz-btn--gold::before{background:#0b0a09;}
.irz-btn--gold::after{border-color:rgba(11,10,9,.3);}
.irz-btn--gold:hover,.irz-btn--gold:focus-visible{color:var(--irz-gold-hi)!important; border-color:var(--irz-gold-deep);}
.irz-btn--gold:hover::after,.irz-btn--gold:focus-visible::after{border-color:rgba(193,160,94,.3);}

/* ---- First / 初めての方へ（4ステップの流れ） ---- */
.irz-flow{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,1.8vw,24px); max-width:1120px; margin:clamp(30px,4vw,48px) auto clamp(30px,4vw,44px); text-align:left;}
.irz-step{position:relative; padding:clamp(24px,2.4vw,34px) clamp(18px,1.8vw,24px); background:linear-gradient(180deg,rgba(23,20,15,.55),rgba(11,10,9,.15)); border:1px solid var(--irz-line); border-top:2px solid var(--irz-gold-deep); overflow:hidden; transition:transform .55s cubic-bezier(.2,.7,.2,1),border-top-color .4s,box-shadow .55s;}
.irz-step::after{content:""; position:absolute; inset:0; background:radial-gradient(120% 78% at 50% -18%,rgba(193,160,94,.16),transparent 62%); opacity:0; transition:opacity .5s; pointer-events:none;}
.irz-step:hover{transform:translateY(-8px); border-top-color:var(--irz-gold-hi); box-shadow:0 28px 54px -28px rgba(0,0,0,.85);}
.irz-step:hover::after{opacity:1;}
.irz-step__no{display:block; font-family:var(--irz-latin); font-weight:700; font-size:clamp(44px,5.2vw,66px); line-height:1; letter-spacing:.02em; background:linear-gradient(155deg,var(--irz-gold-hi),var(--irz-gold-deep)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; margin-bottom:14px;}
.irz-step__ttl{font-family:var(--irz-jp); font-size:clamp(15px,1.55vw,18px); font-weight:600; color:var(--irz-white); letter-spacing:.06em; margin:0 0 10px;}
.irz-step__txt{font-size:13px; color:var(--irz-bone); line-height:1.95; letter-spacing:.03em; margin:0;}

/* ---- Access / アクセス（地図＋オーバーレイカード） ---- */
.irz-info{margin:0 0 4px;}
.irz-info__row{display:flex; gap:16px; padding:12px 2px; border-top:1px solid var(--irz-line); align-items:baseline;}
.irz-info__row:last-child{border-bottom:1px solid var(--irz-line);}
.irz-info__row dt{flex:none; min-width:44px; color:var(--irz-gold-hi); font-family:var(--irz-sans); font-size:11px; letter-spacing:.16em;}
.irz-info__row dd{margin:0; color:var(--irz-bone); line-height:1.7; letter-spacing:.04em;}
.irz-info__row dd a{color:var(--irz-white); border-bottom:1px solid var(--irz-line);}
.irz-access2{position:relative; max-width:1180px; margin:clamp(20px,3vw,34px) auto 0; padding:0 clamp(20px,5vw,48px);}
.irz-access2__map{position:relative; aspect-ratio:16/9; min-height:600px; border:1px solid var(--irz-line); overflow:hidden; background:var(--irz-panel);}
.irz-access2__map iframe{width:100%; height:100%; border:0; display:block; filter:grayscale(.62) contrast(1.03) brightness(.76); transition:filter .6s;}
.irz-access2__map:hover iframe{filter:grayscale(.12) brightness(.96);}
.irz-access2__card{position:absolute; top:50%; left:calc(clamp(20px,5vw,48px) + 34px); transform:translateY(-50%); width:min(372px,44%); padding:clamp(26px,3vw,38px); background:rgba(10,9,8,.84); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid var(--irz-gold-deep); box-shadow:0 34px 74px -32px rgba(0,0,0,.9);}
.irz-access2__en{font-family:var(--irz-latin); font-size:12px; letter-spacing:.32em; color:var(--irz-gold-hi); text-transform:uppercase; margin:0 0 6px;}
.irz-access2__name{font-family:var(--irz-jp); font-size:clamp(24px,3vw,32px); font-weight:600; letter-spacing:.14em; color:var(--irz-white); margin:0 0 18px;}
.irz-access2__btns{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px;}
.irz-access2__btns .irz-btn{font-size:12px; padding:.7em 1.1em;}

/* ---- responsive ---- */
@media(max-width:900px){ .irz-footer__grid{grid-template-columns:1fr 1fr;} }
@media(max-width:768px){
  /* backdrop-filter は position:fixed の包含ブロックを作り、オフキャンバスnavがヘッダー基準になって崩れる→モバイルは解除しビューポート基準に戻す。ヘッダーは羽レイヤー(z9997)より前面へ */
  .irz-header{z-index:9999; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; background:rgba(9,8,7,.92);}
  .irz-header.is-scrolled{background:rgba(9,8,7,.95); border-bottom-color:var(--irz-line);}
  .irz-header .irz-logo__img{height:46px;}
  .irz-header.is-scrolled .irz-logo__img{height:40px;}
  .irz-nav{position:fixed; inset:0 0 0 auto; width:min(80vw,320px); flex-direction:column; align-items:flex-start;
    justify-content:center; gap:22px; background:var(--irz-bg2); padding:40px; transform:translateX(100%);
    transition:transform .4s ease; border-left:1px solid var(--irz-line);}
  .irz-nav.is-open{transform:translateX(0);}
  .irz-nav a{text-align:left; font-size:15px; padding-bottom:0;}
  .irz-nav a::after{display:none;}
  .irz-nav__reserve{align-self:flex-start; margin-top:6px;}
  .irz-burger{display:block; z-index:110;}
  .irz-grid{grid-template-columns:repeat(2,1fr);}
  .irz-footer__grid{grid-template-columns:1fr;}
  .irz-detail__grid,.irz-profile{grid-template-columns:1fr;}
  .irz-detail__meta{position:static;}
  .irz-artists{grid-template-columns:repeat(2,1fr);}
  .irz-flow{grid-template-columns:1fr 1fr; gap:12px;}
  .irz-access2{padding:0;}
  .irz-access2__map{aspect-ratio:4/3; min-height:280px;}
  .irz-access2__card{position:static; transform:none!important; width:auto; margin:-46px 16px 0; backdrop-filter:none; -webkit-backdrop-filter:none; background:rgba(10,9,8,.94);}
}
@media(max-width:460px){
  .irz-flow{grid-template-columns:1fr;}
}

/* ==== スクロール演出シーン（Concept／Contact） ==== */
.irz-cscene{position:relative; height:300vh; background:linear-gradient(180deg,var(--irz-bg),#0d0c0a 50%,var(--irz-bg));}
.irz-tscene{position:relative; height:260vh; background:linear-gradient(180deg,var(--irz-bg),#0e0c09 55%,var(--irz-bg));}
.irz-cscene__sticky,.irz-tscene__sticky{position:sticky; top:0; height:100vh; height:100svh; overflow:hidden; perspective:1000px;}
.irz-cscene canvas,.irz-tscene canvas{position:absolute; inset:0; width:100%; height:100%; display:block; z-index:1;}
.irz-cscene__kanji{position:absolute; top:50%; left:4vw; z-index:0; transform:translateY(-50%); writing-mode:vertical-rl; font-family:var(--irz-jp); font-size:clamp(200px,30vw,430px); line-height:.9; font-weight:600; color:var(--irz-white); opacity:0; filter:blur(6px); pointer-events:none; user-select:none;}
.irz-cscene__content,.irz-tscene__content{position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:0 6vw; transform-style:preserve-3d; will-change:transform;}
/* スマホは3D傾きの回り込み(iOS Safariの合成不具合)で文字が読みにくくなるため、
   perspective/will-change/transform-styleを全て除去して純粋な2Dのz-index順にする＝文字を必ず前面に */
@media(max-width:768px){
  .irz-cscene__sticky,.irz-tscene__sticky{perspective:none !important; transform-style:flat !important;}
  /* iOS Safari対策：z-indexだけでは連続描画canvasに負けるため、
     文字側も translateZ で合成レイヤー化して z-index順を守らせる（両方composited＝正しく並ぶ） */
  .irz-cscene canvas,.irz-tscene canvas{z-index:1 !important; -webkit-transform:translateZ(0); transform:translateZ(0);}
  .irz-cscene__content,.irz-tscene__content{
    z-index:2 !important;
    -webkit-transform:translateZ(0) !important; transform:translateZ(0) !important;
    transform-style:flat !important; will-change:transform; isolation:isolate;
  }
  /* 視認性の保険：墨が近くても文字が浮くよう影を付与 */
  .irz-cscene__content, .irz-tscene__content{ text-shadow:0 2px 14px rgba(0,0,0,.85), 0 0 4px rgba(0,0,0,.7); }
}
.irz-cscene__en,.irz-tscene__en{font-family:var(--irz-latin); font-size:clamp(13px,1.4vw,16px); letter-spacing:.5em; color:var(--irz-gold-hi); text-transform:uppercase; margin:0 0 14px; opacity:0;}
.irz-cscene__ttl{font-family:var(--irz-jp); font-size:clamp(30px,4.6vw,54px); letter-spacing:.2em; font-weight:600; margin:0 0 34px; opacity:0; filter:blur(8px); color:var(--irz-white);}
.irz-cscene__lines{display:flex; flex-direction:column; gap:6px; font-size:clamp(14px,1.6vw,18px); color:var(--irz-bone); letter-spacing:.12em;}
.irz-cscene__lines span{display:block; clip-path:inset(0 100% 0 0); white-space:nowrap;}
.irz-cscene__cta{margin-top:44px; opacity:0; transform:translateY(20px);}
.irz-tscene__ttl{font-family:var(--irz-jp); font-size:clamp(24px,3.6vw,42px); letter-spacing:.2em; font-weight:600; line-height:1.6; margin:0 0 18px; opacity:0; filter:blur(8px); color:var(--irz-white);}
.irz-tscene__lead{color:var(--irz-bone); font-size:clamp(13px,1.5vw,16px); letter-spacing:.12em; line-height:2.1; margin:0 0 28px; opacity:0;}
.irz-tscene__info{display:flex; flex-direction:column; gap:16px; align-items:center; margin-bottom:30px; opacity:0;}
.irz-tscene__hours{display:flex; gap:30px; flex-wrap:wrap; justify-content:center; font-size:14px; color:var(--irz-bone); letter-spacing:.14em;}
.irz-tscene__hours .k{color:var(--irz-gold-hi); font-family:var(--irz-sans); font-size:11px; letter-spacing:.22em; margin-right:10px;}
.irz-tscene__tels{display:flex; gap:30px; flex-wrap:wrap; justify-content:center;}
.irz-tscene__tels a{font-family:var(--irz-latin); font-size:clamp(20px,2.6vw,30px); letter-spacing:.05em; color:var(--irz-white); text-decoration:none; border-bottom:1px solid var(--irz-gold-deep); padding-bottom:2px; transition:color .3s,border-color .3s;}
.irz-tscene__tels a:hover{color:var(--irz-gold-hi); border-color:var(--irz-gold-hi);}
.irz-tscene__btns{display:flex; flex-direction:column; gap:14px; align-items:center; opacity:0; transform:translateY(24px);}
.irz-tscene__badge{display:inline-flex; align-items:center; font-family:var(--irz-sans); font-size:11px; letter-spacing:.26em; color:var(--irz-gold-hi); border:1px solid var(--irz-gold-deep); padding:5px 16px;}
.irz-tscene__line{font-size:clamp(14px,1.6vw,17px); padding:1.25em 2.4em; font-weight:700; letter-spacing:.12em; background:linear-gradient(100deg,#caa963,#f4dea3)!important; color:#0b0a09!important; border-color:transparent; box-shadow:0 6px 26px rgba(200,166,100,.42), inset 0 0 0 1px rgba(244,222,163,.55);}
.irz-tscene__line i{color:#0b0a09;}
.irz-tscene__form{font-size:12px; padding:.8em 1.6em;}

/* ==== スクロール進捗の金線（ページ最上部） ==== */
#irzProgress{position:fixed; top:0; left:0; height:2px; width:0; z-index:10000; pointer-events:none;
  background:linear-gradient(90deg,var(--irz-gold-deep),var(--irz-gold-hi)); box-shadow:0 0 8px rgba(193,160,94,.5);}

/* ==== 作品カード：ホバーで金のシーンが走る ==== */
.irz-work{position:relative;}
.irz-work::after{content:""; position:absolute; inset:0; z-index:3; pointer-events:none;
  background:linear-gradient(115deg,transparent 42%,rgba(224,194,132,.16) 50%,transparent 58%);
  transform:translateX(-130%); transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.irz-work:hover::after{transform:translateX(130%);}

/* ==== 見出し：出現時に字間が締まる ==== */
.irz-reveal .irz-t-head__en{letter-spacing:.34em;}
.irz-reveal.is-in .irz-t-head__en{letter-spacing:.14em; transition:filter 1.1s cubic-bezier(.2,.7,.2,1) .06s, letter-spacing 1.2s cubic-bezier(.2,.7,.2,1) .06s;}

@media(max-width:768px){
  .irz-cscene{height:260vh;}
  .irz-tscene{height:240vh;}
  .irz-cscene__kanji{left:0;}
  .irz-cscene__lines span{white-space:normal;}
  .irz-tscene__tels{gap:14px;}
  .irz-tscene__tels a{font-size:19px;}
}
@media(prefers-reduced-motion:reduce){
  .irz-cscene__en,.irz-cscene__ttl,.irz-cscene__lines span,.irz-cscene__cta,
  .irz-tscene__en,.irz-tscene__ttl,.irz-tscene__lead,.irz-tscene__info,.irz-tscene__btns,.irz-cscene__kanji{opacity:1!important; filter:none!important; clip-path:none!important; transform:none!important;}
}

/* ==== カーテンリビール（作品・彫師写真：墨のパネルが金の縁を引いて開く） ==== */
.irz-work.irz-reveal,.irz-artist-card.irz-reveal{opacity:1; transform:none;}
.irz-work.irz-reveal::before{content:""; position:absolute; inset:-1px; z-index:4; pointer-events:none;
  background:linear-gradient(105deg,#0d0b09,#17130e); border-left:2px solid var(--irz-gold-hi);
  transform:scaleX(1); transform-origin:right center; transition:transform 1.05s cubic-bezier(.76,0,.18,1); transition-delay:inherit;}
.irz-work.irz-reveal.is-in::before{transform:scaleX(0);}
.irz-work.irz-reveal .irz-work__img{transform:scale(1.16); transition:transform 1.4s cubic-bezier(.2,.7,.2,1); transition-delay:inherit;}
.irz-work.irz-reveal.is-in .irz-work__img{transform:scale(1);}
.irz-work.irz-reveal.is-in:hover .irz-work__img{transform:scale(1.06);}
.irz-artist-card.irz-reveal .irz-artist-card__img::after{content:""; position:absolute; inset:0; z-index:3;
  background:linear-gradient(105deg,#0d0b09,#17130e); border-left:2px solid var(--irz-gold-hi);
  transform:scaleX(1); transform-origin:right center; transition:transform 1.05s cubic-bezier(.76,0,.18,1); transition-delay:inherit;}
.irz-artist-card.irz-reveal.is-in .irz-artist-card__img::after{transform:scaleX(0);}
.irz-artist-card.irz-reveal .irz-artist-card__en,
.irz-artist-card.irz-reveal .irz-artist-card__ja,
.irz-artist-card.irz-reveal .irz-artist-card__role{opacity:0; transform:translateY(12px); transition:opacity .7s ease .45s,transform .7s ease .45s;}
.irz-artist-card.irz-reveal.is-in .irz-artist-card__en,
.irz-artist-card.irz-reveal.is-in .irz-artist-card__ja,
.irz-artist-card.irz-reveal.is-in .irz-artist-card__role{opacity:1; transform:none;}
@media(prefers-reduced-motion:reduce){
  .irz-work.irz-reveal::before,.irz-artist-card.irz-reveal .irz-artist-card__img::after{display:none;}
  .irz-work.irz-reveal .irz-work__img{transform:none;}
  .irz-artist-card.irz-reveal .irz-artist-card__en,.irz-artist-card.irz-reveal .irz-artist-card__ja,.irz-artist-card.irz-reveal .irz-artist-card__role{opacity:1; transform:none;}
}

/* ==== First：ステップ上辺に金の光が走る ==== */
.irz-step::before{content:""; position:absolute; top:-2px; left:0; right:0; height:2px; z-index:1;
  background:linear-gradient(90deg,var(--irz-gold-deep),var(--irz-gold-hi) 55%,var(--irz-gold-deep));
  box-shadow:0 0 12px rgba(193,160,94,.55);
  transform:scaleX(0); transform-origin:left center; transition:transform .95s cubic-bezier(.2,.7,.2,1) .25s; transition-delay:inherit;}
.irz-step.irz-reveal.is-in::before{transform:scaleX(1);}
.irz-step.irz-reveal .irz-step__no{opacity:0; transform:translateY(16px); transition:opacity .8s ease .2s, transform .8s cubic-bezier(.2,.7,.2,1) .2s;}
.irz-step.irz-reveal.is-in .irz-step__no{opacity:1; transform:none;}

/* ==== Access：地図カーテン＋金の角飾り＋カードスライド＋落款 ==== */
.irz-access2.irz-reveal{opacity:1; transform:none;}
.irz-access2__map::after{content:""; position:absolute; inset:0; z-index:5; pointer-events:none;
  background:linear-gradient(105deg,#0d0b09,#17130e); border-left:2px solid var(--irz-gold-hi);
  transform:scaleX(1); transform-origin:right center; transition:transform 1.15s cubic-bezier(.76,0,.18,1) .1s;}
.irz-access2.irz-reveal.is-in .irz-access2__map::after{transform:scaleX(0);}
.irz-access2__map::before{content:""; position:absolute; inset:12px; z-index:6; pointer-events:none; opacity:0; transition:opacity .9s ease .95s;
  background:
    linear-gradient(var(--irz-gold-hi),var(--irz-gold-hi)) left 0 top 0/28px 2px no-repeat,
    linear-gradient(var(--irz-gold-hi),var(--irz-gold-hi)) left 0 top 0/2px 28px no-repeat,
    linear-gradient(var(--irz-gold-hi),var(--irz-gold-hi)) right 0 top 0/28px 2px no-repeat,
    linear-gradient(var(--irz-gold-hi),var(--irz-gold-hi)) right 0 top 0/2px 28px no-repeat,
    linear-gradient(var(--irz-gold-hi),var(--irz-gold-hi)) left 0 bottom 0/28px 2px no-repeat,
    linear-gradient(var(--irz-gold-hi),var(--irz-gold-hi)) left 0 bottom 0/2px 28px no-repeat,
    linear-gradient(var(--irz-gold-hi),var(--irz-gold-hi)) right 0 bottom 0/28px 2px no-repeat,
    linear-gradient(var(--irz-gold-hi),var(--irz-gold-hi)) right 0 bottom 0/2px 28px no-repeat;}
.irz-access2.irz-reveal.is-in .irz-access2__map::before{opacity:.85;}
.irz-access2__card{opacity:0; transform:translateY(-50%) translateX(-36px); transition:opacity .8s ease .55s, transform .8s cubic-bezier(.2,.7,.2,1) .55s;}
.irz-access2.irz-reveal.is-in .irz-access2__card{opacity:1; transform:translateY(-50%) translateX(0);}
.irz-access2__card::after{content:"刺青や"; position:absolute; top:16px; right:16px; writing-mode:vertical-rl;
  font-family:var(--irz-jp); font-size:11px; font-weight:600; letter-spacing:.16em; line-height:1.15; color:#0b0a09;
  background:linear-gradient(160deg,var(--irz-gold),var(--irz-gold-hi)); padding:9px 5px;
  opacity:0; transform:scale(1.5) rotate(5deg); transition:opacity .45s ease 1.3s, transform .45s cubic-bezier(.2,.7,.2,1) 1.3s;}
.irz-access2.irz-reveal.is-in .irz-access2__card::after{opacity:1; transform:scale(1) rotate(0deg);}
@media(max-width:768px){
  .irz-access2__card{transform:none!important;}
}
@media(prefers-reduced-motion:reduce){
  .irz-step::before{transform:none;}
  .irz-step.irz-reveal .irz-step__no{opacity:1; transform:none;}
  .irz-access2__map::after{display:none;}
  .irz-access2__map::before{opacity:.85;}
  .irz-access2__card,.irz-access2__card::after{opacity:1; transform:none;}
  .irz-access2__card{transform:translateY(-50%);}
}

/* ==== 読み物ページ（想い / prose） ==== */
.irz-msg{max-width:780px; margin:0 auto; position:relative; z-index:1;}
.irz-page{position:relative; overflow:hidden;}
.irz-page__kanji{position:absolute; top:8vh; right:-2vw; z-index:0; writing-mode:vertical-rl; font-family:var(--irz-jp); font-weight:600; font-size:clamp(220px,34vw,520px); line-height:.9; color:var(--irz-white); opacity:.04; pointer-events:none; user-select:none;}
.irz-msg__lead{font-size:clamp(17px,2vw,22px); color:var(--irz-white); line-height:2.3; letter-spacing:.09em; text-align:center; margin:0 0 clamp(44px,6vw,76px); text-wrap:balance;}
.irz-msg__block{margin:0 0 clamp(36px,5vw,58px); color:var(--irz-bone); font-size:clamp(15px,1.55vw,17px); line-height:2.4; letter-spacing:.06em;}
.irz-msg__block p{margin:0 0 1.5em;}
.irz-msg__block p:last-child{margin-bottom:0;}
.irz-msg__block b{color:var(--irz-white); font-weight:600;}
.irz-msg__block em{font-style:normal; color:var(--irz-gold-hi);}
.irz-msg__q{position:relative; text-align:center; margin:clamp(48px,7vw,84px) 0; padding:clamp(24px,4vw,40px) 0;}
.irz-msg__q::before,.irz-msg__q::after{content:""; position:absolute; left:50%; transform:translateX(-50%); width:52px; height:1px; background:linear-gradient(90deg,transparent,var(--irz-gold),transparent);}
.irz-msg__q::before{top:0;} .irz-msg__q::after{bottom:0;}
.irz-msg__q p{margin:0; font-family:var(--irz-jp); font-size:clamp(20px,2.8vw,32px); font-weight:600; letter-spacing:.16em; line-height:1.9; color:var(--irz-gold-hi); text-wrap:balance;}
.irz-msg__climax{margin:clamp(56px,8vw,96px) 0 0; padding:clamp(34px,5vw,56px) clamp(26px,4vw,48px); background:linear-gradient(180deg,rgba(23,20,15,.6),rgba(11,10,9,.2)); border:1px solid var(--irz-line); border-top:2px solid var(--irz-gold-deep); position:relative;}
.irz-msg__climax ul{list-style:none; margin:0 0 clamp(28px,4vw,40px); padding:0; display:flex; flex-direction:column; gap:14px; text-align:center;}
.irz-msg__climax li{position:relative; color:var(--irz-mute); font-size:clamp(14px,1.5vw,16px); line-height:1.9; letter-spacing:.05em; text-align:center;}
.irz-msg__climax li::before{content:none;}
.irz-msg__climax .lead2{color:var(--irz-bone); font-size:clamp(15px,1.6vw,17px); line-height:2.2; letter-spacing:.06em; margin:0 0 clamp(30px,4vw,40px);}
.irz-msg__final{text-align:center;}
.irz-msg__final span{display:block; font-family:var(--irz-sans); font-size:11px; letter-spacing:.4em; color:var(--irz-gold-hi); text-transform:uppercase; margin-bottom:16px;}
.irz-msg__final strong{display:block; font-family:var(--irz-jp); font-size:clamp(26px,4.4vw,46px); font-weight:600; letter-spacing:.18em; line-height:1.6; color:var(--irz-white); text-wrap:balance;}
.irz-msg__final strong em{font-style:normal; color:var(--irz-gold-hi);}
.irz-msg__sign{display:flex; align-items:baseline; justify-content:flex-end; gap:14px; margin-top:clamp(46px,6vw,70px); padding-top:22px; border-top:1px solid var(--irz-line);}
.irz-msg__sign .studio{font-family:var(--irz-latin); font-size:12px; letter-spacing:.3em; color:var(--irz-mute); text-transform:uppercase;}
.irz-msg__sign .name{font-family:var(--irz-jp); font-size:clamp(19px,2.2vw,26px); letter-spacing:.14em; color:var(--irz-white);}
.irz-msg__cta{text-align:center; margin-top:clamp(50px,7vw,80px);}

/* ==== 下層ページ 汎用 ==== */
.irz-lead-note{max-width:760px; margin:0 auto; color:var(--irz-bone); font-size:clamp(15px,1.55vw,17px); line-height:2.35; letter-spacing:.05em; text-align:center;}
.irz-lead-note p{margin:0 0 1.5em;} .irz-lead-note p:last-child{margin-bottom:0;}
.irz-lead-note b{color:var(--irz-white); font-weight:600;} .irz-lead-note em{font-style:normal; color:var(--irz-gold-hi);}
.irz-heading2{text-align:center; margin:clamp(56px,8vw,96px) 0 clamp(30px,4vw,48px);}
.irz-heading2__en{font-family:var(--irz-latin); font-size:clamp(24px,3.4vw,40px); letter-spacing:.14em; color:var(--irz-gold); text-transform:uppercase; margin:0; line-height:1;}
.irz-heading2__ja{display:block; margin-top:10px; font-size:13px; letter-spacing:.4em; color:var(--irz-bone);}

/* ==== 注意事項パネル ==== */
.irz-notice{max-width:840px; margin:clamp(40px,6vw,64px) auto 0; padding:clamp(28px,4vw,44px); border:1px solid var(--irz-line); border-left:3px solid var(--irz-gold-deep); background:rgba(23,20,15,.4);}
.irz-notice__ttl{display:flex; align-items:baseline; gap:14px; margin:0 0 8px; font-family:var(--irz-jp); font-size:clamp(16px,1.9vw,20px); color:var(--irz-white); letter-spacing:.1em;}
.irz-notice__ttl .en{font-family:var(--irz-sans); font-size:10px; letter-spacing:.28em; color:var(--irz-gold-hi); text-transform:uppercase;}
.irz-notice__date{font-family:var(--irz-latin); font-size:11px; letter-spacing:.16em; color:var(--irz-mute); margin:0 0 20px;}
.irz-notice ol{margin:0 0 18px; padding:0; list-style:none; counter-reset:n; display:flex; flex-direction:column; gap:13px;}
.irz-notice ol li{position:relative; padding-left:36px; counter-increment:n; color:var(--irz-bone); font-size:14px; line-height:1.95; letter-spacing:.04em;}
.irz-notice ol li::before{content:counter(n); position:absolute; left:0; top:1px; width:23px; height:23px; display:grid; place-items:center; border:1px solid var(--irz-gold-deep); color:var(--irz-gold-hi); font-family:var(--irz-latin); font-size:12px;}
.irz-notice p{color:var(--irz-mute); font-size:13.5px; line-height:2.05; letter-spacing:.04em; margin:14px 0 0;}

/* ==== 縦フロー ==== */
.irz-flow2{max-width:760px; margin:0 auto; position:relative;}
.irz-flow2::before{content:""; position:absolute; left:19px; top:16px; bottom:20px; width:1px; background:linear-gradient(var(--irz-gold-deep),rgba(94,77,41,.15));}
.irz-flow2__step{position:relative; padding:0 0 clamp(30px,4vw,46px) 64px;}
.irz-flow2__step:last-child{padding-bottom:0;}
.irz-flow2__no{position:absolute; left:0; top:0; width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--irz-gold-deep); background:var(--irz-bg); color:var(--irz-gold-hi); font-family:var(--irz-latin); font-weight:700; font-size:16px; z-index:1;}
.irz-flow2__ttl{font-family:var(--irz-jp); font-size:clamp(17px,2vw,21px); color:var(--irz-white); letter-spacing:.08em; margin:5px 0 12px;}
.irz-flow2__ttl .en{display:block; font-family:var(--irz-sans); font-size:9px; letter-spacing:.26em; color:var(--irz-gold-hi); text-transform:uppercase; margin-bottom:4px;}
.irz-flow2__body{color:var(--irz-bone); font-size:14.5px; line-height:2.15; letter-spacing:.05em;}
.irz-flow2__body p{margin:0 0 1em;} .irz-flow2__body p:last-child{margin-bottom:0;}
.irz-flow2__body .note{color:var(--irz-mute); font-size:12.5px; line-height:1.95;}
.irz-flow2__body .ex{border:1px solid var(--irz-line); padding:11px 15px; margin:12px 0; font-size:13px; color:var(--irz-bone); background:rgba(23,20,15,.35);}

/* ==== Feature（施術へのこだわり）＝irz-step流用の3列 ==== */
.irz-features{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.8vw,24px); max-width:1120px; margin:0 auto; text-align:left;}
.irz-features .irz-step__txt{font-size:13.5px; line-height:2;}

/* ==== 料金 ==== */
.irz-price{max-width:640px; margin:0 auto;}
.irz-price__row{display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:22px 6px; border-top:1px solid var(--irz-line);}
.irz-price__row:last-of-type{border-bottom:1px solid var(--irz-line);}
.irz-price__name{font-family:var(--irz-jp); font-size:clamp(16px,1.9vw,19px); letter-spacing:.08em; color:var(--irz-white);}
.irz-price__name small{display:block; font-family:var(--irz-sans); font-size:10px; letter-spacing:.24em; color:var(--irz-mute); text-transform:uppercase; margin-top:4px;}
.irz-price__val{font-family:var(--irz-latin); font-size:clamp(21px,2.7vw,30px); color:var(--irz-gold-hi); letter-spacing:.03em; white-space:nowrap;}
.irz-price__val span{font-size:.48em; color:var(--irz-bone); margin-left:5px;}
.irz-price__note{color:var(--irz-mute); font-size:12.5px; line-height:2.05; margin-top:24px; text-align:center;}

/* ==== 業務内容（サービスカード） ==== */
.irz-services{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(12px,1.6vw,20px); max-width:1120px; margin:0 auto;}
.irz-svc{padding:clamp(24px,2.6vw,34px); border:1px solid var(--irz-line); background:linear-gradient(180deg,rgba(23,20,15,.5),rgba(11,10,9,.15)); position:relative; overflow:hidden; transition:border-color .4s,transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s;}
.irz-svc:hover{border-color:var(--irz-gold-deep); transform:translateY(-6px); box-shadow:0 26px 50px -26px rgba(0,0,0,.85);}
.irz-svc__en{font-family:var(--irz-latin); font-size:clamp(19px,2.3vw,27px); letter-spacing:.1em; color:var(--irz-gold); text-transform:uppercase; margin:0 0 4px;}
.irz-svc__ja{font-family:var(--irz-jp); font-size:clamp(16px,1.8vw,19px); color:var(--irz-white); letter-spacing:.08em; margin:0 0 16px; padding-bottom:14px; border-bottom:1px solid var(--irz-line);}
.irz-svc__desc{color:var(--irz-bone); font-size:13px; line-height:2; letter-spacing:.03em; margin:0;}

/* ==== 店舗概要テーブル＋アクセス写真 ==== */
.irz-shop{max-width:720px; margin:0 auto;}
.irz-shop .irz-info__row dt{min-width:88px;}
.irz-map-note{max-width:820px; margin:clamp(24px,3vw,36px) auto 0; color:var(--irz-mute); font-size:12.5px; line-height:2; text-align:center;}

@media(max-width:768px){
  .irz-features,.irz-services{grid-template-columns:1fr;}
  .irz-flow2__step{padding-left:56px;}
}
@media(prefers-reduced-motion:reduce){
  .irz-svc{transition:none;}
}

/* ==== Artistページ 統合レイアウト（左:写真+名前 / 右:メッセージ+ボタン） ==== */
.irz-artist-rows{max-width:1100px; margin:0 auto; display:flex; flex-direction:column; gap:clamp(58px,9vw,120px);}
.irz-artist-row{display:grid; grid-template-columns:minmax(0,0.78fr) minmax(0,1.22fr); gap:clamp(30px,5vw,68px); align-items:start;}
.irz-artist-row__left{position:sticky; top:110px;}
.irz-artist-row__photo{position:relative; display:block; aspect-ratio:3/4; background:var(--irz-panel); border:1px solid var(--irz-line); background-size:cover; background-position:center; overflow:hidden; transition:border-color .4s;}
.irz-artist-row__photo::after{content:""; position:absolute; inset:0; background:linear-gradient(transparent 60%,rgba(6,5,4,.5)); opacity:0; transition:opacity .4s;}
.irz-artist-row__photo:hover{border-color:var(--irz-gold-deep);}
.irz-artist-row__photo:hover::after{opacity:1;}
.irz-artist-row__ph{position:absolute; inset:0; display:grid; place-items:center; color:var(--irz-mute); font-family:var(--irz-sans); font-size:10px; letter-spacing:.3em; text-transform:uppercase;}
.irz-artist-row__meta{text-align:center; margin-top:22px;}
.irz-artist-row__en{font-family:var(--irz-latin); font-size:clamp(24px,3.2vw,38px); letter-spacing:.12em; color:var(--irz-gold); text-transform:uppercase; margin:0; line-height:1;}
.irz-artist-row__name{font-family:var(--irz-jp); font-size:clamp(19px,2.2vw,25px); letter-spacing:.1em; color:var(--irz-white); margin:10px 0 8px;}
.irz-artist-row__role{font-family:var(--irz-sans); font-size:10.5px; letter-spacing:.2em; color:var(--irz-gold-hi); text-transform:uppercase; margin:0;}
.irz-artist-row__body{padding-top:4px; text-align:left;}
.irz-artist-row__msg{color:var(--irz-bone); font-size:14.5px; line-height:2.25; letter-spacing:.05em; white-space:pre-line; margin:0 0 30px; padding-top:6px; border-top:1px solid var(--irz-line); padding-top:26px;}
.irz-artist-row__actions{display:flex; gap:14px; flex-wrap:wrap;}
@media(max-width:900px){
  .irz-artist-row__left{position:static; top:auto;}
}
@media(max-width:768px){
  .irz-artist-row{grid-template-columns:1fr; gap:24px;}
  .irz-artist-row__left{max-width:360px; margin:0 auto;}
  .irz-artist-row__msg{border-top:none; padding-top:0;}
}

/* ==== 汎用固定ページ本文（privacy等）＋ MW WP Form 黒×金 ==== */
.irz-prose{max-width:820px; margin:0 auto; color:var(--irz-bone); font-size:14.5px; line-height:2.2; letter-spacing:.05em; text-align:left;}
.irz-prose h2{font-family:var(--irz-jp); font-size:clamp(18px,2.1vw,22px); color:var(--irz-white); letter-spacing:.08em; margin:2.2em 0 .9em; padding-bottom:.55em; border-bottom:1px solid var(--irz-line);}
.irz-prose h3{font-family:var(--irz-jp); font-size:clamp(15px,1.7vw,18px); color:var(--irz-gold-hi); letter-spacing:.08em; margin:1.8em 0 .7em;}
.irz-prose p{margin:0 0 1.4em;}
.irz-prose a{color:var(--irz-gold-hi); border-bottom:1px solid var(--irz-gold-deep);}
.irz-prose ul,.irz-prose ol{margin:0 0 1.6em; padding-left:1.4em;}
.irz-prose li{margin-bottom:.5em;}
.irz-prose table{width:100%; border-collapse:collapse; margin:0 0 1.8em;}
.irz-prose th,.irz-prose td{border:1px solid var(--irz-line); padding:12px 14px; text-align:left; font-size:13.5px;}
.irz-prose th{background:rgba(23,20,15,.5); color:var(--irz-white); font-weight:600; white-space:nowrap;}
/* --- MW WP Form --- */
.irz-prose .mw_wp_form{margin-top:10px;}
.irz-prose .mw_wp_form input[type="text"],
.irz-prose .mw_wp_form input[type="email"],
.irz-prose .mw_wp_form input[type="tel"],
.irz-prose .mw_wp_form input[type="url"],
.irz-prose .mw_wp_form input[type="number"],
.irz-prose .mw_wp_form select,
.irz-prose .mw_wp_form textarea{
  width:100%; background:rgba(23,20,15,.55); border:1px solid var(--irz-line); color:var(--irz-white);
  font-family:var(--irz-jp); font-size:15px; letter-spacing:.04em; padding:.85em 1em; border-radius:0;
  transition:border-color .3s, background .3s; -webkit-appearance:none; appearance:none;}
.irz-prose .mw_wp_form input:focus,
.irz-prose .mw_wp_form select:focus,
.irz-prose .mw_wp_form textarea:focus{outline:none; border-color:var(--irz-gold); background:rgba(23,20,15,.8);}
.irz-prose .mw_wp_form ::placeholder{color:var(--irz-mute);}
.irz-prose .mw_wp_form textarea{min-height:180px; resize:vertical;}
.irz-prose .mw_wp_form th{width:220px; vertical-align:top;}
.irz-prose .mw_wp_form .horizontal-item{margin-right:14px;}
.irz-prose .mw_wp_form .error{display:block; color:#d98a6a; font-size:12px; margin-top:6px; letter-spacing:.04em;}
.irz-prose .mw_wp_form input[type="submit"],
.irz-prose .mw_wp_form button[type="submit"],
.irz-prose .mw_wp_form input[type="button"]{
  display:inline-block; min-width:220px; margin:26px auto 0; cursor:pointer;
  background:linear-gradient(100deg,var(--irz-gold),var(--irz-gold-hi)); color:#0b0a09; border:1px solid transparent;
  font-family:var(--irz-jp); font-size:14px; letter-spacing:.22em; padding:1.05em 2.2em; border-radius:0;
  transition:filter .35s, transform .3s; -webkit-appearance:none; appearance:none;}
.irz-prose .mw_wp_form input[type="submit"]:hover,
.irz-prose .mw_wp_form button[type="submit"]:hover{filter:brightness(1.12); transform:translateY(-2px);}
.irz-prose .mw_wp_form input[name="submitBack"],
.irz-prose .mw_wp_form .mwform-btn-back{background:transparent; color:var(--irz-bone); border:1px solid var(--irz-line); margin-right:12px;}
.irz-prose .mw_wp_form .mwform-checkbox-field label,
.irz-prose .mw_wp_form .mwform-radio-field label{color:var(--irz-bone);}
@media(max-width:768px){
  .irz-prose .mw_wp_form th{width:auto; display:block; border-bottom:none;}
  .irz-prose .mw_wp_form td{display:block;}
}

/* ==== 問い合わせフォーム（irz-form） ==== */
.irz-form__table{width:100%; border-collapse:collapse; margin:0 0 22px;}
.irz-form__table th{width:230px; vertical-align:top; padding:18px 16px; border:1px solid var(--irz-line); background:rgba(23,20,15,.5); color:var(--irz-white); font-weight:600; font-size:13.5px; letter-spacing:.06em; text-align:left;}
.irz-form__table td{padding:14px 16px; border:1px solid var(--irz-line);}
.irz-form .req{color:var(--irz-gold-hi); margin-left:5px; font-size:.85em;}
.irz-form__note{color:var(--irz-mute); font-size:12.5px; letter-spacing:.04em; margin:0 0 26px;}
.irz-form__agree{text-align:center; color:var(--irz-bone); font-size:14px; margin:0 0 8px;}
.irz-form__agree a{color:var(--irz-gold-hi); border-bottom:1px solid var(--irz-gold-deep); font-size:12.5px;}
.irz-form__agree input[type="checkbox"]{accent-color:var(--irz-gold); width:16px; height:16px; margin-right:8px;}
.irz-form__btns{text-align:center; margin-top:10px;}
@media(max-width:768px){
  .irz-form__table th{display:block; width:auto; border-bottom:none;}
  .irz-form__table td{display:block;}
}

/* ==== ギャラリー：彫師タブ（2段目） ==== */
.irz-tabs--artist{margin-top:-14px; margin-bottom:clamp(28px,4vw,48px); align-items:center;}
.irz-tabs__label{font-family:var(--irz-latin); font-size:11px; letter-spacing:.3em; color:var(--irz-gold-hi); text-transform:uppercase; margin-right:6px;}
.irz-tab--sm{font-size:11.5px; padding:.55em 1.05em;}
/* ===== CONCEPT（水墨画を背景全面に。スクロールで開く＋視差）===== */
.irz-concept2{position:relative; overflow:hidden; isolation:isolate;}
.irz-concept2--bg{min-height:88vh; display:flex; align-items:center; background:var(--irz-bg);}
/* 背景の水墨画（全面・マスク開き） */
.irz-concept2__panel{position:absolute; inset:0; z-index:0; overflow:hidden; clip-path:inset(0 100% 0 0);}
.irz-concept2__img{position:absolute; inset:-6%; background-size:cover; background-position:center; transform:scale(1.2); will-change:transform;}
/* 左を暗くして文字を読みやすく（右の桜は活かす） */
.irz-concept2__scrim{position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(70% 80% at 50% 50%, rgba(8,7,6,.72) 0%, rgba(8,7,6,.4) 45%, rgba(8,7,6,.12) 100%),
    linear-gradient(0deg, rgba(8,7,6,.5), transparent 28%, transparent 72%, rgba(8,7,6,.4));}
.irz-concept2__kanji{position:absolute; top:50%; right:-.08em; transform:translateY(-50%); z-index:1; font-family:var(--irz-jp); font-weight:600; font-size:clamp(200px,34vw,460px); line-height:.84; color:var(--irz-white); opacity:.06; filter:blur(2px); pointer-events:none; user-select:none;}
.irz-concept2__inner{position:relative; z-index:2; width:100%; max-width:1180px; margin:0 auto; padding:clamp(70px,14vh,160px) clamp(24px,6vw,80px); text-align:center;}
.irz-concept2__text{max-width:640px; margin:0 auto;}
.irz-concept2__en{font-family:var(--irz-latin); letter-spacing:.34em; color:var(--irz-gold-hi); text-transform:uppercase; font-size:13px;}
.irz-concept2__ttl{font-family:var(--irz-jp); font-size:clamp(28px,4.4vw,44px); letter-spacing:.06em; margin:14px 0 28px; color:var(--irz-white);}
.irz-concept2__lines{font-family:var(--irz-jp); font-size:clamp(14px,1.7vw,16px); line-height:2.2; color:var(--irz-bone);}
.irz-concept2__lines span{display:block; overflow:hidden;}
.irz-concept2__lines span > i{display:inline-block; font-style:normal; transform:translateY(115%); opacity:0;}
.irz-concept2__cta{margin-top:32px;}
/* せり上がり（.in で発火） */
.irz-c2up{transform:translateY(40px); opacity:0; transition:transform 1s cubic-bezier(.16,1,.3,1), opacity 1s ease;}
.irz-concept2.in .irz-c2up{transform:none; opacity:1;}
.irz-concept2.in .irz-concept2__en{transition-delay:.05s;}
.irz-concept2.in .irz-concept2__ttl{transition-delay:.15s;}
.irz-concept2.in .irz-concept2__cta{transition-delay:.75s;}
.irz-concept2.in .irz-concept2__lines span > i{transform:none; opacity:1; transition:transform 1s cubic-bezier(.16,1,.3,1), opacity 1s ease;}
.irz-concept2.in .irz-concept2__lines span:nth-child(1) > i{transition-delay:.3s;}
.irz-concept2.in .irz-concept2__lines span:nth-child(2) > i{transition-delay:.45s;}
.irz-concept2.in .irz-concept2__lines span:nth-child(3) > i{transition-delay:.6s;}
@media(max-width:820px){
  .irz-concept2--bg{min-height:78vh;}
  .irz-concept2__text{max-width:100%;}
  .irz-concept2__scrim{background:linear-gradient(0deg, rgba(8,7,6,.9) 6%, rgba(8,7,6,.4) 46%, rgba(8,7,6,.2) 100%), rgba(8,7,6,.28);}
}
@media (prefers-reduced-motion: reduce){
  .irz-concept2__panel{clip-path:none!important;}
  .irz-concept2__img{transform:none!important;}
  .irz-c2up, .irz-concept2__lines span > i{transform:none!important; opacity:1!important; transition:none!important;}
}
/* ===== CONTACT（背景版の予約情報）===== */
.irz-cta2__text{max-width:720px;}
.irz-cta2__lead{color:var(--irz-bone); font-size:clamp(13px,1.5vw,16px); letter-spacing:.12em; line-height:2.1; margin:0 0 28px;}
.irz-cta2__info{display:flex; flex-direction:column; gap:16px; align-items:center; margin-bottom:30px;}
.irz-cta2__hours{display:flex; gap:30px; flex-wrap:wrap; justify-content:center; font-size:14px; color:var(--irz-bone); letter-spacing:.14em;}
.irz-cta2__hours .k{color:var(--irz-gold-hi); font-family:var(--irz-sans); font-size:11px; letter-spacing:.22em; margin-right:10px;}
.irz-cta2__tels{display:flex; gap:30px; flex-wrap:wrap; justify-content:center;}
.irz-cta2__tels a{font-family:var(--irz-latin); font-size:clamp(20px,2.6vw,30px); letter-spacing:.05em; color:var(--irz-white); text-decoration:none; border-bottom:1px solid var(--irz-gold-deep); padding-bottom:2px; transition:color .3s,border-color .3s;}
.irz-cta2__tels a:hover{color:var(--irz-gold-hi); border-color:var(--irz-gold-hi);}
.irz-cta2__btns{display:flex; flex-direction:column; gap:14px; align-items:center;}
.irz-cta2__badge{display:inline-flex; align-items:center; font-family:var(--irz-sans); font-size:11px; letter-spacing:.26em; color:var(--irz-gold-hi); border:1px solid var(--irz-gold-deep); padding:5px 16px;}
.irz-cta2__line{font-size:clamp(14px,1.6vw,17px); padding:1.25em 2.4em; font-weight:700; letter-spacing:.12em; background:linear-gradient(100deg,#caa963,#f4dea3)!important; color:#0b0a09!important; border-color:transparent; box-shadow:0 6px 26px rgba(200,166,100,.42), inset 0 0 0 1px rgba(244,222,163,.55);}
.irz-cta2__line i{color:#0b0a09;}
.irz-cta2__form{font-size:12px; padding:.8em 1.6em;}
@media(max-width:768px){ .irz-cta2__tels{gap:14px;} .irz-cta2__tels a{font-size:19px;} }
/* ===== 見やすさ強化 ===== */
/* CTAは下から開く（初期clip） */
.irz-cta2 .irz-concept2__panel{clip-path:inset(100% 0 0 0);}
/* CTAの背景をしっかり暗くして文字・ボタンを見やすく */
.irz-cta2 .irz-concept2__scrim{background:
  radial-gradient(80% 90% at 50% 52%, rgba(6,5,4,.82) 0%, rgba(6,5,4,.62) 50%, rgba(6,5,4,.35) 100%),
  linear-gradient(0deg, rgba(6,5,4,.7), transparent 34%, transparent 66%, rgba(6,5,4,.5));}
/* テキストに影＝背景の上でも読みやすく（両セクション） */
.irz-concept2__text{text-shadow:0 2px 18px rgba(0,0,0,.7);}
.irz-concept2__ttl,.irz-cta2__tels a{text-shadow:0 3px 24px rgba(0,0,0,.85);}
.irz-cta2__lead,.irz-cta2__hours{text-shadow:0 2px 14px rgba(0,0,0,.85);}
/* 予約バッジを見やすく（塗り＋くっきり） */
.irz-cta2__badge{background:rgba(11,10,9,.6); backdrop-filter:blur(4px); box-shadow:0 4px 16px rgba(0,0,0,.5); text-shadow:none;}
/* LINEボタンの影を強めてくっきり浮かせる */
.irz-cta2__line{box-shadow:0 10px 30px rgba(0,0,0,.5), 0 0 0 1px rgba(244,222,163,.55) inset !important; text-shadow:none;}
.irz-cta2__form{background:rgba(11,10,9,.5)!important; backdrop-filter:blur(4px); box-shadow:0 6px 20px rgba(0,0,0,.4); text-shadow:none;}
/* ===== スマホ限定の追尾CTA（電話・ご予約）===== */
.irz-spbar{display:none;}
@media(max-width:768px){
  .irz-spbar{display:flex; position:fixed; left:0; right:0; bottom:0; z-index:99998;
    background:rgba(11,10,9,.92); backdrop-filter:blur(8px); border-top:1px solid var(--irz-gold-deep);
    box-shadow:0 -6px 22px rgba(0,0,0,.5); padding:max(0px,env(safe-area-inset-bottom));}
  .irz-spbar__item{flex:1; display:flex; align-items:center; justify-content:center; gap:8px;
    padding:15px 6px; font-family:var(--irz-sans); font-size:14px; font-weight:700; letter-spacing:.08em; text-decoration:none;}
  .irz-spbar__item i{font-size:16px;}
  .irz-spbar__tel{color:var(--irz-white); border-right:1px solid rgba(94,77,41,.5);}
  .irz-spbar__tel i{color:var(--irz-gold-hi);}
  .irz-spbar__line{color:var(--irz-gold-hi);}
  .irz-spbar__line i{color:#06C755;}
  /* 追尾バーの高さぶんフッター下に余白（バーに隠れない） */
  body{padding-bottom:54px;}
  /* フッターのSP固定要素と重ならないよう既存fixareaがあれば上げる（このテーマは無し） */
}

/* ==== 下層ページ 本文を白寄りに（読みやすさUP。トップ=home は除外。金ラベル/見出しは維持） ==== */
body.irz:not(.home) .irz-msg__block,
body.irz:not(.home) .irz-msg__climax .lead2,
body.irz:not(.home) .irz-lead-note,
body.irz:not(.home) .irz-t-lead,
body.irz:not(.home) .irz-detail__desc,
body.irz:not(.home) .irz-profile__text,
body.irz:not(.home) .irz-flow2__body,
body.irz:not(.home) .irz-step__txt,
body.irz:not(.home) .irz-info__row dd,
body.irz:not(.home) .irz-notice ol li,
body.irz:not(.home) .irz-cscene__lines,
body.irz:not(.home) .irz-tscene__lead,
body.irz:not(.home) .irz-tscene__hours,
body.irz:not(.home) .irz-subhero__ja{color:var(--irz-white);}

/* ============================================================
   404 / 検索結果（bespoke化に伴い追加）
   ========================================================== */
.irz-404__links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  margin-top: 34px;
}

.irz-404__contact {
  margin-top: 56px;
  padding-top: 34px;
  border-top: 1px solid rgba(124, 102, 55, .35);
  text-align: center;
}

.irz-404__note {
  color: var(--irz-bone);
  font-size: 15px;
  letter-spacing: .06em;
  margin: 0;
}

/* --- 検索フォーム --- */
.irz-search__form {
  display: flex;
  gap: 12px;
  max-width: 620px;
  margin: 0 auto 40px;
}

.irz-search__input {
  flex: 1 1 auto;
  min-width: 0;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(124, 102, 55, .5);
  color: var(--irz-white);
  padding: 13px 16px;
  font-size: 15px;
  letter-spacing: .04em;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
}

.irz-search__input:focus {
  outline: none;
  border-color: var(--irz-gold-hi);
  box-shadow: 0 0 0 1px rgba(193, 160, 94, .35);
}

.irz-search__submit {
  flex: 0 0 auto;
}

.irz-search__count {
  text-align: center;
  color: var(--irz-bone);
  font-size: 14px;
  letter-spacing: .08em;
  margin: 0 0 26px;
}

.irz-search__count b {
  color: var(--irz-gold-hi);
}

/* --- 検索結果リスト --- */
.irz-search__list {
  display: grid;
  gap: 14px;
}

.irz-search__item {
  display: block;
  padding: 22px 24px;
  background: rgba(255, 255, 255, .025);
  border: 1px solid rgba(124, 102, 55, .28);
  text-decoration: none;
  transition: border-color .3s, background .3s, transform .3s;
}

.irz-search__item:hover {
  border-color: var(--irz-gold-hi);
  background: rgba(124, 102, 55, .1);
  transform: translateY(-2px);
}

.irz-search__type {
  display: inline-block;
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--irz-gold-hi);
  border: 1px solid rgba(193, 160, 94, .5);
  padding: 2px 10px;
  margin-bottom: 10px;
}

.irz-search__ttl {
  display: block;
  color: var(--irz-white);
  font-size: 18px;
  letter-spacing: .06em;
  line-height: 1.6;
}

.irz-search__ex {
  display: block;
  margin-top: 8px;
  color: var(--irz-bone);
  font-size: 14px;
  line-height: 1.9;
}

/* --- ページャ --- */
.irz-search__pager {
  margin-top: 40px;
}

.irz-search__pager .nav-links {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}

.irz-search__pager .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(124, 102, 55, .45);
  color: var(--irz-bone);
  text-decoration: none;
  font-size: 14px;
  letter-spacing: .06em;
  transition: border-color .3s, color .3s, background .3s;
}

.irz-search__pager .page-numbers:hover,
.irz-search__pager .page-numbers.current {
  border-color: var(--irz-gold-hi);
  color: var(--irz-gold-hi);
  background: rgba(124, 102, 55, .12);
}

.irz-search__pager .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

@media (max-width: 768px) {
  .irz-search__form {
    flex-direction: column;
  }

  .irz-search__item {
    padding: 18px 16px;
  }

  .irz-404__links .irz-btn {
    width: 100%;
  }
}

/* ============================================================
   お知らせ / よくある質問（bespoke化に伴い追加）
   ========================================================== */
.irz-news { display: grid; gap: 2px; }

.irz-news__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  padding: 22px 6px;
  border-bottom: 1px solid rgba(124, 102, 55, .28);
  text-decoration: none;
  transition: background .3s, padding-left .3s;
}

.irz-news__item:hover { background: rgba(124, 102, 55, .1); padding-left: 14px; }

.irz-news__date {
  color: var(--irz-gold-hi);
  font-family: var(--irz-latin);
  font-size: 14px;
  letter-spacing: .12em;
}

.irz-news__cat {
  font-size: 11px;
  letter-spacing: .14em;
  color: var(--irz-bone);
  border: 1px solid rgba(193, 160, 94, .45);
  padding: 2px 10px;
}

.irz-news__ttl {
  flex: 1 1 100%;
  color: var(--irz-white);
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: .04em;
}

@media (min-width: 769px) {
  .irz-news__ttl { flex: 1 1 auto; }
}

/* --- 記事本文 --- */
.irz-post__meta { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }

.irz-post__ttl {
  color: var(--irz-white);
  font-family: var(--irz-jp);
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.6;
  letter-spacing: .06em;
  margin: 0 0 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(124, 102, 55, .35);
}

.irz-post__body { color: var(--irz-bone); font-size: 16px; line-height: 2.1; }
.irz-post__body a { color: var(--irz-gold-hi); }
.irz-post__body img { max-width: 100%; height: auto; }

/* --- FAQ アコーディオン --- */
.irz-faq { display: grid; gap: 12px; }

.irz-faq__item {
  border: 1px solid rgba(124, 102, 55, .3);
  background: rgba(255, 255, 255, .02);
}

.irz-faq__q {
  position: relative;
  cursor: pointer;
  list-style: none;
  padding: 20px 56px 20px 24px;
  color: var(--irz-white);
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: .04em;
  transition: color .3s;
}

.irz-faq__q::-webkit-details-marker { display: none; }
.irz-faq__q:hover { color: var(--irz-gold-hi); }

.irz-faq__q::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;
  width: 12px;
  height: 12px;
  margin-top: -8px;
  border-right: 1px solid var(--irz-gold-hi);
  border-bottom: 1px solid var(--irz-gold-hi);
  transform: rotate(45deg);
  transition: transform .3s;
}

.irz-faq__item[open] .irz-faq__q::after { transform: rotate(-135deg); margin-top: -2px; }

.irz-faq__a {
  padding: 0 24px 22px;
  color: var(--irz-bone);
  font-size: 15px;
  line-height: 2;
}

.irz-faq__a a { color: var(--irz-gold-hi); }

@media (max-width: 768px) {
  .irz-faq__q { padding: 16px 44px 16px 16px; font-size: 15px; }
  .irz-faq__a { padding: 0 16px 18px; }
}

/* ============================================================
   口コミ スライダー（3件ずつ・外部ライブラリなし）
   ========================================================== */
.irz-rev__slider { position: relative; margin: 0 -9px; }

.irz-rev__viewport { overflow: hidden; }

.irz-rev__track {
  display: flex;
  transition: transform .7s cubic-bezier(.2, .7, .2, 1);
  will-change: transform;
}

/* 1ページ＝100%。カードは perView 分の幅で並ぶ */
.irz-rev__item {
  flex: 0 0 100%;
  max-width: 100%;
  padding: 0 9px;
  margin: 0;
  box-sizing: border-box;
}

@media (min-width: 640px) {
  .irz-rev__item { flex-basis: 50%; max-width: 50%; }
}

@media (min-width: 1024px) {
  .irz-rev__item { flex-basis: 33.3333%; max-width: 33.3333%; }
}

/* カードは高さを揃える */
.irz-rev__card {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 26px 24px;
  background: rgba(255, 255, 255, .025);
  border: 1px solid rgba(124, 102, 55, .3);
  transition: border-color .35s, background .35s;
}

.irz-rev__card:hover {
  border-color: rgba(193, 160, 94, .7);
  background: rgba(124, 102, 55, .07);
}

/* 本文は行数で切る。長文でもカードの高さが崩れない */
.irz-rev__text {
  position: relative;
  margin: 0;
  color: var(--irz-bone);
  font-size: 14.5px;
  line-height: 2;
  letter-spacing: .02em;
  display: -webkit-box;
  -webkit-line-clamp: 8;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 前後ボタン */
.irz-rev__nav {
  position: absolute;
  top: 50%;
  width: 46px;
  height: 46px;
  margin-top: -23px;
  border: 1px solid rgba(124, 102, 55, .6);
  border-radius: 50%;
  background: rgba(11, 10, 9, .72);
  cursor: pointer;
  z-index: 3;
  transition: border-color .3s, background .3s, opacity .3s;
  -webkit-appearance: none;
  appearance: none;
}

.irz-rev__nav::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-top: 1px solid var(--irz-gold-hi);
  border-right: 1px solid var(--irz-gold-hi);
}

.irz-rev__nav--prev { left: -8px; }
.irz-rev__nav--next { right: -8px; }
.irz-rev__nav--prev::before { transform: translate(-40%, -50%) rotate(-135deg); }
.irz-rev__nav--next::before { transform: translate(-60%, -50%) rotate(45deg); }

.irz-rev__nav:hover { border-color: var(--irz-gold-hi); background: rgba(124, 102, 55, .3); }
.irz-rev__nav:disabled { opacity: .25; cursor: default; }
.irz-rev__nav[hidden] { display: none; }

/* ドット */
.irz-rev__dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}

.irz-rev__dots[hidden] { display: none; }

.irz-rev__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 1px solid rgba(193, 160, 94, .55);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: background .3s, transform .3s;
  -webkit-appearance: none;
  appearance: none;
}

.irz-rev__dot.is-on { background: var(--irz-gold-hi); transform: scale(1.25); }

@media (max-width: 1023px) {
  .irz-rev__nav { width: 40px; height: 40px; margin-top: -20px; }
  .irz-rev__nav--prev { left: -4px; }
  .irz-rev__nav--next { right: -4px; }
}

@media (max-width: 768px) {
  .irz-rev__card { padding: 20px 18px; }
  .irz-rev__text { -webkit-line-clamp: 10; }
}

/* --- 口コミ：見出し部とカード内の装飾（スライダー化の際に取りこぼした分） --- */
.irz-rev__summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 38px;
}

.irz-rev__score {
  font-family: var(--irz-latin);
  font-size: 44px;
  line-height: 1;
  color: var(--irz-gold-hi);
  letter-spacing: .04em;
}

.irz-rev__stars i,
.irz-rev__rate i {
  font-style: normal;
  color: rgba(255, 255, 255, .18);
  letter-spacing: .1em;
}

.irz-rev__stars i.is-on,
.irz-rev__rate i.is-on { color: var(--irz-gold-hi); }
.irz-rev__stars { font-size: 22px; }
.irz-rev__rate { font-size: 13px; margin-left: auto; white-space: nowrap; }


.irz-rev__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.irz-rev__avatar {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(140deg, #7c6637, #c1a05e);
  color: #0b0a09;
  font-family: var(--irz-jp);
  font-size: 17px;
  line-height: 1;
}

.irz-rev__meta { min-width: 0; }

.irz-rev__name {
  display: block;
  color: var(--irz-white);
  font-size: 14px;
  letter-spacing: .04em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.irz-rev__more {
  text-align: center;
  margin-top: 44px;
}

@media (max-width: 768px) {
  .irz-rev__score { font-size: 36px; }
}

/* 口コミカードは左揃え（セクションの中央揃えを打ち消す） */
.irz-rev__card,
.irz-rev__text,
.irz-rev__name { text-align: left; }

/* 想い・CTA：スクロール連動の開閉と視差を無効化（画像は常時表示） */
.irz-concept2__panel { clip-path: none !important; transition: none !important; }
.irz-concept2__img { transform: none !important; inset: 0 !important; will-change: auto !important; }

/* 店舗情報の項目は左寄せ（セクションの中央揃えを継承しないように） */
.irz-info__row dt,
.irz-info__row dd { text-align: left; }

/* アクセスの地図上カードは中身を全て左寄せ */
.irz-access2__card,
.irz-access2__en,
.irz-access2__name { text-align: left; }
.irz-access2__btns { justify-content: flex-start; }

/* 一覧系カードは左寄せ（セクションの中央揃えを継承しない） */
.irz-search__item,
.irz-search__ttl,
.irz-search__ex,
.irz-news__item,
.irz-faq__q,
.irz-faq__a,
.irz-post__body { text-align: left; }

/* サブヒーローの見出し（英字＋日本語をh1にまとめた） */
.irz-subhero__h{margin:0; padding:0; font-weight:inherit; line-height:inherit;}

/* ===== 作品一覧ページャー（irz-pager） ===== */
.irz-pager {
  position: relative;
  margin: 80px auto 0;
  padding-top: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
}
.irz-pager::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  width: min(560px, 100%);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(193,160,94,.55) 50%, transparent);
}
.irz-pager::after {
  content: "";
  position: absolute;
  top: -4px; left: 50%;
  width: 8px; height: 8px;
  transform: translateX(-50%) rotate(45deg);
  background: var(--irz-bg);
  border: 1px solid var(--irz-gold-hi);
}
.irz-pager .navigation { margin: 0; }
.irz-pager .screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.irz-pager .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.irz-pager .page-numbers {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 46px;
  color: var(--irz-mute);
  font-family: var(--irz-latin);
  font-size: 17px;
  letter-spacing: .04em;
  text-decoration: none;
  transition: color .35s;
}
/* 数字：菱形の金枠（ホバーで縁取り、現在ページは確定） */
.irz-pager a.page-numbers:not(.prev):not(.next)::before,
.irz-pager .page-numbers.current::before {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid var(--irz-gold-hi);
  transform: rotate(45deg) scale(.4);
  opacity: 0;
  transition: transform .45s cubic-bezier(.2,.7,.2,1), opacity .35s;
}
.irz-pager a.page-numbers:not(.prev):not(.next):hover { color: var(--irz-gold-hi); }
.irz-pager a.page-numbers:not(.prev):not(.next):hover::before {
  opacity: .55;
  transform: rotate(45deg) scale(1);
}
.irz-pager .page-numbers.current { color: var(--irz-white); }
.irz-pager .page-numbers.current::before {
  opacity: 1;
  transform: rotate(45deg) scale(1);
  background: rgba(124,102,55,.18);
  box-shadow: 0 0 18px rgba(193,160,94,.28), inset 0 0 0 3px var(--irz-bg), inset 0 0 0 4px rgba(193,160,94,.35);
}
.irz-pager .page-numbers.dots { color: var(--irz-gold); letter-spacing: .2em; min-width: 30px; }
/* 前へ・次へ：細い線の矢印＋英字 */
.irz-pager .prev,
.irz-pager .next {
  gap: 14px;
  padding: 0 6px;
  color: var(--irz-bone);
}
.irz-pager .prev { margin-right: 20px; }
.irz-pager .next { margin-left: 20px; }
.irz-pager__lbl {
  font-size: 11px;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.irz-pager__arw {
  position: relative;
  display: block;
  width: 34px;
  height: 1px;
  background: var(--irz-gold);
  transition: width .45s cubic-bezier(.2,.7,.2,1), background .35s;
}
.irz-pager__arw::after {
  content: "";
  position: absolute;
  top: -3px;
  width: 7px; height: 7px;
}
.irz-pager .next .irz-pager__arw::after {
  right: 0;
  border-top: 1px solid var(--irz-gold);
  border-right: 1px solid var(--irz-gold);
  transform: rotate(45deg);
}
.irz-pager .prev .irz-pager__arw::after {
  left: 0;
  border-top: 1px solid var(--irz-gold);
  border-left: 1px solid var(--irz-gold);
  transform: rotate(-45deg);
}
.irz-pager .prev:hover,
.irz-pager .next:hover { color: var(--irz-gold-hi); }
.irz-pager .prev:hover .irz-pager__arw,
.irz-pager .next:hover .irz-pager__arw { width: 54px; background: var(--irz-gold-hi); }
.irz-pager .prev:hover .irz-pager__arw::after,
.irz-pager .next:hover .irz-pager__arw::after { border-color: var(--irz-gold-hi); }
/* ページ数 03 ― 06 */
.irz-pager__count {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  font-family: var(--irz-latin);
  font-size: 12px;
  letter-spacing: .24em;
  color: var(--irz-mute);
}
.irz-pager__now { color: var(--irz-gold-hi); font-size: 15px; }
.irz-pager__bar { width: 38px; height: 1px; background: rgba(193,160,94,.4); }

@media (max-width: 768px) {
  .irz-pager { margin-top: 56px; padding-top: 34px; gap: 20px; }
  .irz-pager .nav-links { gap: 2px; }
  .irz-pager .page-numbers { min-width: 38px; height: 38px; font-size: 15px; }
  .irz-pager a.page-numbers:not(.prev):not(.next)::before,
  .irz-pager .page-numbers.current::before { inset: 7px; }
  .irz-pager .page-numbers.dots { min-width: 20px; }
  .irz-pager .prev, .irz-pager .next { min-width: 34px; padding: 0; gap: 0; }
  .irz-pager .prev { margin-right: 2px; }
  .irz-pager .next { margin-left: 2px; }
  .irz-pager__lbl { display: none; }
  .irz-pager__arw { width: 22px; }
  .irz-pager .prev:hover .irz-pager__arw,
  .irz-pager .next:hover .irz-pager__arw { width: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .irz-pager *, .irz-pager *::before, .irz-pager *::after { transition: none !important; }
}
