
.ih{
  --ih-sumi:#2E2A2C;
  --ih-sumi2:#3A3537;
  --ih-gold:#B8955A;
  --ih-gold-l:#E2CC9A;
  --ih-gold-d:#8C6D3A;
  --ih-ivory:#FBF8F3;
  --ih-ink:#2A2226;
  --ih-soft:#5E5258;
  --ih-line:rgba(140,109,58,.28);
  --ih-rose:#963358;
  --ih-serif:"Shippori Mincho","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif CJK JP",serif;
  --ih-sans:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans CJK JP",sans-serif;
  color:var(--ih-ink);font-family:var(--ih-sans);
}
.ih *,.ih *::before,.ih *::after{box-sizing:border-box}


.ih-split{position:relative;display:grid;grid-template-columns:1fr;border-radius:22px;overflow:hidden;box-shadow:0 14px 34px -20px rgba(42,34,38,.35)}
@media (min-width:768px){.ih-split{grid-template-columns:1fr 1fr}}
.ih-split__side{position:relative;isolation:isolate;padding:30px 22px 26px;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none}
.ih-split__side::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--img,none);background-size:cover;background-position:var(--pos,center)}
.ih-split__side--trad{background:var(--ih-sumi);color:#F5EFE5}
.ih-split__side--trad::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(46,42,44,0) 40%,rgba(46,42,44,.78) 100%)}
.ih-split__side--mod{background:var(--ih-ivory);color:var(--ih-ink)}
.ih-split__side--mod::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(251,248,243,0) 40%,rgba(251,248,243,.9) 100%)}
.ih-split__ghost{position:absolute;top:18px;left:22px;z-index:-1;font-family:var(--ih-serif);font-size:clamp(28px,7vw,44px);letter-spacing:.14em;opacity:.18;pointer-events:none}
.ih-split__side--mod .ih-split__ghost{left:auto;right:22px}
.ih-split__name{font-family:var(--ih-serif);font-weight:600;font-size:24px;letter-spacing:.16em;margin:0}
.ih-split__side--trad .ih-split__name{color:var(--ih-gold-l)}
.ih-split__desc{margin:6px 0 0;font-size:14px;line-height:1.85;opacity:.92}
.ih-split__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ih-split__tags span{padding:3px 10px;border-radius:999px;font-size:12px;box-shadow:inset 0 0 0 1px currentColor;opacity:.85}

.ih-split__band{
  display:flex;align-items:center;justify-content:center;gap:12px;
  padding:10px 0;background:linear-gradient(90deg,var(--ih-gold-d),var(--ih-gold),var(--ih-gold-d));color:#fff;
  font-family:var(--ih-serif);font-weight:600;letter-spacing:.3em;font-size:18px;
}
.ih-split__band small{font-family:var(--ih-sans);font-weight:500;font-size:10px;letter-spacing:.3em;opacity:.85}
@media (min-width:768px){
  .ih-split__band{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);z-index:2;width:58px;padding:0;flex-direction:column;writing-mode:vertical-rl;font-size:22px;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
  .ih-split__band small{writing-mode:vertical-rl}
  .ih-split__side{min-height:380px;padding:34px 48px 30px 30px}
  .ih-split__side--mod{padding:34px 30px 30px 48px}
}
@media (max-width:767px){.ih-split__band{order:0}.ih-split__side--trad{order:-1}.ih-split__side--mod{order:1}}


.ih-cta{margin-top:20px;border-radius:20px;padding:24px 20px;background:#fff;box-shadow:0 12px 30px -20px rgba(42,34,38,.3),inset 0 0 0 1px rgba(184,149,90,.55);display:grid;gap:16px;align-items:center}
@media (min-width:768px){.ih-cta{grid-template-columns:auto 1fr auto;padding:26px 30px}}
.ih-cta__icon{width:64px;height:84px;margin:0 auto}
.ih-cta__title{font-family:var(--ih-serif);font-weight:600;font-size:20px;letter-spacing:.08em;margin:0;color:var(--ih-ink)}
.ih-cta__text{margin:6px 0 0;font-size:14px;line-height:1.85;color:var(--ih-soft)}


.ih-sim{max-width:1080px;margin:0 auto;display:grid;gap:22px}
@media (min-width:960px){.ih-sim{grid-template-columns:minmax(0,1fr) 400px;align-items:start}}
.ih-steps{display:grid;gap:14px}
.ih-step{border-radius:18px;background:#fff;padding:20px 18px;box-shadow:inset 0 0 0 1px var(--ih-line)}
.ih-step__h{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-family:var(--ih-serif);font-weight:600;font-size:18px;letter-spacing:.06em}
.ih-step__no{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:13px;color:var(--ih-rose);background:#fff;box-shadow:inset 0 0 0 1px var(--ih-gold)}
.ih-step__note{margin:10px 0 0;font-size:12px;line-height:1.8;color:var(--ih-soft)}


.ih-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--ih-line);margin-bottom:12px}
.ih-choices{display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}
@media (min-width:640px){.ih-choices--3{grid-template-columns:repeat(3,1fr)}}
.ih-opt{position:relative;display:block;cursor:pointer}
.ih-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ih-opt__box{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;padding:12px 8px;border-radius:12px;text-align:center;background:#fff;box-shadow:inset 0 0 0 1px var(--ih-line);transition:box-shadow .2s,background .2s}
.ih-opt__box svg{width:34px;height:56px;color:var(--ih-sumi)}
.ih-opt__t{font-size:14px;font-weight:600;line-height:1.4}
.ih-opt__s{font-size:11px;color:var(--ih-soft);line-height:1.5}
.ih-opt input:checked + .ih-opt__box{background:#FBF4F6;box-shadow:inset 0 0 0 2px var(--ih-rose)}
.ih-opt input:focus-visible + .ih-opt__box{outline:2px solid var(--ih-gold);outline-offset:2px}
.ih-tab .ih-opt__box{border-radius:0;box-shadow:none;flex-direction:row;justify-content:center;padding:12px 6px;font-family:var(--ih-serif);font-size:16px;letter-spacing:.14em}
.ih-tab input:checked + .ih-opt__box{background:var(--ih-sumi);color:var(--ih-gold-l);box-shadow:none}
.ih-tab:last-child input:checked + .ih-opt__box{background:var(--ih-ivory);color:var(--ih-rose);box-shadow:inset 0 -3px 0 var(--ih-rose)}


.ih-field{display:grid;gap:6px;margin-top:12px}
.ih-field:first-child{margin-top:0}
.ih-field label,.ih-field .ih-lbl{font-size:13px;font-weight:600}
.ih-field small{font-weight:400;color:var(--ih-soft)}
.ih-input{width:100%;min-height:48px;padding:10px 12px;border-radius:10px;border:1px solid var(--ih-line);background:#fff;font-family:var(--ih-serif);font-size:18px;color:var(--ih-ink)}
.ih-input:focus{outline:2px solid var(--ih-gold);outline-offset:1px;border-color:transparent}
.ih-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ih-row > .ih-field{margin-top:12px}
.ih-check{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:14px;cursor:pointer}
.ih-check input{width:20px;height:20px;accent-color:var(--ih-rose)}


.ih-preview{border-radius:20px;background:linear-gradient(180deg,#F3EEE6,#E9E1D5);padding:20px 16px 18px;box-shadow:inset 0 0 0 1px var(--ih-line)}
@media (min-width:960px){.ih-preview{position:sticky;top:96px;max-height:calc(100vh - 112px);overflow:auto;overscroll-behavior:contain}}
.ih-flip{display:flex;justify-content:center;gap:6px;margin-bottom:12px}
.ih-flip button{min-height:40px;padding:0 20px;border-radius:999px;border:0;font-family:var(--ih-serif);font-size:15px;letter-spacing:.2em;cursor:pointer;background:#fff;color:var(--ih-soft);box-shadow:inset 0 0 0 1px var(--ih-line)}
.ih-flip button[aria-pressed="true"]{background:var(--ih-sumi);color:var(--ih-gold-l);box-shadow:none}
.ih-stage{position:relative;margin:0 auto;width:min(100%,260px);aspect-ratio:3/5}
.ih-stage svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 10px 14px rgba(0,0,0,.18))}
.ih-face{
  position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6%;
  writing-mode:vertical-rl; font-family:var(--ih-serif);font-weight:600;line-height:1.05;letter-spacing:.06em;white-space:nowrap;overflow:hidden;
  background:linear-gradient(180deg,#F6E3A8 0%,#D4AF5F 45%,#B98E3D 70%,#E9CF86 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.ih-face.is-kaki{background:none;color:#E8D08C;font-weight:500}
.ih-face span{display:block;max-height:100%;white-space:nowrap}
.ih-face .ih-small{font-size:.62em;font-weight:500}
.ih-size{text-align:center;font-size:12px;color:var(--ih-soft);margin:10px 0 0}


.ih-sum{margin-top:14px;border-radius:14px;background:#fff;padding:14px 16px;box-shadow:inset 0 0 0 1px var(--ih-line)}
.ih-sum dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px}
.ih-sum dt{color:var(--ih-soft)}
.ih-sum dd{margin:0;font-weight:600}
.ih-price{margin-top:10px;padding-top:10px;border-top:1px solid var(--ih-line);font-size:13px;line-height:1.8}
.ih-price b{font-family:var(--ih-serif);font-size:20px;color:var(--ih-rose)}
.ih-exits{display:grid;gap:8px;margin-top:14px}
.ih-btn{display:flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:0 18px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;font-family:var(--ih-sans);font-weight:600;font-size:15px;letter-spacing:.05em}
.ih-btn svg{width:18px;height:18px;flex:none}
.ih-btn--main{background:var(--ih-rose);color:#fff;box-shadow:0 10px 20px -12px rgba(110,34,64,.5)}
.ih-btn--line{background:#fff;color:var(--ih-rose);box-shadow:inset 0 0 0 1px var(--ih-rose)}
.ih-btn--gold{background:#fff;color:var(--ih-gold-d);box-shadow:inset 0 0 0 1px var(--ih-gold)}
.ih-btn:focus-visible{outline:2px solid var(--ih-gold);outline-offset:3px}
.ih-msg{min-height:1.4em;margin:8px 0 0;font-size:12px;text-align:center;color:var(--ih-rose)}
.ih-flow{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:4px;font-size:12px;line-height:1.7;color:var(--ih-soft);counter-reset:f}
.ih-flow li{counter-increment:f;padding-left:1.6em;position:relative}
.ih-flow li::before{content:counter(f);position:absolute;left:0;top:.15em;width:1.2em;height:1.2em;border-radius:50%;display:grid;place-items:center;font-size:10px;color:var(--ih-rose);box-shadow:inset 0 0 0 1px var(--ih-gold)}


.ih-print{display:none}
@media print{
  @page{size:A4 portrait;margin:12mm}
  
  body > *:not(.ih-print){display:none !important}
  html,body{background:#fff !important}
  .ih-print{display:block;width:100%;color:#000;font-family:var(--ih-serif)}
  .ih-print h1{text-align:center;font-size:24pt;letter-spacing:.3em;margin:0 0 6mm}
  .ih-print table{width:100%;border-collapse:collapse;font-size:10.5pt}
  .ih-print th,.ih-print td{border:1px solid #000;padding:2.5mm 3mm;text-align:left;vertical-align:top}
  .ih-print th{width:28mm;background:#eee;font-weight:600}
  .ih-p-blank{height:9mm}
  .ih-p-faces{display:flex;gap:8mm;margin:6mm 0}
  .ih-p-face{flex:1;border:1px solid #000;border-radius:30mm 30mm 2mm 2mm;height:104mm;display:flex;flex-direction:column;align-items:center;padding-top:6mm}
  .ih-p-face b{font-size:16pt;letter-spacing:.4em}
  .ih-p-face div{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5mm;writing-mode:vertical-rl;font-size:20pt;letter-spacing:.1em;padding:6mm 0}
  .ih-p-face span{white-space:nowrap}
  .ih-p-face .ih-small{font-size:12pt}
  .ih-p-note{font-size:9pt;line-height:1.6;margin:4mm 0 0}
  .ih-p-foot{margin-top:6mm;padding:3mm 4mm;border:1px solid #000;font-size:10pt;line-height:1.7}
}
