@charset "UTF-8";
/* 編集する前に サイト運用/ の申し送りをお読みください */

:root{
  --olive:#4a3324;      
  --olive-l:#9a7b55;    
  --tan:#b8944a;        
  --warm:#dccfae;       
  --green:#dcc78f;      
  --leaf:#b8964f;       
  --leaf-d:#ad8c48;     
  --on-leaf:#2e1f12;    
  --on-leaf-pale:#4a3324; 
  --ivory-hi:#fdfcf7;   
  --ivory:#fdfcf7;
  --ivory-mid:#f6f1e3;  
  --ink:#3d3d3d;        
  --ink-mid:#3d3d3d;
  --sub:#3d3d3d;
  --mute:#6b6866;       
  --gold-sheen:linear-gradient(#b8944a,#b8944a);
  --washi:#fdfaf1;       
  --gold-thread:#b8944a; 
  --gold-thread-l:#d6bd85; 
  --washi-tex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .5' numOctaves='3' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 .6 0 0 0 0 .5 0 0 0 0 .32 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");
}


*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:"Kiwi Maru","Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:400;color:var(--ink);background:var(--ivory-hi);
  line-height:2.0;font-size:16px;padding-bottom:64px;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}

.wrap{max-width:1100px;margin:0 auto;padding:0 22px;}
.center{text-align:center;}

.kicker{font-size:13px;letter-spacing:.24em;color:var(--olive-l);
  text-transform:uppercase;margin-bottom:10px;font-weight:500;}
.rule{width:56px;height:2px;background:var(--gold-sheen);margin:16px 0;border-radius:2px;}
.rule.c{margin:16px auto;}

.sec{padding:76px 0;}
.sec.alt{background:transparent;}
.sec.mid{background:var(--ivory-mid);}

body{background:var(--ivory-hi) url(/images/bg-washi-light.jpg) 0 0/1100px auto repeat;}
.sec.mid,.trust,.final,.pg-hero{
  background-color:var(--ivory-mid);
  background-image:url(/images/bg-washi-mid.jpg);background-size:1100px auto;background-repeat:repeat;}
.hero-cover,.final,.pg-hero:not(.town){position:relative;isolation:isolate;overflow:hidden;}
.hero-cover::before,.final::before,.pg-hero:not(.town)::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.9;
  background:
    url(/images/bg-goldthread-tl.png) left top/min(46vw,560px) auto no-repeat,
    url(/images/bg-goldthread-br.png) right bottom/min(40vw,470px) auto no-repeat;}
body.iv .final::before{content:none;}
.sec-title{font-size:27px;letter-spacing:.06em;line-height:1.6;color:var(--olive);font-weight:500;}
.sec-lead{color:var(--sub);font-size:15.5px;margin-top:8px;font-weight:400;}

.note{font-size:14px;color:var(--mute);line-height:1.9;margin-top:18px;
  border-top:1px solid var(--tan);padding-top:14px;font-weight:400;}

.kome{list-style:none;margin:16px 0 0;padding:0;font-size:14px;color:var(--mute);line-height:1.85;font-weight:400;}
.kome li{padding-left:1em;text-indent:-1em;}
.kome li+li{margin-top:4px;}
.kome b{color:var(--olive);font-weight:500;}
details.ph-more.legal .bd{font-size:14px;color:var(--mute);line-height:1.9;}
@media(max-width:640px){.pg-notice details.ph-more>summary{padding:14px 14px;}.pg-notice details.ph-more .bd{padding:0 14px 18px;}}

.txt-link{color:var(--olive);border-bottom:1px solid var(--olive-l);}

.btn{display:inline-block;padding:14px 30px;border-radius:2px;font-weight:500;font-size:15px;
  letter-spacing:.08em;transition:.2s;cursor:pointer;border:1px solid transparent;}
.btn-olive,.btn-gold{background-color:var(--washi);background-image:var(--washi-tex);color:var(--olive);
  border-color:var(--gold-thread);
  box-shadow:inset 0 0 0 3px var(--washi),inset 0 0 0 4px var(--gold-thread-l),0 3px 12px rgba(74,51,36,.08);}
.btn-olive:hover,.btn-gold:hover{background-color:var(--ivory-mid);border-color:var(--tan);
  box-shadow:inset 0 0 0 3px var(--ivory-mid),inset 0 0 0 4px var(--tan),0 6px 18px rgba(74,51,36,.12);
  transform:translateY(-1px);}
.btn-line{border-color:transparent!important;background:transparent!important;box-shadow:none;
  color:var(--olive);padding-left:6px;padding-right:6px;
  text-decoration:underline;text-decoration-color:var(--gold-thread);
  text-decoration-thickness:1px;text-underline-offset:8px;}
.btn-line:hover{text-decoration-color:var(--olive);}
.accent-green{background:var(--leaf);color:var(--on-leaf);}

header{position:sticky;top:0;z-index:50;background:rgba(253,252,247,.94);
  backdrop-filter:blur(6px);border-bottom:1px solid var(--tan);}
.hd{display:flex;align-items:center;justify-content:space-between;height:70px;}
header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url(/images/header-bg-washi-gold.jpg) center 55%/cover no-repeat;
  opacity:.6;}
.logo{font-size:19px;letter-spacing:.08em;color:var(--olive);font-weight:500;line-height:1.4;}
.logo small{display:block;font-size:11px;letter-spacing:.14em;color:var(--olive-l);font-weight:400;}
.hd-r{display:flex;align-items:center;gap:14px;}
.hd-info{font-size:13px;color:var(--sub);text-align:right;line-height:1.6;font-weight:400;}
.hd .btn{padding:10px 20px;font-size:13.5px;}

.hd-staff{display:inline-flex;align-items:center;padding:8px;color:var(--tan);line-height:0;}
.hd-staff:hover,.hd-staff:focus{color:var(--olive-l);}

.gnav{border-top:1px solid var(--tan);background:rgba(253,252,247,.96);}
.gnav ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:4px;
  max-width:1100px;margin:0 auto;padding:0 22px;}
.gnav a{display:block;padding:13px 14px;font-size:15px;color:var(--olive);
  border-bottom:2px solid transparent;transition:.15s;white-space:nowrap;}
.gnav a:hover{color:var(--olive-l);border-bottom-color:var(--tan);}
.gnav li{position:relative;}
.gnav .caret{display:inline-block;margin-left:6px;font-size:11px;color:var(--olive-l);}
.gnav .subnav{display:none;flex-direction:column;position:absolute;top:100%;left:50%;
  transform:translateX(-50%);min-width:236px;max-width:none;margin:0;
  padding:6px 0;gap:0;z-index:70;
  background:var(--ivory-hi);border:1px solid var(--tan);
  box-shadow:0 10px 26px rgba(60,50,30,.10);}
.gnav .has-sub:hover>.subnav,.gnav .has-sub:focus-within>.subnav{display:flex;}
.gnav .subnav a{padding:11px 18px;font-size:15px;white-space:nowrap;
  border-bottom:2px solid transparent;}
.gnav .subnav a:hover{background:var(--ivory);border-bottom-color:transparent;}

.nav-toggle{display:none;background:none;border:1px solid var(--tan);border-radius:3px;
  padding:8px 12px;font-size:14.5px;color:var(--olive);cursor:pointer;font-family:inherit;}
.nav-toggle:focus-visible{outline:2px solid var(--olive);outline-offset:2px;}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;
  background:var(--olive);color:#fff;font-size:15px;border-radius:3px;text-decoration:none;}
.skip-link:focus{top:12px;}
main:focus{outline:none;}
@media(max-width:980px){
  .hd-info{display:none;}
  .nav-toggle{display:inline-block;}
  .gnav{display:none;}
  .gnav.open{display:block;}
  .gnav ul{flex-direction:column;gap:0;padding:6px 22px 14px;}
  .gnav a{padding:12px 4px;border-bottom:1px solid var(--tan);}
  .gnav a:hover{border-bottom-color:var(--tan);}
  .gnav .caret{display:none;}
  .gnav .subnav{display:flex;position:static;transform:none;min-width:0;
    padding:0 0 0 18px;background:none;border:none;box-shadow:none;}
  .gnav .subnav a{padding:12px 4px;font-size:15px;color:var(--sub);white-space:normal;
    border-bottom:1px solid var(--tan);}
  .gnav .subnav a:hover{background:none;border-bottom-color:var(--tan);}
  .gnav.open{max-height:calc(100vh - 70px);overflow-y:auto;overscroll-behavior:contain;}
  .gnav>ul{padding-bottom:84px;}
}

@media(max-width:820px){
  .hd .btn{display:none;}
}

.final{background-color:var(--ivory-mid);color:var(--sub);text-align:center;
  border-top:1px solid var(--warm);}
.final h2{font-size:26px;color:var(--olive);letter-spacing:.06em;font-weight:500;}
.final p{font-size:15.5px;margin-top:10px;opacity:.92;font-weight:400;}
.final .cta-row{justify-content:center;}
.final .btn[style*="--ivory-hi"]{background:#fff!important;color:var(--olive)!important;border-color:var(--warm)!important;}
.final .btn-line{color:var(--olive)!important;}
.final a[style*="color:var(--ivory-hi)"]:not(.btn){color:var(--olive)!important;}
.final .kicker[style*="--tan"]{color:var(--olive-l)!important;}
.cta-row{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;}

footer{background:var(--ink);color:#cfc9bb;font-size:14px;padding:44px 0 30px;font-weight:400;}
.ft{display:grid;grid-template-columns:1.1fr 1.6fr;gap:30px;}
.ft-links{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;}
.ft-links a{padding:3px 0;color:#cfc9bb;}
.ft-links a:hover{color:var(--tan);}
@media(max-width:820px){.ft{grid-template-columns:1fr;}}

.ft-staff{margin-top:20px;text-align:right;line-height:1;}
.ft-staff a{display:inline-block;padding:10px 2px 0 14px;color:#4d4d4d;}
.ft-staff a:hover,.ft-staff a:focus{color:var(--tan);}

.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;}
.mbar a{flex:1;text-align:center;padding:16px 0;font-size:15px;font-weight:500;color:var(--ivory-hi);}
.mbar{background-color:var(--washi);background-image:var(--washi-tex);
  border-top:1px solid var(--gold-thread);box-shadow:0 -4px 16px rgba(74,51,36,.08);}
.mbar .t{background:transparent;color:var(--olive);letter-spacing:.06em;}
.mbar .w{position:relative;background:transparent;color:var(--olive);letter-spacing:.08em;}
.mbar .w::after{content:"";position:absolute;inset:7px 8px;pointer-events:none;
  border:1px solid var(--gold-thread);box-shadow:inset 0 0 0 2px var(--washi),inset 0 0 0 3px var(--gold-thread-l);}
.mbar .w::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:1px;background:var(--warm);}
.mbar .t{flex:1;}
.mbar .w{flex:2;}
.mbar .w small{font-size:13px;font-weight:400;letter-spacing:.02em;}
@media(max-width:820px){.mbar{display:flex;}}
.mbar.is-after-hours .t{flex:.9;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:8px 0;font-size:13px;font-weight:400;color:var(--mute);letter-spacing:.02em;line-height:1.4;}
.mbar.is-after-hours .w{flex:2.6;}
.mbar-off{font-size:12px;font-weight:400;}

.faq details{border-bottom:1px solid var(--tan);padding:16px 2px;}
.faq summary{cursor:pointer;font-size:16px;color:var(--olive);list-style:none;
  position:relative;padding-right:26px;font-weight:500;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"＋";position:absolute;right:2px;color:var(--olive-l);}
.faq details[open] summary::after{content:"−";}
.faq p{font-size:15.5px;color:var(--sub);margin-top:10px;font-weight:400;}

.access{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px;}
.access .map{display:block;border-radius:3px;overflow:hidden;border:1px solid var(--tan);background:#fff;}
.access .map iframe{width:100%;height:300px;border:0;display:block;}
.map-fallback{display:flex;align-items:center;gap:14px;padding:14px 16px;border-top:1px solid var(--tan);}
.map-fallback img{width:76px;}
.acc-info{background:var(--ivory-hi);border:1px solid var(--tan);padding:22px 24px;}
.acc-info img{width:100%;border-radius:3px;margin-bottom:14px;}
.acc-info table{width:100%;border-collapse:collapse;margin-top:12px;font-size:15px;}
.acc-info th,.acc-info td{border:1px solid var(--tan);padding:7px 4px;text-align:center;}
.acc-info th{background:var(--ivory-mid);color:var(--olive);font-weight:500;}
@media(max-width:860px){.access{grid-template-columns:1fr;}}

.cal{margin-top:16px;background:var(--ivory-hi);border:1px solid var(--tan);padding:16px 16px 13px;}
.acc-info .cal-grid{margin-top:0;}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.cal-month{font-size:18px;color:var(--olive);font-weight:500;letter-spacing:.04em;line-height:1.4;}
.cal-nav{width:36px;height:36px;line-height:1;border:1px solid var(--tan);border-radius:2px;
  background:var(--ivory-hi);color:var(--olive);font-size:19px;font-family:inherit;
  cursor:pointer;transition:.2s;}
.cal-nav:hover:not([disabled]){background:var(--ivory-mid);}
.cal-nav[disabled]{color:var(--tan);cursor:default;}
.cal-grid{width:100%;border-collapse:collapse;table-layout:fixed;}
.cal-grid th{font-size:13px;font-weight:500;color:var(--olive-l);background:var(--ivory-mid);
  border:1px solid var(--tan);padding:6px 0;line-height:1.4;}
.cal-grid td{border:1px solid var(--tan);padding:8px 0;text-align:center;
  font-size:15.5px;line-height:1.3;font-weight:400;}
.cal-on{background:var(--ivory-hi);color:var(--ink);}
.cal-off{background:rgba(184,148,74,.34);color:var(--mute);}
.cal-empty{background:var(--ivory);}
.cal-today span{display:inline-block;min-width:27px;padding:1px 0;border-radius:2px;
  background:var(--olive);color:var(--ivory-hi);font-weight:500;}
.cal-legend{margin-top:11px;font-size:14px;color:var(--sub);font-weight:400;line-height:1.8;}
.cal-key{display:inline-block;width:14px;height:14px;border:1px solid var(--tan);
  vertical-align:-2px;margin-right:6px;}
.cal-key.on{background:var(--ivory-hi);}
.cal-key.off{background:rgba(184,148,74,.34);margin-left:20px;}
.cal-hara{background:#e6ecdc;}
.cal-key.hara{background:#e6ecdc;border-color:#b3c19f;}
.news-folds{margin-top:24px;}
.news-tx{font-size:15.5px;line-height:1.9;color:var(--sub);font-weight:400;margin-bottom:8px;}
.news-folds .ph-rows{margin-top:16px;}
.news-folds .nw{display:inline-block;}
.cal-none{padding:24px 12px;text-align:center;font-size:14.5px;color:var(--mute);
  background:var(--ivory);border:1px solid var(--tan);line-height:1.9;font-weight:400;}
.cal-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
@media(max-width:420px){
  .cal{padding:13px 11px 11px;}
  .cal-grid td{font-size:15px;padding:7px 0;}
}

.cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:30px;}
.case{background:var(--ivory-hi);border:1px solid var(--tan);border-radius:3px;overflow:hidden;
  box-shadow:0 6px 18px rgba(26,26,26,.08);transition:.2s;}
.case:hover{box-shadow:0 12px 26px rgba(74,51,36,.18);transform:translateY(-2px);}
.case .shot{position:relative;background:#fff;line-height:0;}
.case .shot img{width:100%;height:auto;}
.case .tag{position:absolute;left:0;top:0;background:rgba(26,26,26,.55);color:var(--ivory-hi);
  font-size:13px;letter-spacing:.16em;padding:4px 10px;line-height:1.6;font-weight:400;}
.case .tag.aft{background:var(--olive);}
.case .sep{height:2px;background:var(--gold-sheen);}
.case figcaption{padding:13px 14px 15px;}
.case figcaption b{display:block;font-size:15.5px;color:var(--olive);font-weight:500;
  letter-spacing:.05em;line-height:1.6;}
.case figcaption small{display:block;font-size:14px;color:var(--mute);font-weight:400;
  margin-top:4px;line-height:1.7;}
.case figcaption .term{display:inline-block;margin-top:9px;font-size:13px;color:var(--olive);
  border:1px solid var(--olive-l);border-radius:2px;padding:3px 9px;line-height:1.5;}
@media(max-width:1000px){.cases{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.cases{grid-template-columns:1fr;max-width:380px;margin-left:auto;margin-right:auto;}}

html.js .rv{opacity:0;translate:0 20px;
  transition:opacity .8s cubic-bezier(.22,.61,.36,1),translate .8s cubic-bezier(.22,.61,.36,1);}
html.js .rv.in{opacity:1;translate:none;}
@media(prefers-reduced-motion:reduce){
  html.js .rv{opacity:1;translate:none;transition:none;}
}


.hero{position:relative;background:url('/images/top-hero-bg.jpg') center/cover no-repeat;}
.hero::after{content:"";position:absolute;inset:0;background:rgba(253,252,247,.58);}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:44px;
  align-items:center;padding:70px 0;}
.hero h1{font-size:34px;line-height:1.65;letter-spacing:.06em;color:var(--olive);font-weight:500;}
.hero p.lead{color:var(--sub);margin-top:16px;font-size:16px;font-weight:400;}
.hero-tag{font-size:15.5px;letter-spacing:.14em;color:var(--olive-l);
  font-weight:500;line-height:1.75;}
.hero-tag small{display:block;font-size:13px;letter-spacing:.2em;
  color:var(--warm);font-weight:400;line-height:1.7;margin-top:2px;}
.hero-photo{border-radius:3px;overflow:hidden;box-shadow:0 18px 44px rgba(26,26,26,.18);
  aspect-ratio:4/5;}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:85% center;}
@media(max-width:820px){
  .hero-in{grid-template-columns:1fr;padding:36px 22px;gap:26px;}
  .hero h1{font-size:26px;}
  .hero-tag{font-size:14px;letter-spacing:.1em;}
  .hero-tag small{font-size:13px;letter-spacing:.16em;}
  .hero-photo{order:-1;aspect-ratio:4/3;}
}

.hero-cover{padding:28px 0 34px;}
.hero-cover picture{display:block;max-width:min(1056px,max(800px,calc((100vh - 250px) * 1.777)));margin:0 auto;}
.hero-cover img{width:100%;height:auto;aspect-ratio:16/9;border-radius:3px;
  box-shadow:0 14px 36px rgba(26,26,26,.12);}
.hero-cover .cta-row{justify-content:center;margin-top:22px;}
.hero-cover .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
@media(max-width:640px){
  .hero-cover{padding:0 0 26px;}
  .hero-cover .wrap{padding:0;}
  .hero-cover img{aspect-ratio:4/3;border-radius:0;box-shadow:none;}
  .hero-cover.wide img{aspect-ratio:16/9;} 
  .hero-cover .cta-row{padding:0 22px;}
}

.trust{background-color:var(--ivory-mid);color:var(--sub);
  border-top:1px solid var(--warm);border-bottom:1px solid var(--warm);}
.trust .wrap{display:flex;justify-content:space-around;gap:18px;padding:24px 22px;
  flex-wrap:wrap;text-align:center;}
.trust b{display:block;font-size:clamp(20px,2.2vw,24px);color:var(--olive);line-height:1.5;font-weight:500;}
.trust span{display:block;font-size:14px;letter-spacing:.06em;line-height:1.7;opacity:.9;font-weight:400;}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;margin-top:34px;}
.tile{position:relative;display:block;border-radius:3px;overflow:hidden;
  box-shadow:0 8px 20px rgba(26,26,26,.10);transition:.2s;background:var(--ivory-mid);}
.tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(74,51,36,.20);}
.tile img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.tile .cap{display:block;padding:15px 10px 16px;background:var(--ivory-hi);
  border-top:1px solid var(--tan);text-align:center;}
.tile .cap b{display:block;font-size:15.5px;letter-spacing:.05em;font-weight:500;
  color:var(--olive);line-height:1.6;}
.tile .cap small{display:block;font-size:13px;letter-spacing:.16em;color:var(--olive-l);
  font-weight:400;margin-top:5px;}
.tile:hover .cap{background:var(--ivory-mid);}
@media(max-width:820px){.tiles{grid-template-columns:1fr 1fr;gap:10px;}}

.mcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;}
.mcard{display:flex;flex-direction:column;background:var(--ivory-hi);
  border:1px solid var(--tan);border-radius:3px;overflow:hidden;
  box-shadow:0 8px 20px rgba(26,26,26,.08);transition:.2s;color:inherit;}
.mcard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(74,51,36,.20);}
.mcard img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.mcard .tx{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px;}
.mcard .h{display:block;font-size:18px;color:var(--olive);font-weight:500;letter-spacing:.04em;
  line-height:1.7;}
.mcard .d{display:block;font-size:15.5px;color:var(--sub);margin-top:9px;line-height:1.95;}
.mcard .mini-note{margin-top:8px;}
.mcard .go{display:block;margin-top:auto;padding-top:16px;font-size:15px;color:var(--olive-l);
  letter-spacing:.04em;}
.mcard:hover .go{color:var(--olive);}

.mcard.lead{grid-column:1/-1;flex-direction:row;align-items:stretch;}
.mcard.lead picture{width:50%;flex:none;}
.mcard.lead img{height:100%;aspect-ratio:16/10;}
.mcard.lead .tx{justify-content:center;padding:34px 38px;}
.mcard.lead .kicker{margin-bottom:6px;}
.mcard.lead .h{font-size:25px;}
.mcard.lead .d{font-size:16px;margin-top:14px;}
.mcard.lead .go{margin-top:0;padding-top:20px;font-size:15.5px;}

@media(max-width:900px){
  .mcards{grid-template-columns:1fr 1fr;}
  .mcard.lead{flex-direction:column;}
  .mcard.lead picture{width:100%;}
  .mcard.lead img{aspect-ratio:16/9;}
  .mcard.lead .tx{padding:24px 24px 26px;}
  .mcard.lead .h{font-size:21px;}
}
@media(max-width:560px){
  .mcards{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto;}
}

.mcards-more{margin-top:22px;text-align:center;font-size:15px;color:var(--mute);
  line-height:2.2;}

.mcard .price{display:block;margin-top:12px;padding-top:10px;border-top:1px dashed var(--warm);
  font-size:18px;color:var(--olive);font-weight:500;letter-spacing:.03em;line-height:1.6;}
.mcard .price small{font-size:14px;color:var(--mute);font-weight:400;margin-left:2px;}
.mcard.lead .price{font-size:20px;}
.pg-hero.solo .pg-hero-in{grid-template-columns:1fr;padding-top:40px;padding-bottom:44px;}
@media(max-width:820px){.pg-hero.solo .pg-hero-in{padding-top:24px;padding-bottom:28px;}}
.pg-hero.town{background:url(/images/fee-hero-town-20261003.jpg) center 55%/cover no-repeat;}
.pg-hero.town{background:image-set(url(/images/fee-hero-town-20261003.webp) type("image/webp"),url(/images/fee-hero-town-20261003.jpg) type("image/jpeg")) center 55%/cover no-repeat;}
.pg-hero.town .pg-hero-in{padding-top:120px;padding-bottom:120px;}
.pg-hero.town .pg-hero-in>div{max-width:620px;background:rgba(253,252,247,.9);padding:26px 32px 28px;border-radius:3px;
  box-shadow:0 8px 28px rgba(74,51,36,.16);}
@media(max-width:820px){
  .pg-hero.town{background-color:var(--ivory-mid);background-size:100% auto;background-position:center top;}
  .pg-hero.town .pg-hero-in{padding-top:calc(56.25vw - 28px);padding-bottom:22px;}
  .pg-hero.town .pg-hero-in>div{padding:18px 20px 20px;}}
.price-folds{margin-top:30px;border-bottom:1px solid var(--tan);}
.price-folds details.txt-fold{margin-top:0;border-bottom:0;scroll-margin-top:calc(var(--hdh,116px) + 12px);}
.price-folds details.txt-fold>summary{padding:17px 2px;font-size:17px;}
.price-folds .pg-scroll{margin-top:8px;}

.ortho-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;margin-top:36px;}
.goldshot{border-radius:3px;overflow:hidden;background:#111;
  box-shadow:0 14px 34px rgba(26,26,26,.20);position:relative;}
.goldshot img{width:100%;height:auto;}
.goldshot figcaption{position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(to top,rgba(17,17,17,.85),rgba(17,17,17,0));
  color:var(--tan);font-size:14px;letter-spacing:.08em;padding:26px 16px 12px;text-align:center;}
.gold-quote{margin-top:18px;border-left:3px solid;border-image:var(--gold-sheen) 1;
  padding:4px 0 4px 16px;font-size:15.5px;color:var(--sub);font-weight:400;line-height:2.0;}
.points{display:grid;gap:16px;}
.point{border-left:3px solid;border-image:var(--gold-sheen) 1;padding:2px 0 2px 16px;}
.point b{display:block;font-size:16px;color:var(--olive);font-weight:500;}
.point p{font-size:15.5px;color:var(--sub);margin-top:2px;font-weight:400;line-height:1.9;}
@media(max-width:860px){.ortho-hero{grid-template-columns:1fr;gap:24px;}}

.price-row{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:34px;}
.price-box{background:var(--ivory-hi);border:1px solid var(--tan);padding:26px;text-align:center;
  position:relative;box-shadow:0 6px 18px rgba(74,51,36,.08);}
.price-box::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold-sheen);}
.price-box .big{font-size:34px;color:var(--olive);letter-spacing:.02em;line-height:1.4;font-weight:500;}
.price-box .mo{font-size:15px;color:var(--sub);font-weight:400;}
.price-side{background:var(--ivory-hi);border:1px solid var(--tan);padding:22px 24px;
  font-size:15.5px;color:var(--sub);font-weight:400;}
.price-side p{margin:4px 0;}
@media(max-width:820px){.price-row{grid-template-columns:1fr;}}

.clean{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px;}
.cleancard{background:var(--ivory-hi);border:1px solid var(--tan);border-radius:3px;overflow:hidden;
  display:flex;flex-direction:column;}
.cleancard img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.cleancard .tx{padding:22px 24px 18px;}
.cleancard h3{font-size:19px;color:var(--olive);letter-spacing:.05em;font-weight:500;}
.cleancard p{font-size:15.5px;color:var(--sub);margin-top:8px;font-weight:400;}
.cleancard .foot{margin-top:auto;padding:0 24px 24px;}
.tagline{display:inline-block;background:var(--ivory-mid);color:var(--olive);
  border:1px solid var(--olive-l);font-size:13px;font-weight:500;
  padding:5px 12px;border-radius:2px;letter-spacing:.06em;margin-bottom:10px;}
@media(max-width:820px){.clean{grid-template-columns:1fr;}}

.bmenu{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;}
.bcard{background:var(--ivory-hi);border:1px solid var(--tan);border-radius:3px;overflow:hidden;
  display:flex;flex-direction:column;}
.bcard .ph{aspect-ratio:4/3;overflow:hidden;background:#fff;}
.bcard .ph img{width:100%;height:100%;object-fit:cover;}
.bcard .ph.free{aspect-ratio:auto;padding:10px 14px;}
.bcard .ph.free img{height:auto;object-fit:contain;}
.bcard .ph.split{aspect-ratio:auto;}
.bcard .ph.split .shot{position:relative;line-height:0;background:#fff;}
.bcard .ph.split .shot img{width:100%;height:auto;}
.bcard .tag{position:absolute;left:0;top:0;background:rgba(26,26,26,.55);color:var(--ivory-hi);
  font-size:13px;letter-spacing:.16em;padding:4px 10px;line-height:1.6;}
.bcard .tag.aft{background:var(--olive);}
.bcard .sep{height:2px;background:var(--gold-sheen);}
.bcard .tx{padding:18px 20px 22px;}
.bcard h3{font-size:16.5px;color:var(--olive);font-weight:500;}
.bcard p{font-size:15px;color:var(--sub);margin-top:6px;font-weight:400;}
.mini-note{display:inline-block;margin-top:10px;font-size:14px;color:var(--mute);font-weight:400;}
@media(max-width:860px){.bmenu{grid-template-columns:1fr;}}

.doctor{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:center;}
.doctor .ph{border-radius:3px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 14px 34px rgba(26,26,26,.16);}
.doctor .ph img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.doctor .word{color:var(--sub);font-size:15.5px;font-weight:400;}
.doctor .about{color:var(--sub);font-size:15.5px;margin-top:14px;font-weight:400;}
.career{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.career span{border:1px solid var(--olive-l);color:var(--olive);font-size:14px;
  padding:6px 12px;border-radius:2px;font-weight:400;}
@media(max-width:820px){
  .doctor{grid-template-columns:1fr;gap:24px;}
  .doctor .ph{max-width:320px;margin:0 auto;aspect-ratio:4/3;}
}


.crumb{font-size:13.5px;color:var(--mute);font-weight:400;padding:14px 0 0;letter-spacing:.04em;}
.crumb a{color:var(--olive-l);}
.crumb a:hover{border-bottom:1px solid var(--tan);}

.pg-hero{background-color:var(--ivory-mid);border-bottom:1px solid var(--tan);}
.pg-hero-in{display:grid;grid-template-columns:1.12fr .88fr;gap:46px;align-items:center;padding-top:56px;padding-bottom:62px;}
.pg-hero h1{font-size:30px;line-height:1.68;letter-spacing:.05em;color:var(--olive);font-weight:500;}
.pg-hero h1 small{display:block;font-size:13.5px;letter-spacing:.2em;color:var(--olive-l);
  margin-bottom:12px;font-weight:400;}
.pg-hero .lead{color:var(--sub);margin-top:18px;font-size:15.5px;font-weight:400;line-height:2.05;}
.pg-hero-photo{border-radius:3px;overflow:hidden;aspect-ratio:4/3;
  box-shadow:0 16px 40px rgba(26,26,26,.16);}
.pg-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 32%;}
@media(max-width:860px){
  .pg-hero-in{grid-template-columns:1fr;padding-top:30px;padding-bottom:38px;gap:26px;}
  .pg-hero h1{font-size:25px;}
  .pg-hero-photo{order:-1;}
}

.pg-h3{font-size:18px;color:var(--olive);font-weight:500;letter-spacing:.04em;line-height:1.75;}
.pg-p{font-size:15.5px;color:var(--sub);font-weight:400;line-height:2.05;margin-top:12px;}
.pg-p b,.pg-list b,.pg-def dd b{color:var(--olive);font-weight:500;}

.pg-split{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:start;margin-top:34px;}
.pg-split.rev{grid-template-columns:1fr 300px;}
@media(max-width:860px){
  .pg-split,.pg-split.rev{grid-template-columns:1fr;gap:26px;}
  .pg-split .pg-fig{max-width:360px;margin:0 auto;}
}

.pg-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px 34px;margin-top:26px;}
@media(max-width:820px){.pg-2col{grid-template-columns:1fr;}}

.pg-list{list-style:none;display:grid;gap:11px;margin-top:16px;}
.pg-list li{position:relative;padding-left:24px;font-size:15.5px;color:var(--sub);
  font-weight:400;line-height:1.95;}
.pg-list li::before{content:"";position:absolute;left:6px;top:12px;width:5px;height:5px;
  border-radius:50%;background:var(--olive-l);}
.pg-list.x li::before{content:"×";left:3px;top:0;width:auto;height:auto;border-radius:0;
  background:none;color:var(--olive);font-size:15px;}

.pg-fig{background:var(--ivory-hi);border:1px solid var(--tan);border-radius:3px;overflow:hidden;}
.pg-fig img{width:100%;}
.pg-fig figcaption{padding:11px 15px;font-size:14px;color:var(--mute);font-weight:400;
  line-height:1.85;border-top:1px solid var(--tan);background:var(--ivory-mid);}

.pg-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:32px;
  background:var(--tan);border:1px solid var(--tan);}
.pg-facts div{background:var(--ivory-hi);padding:26px 16px;text-align:center;}
.pg-facts small{display:block;font-size:14px;letter-spacing:.18em;color:var(--olive-l);
  font-weight:400;text-transform:uppercase;}
.pg-facts b{display:block;font-size:25px;color:var(--olive);font-weight:500;line-height:1.6;margin-top:8px;}
.pg-facts em{display:block;font-style:normal;font-size:14px;color:var(--mute);
  margin-top:6px;font-weight:400;line-height:1.8;}
@media(max-width:640px){.pg-facts{grid-template-columns:1fr;}}

.pg-media{display:grid;grid-template-columns:250px 1fr;gap:24px;margin-top:30px;align-items:start;}
@media(max-width:760px){.pg-media{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto;}}

.pg-notice{background:var(--ivory-hi);border:1px solid var(--olive-l);padding:32px 34px;
  margin-top:34px;position:relative;}
.pg-notice::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold-sheen);}
.pg-notice>b{display:block;font-size:16px;color:var(--olive);font-weight:500;letter-spacing:.04em;}
@media(max-width:640px){.pg-notice{padding:24px 20px;}}

.pg-def{display:grid;gap:0;margin-top:18px;}
.pg-def>div{display:grid;grid-template-columns:210px 1fr;gap:20px;
  border-top:1px solid var(--tan);padding:15px 0;}
.pg-def>div:last-child{border-bottom:1px solid var(--tan);}
.pg-def dt{font-size:15px;color:var(--olive);font-weight:500;line-height:1.85;}
.pg-def dd{font-size:15px;color:var(--sub);font-weight:400;line-height:2.0;}
@media(max-width:760px){.pg-def>div{grid-template-columns:1fr;gap:4px;}}

.pg-flow{margin-top:34px;border-top:1px solid var(--tan);}
.pg-step{display:grid;grid-template-columns:110px 1fr;gap:26px;padding:26px 2px;
  border-bottom:1px solid var(--tan);align-items:start;}
.pg-step .no{font-size:13px;letter-spacing:.2em;color:var(--olive-l);font-weight:400;
  text-transform:uppercase;line-height:1.8;}
.pg-step .no b{display:block;font-size:27px;color:var(--olive);font-weight:500;line-height:1.3;}
.pg-step h3{font-size:16px;color:var(--olive);font-weight:500;letter-spacing:.04em;line-height:1.7;}
.pg-step p{font-size:15.5px;color:var(--sub);font-weight:400;line-height:2.0;margin-top:7px;}
.pg-step .when{display:inline-block;margin-top:11px;font-size:13.5px;color:var(--olive);
  border:1px solid var(--olive-l);border-radius:2px;padding:4px 11px;line-height:1.5;font-weight:400;}
@media(max-width:640px){
  .pg-step{grid-template-columns:1fr;gap:10px;padding:22px 2px;}
  .pg-step .no b{font-size:22px;display:inline;margin-right:8px;}
}

.pg-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:32px;}
.pg-price{width:100%;min-width:460px;border-collapse:collapse;background:var(--ivory-hi);font-size:15.5px;}
.pg-price caption{caption-side:bottom;text-align:left;font-size:13.5px;color:var(--mute);
  font-weight:400;line-height:1.9;padding-top:12px;}
.pg-price th,.pg-price td{border:1px solid var(--tan);padding:17px 18px;vertical-align:middle;}
.pg-price thead th{background:var(--ivory-mid);color:var(--olive);font-weight:500;
  font-size:14px;letter-spacing:.12em;text-align:left;}
.pg-price tbody th{text-align:left;color:var(--olive);font-weight:500;background:var(--ivory-mid);
  line-height:1.8;}
.pg-price tbody th small{display:block;font-size:14px;color:var(--mute);font-weight:400;margin-top:3px;}
.pg-price td{text-align:right;color:var(--sub);font-weight:400;white-space:nowrap;}
.pg-price .yen{font-size:21px;color:var(--olive);font-weight:500;letter-spacing:.02em;}
.pg-price .free{font-size:16px;color:var(--olive);font-weight:500;}

.pg-under{margin-top:20px;background:var(--ivory-hi);border:1px solid var(--tan);
  border-left:3px solid var(--olive-l);padding:18px 22px;
  font-size:15px;color:var(--sub);font-weight:400;line-height:2.0;}
.pg-under b{color:var(--olive);font-weight:500;}

@media(max-width:520px){
  .pg-price{min-width:0;}
  .pg-price th,.pg-price td{padding:13px 12px;}
  .pg-price tbody th small{font-size:14px;}
  .pg-price .yen{font-size:18px;}
  .pg-price .free{font-size:16px;}
}

.pg-jump{position:sticky;top:var(--hdh,116px);z-index:40;
  background:rgba(253,252,247,.92);backdrop-filter:blur(8px);
  border-top:1px solid var(--tan);border-bottom:1px solid var(--tan);}
.pg-jump ul{list-style:none;display:flex;gap:6px;overflow-x:auto;
  max-width:1100px;margin:0 auto;padding:10px 22px;
  scrollbar-width:none;-ms-overflow-style:none;}
.pg-jump ul::-webkit-scrollbar{display:none;}
.pg-jump a{flex:0 0 auto;display:block;padding:9px 16px;border-radius:999px;
  font-size:14.5px;color:var(--olive-l);font-weight:400;letter-spacing:.04em;
  white-space:nowrap;transition:background .2s,color .2s;}
.pg-jump a:hover{background:var(--ivory-mid);color:var(--olive);}
.pg-jump a.on{background:var(--leaf);color:var(--on-leaf);}
.pg-anchor{scroll-margin-top:calc(var(--hdh,116px) + 46px);}

.pg-ba{max-width:880px;margin:38px auto 0;}

.pg-ba-h{text-align:center;font-size:15.5px;color:var(--olive);font-weight:500;
  letter-spacing:.06em;line-height:1.8;margin-bottom:16px;}
.pg-ba-h span{display:block;font-size:13px;letter-spacing:.26em;color:var(--olive-l);
  text-transform:uppercase;font-weight:500;margin-bottom:7px;}

.pg-ba-ph{position:relative;border-radius:3px;overflow:hidden;
  box-shadow:0 16px 40px rgba(26,26,26,.16);}
.pg-ba-ph img{width:100%;}
.pg-ba-ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:38%;
  background:linear-gradient(to top,rgba(26,26,26,.30),rgba(26,26,26,0));pointer-events:none;}

.pg-ba-line{position:absolute;top:0;bottom:0;left:49.6%;width:1px;z-index:1;
  background:linear-gradient(to bottom,
    rgba(184,148,74,0) 0%,rgba(184,148,74,.75) 26%,
    rgba(184,148,74,.75) 74%,rgba(184,148,74,0) 100%);}

.pg-ba-tag{position:absolute;z-index:2;bottom:clamp(14px,2.4vw,26px);
  padding:9px clamp(12px,1.8vw,17px);
  background:rgba(26,26,26,.38);border:1px solid rgba(184,148,74,.45);border-radius:2px;
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  font-size:clamp(13px,1.35vw,14px);color:var(--ivory-hi);font-weight:400;
  letter-spacing:.05em;line-height:1.7;}
.pg-ba-tag i{display:block;font-style:normal;font-size:clamp(12.5px,1.2vw,13.5px);
  letter-spacing:.26em;text-transform:uppercase;color:var(--tan);font-weight:500;
  margin-bottom:4px;}
.pg-ba-tag b{display:block;font-weight:400;}
.pg-ba-tag.before{left:clamp(12px,2.6vw,30px);}
.pg-ba-tag.after{right:clamp(12px,2.6vw,30px);text-align:right;}

.pg-ba figcaption{margin-top:14px;font-size:14px;color:var(--mute);
  font-weight:400;line-height:1.9;text-align:center;}

@media(max-width:520px){
  .pg-ba{margin-top:28px;}
  .pg-ba-h{font-size:15.5px;}
  .pg-ba-tag{bottom:11px;padding:6px 11px;}
  .pg-ba-tag b{display:none;}
  .pg-ba-tag i{font-size:13px;}
  .pg-ba-tag i{margin-bottom:0;}
  .pg-ba figcaption{text-align:left;}
}


.sec-lead.center{max-width:680px;margin-left:auto;margin-right:auto;}

.ac-hero{background:var(--ivory-mid);border-bottom:1px solid var(--tan);}
.ac-hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:56px 0 62px;}
.ac-hero h1{font-size:30px;line-height:1.6;letter-spacing:.05em;color:var(--olive);font-weight:500;}
.ac-hero h1 small{display:block;font-size:13.5px;letter-spacing:.2em;color:var(--olive-l);
  margin-bottom:12px;font-weight:400;}
.ac-hero .lead{color:var(--sub);margin-top:18px;font-size:15.5px;font-weight:400;line-height:2.05;}
.ac-hero-photo{border-radius:3px;overflow:hidden;aspect-ratio:4/3;
  box-shadow:0 16px 40px rgba(26,26,26,.16);}
.ac-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 34%;}
.ac-quick{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}

.ac-book{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:36px;
  background:var(--tan);border:1px solid var(--tan);}
.ac-card{background:var(--ivory-hi);padding:34px 30px 32px;display:flex;flex-direction:column;
  transition:background .2s;}
.ac-card:hover{background:var(--ivory);}
.ac-card-no{font-size:13px;letter-spacing:.26em;color:var(--olive-l);font-weight:400;}
.ac-card h3{font-size:18px;color:var(--olive);font-weight:500;letter-spacing:.05em;
  margin-top:12px;padding-bottom:15px;border-bottom:1px solid var(--tan);}
.ac-card p{font-size:15px;color:var(--sub);font-weight:400;line-height:2.0;margin-top:15px;flex:1;}
.ac-card .btn{margin-top:22px;text-align:center;}
.ac-card .ac-card-no{flex:none;margin-top:0;}
.ac-card h3 + .btn{margin-top:auto;}
.ac-card h3:has(+ .btn){margin-bottom:22px;}

.ac-hours{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start;margin-top:36px;}
.ac-hours table{width:100%;border-collapse:collapse;background:var(--ivory-hi);}
.ac-hours th,.ac-hours td{border:1px solid var(--tan);padding:14px 4px;text-align:center;}
.ac-hours th{background:var(--ivory-mid);color:var(--olive);font-weight:500;
  font-size:14px;letter-spacing:.08em;}
.ac-hours td{color:var(--olive);font-size:17px;line-height:1;}
.ac-hours td.x{color:var(--mute);font-size:16px;}
.ac-hours-note{list-style:none;}
.ac-hours-note li{font-size:15.5px;color:var(--sub);font-weight:400;line-height:1.9;
  padding:10px 0 10px 16px;border-left:3px solid;border-image:var(--gold-sheen) 1;margin-bottom:10px;}
.ac-hours-note b{display:block;color:var(--olive);font-weight:500;font-size:14px;
  letter-spacing:.08em;margin-bottom:2px;}

.ac-sub{font-size:17px;color:var(--olive);font-weight:500;letter-spacing:.05em;margin-top:44px;}

.ac-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:18px;
  background:var(--tan);border:1px solid var(--tan);}
.ac-step{background:var(--ivory-hi);padding:28px 26px 30px;}
.ac-step .no{font-size:13px;letter-spacing:.24em;color:var(--olive-l);font-weight:400;}
.ac-step .no b{display:block;font-size:26px;color:var(--olive);font-weight:500;line-height:1.25;}
.ac-step h4{font-size:16px;color:var(--olive);font-weight:500;letter-spacing:.05em;
  margin-top:12px;padding-bottom:13px;border-bottom:1px solid var(--tan);}
.ac-step p{font-size:15px;color:var(--sub);font-weight:400;line-height:2.0;margin-top:14px;}
.ac-step p b{color:var(--olive);font-weight:500;}

.ac-pdf{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
  background:var(--ivory-hi);border:1px solid var(--tan);border-left:3px solid;
  border-image:var(--gold-sheen) 1;padding:28px 30px;margin-top:34px;}
.ac-pdf b{display:block;font-size:16px;color:var(--olive);font-weight:500;letter-spacing:.04em;}
.ac-pdf p{font-size:15px;color:var(--sub);font-weight:400;line-height:1.9;margin-top:7px;max-width:520px;}

@media(max-width:860px){
  .ac-hero-in{grid-template-columns:1fr;padding:30px 0 38px;gap:26px;}
  .ac-hero h1{font-size:25px;}
  .ac-hero-photo{order:-1;}
  .ac-book{grid-template-columns:1fr;}
  .ac-hours{grid-template-columns:1fr;}
  .ac-steps{grid-template-columns:1fr;}
  .ac-pdf{flex-direction:column;align-items:flex-start;}
}

.ac-wait{width:100%;border-collapse:collapse;margin-top:30px;
  background:var(--ivory-hi);border:1px solid var(--tan);}
.ac-wait th,.ac-wait td{border:1px solid var(--tan);padding:14px 18px;text-align:left;font-size:15.5px;}
.ac-wait th{background:var(--ivory-mid);color:var(--olive);font-weight:500;
  font-size:14px;letter-spacing:.08em;}
.ac-wait td{color:var(--sub);font-weight:400;line-height:1.7;}
.ac-wait td small{display:block;font-size:14px;color:var(--mute);font-weight:400;margin-top:3px;}
.ac-wait td:last-child{text-align:right;white-space:nowrap;}
.ac-wait b{font-weight:500;font-size:16px;color:var(--olive);}
.ac-wait b.ok{color:var(--leaf);}
@media(max-width:620px){
  .ac-wait th,.ac-wait td{padding:11px 12px;font-size:15px;}
  .ac-wait b{font-size:15.5px;}
}
.ac-fold{margin-top:30px;border:1px solid var(--tan);background:var(--ivory-hi);}
.ac-fold summary{cursor:pointer;padding:17px 22px;font-size:15.5px;color:var(--olive);
  font-weight:500;letter-spacing:.03em;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:12px;}
.ac-fold summary::-webkit-details-marker{display:none;}
.ac-fold summary::after{content:'＋';color:var(--olive-l);font-size:16px;line-height:1;}
.ac-fold[open] summary::after{content:'−';}
.ac-fold summary:hover{background:var(--ivory-mid);}
.ac-fold .in{padding:0 22px 20px;}
.ac-fold .ac-wait{margin-top:4px;}
.ac-fold .note{margin-top:12px;}

details.note-fold{margin-top:22px;border-top:1px solid var(--tan);}
details.note-fold>summary{cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:13px 2px;font-size:14px;color:var(--mute);font-weight:400;letter-spacing:.03em;}
details.note-fold>summary::-webkit-details-marker{display:none;}
details.note-fold>summary::after{content:'＋';color:var(--olive-l);font-size:15px;line-height:1;flex:0 0 auto;}
details.note-fold[open]>summary::after{content:'−';}
details.note-fold>summary:hover{color:var(--olive);}
details.note-fold .note{margin-top:0;border-top:0;padding-top:0;padding-bottom:16px;text-align:left;}

details.txt-fold{margin-top:16px;border-top:1px solid var(--tan);border-bottom:1px solid var(--tan);
  text-align:left;}
details.txt-fold>summary{cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:14px 2px;font-size:15.5px;color:var(--olive);font-weight:500;letter-spacing:.03em;}
details.txt-fold>summary::-webkit-details-marker{display:none;}
details.txt-fold>summary::after{content:'＋';color:var(--olive-l);font-size:16px;line-height:1;flex:0 0 auto;}
details.txt-fold[open]>summary::after{content:'−';}
details.txt-fold>summary:hover{color:var(--olive-l);}
details.txt-fold .in{padding:0 2px 16px;}
details.txt-fold .tx-l{text-align:left;}

.points details.point{padding-top:0;padding-bottom:0;}
.points details.point>summary{cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:9px 0;font-size:16px;color:var(--olive);font-weight:500;}
.points details.point>summary::-webkit-details-marker{display:none;}
.points details.point>summary::after{content:'＋';color:var(--olive-l);font-size:16px;line-height:1;flex:0 0 auto;}
.points details.point[open]>summary::after{content:'−';}
.points details.point>summary:hover{color:var(--olive-l);}
.points details.point>p{padding-bottom:12px;}

.more{margin-top:24px;text-align:center;}
.more summary{display:inline-flex;align-items:center;gap:9px;cursor:pointer;list-style:none;
  border:1px solid var(--olive-l);color:var(--olive);background:transparent;
  padding:13px 30px;border-radius:2px;font-size:15.5px;font-weight:500;letter-spacing:.04em;
  transition:border-color .2s, background .2s;}
.more summary::-webkit-details-marker{display:none;}
.more summary::after{content:'＋';color:var(--olive-l);font-size:16px;line-height:1;}
.more[open] summary::after{content:'−';}
.more summary:hover{border-color:var(--olive);background:var(--ivory-mid);}
.more .cases{text-align:left;}
.access.one{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto;}

@media(max-width:820px){
  .sec{padding:44px 0;}
  .sec-title{font-size:23px;}
  .case figcaption{padding:10px 12px 12px;}
  .cases{gap:12px;margin-top:22px;}
  .tiles{margin-top:22px;}
}
@media(max-width:520px){
  .hd{height:62px;}
  .logo{font-size:16.5px;white-space:nowrap;letter-spacing:.06em;}
  .logo small{font-size:10px;letter-spacing:.1em;white-space:nowrap;}
  .hd-r{gap:8px;}
  .hd .btn{padding:9px 15px;font-size:13.5px;white-space:nowrap;}
  .nav-toggle{padding:9px 11px;font-size:13.5px;white-space:nowrap;}

  .trust .wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;padding:22px;}
  .trust b{font-size:20px;}
  .trust span{font-size:13.5px;letter-spacing:.02em;line-height:1.65;
    word-break:keep-all;overflow-wrap:anywhere;}
}
.pv{max-width:820px;margin:44px auto 0;}
.pv h2{font-size:19px;color:var(--olive);font-weight:500;letter-spacing:.05em;line-height:1.7;
  margin:46px 0 4px;padding-bottom:10px;border-bottom:1px solid var(--tan);}
.pv h3{font-size:16px;color:var(--olive-l);font-weight:500;letter-spacing:.04em;margin:24px 0 0;}
.pv p{font-size:15.5px;color:var(--sub);font-weight:400;margin-top:12px;}
.pv p b{color:var(--olive);font-weight:500;}
.pv ul{margin-top:10px;}
.pv li{font-size:15.5px;color:var(--sub);font-weight:400;line-height:1.95;
  list-style:none;position:relative;padding-left:17px;margin-top:4px;}
.pv li::before{content:'・';position:absolute;left:0;color:var(--olive-l);}
.pv li .mini-note{display:block;margin-top:2px;}

.pv-box{background:var(--ivory-mid);border:1px solid var(--tan);border-radius:3px;
  padding:24px 26px;margin-top:18px;}
.pv-box p:first-child{margin-top:0;}

.pv-dl{margin-top:14px;display:grid;grid-template-columns:120px 1fr;gap:10px 18px;}
.pv-dl dt{font-size:15.5px;color:var(--olive);font-weight:500;letter-spacing:.04em;}
.pv-dl dd{font-size:15.5px;color:var(--sub);font-weight:400;}

.pv-date{font-size:13.5px;color:var(--mute);font-weight:400;text-align:right;
  margin-top:48px;border-top:1px solid var(--tan);padding-top:16px;}

@media(max-width:600px){
  .pv{margin-top:32px;}
  .pv h2{font-size:17px;margin-top:38px;}
  .pv-dl{grid-template-columns:1fr;gap:0;}
  .pv-dl dt{margin-top:12px;}
  .pv-box{padding:20px;}
}

.pg-table{width:100%;min-width:460px;border-collapse:collapse;background:var(--ivory-hi);font-size:15.5px;}
.pg-table caption{caption-side:bottom;text-align:left;font-size:13.5px;color:var(--mute);
  font-weight:400;line-height:1.9;padding-top:12px;}
.pg-table th,.pg-table td{border:1px solid var(--tan);padding:15px 16px;vertical-align:top;}
.pg-table thead th{background:var(--ivory-mid);color:var(--olive);font-weight:500;
  font-size:14px;letter-spacing:.1em;text-align:left;}
.pg-table tbody th{text-align:left;color:var(--olive);font-weight:500;background:var(--ivory-mid);
  line-height:1.8;white-space:nowrap;}
.pg-table td{color:var(--sub);font-weight:400;line-height:1.85;}
.pg-table .ok{color:var(--olive);font-weight:500;}
@media(max-width:520px){
  .pg-table{min-width:420px;}
  .pg-table th,.pg-table td{padding:12px 11px;font-size:14px;}
}

.gd-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:34px;}
.gd-card{display:block;background:var(--ivory-hi);border:1px solid var(--tan);border-radius:3px;
  padding:26px 28px;transition:.2s;position:relative;}
.gd-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold-sheen);}
.gd-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(74,51,36,.16);}
.gd-card small{display:block;font-size:14px;letter-spacing:.18em;color:var(--olive-l);
  text-transform:uppercase;font-weight:400;}
.gd-card b{display:block;font-size:18px;color:var(--olive);font-weight:500;margin-top:8px;letter-spacing:.04em;}
.gd-card p{font-size:15px;color:var(--sub);font-weight:400;margin-top:8px;line-height:1.95;}
.gd-card span.go{display:inline-block;margin-top:12px;font-size:14px;color:var(--olive-l);}


body.iv{
  --r:22px;                                
  --r-s:14px;                              
  --line:rgba(184,148,74,.55);            
  --sh:0 20px 46px rgba(74,51,36,.13);    
  --sh-s:0 10px 26px rgba(74,51,36,.09);  
  background:var(--ivory);
}

body.iv .btn{border-radius:999px;padding:15px 32px;}
body.iv .btn-gold{box-shadow:inset 0 0 0 3px var(--washi),inset 0 0 0 4px var(--gold-thread-l),0 6px 18px rgba(74,51,36,.12);}
body.iv .crumb{padding-top:18px;}

.iv-prog{position:fixed;left:0;top:0;height:3px;width:0;z-index:70;
  background:var(--gold-sheen);transition:width .12s linear;}


.iv-hero{position:relative;overflow:hidden;
  background:radial-gradient(120% 90% at 82% 16%,#f6f1e3 0%,#fdfcf7 52%,#fdfcf7 100%);
  padding:clamp(34px,5.5vw,68px) 0 clamp(92px,10vw,126px);}
.iv-hero::before{content:"";position:absolute;width:540px;height:540px;right:-150px;top:-170px;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(184,148,74,.45),rgba(184,148,74,0) 68%);}
.iv-hero-in{position:relative;z-index:2;display:grid;
  grid-template-columns:1.02fr .98fr;gap:clamp(28px,4.5vw,58px);align-items:center;}

.iv-pill{display:inline-flex;align-items:center;gap:9px;padding:8px 18px;border-radius:999px;
  background:rgba(253,252,247,.82);border:1px solid var(--line);
  font-size:13px;letter-spacing:.1em;color:var(--olive);font-weight:500;}
.iv-pill i{width:6px;height:6px;border-radius:50%;background:var(--gold-sheen);font-style:normal;flex:0 0 auto;}

.iv-kick{display:flex;align-items:center;gap:13px;margin-top:24px;
  font-size:13px;letter-spacing:.32em;color:var(--olive-l);font-weight:500;}
.iv-kick::before{content:"";width:34px;height:1px;background:var(--gold-sheen);flex:0 0 auto;}

.iv-hero h1{margin-top:16px;font-size:clamp(26px,3.6vw,36px);line-height:1.66;
  letter-spacing:.045em;color:var(--olive);font-weight:500;}
.iv-hero .lead{margin-top:22px;max-width:540px;
  font-size:15.5px;line-height:2.15;color:var(--sub);font-weight:400;}
.iv-hero .lead b{color:var(--olive);font-weight:500;}
.iv-hero .cta-row{margin-top:30px;}

.iv-hero-ph{position:relative;}
.iv-hero-ph::before{content:"";position:absolute;inset:26px -20px -20px 26px;
  border:1px solid var(--tan);border-radius:var(--r);}
.iv-hero-ph picture{position:relative;display:block;border-radius:var(--r);overflow:hidden;
  box-shadow:var(--sh);aspect-ratio:4/5;}
.iv-hero-ph img{width:100%;height:100%;object-fit:cover;object-position:36% 28%;}

.iv-badges{position:relative;z-index:3;margin-top:clamp(-72px,-7vw,-52px);}
.iv-badges .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.iv-badge{background:var(--ivory-hi);border:1px solid var(--line);border-radius:var(--r-s);
  padding:24px 16px;text-align:center;box-shadow:var(--sh-s);}
.iv-badge b{display:block;font-size:24px;color:var(--olive);font-weight:500;line-height:1.4;}
@supports((-webkit-background-clip:text) or (background-clip:text)){
  .iv-badge b{background:var(--gold-sheen);-webkit-background-clip:text;background-clip:text;color:transparent;}
}
.iv-badge span{display:block;margin-top:7px;font-size:14px;color:var(--mute);
  font-weight:400;line-height:1.8;letter-spacing:.03em;}

.iv-nav{position:sticky;top:var(--hdh,116px);z-index:40;margin-top:clamp(40px,6vw,64px);
  background:rgba(253,252,247,.9);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.iv-nav ul{list-style:none;display:flex;gap:6px;overflow-x:auto;
  max-width:1100px;margin:0 auto;padding:10px 22px;
  scrollbar-width:none;-ms-overflow-style:none;}
.iv-nav ul::-webkit-scrollbar{display:none;}
.iv-nav a{flex:0 0 auto;display:block;padding:9px 16px;border-radius:999px;
  font-size:14px;color:var(--olive-l);font-weight:400;letter-spacing:.04em;
  white-space:nowrap;transition:background .2s,color .2s;}
.iv-nav a small{font-size:13px;letter-spacing:.14em;margin-right:7px;opacity:.7;}
.iv-nav a:hover{background:var(--ivory-mid);color:var(--olive);}
.iv-nav a.on{background:var(--leaf);color:var(--on-leaf);}

.iv-sec{position:relative;padding:clamp(56px,8vw,102px) 0;}
.iv-sec.alt{background:var(--ivory-hi);}
.iv-sec.mid{background:var(--ivory-mid);}
.iv-sec[id]{scroll-margin-top:calc(var(--hdh,116px) + 58px);}

.iv-ghost{position:absolute;top:clamp(30px,4.5vw,54px);
  right:max(22px,calc((100% - 1100px) / 2 + 22px));
  font-size:clamp(88px,12vw,168px);line-height:1;color:var(--tan);opacity:.22;
  font-weight:500;letter-spacing:-.02em;pointer-events:none;user-select:none;}

.iv-head{position:relative;max-width:840px;}
.iv-no{display:flex;align-items:center;gap:13px;
  font-size:13px;letter-spacing:.3em;color:var(--olive-l);font-weight:500;}
.iv-no::before{content:"";width:34px;height:1px;background:var(--gold-sheen);flex:0 0 auto;}
.iv-h2{margin-top:15px;font-size:clamp(22px,2.6vw,30px);line-height:1.6;
  letter-spacing:.05em;color:var(--olive);font-weight:500;}
.iv-lead{margin-top:16px;font-size:15.5px;color:var(--sub);font-weight:400;line-height:2.05;}
.iv-p{margin-top:18px;max-width:840px;font-size:15.5px;color:var(--sub);font-weight:400;line-height:2.15;}
.iv-p b{color:var(--olive);font-weight:500;}

.iv-card{background:var(--ivory-hi);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(26px,3.4vw,38px);box-shadow:var(--sh-s);}
.iv-card>b{display:block;font-size:16.5px;color:var(--olive);font-weight:500;
  letter-spacing:.04em;line-height:1.75;}
.iv-card .iv-p:first-child{margin-top:0;}

.iv-note{position:relative;overflow:hidden;margin-top:30px;border-radius:var(--r);
  background:linear-gradient(160deg,var(--ivory-hi) 0%,var(--ivory-mid) 100%);
  padding:clamp(28px,3.6vw,40px);box-shadow:var(--sh-s);}
.iv-note::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold-sheen);}
.iv-note>b{display:block;font-size:16.5px;color:var(--olive);font-weight:500;
  letter-spacing:.04em;line-height:1.8;}

.iv-under{margin-top:22px;border-radius:var(--r-s);background:var(--ivory-hi);
  border:1px solid var(--line);border-left:4px solid var(--olive-l);
  padding:22px 26px;font-size:15.5px;color:var(--sub);font-weight:400;line-height:2.05;}
.iv-under b{color:var(--olive);font-weight:500;}

.iv-cap{margin-top:12px;font-size:14px;color:var(--mute);font-weight:400;line-height:1.9;}
.iv-cap b{color:var(--olive-l);font-weight:500;}

.iv-cmp{width:100%;margin-top:30px;border-collapse:separate;border-spacing:0;font-size:15.5px;
  background:var(--ivory-hi);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-s);}
.iv-cmp th,.iv-cmp td{padding:18px 20px;text-align:left;vertical-align:middle;
  border-bottom:1px solid var(--line);}
.iv-cmp thead th{background:var(--ivory-mid);color:var(--olive);font-weight:500;
  font-size:14px;letter-spacing:.14em;border-bottom:0;}
.iv-cmp tbody th{background:var(--ivory);color:var(--olive);font-weight:500;
  font-size:15px;white-space:nowrap;}
.iv-cmp td{color:var(--sub);font-weight:400;line-height:1.9;}
.iv-cmp td.hl{background:rgba(184,148,74,.13);}
.iv-cmp tbody tr:last-child th,.iv-cmp tbody tr:last-child td{border-bottom:0;}
.iv-ok{display:inline-block;margin-right:6px;color:var(--olive);font-weight:500;}
@media(max-width:680px){
  .iv-cmp,.iv-cmp tbody,.iv-cmp tr,.iv-cmp th,.iv-cmp td{display:block;}
  .iv-cmp thead{display:none;}
  .iv-cmp tbody tr{border-bottom:1px solid var(--line);padding-bottom:12px;}
  .iv-cmp tbody tr:last-child{border-bottom:0;padding-bottom:0;}
  .iv-cmp tbody th{background:transparent;white-space:normal;padding:18px 20px 4px;border-bottom:0;}
  .iv-cmp td{border-bottom:0;padding:6px 20px;display:flex;gap:12px;align-items:baseline;}
  .iv-cmp td.hl{background:transparent;}
  .iv-cmp td::before{content:attr(data-l);flex:0 0 100px;
    font-size:13px;letter-spacing:.1em;color:var(--olive-l);}
}

.iv-plans{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px;}
.iv-plan{position:relative;overflow:hidden;background:var(--ivory-hi);
  border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(28px,3.4vw,36px);box-shadow:var(--sh);}
.iv-plan::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--gold-sheen);}
.iv-plan .tag{font-size:13px;letter-spacing:.26em;color:var(--olive-l);font-weight:500;}
.iv-plan h3{margin-top:12px;font-size:19px;color:var(--olive);font-weight:500;
  letter-spacing:.04em;line-height:1.7;}
.iv-plan .who{margin-top:12px;font-size:14px;color:var(--mute);font-weight:400;line-height:1.95;}
.iv-plan .amt{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);
  display:flex;align-items:baseline;gap:6px;}
.iv-plan .num{font-size:clamp(27px,3vw,34px);color:var(--olive);font-weight:500;
  line-height:1;letter-spacing:.01em;}
.iv-plan .yen{font-size:16px;color:var(--olive);font-weight:500;}
.iv-plan .tax{margin-left:auto;font-size:13.5px;color:var(--mute);font-weight:400;}

.iv-rows{margin-top:18px;background:var(--ivory-hi);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-s);}
.iv-rows>div{display:flex;align-items:center;gap:18px;padding:20px 26px;
  border-bottom:1px solid var(--line);}
.iv-rows>div:last-child{border-bottom:0;}
.iv-rows .hdr{background:var(--ivory-mid);padding-top:13px;padding-bottom:13px;}
.iv-rows .hdr p{font-size:13.5px;letter-spacing:.12em;color:var(--olive-l);font-weight:500;}
.iv-rows .nm{font-size:15.5px;color:var(--olive);font-weight:500;line-height:1.75;}
.iv-rows .nm small{display:block;margin-top:3px;font-size:14px;color:var(--mute);
  font-weight:400;line-height:1.8;}
.iv-rows .vl{margin-left:auto;text-align:right;white-space:nowrap;
  font-size:15.5px;color:var(--sub);font-weight:400;}
.iv-rows .vl .n{font-size:19px;color:var(--olive);font-weight:500;}
.iv-rows .vl .free{display:inline-block;padding:6px 15px;border-radius:999px;
  background:var(--leaf);color:var(--on-leaf);font-size:14px;font-weight:500;letter-spacing:.06em;}

.iv-ways{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;}
.iv-way{position:relative;overflow:hidden;background:var(--ivory-hi);
  border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(26px,3.2vw,34px);box-shadow:var(--sh-s);transition:transform .25s,box-shadow .25s;}
.iv-way:hover{transform:translateY(-3px);box-shadow:var(--sh);}
.iv-way .n{position:absolute;right:18px;top:2px;font-size:64px;line-height:1;
  color:var(--tan);opacity:.32;font-weight:500;pointer-events:none;}
.iv-way h3{position:relative;font-size:16.5px;color:var(--olive);font-weight:500;
  letter-spacing:.04em;line-height:1.7;}
.iv-way p{position:relative;margin-top:12px;font-size:15px;color:var(--sub);
  font-weight:400;line-height:2.05;}
.iv-way p b{color:var(--olive);font-weight:500;}

.iv-po{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px;}
.iv-po>div{background:var(--ivory-hi);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(26px,3.2vw,34px);box-shadow:var(--sh-s);}
.iv-po .care{background:var(--ivory-mid);}
.iv-po .ttl{display:flex;align-items:center;gap:11px;
  font-size:16px;color:var(--olive);font-weight:500;letter-spacing:.04em;}
.iv-po .ttl i{flex:0 0 auto;width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;font-style:normal;font-size:15px;
  background:var(--gold-sheen);color:var(--ivory-hi);}
.iv-po .care .ttl i{background:var(--olive);}
.iv-po ul{list-style:none;margin-top:18px;display:grid;gap:13px;}
.iv-po li{position:relative;padding-left:22px;font-size:15px;color:var(--sub);
  font-weight:400;line-height:2.0;}
.iv-po li::before{content:"";position:absolute;left:4px;top:13px;width:6px;height:6px;
  border-radius:50%;background:var(--gold-sheen);}
.iv-po .care li::before{content:"！";left:0;top:0;width:auto;height:auto;
  background:none;border-radius:0;color:var(--olive);font-weight:500;font-size:12px;}
.iv-po li b{color:var(--olive);font-weight:500;}

.iv-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px;}
.iv-fact{background:var(--ivory-hi);border:1px solid var(--line);border-radius:var(--r);
  padding:32px 22px;text-align:center;box-shadow:var(--sh-s);}
.iv-fact small{display:block;font-size:14px;letter-spacing:.26em;color:var(--olive-l);
  font-weight:500;text-transform:uppercase;}
.iv-fact b{display:block;margin-top:12px;font-size:clamp(22px,2.4vw,28px);
  color:var(--olive);font-weight:500;line-height:1.35;}
.iv-fact em{display:block;margin-top:12px;font-style:normal;font-size:14px;
  color:var(--mute);font-weight:400;line-height:1.95;}

.iv-duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px;}

.iv-tl{position:relative;margin-top:34px;padding-left:38px;}
.iv-tl::before{content:"";position:absolute;left:11px;top:10px;bottom:10px;width:2px;
  background:linear-gradient(180deg,var(--tan),rgba(184,148,74,.12));}
.iv-tl-item{position:relative;padding-bottom:34px;}
.iv-tl-item:last-child{padding-bottom:0;}
.iv-tl-item::before{content:"";position:absolute;left:-33px;top:5px;width:16px;height:16px;
  border-radius:50%;background:var(--ivory-hi);border:2px solid var(--olive-l);}
.iv-tl-item .no{font-size:13px;letter-spacing:.26em;color:var(--olive-l);font-weight:500;}
.iv-tl-item h3{margin-top:8px;font-size:16.5px;color:var(--olive);font-weight:500;
  letter-spacing:.04em;line-height:1.7;}
.iv-tl-item p{margin-top:10px;max-width:760px;font-size:15.5px;color:var(--sub);
  font-weight:400;line-height:2.05;}
.iv-when{display:inline-block;margin-top:12px;padding:6px 15px;border-radius:999px;
  background:var(--ivory-mid);border:1px solid var(--line);
  font-size:13.5px;color:var(--olive);font-weight:500;letter-spacing:.05em;}

.iv-cases{position:relative;overflow:hidden;background:var(--ivory-mid);color:var(--sub);}
.iv-cases::before{content:"";position:absolute;width:620px;height:620px;left:-220px;bottom:-280px;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(184,148,74,.22),rgba(184,148,74,0) 70%);}
.iv-cases .wrap{position:relative;z-index:2;}
.iv-cases .iv-no{color:var(--olive-l);}
.iv-cases .iv-no::before{background:var(--olive-l);}
.iv-cases .iv-h2{color:var(--olive);}
.iv-cases .iv-lead{color:var(--sub);}
.iv-cases .note{color:var(--mute);border-top-color:rgba(184,148,74,.35);}
.iv-cases .note b{color:var(--olive);font-weight:500;}

.iv-ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px;}
.iv-ba-card{background:#fff;border:1px solid rgba(184,148,74,.35);
  border-radius:var(--r);overflow:hidden;}
.iv-ba{position:relative;--p:50%;touch-action:pan-y;}
.iv-ba picture{display:block;}
.iv-ba img{display:block;width:100%;}
.iv-ba .bef{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--p)) 0 0);}
.iv-ba .bef img{width:100%;height:100%;object-fit:cover;}
.iv-ba .bar{position:absolute;top:0;bottom:0;left:var(--p);width:2px;
  transform:translateX(-1px);background:var(--ivory-hi);
  box-shadow:0 0 12px rgba(26,26,26,.4);pointer-events:none;}
.iv-ba .knob{position:absolute;top:50%;left:var(--p);width:38px;height:38px;border-radius:50%;
  transform:translate(-50%,-50%);background:var(--ivory-hi);color:var(--olive);
  display:grid;place-items:center;font-size:13px;letter-spacing:.04em;
  box-shadow:0 6px 18px rgba(26,26,26,.35);pointer-events:none;}
.iv-ba .lb{position:absolute;top:12px;padding:5px 13px;border-radius:999px;
  font-size:13px;letter-spacing:.16em;font-weight:500;pointer-events:none;}
.iv-ba .lb.l{left:12px;background:rgba(26,26,26,.6);color:var(--ivory-hi);}
.iv-ba .lb.r{right:12px;background:var(--leaf);color:var(--on-leaf);}
.iv-ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;
  margin:0;opacity:0;cursor:ew-resize;}
.iv-ba input[type=range]:focus-visible{outline:2px solid var(--tan);outline-offset:3px;}
.iv-ba-cap{padding:18px 22px 20px;}
.iv-ba-cap b{display:block;font-size:15.5px;color:var(--olive);font-weight:500;letter-spacing:.04em;}
.iv-ba-cap small{display:block;margin-top:5px;font-size:14px;color:var(--mute);font-weight:400;}
.iv-ba-cap .term{display:inline-block;margin-top:10px;padding:5px 13px;border-radius:999px;
  border:1px solid rgba(184,148,74,.5);font-size:13px;color:var(--olive-l);}

body.iv .final{position:relative;overflow:hidden;border-top:0;}
body.iv .final .bgph{position:absolute;inset:0;}
body.iv .final .bgph img{width:100%;height:100%;object-fit:cover;object-position:center 26%;}
body.iv .final::after{content:"";position:absolute;inset:0;
  background:rgba(253,252,247,.9);}
body.iv .final .wrap{position:relative;z-index:2;}
body.iv .final h2{font-size:clamp(22px,2.6vw,30px);}

@media(max-width:860px){
  .iv-hero-in{grid-template-columns:1fr;gap:30px;}
  .iv-hero-ph{order:-1;}
  .iv-hero-ph picture{aspect-ratio:16/11;}
  .iv-hero-ph img{object-position:36% 24%;}
  .iv-hero-ph::before{inset:18px -12px -12px 18px;}
  .iv-badges .wrap{grid-template-columns:1fr 1fr;}
  .iv-ba-grid{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .iv-plans{grid-template-columns:1fr;}
  .iv-ways{grid-template-columns:1fr;}
  .iv-po{grid-template-columns:1fr;}
  .iv-facts{grid-template-columns:1fr;}
  .iv-duo{grid-template-columns:1fr;}
}
@media(max-width:520px){
  body.iv{--r:18px;}
  body.iv .btn{padding:14px 24px;font-size:15px;}
  .iv-badge{padding:20px 12px;}
  .iv-badge b{font-size:20px;}
  .iv-badge span{font-size:14px;}
  .iv-plans{grid-template-columns:1fr;}
  .iv-rows>div{flex-direction:column;align-items:flex-start;gap:9px;padding:18px 20px;}
  .iv-rows .vl{margin-left:0;text-align:left;}
  .iv-note,.iv-card{padding:24px 20px;}
  .iv-under{padding:20px 20px;}
  .iv-tl{padding-left:30px;}
  .iv-tl-item::before{left:-27px;top:6px;width:14px;height:14px;}
  .iv-ba .knob{width:32px;height:32px;font-size:13px;}
  .iv-ghost{top:18px;font-size:64px;opacity:.15;}
}


.iz-faq{margin-top:32px;background:var(--ivory-hi);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-s);}
.iz-faq details{border-bottom:1px solid var(--line);}
.iz-faq details:last-child{border-bottom:0;}
.iz-faq summary{position:relative;cursor:pointer;list-style:none;
  padding:22px 64px 22px clamp(20px,2.6vw,30px);
  font-size:15.5px;color:var(--olive);font-weight:500;line-height:1.85;letter-spacing:.03em;
  transition:background .2s;}
.iz-faq summary::-webkit-details-marker{display:none;}
.iz-faq summary::marker{content:"";}
.iz-faq summary:hover{background:var(--ivory);}
.iz-faq summary:focus-visible{outline:2px solid var(--tan);outline-offset:-3px;}
.iz-faq summary::after{content:"";position:absolute;right:clamp(20px,2.6vw,30px);top:50%;
  width:10px;height:10px;margin-top:-7px;
  border-right:1.6px solid var(--olive-l);border-bottom:1.6px solid var(--olive-l);
  transform:rotate(45deg);transition:transform .25s,margin-top .25s;}
.iz-faq details[open] summary{background:var(--ivory);}
.iz-faq details[open] summary::after{transform:rotate(-135deg);margin-top:-3px;}
.iz-faq .a{padding:0 clamp(20px,2.6vw,30px) 26px;}
.iz-faq .a p{font-size:15.5px;color:var(--sub);font-weight:400;line-height:2.1;}
.iz-faq .a p b{color:var(--olive);font-weight:500;}

.iz-dr{display:grid;grid-template-columns:290px 1fr;gap:clamp(24px,4vw,46px);
  align-items:start;margin-top:34px;
  background:var(--ivory-hi);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(24px,3.4vw,42px);box-shadow:var(--sh-s);}
.iz-dr-ph img{width:100%;border-radius:var(--r-s);
  aspect-ratio:4/3;object-fit:cover;object-position:center 24%;}
.iz-dr-tx .nm{font-size:20px;color:var(--olive);font-weight:500;letter-spacing:.09em;line-height:1.6;}
.iz-dr-tx .nm small{display:block;margin-top:10px;font-size:14px;color:var(--mute);
  font-weight:400;letter-spacing:.04em;line-height:1.95;}
.iz-dr-tx .iv-p:first-of-type{margin-top:20px;}

@media(max-width:720px){
  .iz-dr{grid-template-columns:1fr;}
  .iz-dr-ph{max-width:260px;}
}
@media(max-width:520px){
  .iz-faq summary{font-size:15.5px;padding-right:52px;}
}



body.ph{
  --r:22px;                                
  --r-s:14px;                              
  --line:rgba(184,148,74,.55);            
  --sh:0 20px 46px rgba(74,51,36,.13);    
  --sh-s:0 10px 26px rgba(74,51,36,.09);  
  background:var(--ivory);
}
body.ph .btn{border-radius:999px;padding:15px 32px;}


.ph-hero{position:relative;min-height:min(78vh,640px);display:flex;align-items:flex-end;
  overflow:hidden;background:var(--ivory-mid);}
.ph-hero>img,.ph-hero>picture>img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 32%;}
.ph-hero::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(26,26,26,.66) 0%,rgba(26,26,26,.22) 48%,rgba(26,26,26,0) 78%);}
.ph-hero .in{position:relative;z-index:2;width:100%;padding-bottom:clamp(32px,5vw,60px);}
.ph-hero .kick{font-size:13px;letter-spacing:.32em;color:rgba(255,255,255,.85);margin-bottom:14px;}
.ph-hero h1{color:#fff;font-size:clamp(26px,3.6vw,36px);line-height:1.42;font-weight:500;
  letter-spacing:.03em;text-shadow:0 2px 20px rgba(0,0,0,.38);}
.ph-hero .sub{color:rgba(255,255,255,.94);font-size:clamp(15.5px,1.7vw,18px);margin-top:16px;
  line-height:1.95;font-weight:400;max-width:640px;text-shadow:0 1px 14px rgba(0,0,0,.45);}
.ph-hero .cta-row{margin-top:24px;}
.ph-hero-r{align-items:center;}
.ph-hero-r>img{object-position:left center;}
.ph-hero-r::after{background:linear-gradient(to right,rgba(253,252,247,0) 42%,rgba(253,252,247,.55) 70%,rgba(253,252,247,.7) 100%);}
.ph-hero-r .in{padding:48px 22px;}
.ph-hero-r .in>*{margin-left:54%;}
.ph-hero-r .kick{color:var(--olive-l);}
.ph-hero-r h1{color:var(--olive);text-shadow:none;}
.ph-hero-r .sub{color:var(--sub);text-shadow:none;font-size:clamp(15.5px,1.4vw,17px);}
.ph-hero-r .btn-line{color:var(--olive);}
@media(max-width:900px){
  .ph-hero-r{display:block;min-height:0;background:var(--ivory-hi);}
  .ph-hero-r>img{position:static;display:block;width:100%;height:auto;aspect-ratio:4/3;object-position:22% center;}
  .ph-hero-r::after{display:none;}
  .ph-hero-r .in{padding:28px 22px 40px;}
  .ph-hero-r .in>*{margin-left:0;}
}
.ph-hero-l{align-items:center;}
.ph-hero-l>img,.ph-hero-l>picture>img{object-position:right center;}
.ph-hero-l::after{background:linear-gradient(to left,rgba(253,252,247,0) 48%,rgba(253,252,247,.5) 66%,rgba(253,252,247,.72) 100%);}
.ph-hero-l .in{padding:48px 22px;}
.ph-hero-l .in>*{margin-right:50%;}
.ph-hero-l .kick{color:var(--olive-l);}
.ph-hero-l h1{color:var(--olive);text-shadow:none;}
.ph-hero-l .sub{color:var(--sub);text-shadow:none;font-size:clamp(15.5px,1.4vw,17px);}
.ph-hero-l .btn-line{color:var(--olive);}
@media(max-width:900px){
  .ph-hero-l{display:block;min-height:0;background:var(--ivory-hi);}
  .ph-hero-l>img,.ph-hero-l>picture>img{position:static;display:block;width:100%;height:auto;aspect-ratio:4/3;object-position:78% center;}
  .ph-hero-l::after{display:none;}
  .ph-hero-l .in{padding:28px 22px 40px;}
  .ph-hero-l .in>*{margin-right:0;}
}
.ph-hero-u{min-height:max(500px,min(56.28vw,84vh,720px));background:var(--ivory-hi);}
.ph-hero-u>picture>img{object-position:right 30%;}
.ph-hero-u .in>*{margin-right:56%;}
.ph-hero-u h1 .nm{display:block;font-size:clamp(17px,1.5vw,19px);letter-spacing:.12em;line-height:1.5;
  color:var(--olive);margin-bottom:12px;}
.ph-hero-u h1 .nm::before{content:'';display:inline-block;width:28px;height:1px;background:var(--tan);
  vertical-align:middle;margin-right:12px;}
.ph-hero-u .btn{border-radius:999px;padding:15px 32px;}
@media(max-width:900px){
  .ph-hero-u{display:flex;flex-direction:column;align-items:stretch;min-height:0;}
  .ph-hero-u .in{display:contents;}
  .ph-hero-u .in>*{margin-right:0;}
  .ph-hero-u h1{order:1;padding:24px 22px 20px;}
  .ph-hero-u>picture{order:2;display:block;}
  .ph-hero-u>picture>img{object-position:92% center;}
  .ph-hero-u .sub{order:3;margin-top:0;padding:22px 22px 0;}
  .ph-hero-u .cta-row{order:4;margin-top:0;padding:22px 22px 40px;}
}
.ph-eye{background:var(--ivory-mid);}
.ph-eye .in{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
  gap:clamp(28px,4vw,52px);align-items:center;padding-top:28px;padding-bottom:36px;}
.ph-eye .in>img,.ph-eye .in>picture>img{display:block;width:100%;height:auto;box-shadow:0 10px 34px rgba(74,51,36,.12);}
.ph-eye .in>picture{display:block;}
.ph-eye .sub{color:var(--sub);font-size:clamp(15.5px,1.4vw,17px);line-height:1.95;}
.ph-eye .cta-row{margin-top:24px;}
.ph-eye .btn-line{color:var(--olive);}
.ph-eye .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.ph-eye .kick{font-size:13px;letter-spacing:.32em;color:var(--olive-l);margin-bottom:12px;}
.ph-eye h1:not(.vh){color:var(--olive);font-size:clamp(26px,2.6vw,32px);line-height:1.5;font-weight:500;
  letter-spacing:.03em;margin-bottom:16px;}
@media(max-width:900px){
  .ph-eye .in{display:block;padding:0;}
  .ph-eye .in>img,.ph-eye .in>picture>img{box-shadow:none;}
  .ph-eye .tx{padding:24px 22px 36px;}
}

.ph-band{position:relative;min-height:clamp(230px,32vw,400px);display:flex;
  align-items:center;justify-content:center;overflow:hidden;text-align:center;}
.ph-band>img,.ph-band>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ph-band::after{content:'';position:absolute;inset:0;background:rgba(26,26,26,.30);}
.ph-band .in{position:relative;z-index:2;padding:46px 22px;max-width:840px;}
.ph-band p{color:#fff;font-size:clamp(19px,2.2vw,26px);line-height:1.72;font-weight:400;
  letter-spacing:.05em;text-shadow:0 2px 18px rgba(0,0,0,.45);}
.ph-band small{display:block;margin-top:14px;font-size:clamp(14px,1.5vw,16px);
  color:rgba(255,255,255,.92);font-weight:400;letter-spacing:.03em;line-height:1.9;}
.ph-band .cta-row{margin-top:24px;justify-content:center;}
.ph-band.light::after{background:rgba(255,255,255,.34);}
.ph-band.light p{color:var(--olive);text-shadow:0 1px 16px rgba(255,255,255,.9);}
.ph-band.light small{color:var(--ink-mid);text-shadow:0 1px 12px rgba(255,255,255,.9);}

.ph-sec{padding:clamp(50px,7.5vw,100px) 0;}
.ph-sec.alt{background:var(--ivory-mid);}
.ph-head{text-align:center;max-width:740px;margin:0 auto clamp(28px,4vw,46px);}
.ph-head .kick{font-size:13px;letter-spacing:.3em;color:var(--olive-l);margin-bottom:13px;}
.ph-h2{font-size:clamp(22px,2.6vw,30px);line-height:1.5;color:var(--olive);
  font-weight:500;letter-spacing:.03em;}
.ph-head .lead{margin-top:15px;font-size:clamp(15.5px,1.6vw,17px);line-height:2;
  color:var(--sub);font-weight:400;}

.ph-picks{display:grid;gap:clamp(16px,2.2vw,26px);grid-template-columns:repeat(3,1fr);}
.ph-pick{background:var(--ivory-hi);border-radius:var(--r);overflow:hidden;
  box-shadow:var(--sh-s);display:flex;flex-direction:column;}
.ph-pick .ph{aspect-ratio:4/3;background:#fff;overflow:hidden;}
.ph-pick .ph img{width:100%;height:100%;object-fit:contain;padding:12px;}
.ph-pick .tx{padding:20px 20px 0;text-align:center;}
.ph-pick .tag{display:inline-block;font-size:13px;letter-spacing:.16em;color:var(--olive-l);
  border:1px solid var(--tan);border-radius:999px;padding:3px 12px;margin-bottom:12px;}
.ph-pick .nm{font-size:clamp(16px,1.9vw,19.5px);color:var(--olive);font-weight:500;line-height:1.5;}
.ph-pick .cp{margin-top:9px;font-size:15.5px;color:var(--sub);font-weight:400;line-height:1.85;}
.ph-pick .yen{margin-top:15px;font-size:clamp(24px,2.6vw,28px);color:var(--ink);
  font-weight:500;letter-spacing:.01em;}
.ph-pick .yen small{font-size:14px;font-weight:400;color:var(--mute);margin-left:5px;}
.ph-pick .go{display:block;margin:18px 20px 20px;padding:11px;border-radius:999px;
  border:1px solid var(--olive-l);color:var(--olive);font-size:15.5px;text-align:center;}
.ph-pick .go:hover{background:var(--leaf);color:var(--on-leaf);}
@media(max-width:880px){
  .ph-picks{grid-template-columns:1fr;}
  .ph-pick .ph{aspect-ratio:16/9;}
}

.ph-maker{display:grid;grid-template-columns:minmax(0,230px) 1fr;gap:clamp(16px,2.4vw,26px);
  align-items:center;max-width:780px;margin:clamp(26px,3.6vw,40px) auto 0;padding:14px;
  background:var(--ivory-hi);border:1px solid var(--warm);border-radius:var(--r);color:inherit;}
.ph-maker img{width:100%;height:auto;display:block;border-radius:calc(var(--r) - 4px);}
.ph-maker .lb{display:block;font-size:13px;letter-spacing:.16em;color:var(--olive-l);margin-bottom:6px;}
.ph-maker .nm{display:block;font-size:clamp(15.5px,1.7vw,17px);color:var(--olive);font-weight:500;line-height:1.7;}
.ph-maker .u{display:block;margin-top:8px;font-size:14px;color:var(--mute);line-height:1.7;}
.ph-maker:hover{border-color:var(--olive-l);}
.ph-maker:hover .u{color:var(--olive);text-decoration:underline;}
@media(max-width:560px){
  .ph-maker{grid-template-columns:120px 1fr;gap:14px;padding:12px;}
}

.ph-plan{display:grid;gap:clamp(24px,4vw,54px);align-items:center;}
@media(min-width:900px){
  .ph-plan{grid-template-columns:1.02fr .98fr;}
  .ph-plan.rev .ph{order:2;}
}
.ph-plan .ph{border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:var(--sh-s);}
.ph-plan .ph img{width:100%;display:block;}
.ph-plan .no{font-size:13px;letter-spacing:.24em;color:var(--olive-l);margin-bottom:12px;}
.ph-plan h3{font-size:clamp(20px,2.2vw,26px);color:var(--olive);line-height:1.45;font-weight:500;}
.ph-plan h3 small{display:block;margin-top:7px;font-size:14px;color:var(--olive-l);
  font-weight:400;letter-spacing:.08em;}
.ph-plan .pt{margin-top:22px;display:grid;gap:12px;}
.ph-plan .pt li{list-style:none;font-size:clamp(15.5px,1.6vw,17px);line-height:1.85;
  color:var(--ink-mid);font-weight:400;padding-left:26px;position:relative;}
.ph-plan .pt li::before{content:'';position:absolute;left:3px;top:.7em;width:8px;height:8px;
  border-radius:50%;background:var(--tan);}
.ph-plan .pt b{color:var(--olive);font-weight:500;}
.ph-price{margin-top:26px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.ph-price .n{font-size:clamp(27px,3vw,34px);color:var(--ink);font-weight:500;line-height:1.1;}
.ph-price .u{font-size:15.5px;color:var(--sub);font-weight:400;line-height:1.8;}
.ph-price .n small{font-size:15.5px;font-weight:400;letter-spacing:.02em;}

.ph-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.8vw,20px);margin-top:28px;}
.ph-strip figure{border-radius:var(--r-s);overflow:hidden;background:#fff;box-shadow:var(--sh-s);}
.ph-strip img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.ph-strip figcaption{padding:12px 12px 14px;font-size:14px;text-align:center;
  color:var(--sub);font-weight:400;line-height:1.65;}
.ph-strip figcaption b{display:block;color:var(--olive);font-weight:500;font-size:15.5px;margin-bottom:3px;}
@media(max-width:620px){ .ph-strip{grid-template-columns:1fr 1fr;} }

.ph-rows{max-width:780px;margin:0 auto;background:var(--ivory-hi);
  border-radius:var(--r);box-shadow:var(--sh-s);overflow:hidden;}
.ph-rows .r{display:flex;justify-content:space-between;align-items:baseline;gap:18px;
  padding:17px 22px;border-top:1px solid var(--line);}
.ph-rows .r:first-child{border-top:0;}
.ph-rows .r.sub{background:var(--ivory);}
.ph-rows .nm{font-size:15.5px;color:var(--ink-mid);font-weight:400;line-height:1.7;}
.ph-rows .nm small{display:block;font-size:13.5px;color:var(--mute);margin-top:4px;
  font-weight:400;line-height:1.75;}
.ph-rows .v{font-size:clamp(17px,2.1vw,21px);color:var(--olive);font-weight:500;
  white-space:nowrap;text-align:right;}
.ph-rows .v small{font-size:13.5px;color:var(--mute);font-weight:400;margin-left:3px;}

details.ph-more{margin-top:20px;background:var(--ivory-hi);border-radius:var(--r-s);
  box-shadow:var(--sh-s);overflow:hidden;}
details.ph-more+details.ph-more{margin-top:12px;}
details.ph-more>summary{cursor:pointer;list-style:none;padding:16px 20px;font-size:15.5px;
  color:var(--olive);display:flex;justify-content:space-between;align-items:center;gap:14px;}
details.ph-more>summary::-webkit-details-marker{display:none;}
details.ph-more>summary::after{content:'＋';color:var(--olive-l);font-size:16px;line-height:1;flex:0 0 auto;}
details.ph-more[open]>summary::after{content:'−';}
details.ph-more>summary:hover{background:var(--ivory-mid);}
details.ph-more .bd{padding:0 20px 20px;font-size:15.5px;line-height:1.95;
  color:var(--sub);font-weight:400;}
details.ph-more .bd p+p{margin-top:13px;}
details.ph-more .bd b{color:var(--ink-mid);font-weight:500;}
details.ph-more .bd ul{margin-top:10px;}
details.ph-more .bd li{list-style:none;padding-left:20px;position:relative;margin:8px 0;line-height:1.9;}
details.ph-more .bd li::before{content:'・';position:absolute;left:2px;color:var(--olive-l);}
.ph-narrow{max-width:820px;margin-left:auto;margin-right:auto;}

.ph-notes{display:grid;gap:clamp(14px,2vw,20px);grid-template-columns:repeat(3,1fr);}
.ph-note{background:var(--ivory-hi);border-radius:var(--r-s);box-shadow:var(--sh-s);
  padding:22px 22px 24px;}
.ph-note b{display:block;font-size:15.5px;color:var(--olive);font-weight:500;
  line-height:1.6;margin-bottom:9px;}
.ph-note span{font-size:15.5px;color:var(--sub);font-weight:400;line-height:1.9;}
@media(max-width:860px){ .ph-notes{grid-template-columns:1fr;} }

.ph-ba{display:grid;gap:clamp(12px,1.8vw,18px);grid-template-columns:1fr;margin-top:22px;}
.ph-ba figure{border-radius:var(--r-s);overflow:hidden;background:#fff;box-shadow:var(--sh-s);}
.ph-ba img{width:100%;display:block;}
.ph-ba figcaption{padding:11px 12px 13px;text-align:center;font-size:14.5px;
  color:var(--sub);font-weight:400;line-height:1.7;}
.ph-ba figcaption b{display:block;color:var(--olive);font-weight:500;margin-bottom:3px;}
.ph-ba figure:last-child figcaption{background:var(--ivory-mid);}
@media(min-width:721px){
  .ph-ba.two{grid-template-columns:1fr 1fr;}
  .ph-ba.three{grid-template-columns:repeat(3,1fr);}
}


.po-sec{position:relative;overflow:hidden;}
.po-sec::before,.po-sec::after{content:'';position:absolute;inset:0;pointer-events:none;}
.po-sec::before{background-size:cover;background-position:center;background-repeat:no-repeat;}
.po-sec::after{background:rgba(253,252,247,.80);}
.po-sec>.wrap{position:relative;z-index:2;}

.po-leaf::before  {background-image:url('/images/preortho-bg-leaf.jpg');}    
.po-living::before{background-image:url('/images/preortho-bg-living.jpg');}  
.po-use::before   {background-image:url('/images/preortho-bg-use.jpg');}     
.po-room::before  {background-image:url('/images/preortho-bg-room.jpg');}    
.po-value::before {background-image:url('/images/preortho-bg-school.jpg');
  background-position:center 20%;}  
.po-visit::before {background-image:url('/images/preortho-bg-night.jpg');}   

.po-leaf::after  {background:rgba(253,252,247,.76);}
.po-living::after{background:rgba(253,252,247,.84);}
.po-use::after   {background:rgba(253,252,247,.72);}
.po-room::after  {background:rgba(253,252,247,.84);}
.po-value::after {background:rgba(253,252,247,.70);}

.po-visit::after{background:rgba(8,20,26,.40);}
.po-visit .no{color:var(--tan);}
.po-visit h3{color:var(--ivory-hi)!important;text-shadow:0 2px 18px rgba(0,0,0,.45);}
.po-visit .pt li{color:rgba(253,252,247,.92);}
.po-visit .pt li::before{background:var(--tan);}
.po-visit .pt b{color:var(--tan);}
.po-visit .po-info div{border-top-color:rgba(184,148,74,.5);}
.po-visit .po-info dt{color:var(--tan);}
.po-visit .po-info dd{color:rgba(253,252,247,.92);}
.po-visit .po-info .txt-link{color:var(--ivory-hi);border-bottom-color:var(--tan);}
.po-visit .note{color:rgba(253,252,247,.78);border-top-color:rgba(184,148,74,.5);}
.po-visit .note b{color:var(--tan);}
.po-visit .art{box-shadow:0 22px 50px rgba(0,0,0,.45);border:1px solid rgba(184,148,74,.35);}

.po-hero{position:relative;overflow:hidden;background:#cfeaf8;
  min-height:min(78vh,600px);display:flex;align-items:flex-end;}
.po-hero>.bg{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 30%;}
.po-hero .in{position:relative;z-index:2;width:100%;display:grid;align-items:end;
  gap:clamp(6px,2vw,26px);padding:clamp(46px,8vw,84px) 0 0;}
@media(min-width:860px){ .po-hero .in{grid-template-columns:1.08fr .92fr;} }
.po-hero h1{display:inline-block;background:rgba(253,252,247,.86);border-radius:20px;
  padding:.34em .68em;color:var(--olive);font-weight:500;letter-spacing:.04em;
  font-size:clamp(26px,3.6vw,36px);line-height:1.42;box-shadow:0 6px 22px rgba(26,26,26,.10);}
.po-hero .sub{display:inline-block;margin-top:14px;background:rgba(253,252,247,.80);
  border-radius:14px;padding:.42em .82em;color:var(--ink-mid);font-weight:400;
  font-size:clamp(15.5px,1.7vw,18px);line-height:1.8;}
.po-hero .boy{align-self:end;justify-self:center;width:min(330px,64vw);
  filter:drop-shadow(0 10px 26px rgba(26,26,26,.18));}
@media(max-width:859px){ .po-hero .boy{width:min(230px,52vw);justify-self:end;} }

.po-panel{background:rgba(253,252,247,.90);border-radius:var(--r);
  box-shadow:var(--sh-s);padding:clamp(22px,3.2vw,42px);}

.po-cases{display:grid;gap:clamp(18px,2.6vw,30px);}
@media(min-width:880px){ .po-cases{grid-template-columns:1fr 1fr;align-items:start;} }
.po-case{background:rgba(253,252,247,.92);border-radius:var(--r);
  box-shadow:var(--sh-s);padding:clamp(20px,2.6vw,30px);}
.po-case .no{font-size:13px;letter-spacing:.24em;color:var(--olive-l);}
.po-case h3{margin-top:8px;font-size:clamp(19px,2.1vw,24px);color:var(--olive);
  font-weight:500;line-height:1.5;}
.po-case .cp{margin-top:9px;font-size:15.5px;color:var(--sub);font-weight:400;line-height:1.85;}
.po-shots{margin-top:18px;display:grid;gap:12px;}
.po-shots figure{border-radius:var(--r-s);overflow:hidden;background:#fff;box-shadow:var(--sh-s);}
.po-shots img{width:100%;display:block;}
.po-shots figcaption{padding:9px 10px 11px;text-align:center;font-size:14.5px;
  color:var(--olive);letter-spacing:.06em;line-height:1.6;}
.po-shots figure.aft figcaption{background:var(--ivory-mid);}

.po-strip{display:grid;gap:clamp(14px,2vw,24px);grid-template-columns:repeat(3,1fr);}
.po-strip figure{background:rgba(253,252,247,.92);border-radius:var(--r);
  box-shadow:var(--sh-s);padding:16px 16px 22px;text-align:center;}
.po-strip img{width:100%;aspect-ratio:1/1;object-fit:contain;}
.po-strip figcaption{margin-top:8px;font-size:clamp(16px,1.7vw,18px);
  color:var(--olive);font-weight:500;line-height:1.6;}
.po-strip figcaption small{display:block;margin-top:7px;font-size:14.5px;
  color:var(--sub);font-weight:400;line-height:1.85;}
@media(max-width:700px){
  .po-strip{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto;}
}

.po-video{max-width:900px;margin:0 auto;border-radius:var(--r);overflow:hidden;
  box-shadow:var(--sh);background:#000;aspect-ratio:16/9;}
.po-video iframe{width:100%;height:100%;border:0;display:block;}

.po-aiube{display:grid;grid-template-columns:repeat(5,1fr);
  gap:clamp(8px,1.4vw,16px);margin-top:clamp(22px,3vw,36px);}
.po-aiube figure{background:rgba(253,252,247,.92);border-radius:var(--r-s);
  box-shadow:var(--sh-s);padding:12px 8px 15px;text-align:center;}
.po-aiube img{width:100%;max-width:124px;height:clamp(104px,13vw,150px);
  object-fit:contain;margin:0 auto;}
.po-aiube figcaption{margin-top:7px;font-size:15.5px;color:var(--olive);
  font-weight:500;letter-spacing:.1em;line-height:1.5;}
.po-aiube figcaption small{display:block;margin-top:3px;font-size:13.5px;
  color:var(--mute);font-weight:400;letter-spacing:0;line-height:1.7;}
@media(max-width:760px){ .po-aiube{grid-template-columns:repeat(3,1fr);} }

.po-values{display:grid;gap:clamp(24px,4vw,50px);align-items:center;}
@media(min-width:940px){ .po-values{grid-template-columns:.82fr 1.18fr;} }
.po-values .art{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);background:#fff;}
.po-values .art img{width:100%;display:block;}
.po-vlist{display:grid;gap:clamp(14px,2vw,22px);}
.po-v{display:flex;gap:clamp(14px,2vw,22px);align-items:flex-start;
  background:rgba(253,252,247,.92);border-radius:var(--r);
  box-shadow:var(--sh-s);padding:clamp(18px,2.2vw,26px);}
.po-v img{flex:0 0 auto;width:clamp(62px,8.5vw,88px);height:clamp(62px,8.5vw,88px);
  object-fit:contain;background:var(--ivory-mid);border-radius:50%;}
.po-v b{display:block;font-size:clamp(17px,1.9vw,20px);color:var(--olive);
  font-weight:500;line-height:1.5;}
.po-v span{display:block;margin-top:8px;font-size:15.5px;color:var(--sub);
  font-weight:400;line-height:1.9;}
@media(max-width:480px){ .po-v{flex-direction:column;align-items:center;text-align:center;} }

.po-book{display:grid;gap:clamp(24px,4vw,50px);align-items:center;}
@media(min-width:940px){ .po-book{grid-template-columns:.78fr 1.22fr;} }
.po-book .art{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);background:#fff;}
.po-book .art img{width:100%;display:block;}
.po-info{margin-top:clamp(22px,3vw,32px);display:grid;gap:14px 34px;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.po-info div{border-top:1px solid var(--tan);padding-top:12px;}
.po-info dt{font-size:13px;letter-spacing:.18em;color:var(--olive-l);}
.po-info dd{margin-top:5px;font-size:15.5px;color:var(--ink-mid);
  font-weight:400;line-height:1.85;}

body.clinic .ph-strip{grid-template-columns:1fr 1fr;max-width:880px;
  margin-left:auto;margin-right:auto;}
body.clinic .ph-strip figcaption{padding:13px 14px 15px;line-height:1.8;}


@media(max-width:620px){
  body.clinic .ph-hero{min-height:min(58vh,460px);}
}



.iz-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px;}
.iz-shots figure,.iz-duo-ph figure{background:var(--ivory-hi);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-s);}
.iz-shots img,.iz-duo-ph img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;}
.iz-shots img.fit,.iz-duo-ph img.fit{object-fit:contain;background:#fff;}
.iz-shots figcaption,.iz-duo-ph figcaption{padding:16px 20px 19px;font-size:14.5px;color:var(--sub);
  font-weight:400;line-height:1.9;}
.iz-shots figcaption b,.iz-duo-ph figcaption b{display:block;margin-bottom:5px;
  font-size:15.5px;color:var(--olive);font-weight:500;letter-spacing:.03em;}

.iz-duo-ph{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px;}

.iz-movie{margin-top:32px;}
.iz-movie video{display:block;width:100%;height:auto;border-radius:var(--r);
  background:#1a1a1a;box-shadow:var(--sh);}
.iz-movie figcaption{margin-top:14px;font-size:14px;color:var(--mute);
  font-weight:400;line-height:1.9;}
.iz-movie figcaption b{color:var(--olive-l);font-weight:500;}
.iv-cases .iz-movie figcaption{color:var(--mute);}

.iz-mal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px;}
.iz-mal figure{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);
  overflow:hidden;box-shadow:var(--sh-s);}
.iz-mal img{display:block;width:100%;height:auto;}
.iz-mal figcaption{padding:13px 14px 16px;border-top:1px solid var(--line);
  background:var(--ivory-hi);text-align:center;
  font-size:15px;color:var(--olive);font-weight:500;line-height:1.6;letter-spacing:.03em;}
.iz-mal figcaption small{display:block;margin-top:4px;
  font-size:13px;color:var(--mute);font-weight:400;letter-spacing:0;}
.iz-mal figure.goal{border-color:var(--olive-l);}
.iz-mal figure.goal figcaption{background:var(--ivory-mid);}

.iz-tl-ph{margin-top:16px;max-width:520px;border-radius:var(--r-s);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--sh-s);background:#fff;}
.iz-tl-ph.wide{max-width:660px;}
.iz-tl-ph img,.iz-tl-ph video{display:block;width:100%;height:auto;}
.iz-tl-cap{margin-top:10px;max-width:660px;font-size:13.5px;color:var(--mute);
  font-weight:400;line-height:1.85;}
.iz-tl-cap b{color:var(--olive-l);font-weight:500;}

.iz-fig{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:26px;
  align-items:center;margin-top:26px;}
.iz-fig img{display:block;width:100%;height:auto;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-s);}
.iz-fig p{font-size:15px;color:var(--sub);font-weight:400;line-height:2.05;}
.iz-fig p b{color:var(--olive);font-weight:500;}
.iz-fig p small{display:block;margin-top:10px;font-size:13.5px;color:var(--mute);line-height:1.85;}

@media(max-width:860px){
  .iz-mal{grid-template-columns:repeat(2,1fr);}
  .iz-fig{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .iz-shots{grid-template-columns:1fr;}
  .iz-duo-ph{grid-template-columns:1fr;}
}



body.tr{background:var(--ivory);}

.tr-step{display:inline-flex;align-items:center;gap:10px;
  font-size:13px;letter-spacing:.24em;color:var(--olive-l);margin-bottom:13px;}
.tr-step i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;background:var(--olive);color:var(--ivory-hi);
  font-size:14px;letter-spacing:0;}

.tr-groups{display:grid;gap:clamp(14px,2vw,20px);
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.tr-group{background:var(--ivory-hi);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--sh-s);padding:clamp(18px,2.2vw,24px);}
.tr-group h3{font-size:17px;color:var(--olive);font-weight:500;letter-spacing:.04em;
  line-height:1.6;padding-bottom:12px;border-bottom:1px solid var(--line);}

.tr-chk{display:flex;gap:12px;align-items:flex-start;cursor:pointer;
  padding:13px 4px;border-bottom:1px dotted var(--line);
  font-size:15.5px;color:var(--ink-mid);font-weight:400;line-height:1.75;}
.tr-group .tr-chk:last-child{border-bottom:0;padding-bottom:2px;}
.tr-chk input{flex:0 0 auto;width:21px;height:21px;margin-top:3px;
  accent-color:var(--olive);cursor:pointer;}
.tr-chk:hover{color:var(--olive);}
.tr-chk.on{color:var(--olive);font-weight:500;}

.tr-act{margin-top:clamp(24px,3.4vw,36px);text-align:center;}
.tr-count{font-size:15.5px;color:var(--sub);font-weight:400;line-height:1.9;
  margin-bottom:18px;}
.tr-count b{color:var(--olive);font-weight:500;font-size:20px;padding:0 3px;}
.tr-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.tr-btns .btn[disabled]{opacity:.38;pointer-events:none;}
.tr-hint{margin-top:16px;font-size:14px;color:var(--mute);font-weight:400;line-height:1.9;}

.tr-sheet{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);
  box-shadow:var(--sh);max-width:820px;margin:clamp(26px,3.4vw,40px) auto 0;
  padding:clamp(26px,4vw,46px) clamp(22px,4vw,48px) clamp(30px,4.4vw,52px);}
.tr-sheet[hidden]{display:none;}

.tr-sheet-head{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:flex-end;
  justify-content:space-between;padding-bottom:14px;border-bottom:2px solid var(--olive);}
.tr-sheet-head h2{font-size:clamp(20px,2.4vw,26px);color:var(--olive);
  font-weight:500;letter-spacing:.04em;line-height:1.5;}
.tr-sheet-head .clinic{font-size:14px;color:var(--mute);font-weight:400;
  line-height:1.7;text-align:right;}

.tr-name{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:18px;}
.tr-name span{display:flex;align-items:flex-end;gap:10px;
  font-size:14.5px;color:var(--sub);font-weight:400;}
.tr-name span::after{content:'';display:block;width:clamp(120px,22vw,210px);
  border-bottom:1px solid var(--warm);height:26px;}

.tr-picked{margin-top:20px;padding:14px 16px;background:var(--ivory-mid);
  border-radius:var(--r-s);font-size:14.5px;color:var(--sub);
  font-weight:400;line-height:1.95;}
.tr-picked b{color:var(--olive);font-weight:500;}

.tr-list{margin-top:clamp(20px,2.6vw,28px);display:grid;gap:12px;}
.tr-item{display:flex;gap:14px;align-items:flex-start;
  border:1px solid var(--line);border-radius:var(--r-s);padding:14px 16px;
  break-inside:avoid;page-break-inside:avoid;}
.tr-item .n{flex:0 0 auto;width:28px;height:28px;border-radius:50%;
  background:var(--olive);color:var(--ivory-hi);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:500;}
.tr-item b{display:block;font-size:17px;color:var(--olive);
  font-weight:500;line-height:1.55;}
.tr-item .cnt{display:inline-block;margin-left:10px;font-size:14px;
  color:var(--ink-mid);font-weight:400;letter-spacing:0;}
.tr-item .aim{display:block;margin-top:5px;font-size:14.5px;color:var(--sub);
  font-weight:400;line-height:1.85;}

.tr-week{width:100%;border-collapse:collapse;margin-top:clamp(22px,3vw,32px);
  break-inside:avoid;page-break-inside:avoid;}
.tr-week caption{text-align:left;font-size:15.5px;color:var(--olive);
  font-weight:500;line-height:1.8;padding-bottom:10px;}
.tr-week th,.tr-week td{border:1px solid var(--warm);padding:9px 6px;
  font-size:14px;font-weight:400;color:var(--ink-mid);text-align:center;}
.tr-week thead th{background:var(--ivory-mid);font-size:13.5px;color:var(--olive);
  font-weight:500;}
.tr-week tbody th{text-align:left;font-weight:400;color:var(--ink-mid);
  min-width:118px;line-height:1.6;}
.tr-week td{height:34px;}

.tr-foot{margin-top:clamp(20px,2.6vw,28px);padding-top:14px;
  border-top:1px solid var(--line);
  font-size:13.5px;color:var(--mute);font-weight:400;line-height:1.95;}
.tr-foot b{color:var(--olive-l);font-weight:500;}

.tr-notes{margin-top:18px;border:1px solid var(--olive-l);border-radius:var(--r-s);
  padding:14px 16px;break-inside:avoid;page-break-inside:avoid;}
.tr-notes h3{font-size:15px;color:var(--olive);font-weight:500;
  line-height:1.7;margin-bottom:6px;}
.tr-notes li{list-style:none;font-size:14.5px;color:var(--sub);font-weight:400;
  line-height:1.95;padding-left:16px;position:relative;margin-top:5px;}
.tr-notes li::before{content:'・';position:absolute;left:0;color:var(--olive-l);}

.tr-how{border-top:1px solid var(--line);padding-top:clamp(18px,2.4vw,26px);
  margin-top:clamp(18px,2.4vw,26px);break-inside:avoid;page-break-inside:avoid;}
.tr-how:first-of-type{border-top:0;padding-top:0;margin-top:clamp(18px,2.4vw,24px);}
.tr-how h3{font-size:18px;color:var(--olive);font-weight:500;
  letter-spacing:.03em;line-height:1.55;}
.tr-how h3 span{display:inline-block;margin-left:10px;font-size:14px;
  color:var(--ink-mid);font-weight:400;letter-spacing:0;}
.tr-how .prep{margin-top:8px;font-size:14.5px;color:var(--sub);
  font-weight:400;line-height:1.9;}
.tr-how .prep b{color:var(--olive-l);font-weight:500;}
.tr-how ol{margin-top:10px;padding-left:0;list-style:none;counter-reset:trstep;}
.tr-how ol li{counter-increment:trstep;position:relative;padding-left:32px;
  margin-top:7px;font-size:15px;color:var(--ink-mid);font-weight:400;line-height:1.9;}
.tr-how ol li::before{content:counter(trstep);position:absolute;left:0;top:4px;
  width:22px;height:22px;border-radius:50%;border:1px solid var(--olive-l);
  color:var(--olive);font-size:13px;display:flex;align-items:center;justify-content:center;}
.tr-how .tip{margin-top:10px;font-size:14.5px;color:var(--sub);
  font-weight:400;line-height:1.9;}
.tr-how .tip b{color:var(--olive-l);font-weight:500;}

@media(max-width:560px){
  .tr-sheet-head{flex-direction:column;align-items:flex-start;}
  .tr-sheet-head .clinic{text-align:left;}
  .tr-week tbody th{min-width:96px;font-size:13.5px;}
  .tr-week th,.tr-week td{padding:7px 3px;font-size:13.5px;}
}

@media print{
  @page{size:A4 portrait;margin:13mm 12mm;}

  body.tr{background:#fff;padding-bottom:0;font-size:15px;}
  body.tr header,body.tr footer,body.tr .mbar,
  body.tr .tr-noprint,body.tr .ph-hero{display:none!important;}

  html.js body.tr .rv{opacity:1!important;transform:none!important;}

  body.tr .ph-sec{padding:0!important;}
  body.tr .wrap{max-width:none;padding:0;}

  .tr-sheet{box-shadow:none;border:0;border-radius:0;max-width:none;
    margin:0;padding:0;}
  .tr-sheet+.tr-sheet{page-break-before:always;break-before:page;}
  body.tr.only1 .tr-detail{display:none!important;}

  .tr-week thead th,.tr-picked{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .tr-item .n{-webkit-print-color-adjust:exact;print-color-adjust:exact;}

  .tr-sheet-head{padding-bottom:9px;}
  .tr-sheet-head h2{font-size:21px;}
  .tr-sheet-head .clinic{font-size:12.5px;line-height:1.55;}

  .tr-name{margin-top:11px;gap:6px 26px;}
  .tr-name span{font-size:13px;}
  .tr-name span::after{height:21px;}

  .tr-picked{margin-top:10px;padding:6px 10px;font-size:11.5px;line-height:1.55;}

  .tr-list{margin-top:12px;gap:6px;}
  .tr-item{padding:8px 11px;gap:10px;}
  .tr-item .n{width:22px;height:22px;font-size:12.5px;}
  .tr-item b{font-size:14.5px;line-height:1.45;}
  .tr-item .cnt{margin-left:8px;font-size:12.5px;}
  .tr-item .aim{margin-top:2px;font-size:12.5px;line-height:1.5;}

  .tr-notes{margin-top:10px;padding:7px 10px;}
  .tr-notes h3{font-size:12.5px;margin-bottom:2px;}
  .tr-notes li{font-size:12.5px;line-height:1.55;margin-top:3px;}

  .tr-week{margin-top:12px;}
  .tr-week caption{font-size:12.5px;padding-bottom:5px;}
  .tr-week th,.tr-week td{padding:4px 4px;font-size:12px;}
  .tr-week thead th{font-size:11.5px;}
  .tr-week tbody th{min-width:0;line-height:1.4;}
  .tr-week td{height:21px;}

  .tr-foot{margin-top:11px;padding-top:7px;font-size:11px;line-height:1.55;}

  .tr-how{padding-top:13px;margin-top:13px;}
  .tr-how:first-of-type{margin-top:14px;}
  .tr-how h3{font-size:15.5px;line-height:1.45;}
  .tr-how h3 span{margin-left:8px;font-size:12.5px;}
  .tr-how .prep{margin-top:4px;font-size:12.5px;line-height:1.65;}
  .tr-how ol{margin-top:5px;}
  .tr-how ol li{margin-top:3px;padding-left:26px;font-size:13px;line-height:1.65;}
  .tr-how ol li::before{width:18px;height:18px;font-size:11.5px;top:3px;}
  .tr-how .tip{margin-top:5px;font-size:12.5px;line-height:1.65;}
}

.ts-sheet{position:relative;max-width:840px;margin:0 auto;background:var(--ivory-hi);
  border:1px solid var(--tan);padding:40px 44px;}
.ts-sheet::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold-sheen);}
.ts-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;
  border-bottom:1px solid var(--tan);padding-bottom:18px;}
.ts-clinic{font-size:14px;color:var(--olive-l);letter-spacing:.12em;}
.ts-top h1{font-size:28px;color:var(--olive);font-weight:500;line-height:1.5;margin-top:6px;letter-spacing:.04em;}
.ts-lead{font-size:15.5px;color:var(--sub);line-height:1.9;margin-top:8px;}
.ts-qr{flex:none;width:96px;text-align:center;font-size:13px;color:var(--mute);line-height:1.5;}
.ts-qr img{display:block;width:96px;height:96px;margin-bottom:4px;}
.ts-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px;margin-top:26px;}
.ts-box.wide{grid-column:1/-1;}
.ts-box h2{font-size:17px;color:var(--olive);font-weight:500;line-height:1.5;
  border-left:3px solid var(--tan);padding-left:11px;letter-spacing:.04em;}
.ts-box p{font-size:15.5px;color:var(--sub);line-height:1.9;margin-top:8px;}
.ts-box ul{list-style:none;margin-top:8px;}
.ts-box li{position:relative;padding-left:17px;margin-top:4px;font-size:15.5px;color:var(--sub);line-height:1.85;}
.ts-box li::before{content:"";position:absolute;left:3px;top:.8em;width:6px;height:6px;border-radius:50%;background:var(--tan);}
.ts-box li b,.ts-box p b{color:var(--olive);font-weight:500;}
.ts-steps{counter-reset:ts;}
.ts-steps li{padding-left:28px;}
.ts-steps li::before{counter-increment:ts;content:counter(ts);top:.3em;width:19px;height:19px;
  background:var(--olive);color:var(--ivory-hi);font-size:13px;line-height:19px;text-align:center;}
.ts-price{width:100%;border-collapse:collapse;margin-top:8px;}
.ts-price th,.ts-price td{border-bottom:1px dotted var(--tan);padding:7px 2px;font-size:15px;
  font-weight:400;color:var(--sub);text-align:left;vertical-align:top;line-height:1.6;}
.ts-price th small{display:block;font-size:13.5px;color:var(--mute);}
.ts-price td{text-align:right;white-space:nowrap;color:var(--olive);font-weight:500;}
.ts-note{font-size:14px;color:var(--mute);line-height:1.75;margin-top:8px;}
.ts-end{margin-top:26px;background:var(--ivory-mid);border:1px solid var(--tan);padding:18px 22px;text-align:center;}
.ts-end b{display:block;font-size:19px;color:var(--olive);font-weight:500;letter-spacing:.06em;}
.ts-end p{font-size:15.5px;color:var(--sub);line-height:1.85;margin-top:6px;}
.ts-end .tel{font-size:18px;color:var(--olive);letter-spacing:.06em;}
.ts-legal{font-size:13px;color:var(--mute);line-height:1.7;margin-top:16px;}
.ts-print-only{display:none;}
.ts-check{margin-top:22px;border:1.5px solid var(--olive);padding:14px 18px;}
.ts-check h2{font-size:15px;color:var(--olive);font-weight:500;letter-spacing:.04em;}
.ts-check ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:4px 12px;margin-top:6px;}
.ts-check li{font-size:14px;color:var(--sub);line-height:1.7;}
.ts-check li::before{content:"□ ";color:var(--olive);}
.ts-memo{margin-top:6px;border-bottom:1px solid var(--tan);height:30px;font-size:13px;color:var(--mute);}
.ts-tools{text-align:center;margin-top:30px;}
.ts-tools p{font-size:14px;color:var(--mute);margin-top:10px;line-height:1.8;}
@media(max-width:640px){
  .ts-sheet{padding:28px 18px;}
  .ts-top{flex-direction:column;gap:0;}
  .ts-top h1{font-size:23px;}
  .ts-grid{grid-template-columns:1fr;gap:24px;}
}

@media print{
  @page{size:A4 portrait;margin:9mm 11mm;}
  body.ts{background:#fff;padding-bottom:0;}
  body.ts header,body.ts footer,body.ts .mbar,body.ts .crumb,
  body.ts .final,body.ts .ts-noprint{display:none!important;}
  html.js body.ts .rv{opacity:1!important;transform:none!important;}
  body.ts .sec{padding:0!important;}
  body.ts .wrap{max-width:none;padding:0;}
  .ts-sheet{border:0;padding:0;max-width:none;background:#fff;}
  .ts-sheet::before{display:none;}
  .ts-print-only{display:block;}
  .ts-end,.ts-steps li::before,.ts-box li::before{-webkit-print-color-adjust:exact;print-color-adjust:exact;}

  .ts-top{padding-bottom:8px;}
  .ts-clinic{font-size:11px;}
  .ts-top h1{font-size:21px;margin-top:2px;}
  .ts-lead{font-size:12px;line-height:1.65;margin-top:3px;}
  .ts-qr{width:74px;font-size:9.5px;}
  .ts-qr img{width:74px;height:74px;}
  .ts-grid{gap:9px 20px;margin-top:10px;}
  .ts-box h2{font-size:13.5px;padding-left:8px;}
  .ts-box p,.ts-box li{font-size:11.5px;line-height:1.6;margin-top:2px;}
  .ts-box ul{margin-top:3px;}
  .ts-steps li{padding-left:22px;}
  .ts-steps li::before{width:15px;height:15px;line-height:15px;font-size:10px;top:.15em;}
  .ts-price{margin-top:3px;}
  .ts-price th,.ts-price td{font-size:11.5px;padding:3px 2px;line-height:1.45;}
  .ts-price th small{font-size:10px;}
  .ts-note{font-size:10px;line-height:1.5;margin-top:3px;}
  .ts-check{margin-top:10px;padding:7px 12px;}
  .ts-check h2{font-size:12.5px;}
  .ts-check ul{margin-top:3px;gap:1px 10px;}
  .ts-check li{font-size:11.5px;line-height:1.6;}
  .ts-memo{height:22px;font-size:10px;margin-top:2px;}
  .ts-end{margin-top:10px;padding:8px 14px;}
  .ts-end b{font-size:14px;}
  .ts-end p{font-size:11.5px;line-height:1.55;margin-top:2px;}
  .ts-end .tel{font-size:13px;}
  .ts-legal{font-size:9px;line-height:1.5;margin-top:7px;}
}

.ot-head{background:var(--ivory-mid);border-radius:18px;padding:26px 22px;margin-top:18px;}
.ot-head .kicker{margin-bottom:4px;}
.ot-head h1{font-size:28px;color:var(--olive);line-height:1.4;}
.ot-head p{font-size:15.5px;color:var(--ink-mid);margin-top:6px;}
.ot-date{font-size:14px;color:var(--mute);}
.ot-h2{font-size:20px;color:var(--olive);margin:30px 0 10px;padding-left:10px;border-left:4px solid var(--olive-l);line-height:1.4;}
.ot-why{list-style:none;display:grid;gap:8px;}
.ot-why li{font-size:15.5px;line-height:1.8;background:var(--ivory-hi);border:1px solid var(--tan);border-radius:12px;padding:10px 14px;}
.ot-why b{color:var(--olive);display:block;font-size:17px;}
.ot-ex{background:#fff;border:1px solid var(--tan);border-radius:16px;padding:18px 18px 16px;margin-top:14px;}
.ot-ex h3{font-size:20px;color:var(--olive);line-height:1.4;}
.ot-how{display:inline-block;font-size:14px;color:var(--ink);background:var(--ivory-mid);border-radius:8px;padding:3px 10px;margin-top:6px;}
.ot-ex ol{margin:10px 0 0 1.3em;font-size:15.5px;line-height:1.8;}
.ot-days-h{font-size:14px;color:var(--mute);margin-top:12px;}
.ot-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:6px;}
.ot-day{font:inherit;font-size:14px;aspect-ratio:1;border-radius:50%;border:1.5px solid var(--tan);background:var(--ivory-hi);color:var(--mute);cursor:pointer;padding:0;}
.ot-day.on{background:var(--leaf);border-color:var(--leaf);color:var(--on-leaf);}
.ot-soudan{font-size:15.5px;line-height:1.8;border:1px dashed var(--warm);border-radius:12px;padding:12px 14px;margin-top:10px;background:var(--ivory-hi);}
.ot-soudan b{color:var(--olive);}
.ot-end{background:var(--ivory-mid);color:var(--sub);border:1px solid var(--warm);border-radius:16px;padding:18px 20px;margin-top:30px;font-size:15.5px;line-height:1.8;}
.ot-end b{font-size:17px;display:block;color:var(--olive);}
.ot-note{font-size:14px;color:var(--mute);margin-top:12px;line-height:1.7;}
.oe .ot-ex ol,.oe .ot-why li,.oe .ot-soudan,.oe .ot-end{font-size:17.5px;}
.oe .ot-ex h3{font-size:22px;}
.oe .ot-how{font-size:15.5px;}
.oe .ot-day{font-size:16px;}

.mft-why{display:grid;gap:10px;}
.mft-why-i{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;background:var(--ivory-hi);border:1px solid var(--tan);border-radius:12px;padding:10px 14px;font-size:15.5px;line-height:1.8;}
.mft-why-i b{display:block;color:var(--olive);font-size:17px;}
.mft-why-i .pic img,.mft-why-i .pic svg{width:96px;max-height:80px;object-fit:contain;display:block;}
.mft-pics{display:grid;grid-template-columns:1fr;gap:8px;max-width:260px;margin:12px 0 2px;}
.mft-pics.two{grid-template-columns:1fr 1fr;max-width:420px;}
.mft-pics.four{grid-template-columns:repeat(4,1fr);max-width:440px;}
.mft-pics.wide{max-width:440px;}
.mft-pics.wide img{max-height:none;}
.mft-pics img,.mft-pics svg{width:100%;height:auto;max-height:150px;object-fit:contain;display:block;}
.mft-caps{display:grid;gap:8px;font-size:14px;color:var(--sub);text-align:center;max-width:440px;}
.mft-caps.two{grid-template-columns:1fr 1fr;max-width:420px;}
.mft-caps.four{grid-template-columns:repeat(4,1fr);}

body.dq{
  --dq-ink:#0b0b18;                           
  --dq-line:#ffffff;                          
  --dq-gold:#e6c875;                          
  --pix:"DotGothic16","Kiwi Maru",monospace;  
}
.dq-win{background:var(--dq-ink);color:#fff;border:3px solid var(--dq-line);border-radius:10px;
  box-shadow:0 0 0 3px var(--dq-ink),0 14px 30px rgba(0,0,0,.28);padding:20px 24px;
  font-family:var(--pix);letter-spacing:.04em;line-height:1.8;position:relative;}
.dq-win .ttl{position:absolute;top:-15px;left:18px;background:var(--dq-ink);color:#fff;
  font-size:14px;line-height:1.6;padding:0 10px;letter-spacing:.12em;}
.dq-next::after{content:"▼";display:inline-block;margin-left:.4em;font-size:.7em;color:#fff;
  vertical-align:middle;animation:dqblink 1s steps(1) infinite;}
@keyframes dqblink{50%{opacity:0;}}
@media (prefers-reduced-motion:reduce){
  .dq-next::after,.dq-cmd a.go::before{animation:none;}
}

.dq-hero{position:relative;background:var(--dq-ink);}
.dq-hero picture,.dq-hero>img{display:block;}
.dq-hero img{width:100%;height:auto;aspect-ratio:1457/941;object-fit:cover;object-position:50% 32%;}
.dq-hero .msg{max-width:900px;margin:0 auto;}
.dq-hero .kick{font-size:14px;color:var(--dq-gold);letter-spacing:.2em;margin-bottom:6px;}
.dq-hero h1{font-family:var(--pix);font-weight:400;color:#fff;font-size:clamp(26px,3.2vw,36px);
  line-height:1.45;letter-spacing:.06em;}
.dq-hero h1 span,.dq-hero .sub span{display:inline-block;}
.dq-hero .sub{font-family:"Kiwi Maru",serif;font-size:clamp(15.5px,1.6vw,17px);color:rgba(255,255,255,.94);
  margin-top:10px;line-height:1.9;letter-spacing:.02em;}
@media(min-width:1100px){
  .dq-hero img{max-height:min(88vh,780px);}
  .dq-hero .msg{position:absolute;left:max(22px,calc((100% - 1100px) / 2 + 22px));bottom:30px;
    width:min(46%,600px);margin:0;}
}
@media(max-width:1099px){
  .dq-hero{padding-bottom:28px;}
  .dq-hero .msg{margin:18px 16px 0;}
}

.dq-cmd{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:16px;}
.dq-cmd a{display:inline-flex;align-items:center;min-height:46px;padding:8px 18px 8px 34px;
  position:relative;font-family:var(--pix);font-size:17px;color:#fff;letter-spacing:.06em;
  border:2px solid rgba(255,255,255,.55);border-radius:6px;line-height:1.4;}
.dq-cmd a::before{content:"▶";position:absolute;left:12px;font-size:13px;opacity:0;}
.dq-cmd a:hover,.dq-cmd a:focus-visible{background:#fff;color:var(--dq-ink);border-color:#fff;}
.dq-cmd a:hover::before,.dq-cmd a:focus-visible::before{opacity:1;}
.dq-cmd a.go{border-color:var(--dq-gold);color:var(--dq-gold);}
.dq-cmd a.go::before{opacity:1;animation:dqblink 1s steps(1) infinite;}
.dq-cmd a.go:hover{background:var(--dq-gold);color:var(--dq-ink);}

.dq-status-sec{background:var(--ivory-mid);padding:38px 0 30px;}
.dq-status{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 18px;padding:26px 24px 18px;}
.dq-status div{display:grid;gap:2px;}
.dq-status .k{font-size:14px;color:rgba(255,255,255,.7);letter-spacing:.14em;}
.dq-status .v{font-size:clamp(20px,2.2vw,24px);color:var(--dq-gold);line-height:1.4;}
.dq-status .s{font-family:"Kiwi Maru",serif;font-size:14px;color:rgba(255,255,255,.88);line-height:1.7;letter-spacing:.02em;}
@media(max-width:760px){
  .dq-status{grid-template-columns:1fr 1fr;gap:16px 14px;padding:24px 18px 16px;}
}

body.dq .pg-jump{background:var(--dq-ink);border-bottom:3px solid #fff;}
body.dq .pg-jump a{font-family:var(--pix);color:#fff;background:transparent;border-radius:6px;letter-spacing:.06em;}
body.dq .pg-jump a:hover{background:rgba(255,255,255,.14);color:#fff;}
body.dq .pg-jump a.on{background:transparent;color:var(--dq-gold);}
body.dq .pg-jump a.on::before{content:"▶ ";font-size:.8em;}

body.dq .ph-h2,body.dq .ph-plan h3{font-family:var(--pix);font-weight:400;letter-spacing:.05em;}
body.dq .ph-plan h3 small{font-family:"Kiwi Maru",serif;}
body.dq .ph-head .kick,body.dq .ph-plan .no{font-family:var(--pix);color:var(--olive);letter-spacing:.14em;}
body.dq .ph-head .kick::before,body.dq .ph-plan .no::before{content:"▶ ";font-size:.85em;}
body.dq .ph-plan .pt li::before{content:"▶";width:auto;height:auto;border-radius:0;background:none;
  top:.05em;left:2px;font-size:12px;color:var(--olive-l);}

body.dq .ph-plan .ph{border:3px solid #fff;box-shadow:0 0 0 3px var(--dq-ink),var(--sh-s);border-radius:10px;}

body.dq .ph-price{display:inline-flex;background:var(--dq-ink);border:3px solid #fff;border-radius:10px;
  box-shadow:0 0 0 3px var(--dq-ink);padding:12px 20px;gap:4px 14px;}
body.dq .ph-price .n{font-family:var(--pix);font-weight:400;color:var(--dq-gold);}
body.dq .ph-price .u{color:rgba(255,255,255,.9);font-size:14.5px;}

body.dq .ph-band .in{background:var(--dq-ink);border:3px solid #fff;border-radius:10px;
  box-shadow:0 0 0 3px var(--dq-ink);margin:40px 16px;padding:22px 26px;max-width:720px;text-align:left;}
body.dq .ph-band p{font-family:var(--pix);text-shadow:none;letter-spacing:.06em;}
body.dq .ph-band small{text-shadow:none;}

body.dq .ph-note{background:var(--dq-ink);border:3px solid #fff;border-radius:10px;
  box-shadow:0 0 0 3px var(--dq-ink),var(--sh-s);}
body.dq .ph-note b{font-family:var(--pix);font-weight:400;color:var(--dq-gold);letter-spacing:.05em;}
body.dq .ph-note span{color:rgba(255,255,255,.92);}
body.dq .ph-note span b{display:inline;font-family:inherit;color:#fff;margin:0;}
body.dq .faq details{background:var(--dq-ink);border:3px solid #fff;border-radius:10px;
  box-shadow:0 0 0 3px var(--dq-ink);padding:14px 20px;margin:0 3px 16px;}
body.dq .faq summary{font-family:var(--pix);color:#fff;padding-left:22px;letter-spacing:.04em;}
body.dq .faq summary::before{content:"▶";position:absolute;left:0;top:.1em;font-size:12px;color:var(--dq-gold);}
body.dq .faq summary::after{color:#fff;right:0;}
body.dq .faq p{color:rgba(255,255,255,.92);}
body.dq .faq p b{color:#fff;}
body.dq .faq .txt-link{color:var(--dq-gold);}

.dq-equip{margin:4px 0 22px;font-size:16px;padding:12px 18px;}
.dq-equip b{color:var(--dq-gold);font-weight:400;}

@media(min-width:901px){
  .ph-hero-night::after{background:linear-gradient(to right,rgba(8,14,34,.72) 0%,rgba(8,14,34,.45) 38%,rgba(8,14,34,0) 60%);}
  .ph-hero-night h1,
  .ph-hero-night h1 .nm{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.5);}
  .ph-hero-night .sub{color:rgba(255,255,255,.94);text-shadow:0 1px 12px rgba(0,0,0,.6);}
  .ph-hero-night h1 .nm::before{background:#dcc78f;}
  .ph-hero-night .btn-line{color:#fff;}
}
@media(max-width:767px){
  .band-midnight>picture>img{object-position:18% center;}
  .band-morning>picture>img{object-position:88% center;}
}

.ph-band.wt-snow::after{background:rgba(20,28,44,.44);}


.cs-chips{position:sticky;top:var(--hdh,70px);z-index:45;display:flex;gap:6px;padding:8px 16px;
  background:rgba(253,252,247,.95);border-bottom:1px solid var(--warm);}
.cs-chips a{flex:1 1 0;min-width:0;text-align:center;font-size:13px;line-height:1.4;padding:7px 0;border-radius:999px;
  border:1px solid var(--warm);background:var(--ivory-hi);color:var(--olive);text-decoration:none;}
.cs-chips a.on{background:var(--olive);border-color:var(--olive);color:var(--ivory-hi);}
.cs-chips a:focus-visible{outline:2px solid var(--tan);outline-offset:2px;}
@media(min-width:900px){
  .cs-chips{justify-content:center;gap:10px;}
  .cs-chips a{flex:0 0 auto;padding:7px 20px;}
}

.cs-scene{position:relative;background:var(--ivory-hi);}
.cs-pic img{display:block;width:100%;height:auto;max-height:80vh;object-fit:cover;}
.cs-tx{position:relative;max-width:640px;padding:24px 22px 34px;color:var(--olive);}
.cs-kick{font-size:11px;letter-spacing:.22em;color:var(--olive-l);margin:0 0 8px;}
.cs-h{font-weight:500;font-size:clamp(25px,7vw,40px);line-height:1.38;margin:0 0 10px;color:var(--olive);text-wrap:balance;}
.cs-h .nm{display:block;font-size:13px;letter-spacing:.14em;color:var(--olive-l);margin-bottom:8px;}
.cs-ln{font-size:15px;line-height:1.8;margin:0 0 16px;color:var(--ink);}
.cs-yen{font-size:clamp(22px,6vw,30px);color:var(--olive);margin:0 0 14px;font-variant-numeric:tabular-nums;}
.cs-yen small{display:inline-block;white-space:nowrap;font-size:13px;margin-left:6px;color:var(--mute);}
.cs-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.page-ceramic .cs-row .btn{padding:13px 24px;}
.cs-more{font:inherit;font-size:15px;line-height:1.4;padding:12px 22px;border-radius:999px;cursor:pointer;
  border:1px solid var(--olive);background:rgba(253,252,247,.7);color:var(--olive);}
.cs-more:hover{background:var(--ivory-mid);}
.cs-more:focus-visible{outline:2px solid var(--tan);outline-offset:2px;}
.cs-hint{display:none;}

.cs-detail{max-width:900px;margin:0 auto;padding:10px 22px 48px;}
.cs-detail-h{font-size:20px;font-weight:500;color:var(--olive);margin:0 0 16px;padding-top:14px;border-top:1px solid var(--warm);}
.cs-detail .ph-head{text-align:left;margin:0 0 16px;}
.cs-detail .ph-head .kick{margin-bottom:8px;}
.cs-detail .ph-h2{font-size:clamp(19px,2.2vw,24px);}
.cs-detail .trust{border-radius:14px;margin:0 0 22px;}
.cs-detail .trust .wrap{padding:18px 16px;}
.cs-sub{margin-top:30px;scroll-margin-top:12px;}
.cs-sub:first-child,.cs-detail-h + .cs-sub{margin-top:0;}
.cs-fig{margin:30px 0 0;}
.cs-fig img{display:block;width:100%;height:auto;border-radius:14px;}
.cs-fig figcaption{font-size:14px;line-height:1.8;color:var(--ink);margin-top:10px;}
.cs-fig figcaption b{display:block;font-size:17px;font-weight:500;color:var(--olive);margin-bottom:4px;}
.cs-catch{margin:26px 0 0;padding:18px 20px;border-radius:14px;background:var(--ivory-mid);font-size:14px;line-height:1.8;color:var(--ink);}
.cs-catch b{display:block;font-size:18px;font-weight:500;line-height:1.5;color:var(--olive);margin-bottom:6px;}

.cs-after{background:var(--ivory);}

html.cs-js{scroll-snap-type:y mandatory;
  scroll-padding-top:calc(var(--hdh,70px) + var(--cs-chips,46px));scroll-padding-bottom:var(--cs-mbar,0px);}
html.cs-js.cs-free{scroll-snap-type:none;}   
html.cs-js .cs-scene{height:calc(100vh - var(--hdh,70px) - var(--cs-chips,46px) - var(--cs-mbar,0px));
  height:calc(100svh - var(--hdh,70px) - var(--cs-chips,46px) - var(--cs-mbar,0px));
  scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;}
html.cs-js .cs-after{scroll-snap-align:start;}
html.cs-js .cs-pic{position:absolute;inset:0;}
html.cs-js .cs-pic picture{display:block;width:100%;height:100%;}
html.cs-js .cs-pic img{width:100%;height:100%;max-height:none;object-fit:cover;transform:scale(1.03);transition:transform 6s ease-out;}
html.cs-js .cs-scene.on .cs-pic img{transform:scale(1.09);}
html.cs-js .cs-pic::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(253,252,247,.95) 0%,rgba(253,252,247,.84) 36%,rgba(253,252,247,0) 64%);}
html.cs-js .cs-tx{z-index:2;padding:0 22px 22px;}
html.cs-js .cs-detail{display:none;}
html.cs-js .cs-hint{display:block;position:absolute;z-index:3;left:0;right:0;bottom:4px;margin:0;text-align:center;
  font-size:12px;letter-spacing:.1em;color:var(--olive-l);}
html.cs-js .cs-hint::before{content:"";display:block;margin:0 auto 3px;width:10px;height:10px;
  border-left:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);animation:cs-bob 1.6s infinite;}
html.cs-js .cs-scene:first-child .cs-tx{padding-bottom:46px;}
@keyframes cs-bob{50%{translate:0 -5px;}}
html.cs-js .cs-scene.on .cs-tx > *{animation:cs-rise .7s both;}
html.cs-js .cs-scene.on .cs-tx > *:nth-child(2){animation-delay:.08s;}
html.cs-js .cs-scene.on .cs-tx > *:nth-child(3){animation-delay:.16s;}
html.cs-js .cs-scene.on .cs-tx > *:nth-child(4){animation-delay:.24s;}
html.cs-js .cs-scene.on .cs-tx > *:nth-child(5){animation-delay:.32s;}
@keyframes cs-rise{from{transform:translateY(14px);opacity:.3;}to{transform:none;opacity:1;}}

@media(max-width:899px){
  html.cs-js .cs-pic.cs-fit{background:var(--ivory-hi);}
  html.cs-js .cs-pic.cs-fit img,html.cs-js .cs-scene.on .cs-pic.cs-fit img{object-fit:contain;object-position:center top;transform:none;}
  html.cs-js .cs-pic.cs-right img,html.cs-js .cs-scene.on .cs-pic.cs-right img{object-position:100% center;transform:none;}
  html.cs-js .cs-pic.cs-low img,html.cs-js .cs-scene.on .cs-pic.cs-low img{object-position:center top;transform:none;}
}

@media(min-width:900px){
  .cs-pic img{max-height:none;}
  html.cs-js .cs-scene{flex-direction:row;justify-content:flex-start;}
  html.cs-js .cs-pic{position:relative;inset:auto;order:2;flex:1 1 58%;height:100%;}
  html.cs-js .cs-pic::after{display:none;}
  html.cs-js .cs-tx{flex:0 0 42%;max-width:none;align-self:center;padding:0 clamp(32px,4vw,64px);}
  html.cs-js .cs-hint{left:0;right:auto;width:42%;}
  html.cs-js .cs-scene:first-child .cs-tx{padding-bottom:0;}
}

@media(max-height:500px){
  html.cs-js{scroll-snap-type:none;}
  html.cs-js .cs-scene{height:auto;display:block;overflow:visible;}
  html.cs-js .cs-pic{position:relative;inset:auto;height:70vh;}
  html.cs-js .cs-pic::after{display:none;}
  html.cs-js .cs-tx{padding:20px 22px 30px;}
  html.cs-js .cs-hint{display:none;}
}

.cs-sheet{position:fixed;inset:auto 0 0 0;margin:0 auto;width:100%;max-width:760px;max-height:86vh;max-height:86dvh;
  padding:0;border:0;border-radius:18px 18px 0 0;background:var(--ivory-hi);color:var(--ink);
  box-shadow:0 -8px 30px rgba(46,31,18,.22);transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);}
.cs-sheet[open]{display:flex;flex-direction:column;}
.cs-sheet.up{transform:none;}
.cs-sheet::backdrop{background:rgba(46,31,18,.45);}
.cs-sheet-hd{position:relative;display:flex;align-items:center;gap:10px;padding:18px 16px 12px 22px;border-bottom:1px solid var(--warm);}
.cs-sheet-hd::before{content:"";position:absolute;left:50%;top:7px;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:var(--warm);}
.cs-sheet-t{margin:0;font-size:17px;font-weight:500;color:var(--olive);}
.cs-sheet-x{margin-left:auto;font:inherit;font-size:14px;line-height:1.4;padding:7px 16px;border-radius:999px;cursor:pointer;
  border:1px solid var(--warm);background:var(--ivory-hi);color:var(--olive);}
.cs-sheet-x:focus-visible{outline:2px solid var(--tan);outline-offset:2px;}
.cs-sheet-bd{overflow-y:auto;overscroll-behavior:contain;padding:18px 20px calc(30px + env(safe-area-inset-bottom,0px));}
html.cs-js .cs-sheet-bd .cs-detail{display:block;padding:0;max-width:none;}
.cs-sheet-bd .cs-detail-h{display:none;}
.cs-sheet-bd .ph-picks{grid-template-columns:1fr;}
.cs-sheet-bd .ph-plan{grid-template-columns:1fr;}
.cs-sheet-bd .ph-plan.rev .ph{order:0;}
.cs-sheet-bd .ph-notes{grid-template-columns:1fr;}
.cs-sheet-bd .ph-rows{max-width:none;}
.cs-sheet-bd .trust .wrap{flex-wrap:wrap;justify-content:flex-start;}
.cs-sheet-bd .trust .wrap > div{flex:1 1 40%;}
.cs-detail .pg-table{min-width:0;table-layout:fixed;}
.cs-detail .pg-table thead th:first-child{width:24%;}
.cs-detail .pg-table tbody th{white-space:normal;}
@media(max-width:520px){
  .cs-detail .pg-table th,.cs-detail .pg-table td{padding:10px 8px;font-size:13.5px;line-height:1.7;}
  .cs-detail .pg-table thead th{letter-spacing:.02em;}
}

@media(prefers-reduced-motion:reduce){
  html.cs-js .cs-pic img,html.cs-js .cs-scene.on .cs-pic img{transform:none;transition:none;}
  html.cs-js .cs-scene.on .cs-tx > *,html.cs-js .cs-hint::before{animation:none;}
  .cs-sheet{transition:none;}
}

.cb-fab{position:fixed;right:18px;bottom:22px;z-index:65;display:flex;align-items:center;gap:8px;
  font:inherit;font-size:14px;font-weight:500;letter-spacing:.06em;line-height:1.3;color:var(--olive);cursor:pointer;
  padding:12px 18px 12px 15px;border-radius:999px;border:1px solid var(--gold-thread);
  background-color:var(--washi);background-image:var(--washi-tex);
  box-shadow:inset 0 0 0 2px var(--washi),inset 0 0 0 3px var(--gold-thread-l),0 6px 18px rgba(74,51,36,.16);
  transition:transform .2s ease,box-shadow .2s ease;}
.cb-fab:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 2px var(--washi),inset 0 0 0 3px var(--gold-thread-l),0 10px 22px rgba(74,51,36,.2);}
.cb-fab:focus-visible{outline:2px solid var(--tan);outline-offset:3px;}
.cb-fab svg{flex:none;color:var(--olive-l);}
html.cb-on .cb-fab{display:none;}

.cb-panel{position:fixed;right:18px;bottom:22px;z-index:80;width:min(390px,calc(100vw - 24px));
  height:min(600px,calc(100vh - 110px));height:min(600px,calc(100dvh - 110px));
  display:flex;flex-direction:column;overflow:hidden;color:var(--ink);
  background:var(--ivory-hi) url(/images/bg-washi-light.jpg) 0 0/1100px auto repeat;
  border:1px solid var(--gold-thread);border-radius:16px;box-shadow:0 14px 40px rgba(46,31,18,.24);}
.cb-panel[hidden]{display:none;}
.cb-hd{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 18px;border-bottom:1px solid var(--warm);
  background-color:var(--washi);background-image:var(--washi-tex);}
.cb-title{margin:0;font-size:17px;font-weight:500;color:var(--olive);letter-spacing:.04em;line-height:1.5;}
.cb-x{margin-left:auto;font:inherit;font-size:14px;line-height:1.4;padding:7px 16px;border-radius:999px;cursor:pointer;
  border:1px solid var(--warm);background:var(--ivory-hi);color:var(--olive);}
.cb-x:focus-visible,.cb-home:focus-visible,.cb-opt:focus-visible,.cb-link:focus-visible,.cb-ft-tel:focus-visible{outline:2px solid var(--tan);outline-offset:2px;}

.cb-log{position:relative;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 14px 8px;scroll-behavior:smooth;}
.cb-bot,.cb-me{max-width:92%;margin:0 0 12px;font-size:15.5px;line-height:1.85;}
.cb-bot{background:#fff;border:1px solid var(--warm);border-radius:4px 14px 14px 14px;padding:11px 14px;}
.cb-bot p + p{margin-top:8px;}
.cb-bot b{color:var(--olive);font-weight:500;}
.cb-me{margin-left:auto;width:fit-content;background:var(--ivory-mid);border:1px solid var(--green);
  border-radius:14px 4px 14px 14px;padding:8px 14px;color:var(--olive);}

.cb-links{display:flex;flex-direction:column;gap:8px;margin:0 0 14px;max-width:92%;}
.cb-link{display:block;text-align:center;font-size:15px;line-height:1.5;padding:11px 14px;border-radius:999px;color:var(--olive);}
.cb-link.cb-main{position:relative;font-weight:500;letter-spacing:.04em;border:1px solid var(--gold-thread);
  background-color:var(--washi);background-image:var(--washi-tex);
  box-shadow:inset 0 0 0 2px var(--washi),inset 0 0 0 3px var(--gold-thread-l);}
.cb-link.cb-sub,.cb-link.cb-tel{border:1px solid var(--gold-thread);background:var(--washi);}
.cb-link.cb-page{border:1px solid var(--warm);background:var(--ivory-hi);font-size:14.5px;}
.cb-link.cb-page::after{content:" ▶";font-size:13px;color:var(--olive-l);}
.cb-link:hover{border-color:var(--leaf-d);}

.cb-opts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:4px 0 8px;}
.cb-opt{font:inherit;font-size:15px;line-height:1.5;text-align:left;cursor:pointer;color:var(--olive);
  padding:9px 15px;border-radius:999px;border:1px solid var(--olive-l);background:var(--ivory-hi);
  transition:background-color .15s ease,border-color .15s ease;}
.cb-opt:hover{background:var(--ivory-mid);border-color:var(--leaf-d);}
.cb-opt.cb-opt-home{border-color:var(--warm);color:var(--mute);font-size:14px;}
.cb-opts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.cb-opts-grid .cb-opt{font-size:14px;line-height:1.45;letter-spacing:0;padding:8px 6px;border-radius:12px;text-align:center;}
.cb-opts-grid .cb-opt-home{grid-column:1/-1;justify-self:end;border-radius:999px;padding:7px 15px;}
.cb-bot .cb-today{padding-bottom:8px;border-bottom:1px dashed var(--warm);}

.cb-ask{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--warm);background:var(--ivory-hi);}
.cb-q{flex:1;min-width:0;font:inherit;font-size:16px;line-height:1.4;color:var(--ink);
  padding:9px 14px;border-radius:999px;border:1px solid var(--warm);background:#fff;}
.cb-q::placeholder{color:var(--mute);font-size:14px;}
.cb-q:focus{outline:none;border-color:var(--gold-thread);box-shadow:0 0 0 2px var(--gold-thread-l);}
.cb-go{flex:none;font:inherit;font-size:14px;line-height:1.4;cursor:pointer;color:var(--olive);
  padding:9px 16px;border-radius:999px;border:1px solid var(--gold-thread);background:var(--washi);}
.cb-go:focus-visible{outline:2px solid var(--tan);outline-offset:2px;}
.cb-ft{display:flex;align-items:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
  border-top:1px solid var(--warm);background:var(--ivory-hi);}
.cb-home{font:inherit;font-size:14px;line-height:1.4;cursor:pointer;color:var(--olive);
  padding:7px 14px;border-radius:999px;border:1px solid var(--warm);background:var(--ivory-hi);}
.cb-ft-tel{margin-left:auto;font-size:14px;color:var(--olive);letter-spacing:.04em;padding:7px 2px;}

@media(max-width:820px){
  .cb-fab{right:12px;bottom:calc(74px + env(safe-area-inset-bottom,0px));padding:10px 15px 10px 13px;}
  .cb-panel{left:0;right:0;bottom:0;width:100%;max-width:560px;margin:0 auto;
    height:86vh;height:86dvh;border-radius:16px 16px 0 0;border-bottom:0;}
}
@media(prefers-reduced-motion:reduce){
  .cb-fab,.cb-opt{transition:none;}
  .cb-fab:hover{transform:none;}
  .cb-log{scroll-behavior:auto;}
}
@media print{.cb-fab,.cb-panel{display:none !important;}}

.gm-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,2.4vw,26px);max-width:1040px;margin:0 auto;}
@media(min-width:720px){.gm-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(min-width:1000px){.gm-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
.gm-card{display:flex;flex-direction:column;height:100%;background:#fff;
  border:1px solid var(--warm);border-radius:10px;overflow:hidden;
  box-shadow:0 3px 12px rgba(74,51,36,.06);transition:transform .2s,box-shadow .2s,border-color .2s;}
.gm-card:hover{transform:translateY(-3px);border-color:var(--tan);box-shadow:0 10px 24px rgba(74,51,36,.12);}
.gm-card:focus-visible{outline:2px solid var(--tan);outline-offset:3px;}
.gm-thumb{position:relative;aspect-ratio:3/4;background:#1d2230;overflow:hidden;}
.gm-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.gm-card:hover .gm-thumb img{transform:scale(1.04);}
.gm-play{position:absolute;right:8px;bottom:8px;font-size:13px;line-height:1;letter-spacing:.06em;
  color:var(--olive);background:rgba(253,250,241,.94);border:1px solid var(--gold-thread);
  border-radius:999px;padding:8px 12px 8px 10px;}
.gm-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;flex:1;}
.gm-name{font-size:17px;line-height:1.5;color:var(--olive);font-weight:500;}
.gm-desc{font-size:14px;line-height:1.75;color:var(--ink);}
.gm-tags{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:auto;padding-top:6px;}
.gm-tags span{font-size:13px;line-height:1.4;color:var(--olive-l);border:1px solid var(--warm);
  border-radius:999px;padding:2px 9px;background:var(--ivory-hi);}
.gm-tags .pc{color:var(--olive);border-color:var(--tan);}
@media(max-width:480px){
  .gm-body{padding:10px 10px 12px;}
  .gm-desc{display:none;}  
}
.gm-note{text-align:center;font-size:14px;color:var(--mute);margin-top:clamp(22px,3vw,34px);line-height:1.9;}
.gm-after{max-width:640px;margin:0 auto;text-align:center;}
.gm-after .kick{font-size:13px;letter-spacing:.3em;color:var(--olive-l);margin-bottom:10px;}
.gm-after p{font-size:15.5px;line-height:2;}
.gm-after h2+p{margin-top:14px;}
.gm-after .cta-row{margin-top:20px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;}
@media(prefers-reduced-motion:reduce){
  .gm-card,.gm-thumb img{transition:none;}
  .gm-card:hover,.gm-card:hover .gm-thumb img{transform:none;}
}

.ai-mark{position:relative;display:block;}
.ai-mark::after{content:"AI生成";position:absolute;right:8px;bottom:8px;z-index:3;
  padding:2px 7px;border-radius:2px;color:#fff;background:rgba(61,61,61,.78);
  font-size:13px;font-weight:400;line-height:1.6;letter-spacing:.02em;pointer-events:none;}
.ph-hero>.ai-mark{position:absolute;inset:0;}
@media(max-width:900px){
  .ph-hero-u>.ai-mark{position:relative;inset:auto;}
}

.today-bar{display:flex;align-items:center;gap:12px;min-height:32px;padding-top:0;padding-bottom:0;font-size:15.5px;line-height:1.7;color:var(--ink);white-space:nowrap;}
.today-bar #today-date{flex:none;font-variant-numeric:tabular-nums;}
.today-status{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--mute);}
.today-status.is-open{color:var(--olive);font-weight:500;}
.today-arrow{flex:none;color:var(--mute);}
.today-bar:focus-visible{outline:2px solid var(--olive);outline-offset:2px;}
@media(max-width:640px){
  .today-bar{padding-left:12px;padding-right:12px;font-size:14px;gap:8px;}
}

.nlb-tools{max-width:1040px;margin:0 auto clamp(20px,3vw,30px);background:#fff;
  border:1px solid var(--warm);border-radius:10px;padding:clamp(14px,2.4vw,22px);}
.nlb-label{display:block;font-size:14px;color:var(--olive-l);letter-spacing:.08em;margin-bottom:8px;}
.nlb-genres{display:flex;flex-wrap:wrap;gap:8px;list-style:none;}
.nlb-genres button{font:inherit;font-size:14px;line-height:1.4;color:var(--olive);cursor:pointer;
  background:var(--ivory-hi);border:1px solid var(--warm);border-radius:999px;padding:7px 14px;
  transition:background .2s,border-color .2s;}
.nlb-genres button:hover{border-color:var(--tan);}
.nlb-genres button[aria-pressed="true"]{background:var(--leaf);border-color:var(--leaf);color:var(--on-leaf);}
.nlb-genres button:focus-visible{outline:2px solid var(--olive);outline-offset:2px;}
.nlb-row{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end;margin-top:16px;}
.nlb-search{flex:1 1 260px;}
.nlb-search input{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--ivory-hi);
  border:1px solid var(--warm);border-radius:8px;padding:10px 12px;}
.nlb-sort select{font:inherit;font-size:15px;color:var(--ink);background:var(--ivory-hi);
  border:1px solid var(--warm);border-radius:8px;padding:10px 12px;}
.nlb-search input:focus,.nlb-sort select:focus{outline:2px solid var(--tan);outline-offset:1px;border-color:var(--tan);}
.nlb-count{font-size:14px;color:var(--mute);margin-top:12px;}
.nlb-count button{font:inherit;font-size:14px;color:var(--olive);background:none;border:0;
  text-decoration:underline;cursor:pointer;margin-left:8px;padding:0;}
.nlb-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,2.4vw,26px);max-width:1040px;margin:0 auto;}
@media(min-width:720px){.nlb-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(min-width:1000px){.nlb-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
.nlb-grid li[hidden]{display:none;}
.nlb-card{display:flex;flex-direction:column;height:100%;background:#fff;
  border:1px solid var(--warm);border-radius:10px;overflow:hidden;
  box-shadow:0 3px 12px rgba(74,51,36,.06);transition:transform .2s,box-shadow .2s,border-color .2s;}
.nlb-card:hover{transform:translateY(-3px);border-color:var(--tan);box-shadow:0 10px 24px rgba(74,51,36,.12);}
.nlb-card:focus-visible{outline:2px solid var(--tan);outline-offset:3px;}
.nlb-thumb{position:relative;aspect-ratio:520/736;background:var(--ivory-mid);overflow:hidden;
  border-bottom:1px solid var(--warm);}
.nlb-thumb img{width:100%;height:100%;object-fit:cover;object-position:top;}
.nlb-open{position:absolute;right:8px;bottom:8px;font-size:13px;line-height:1;letter-spacing:.04em;
  color:var(--olive);background:rgba(253,250,241,.95);border:1px solid var(--gold-thread);
  border-radius:999px;padding:8px 12px;}
.nlb-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;flex:1;}
.nlb-date{font-size:13px;letter-spacing:.08em;color:var(--olive-l);}
.nlb-name{font-size:16px;line-height:1.6;color:var(--olive);font-weight:500;}
.nlb-desc{font-size:14px;line-height:1.75;color:var(--ink);}
.nlb-tags{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:auto;padding-top:6px;}
.nlb-tags span{font-size:13px;line-height:1.4;color:var(--olive-l);border:1px solid var(--warm);
  border-radius:999px;padding:2px 9px;background:var(--ivory-hi);}
@media(max-width:480px){
  .nlb-body{padding:10px 10px 12px;}
  .nlb-desc{display:none;}  
  .nlb-name{font-size:15px;}
}
.nlb-empty{text-align:center;font-size:15.5px;color:var(--mute);padding:30px 0;}
.nlb-note{text-align:center;font-size:14px;color:var(--mute);margin-top:clamp(22px,3vw,34px);line-height:1.9;}
.nlb-after{max-width:640px;margin:0 auto;text-align:center;}
.nlb-after .kick{font-size:13px;letter-spacing:.3em;color:var(--olive-l);margin-bottom:10px;}
.nlb-after p{font-size:15.5px;line-height:2;}
.nlb-after h2+p{margin-top:14px;}
.nlb-after .cta-row{margin-top:20px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;}
@media(prefers-reduced-motion:reduce){
  .nlb-card,.nlb-genres button{transition:none;}
  .nlb-card:hover{transform:none;}
}
