/* TOMORI Treatment — all styles scoped so existing WordPress themes remain untouched */
#tomori-treatment.ttw{--ink:#2d2925;--sub:#6c645d;--paper:#fbfaf7;--ivory:#f4efe8;--sand:#e9dfd2;--deep:#302823;--line:#dcd2c7;--accent:#a17d66;color:var(--ink);background:var(--paper);font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;line-height:1.92;letter-spacing:.019em;font-size:15px;overflow:clip}
#tomori-treatment.ttw,#tomori-treatment.ttw *{box-sizing:border-box}
#tomori-treatment.ttw *{min-width:0}
#tomori-treatment.ttw img{display:block;max-width:100%;width:100%;height:100%;object-fit:cover}
#tomori-treatment.ttw a{color:inherit;text-decoration:none}
#tomori-treatment.ttw .wrap{width:min(1120px,88vw);margin-inline:auto}
#tomori-treatment.ttw .narrow{max-width:780px}
#tomori-treatment.ttw .eyebrow{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:#8b8075;margin-bottom:17px}
#tomori-treatment.ttw h1,#tomori-treatment.ttw h2,#tomori-treatment.ttw h3,#tomori-treatment.ttw h4,#tomori-treatment.ttw p{margin-top:0}
#tomori-treatment.ttw h2{font-size:clamp(28px,3.4vw,45px);line-height:1.58;font-weight:500;letter-spacing:.035em;margin-bottom:26px}
#tomori-treatment.ttw p{font-size:15px;line-height:2;margin-bottom:18px}
#tomori-treatment.ttw strong{font-weight:600}
#tomori-treatment.ttw .btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;padding:13px 24px;font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif;letter-spacing:.10em;font-size:12px;min-height:44px}
#tomori-treatment.ttw .hero{min-height:90svh;position:relative;overflow:hidden;color:#fff;background:#211c19}
#tomori-treatment.ttw .hero>img{position:absolute;inset:0;object-position:center 45%}
#tomori-treatment.ttw .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,23,20,.76),rgba(28,23,20,.28) 62%,rgba(28,23,20,.12))}
#tomori-treatment.ttw .hero-copy{position:relative;z-index:2;width:min(1000px,88vw);margin-inline:auto;min-height:90svh;display:flex;flex-direction:column;justify-content:flex-end;padding:90px 0 10vh}
#tomori-treatment.ttw .hero .eyebrow{color:#f1eae1}
#tomori-treatment.ttw .hero h1{font-size:clamp(36px,4.8vw,64px);line-height:1.45;font-weight:500;letter-spacing:.023em;margin-bottom:25px}
#tomori-treatment.ttw .hero .lead{font-size:clamp(15px,1.45vw,18px);line-height:2.05;max-width:710px}
#tomori-treatment.ttw .signature{margin-top:29px;padding-top:16px;border-top:1px solid #ffffff70;font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif;font-size:12px;letter-spacing:.08em}
#tomori-treatment.ttw .signature strong{display:block;font-size:12px;letter-spacing:.13em;margin-bottom:8px}
#tomori-treatment.ttw .section{padding:122px 0}
#tomori-treatment.ttw .section.alt{background:var(--ivory)}
#tomori-treatment.ttw .section.philosophy{background:var(--deep);color:#fbf6f1}
#tomori-treatment.ttw .split{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
#tomori-treatment.ttw .photo{height:570px;overflow:hidden;border-radius:1px}
#tomori-treatment.ttw .photo img{object-position:center 45%}
#tomori-treatment.ttw .quote{font-size:24px;line-height:1.86;margin:36px 0;letter-spacing:.035em}
#tomori-treatment.ttw .philosophy .eyebrow{color:#c0b2a4}
#tomori-treatment.ttw .philosophy p{color:#e7ddd4}
#tomori-treatment.ttw .philosophy .quote{color:#fff;letter-spacing:0;line-height:1.9;font-size:20px}
#tomori-treatment.ttw .ttw-quote-line{display:block;white-space:nowrap}
#tomori-treatment.ttw .keyline{font-size:20px;margin-top:26px}
#tomori-treatment.ttw .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}
#tomori-treatment.ttw .grid3 .card{padding:0 0 22px;background:#fff;border:1px solid var(--line);overflow:hidden}
#tomori-treatment.ttw .ttw-card-photo{width:100%;height:220px;object-fit:cover;margin-bottom:24px}
#tomori-treatment.ttw .card h3{font-size:19px;line-height:1.65;font-weight:500;margin:0 24px 10px}
#tomori-treatment.ttw .card p{font-size:13px;color:var(--sub);margin:0 24px;line-height:1.95}
#tomori-treatment.ttw .gallery{display:grid;grid-template-columns:1.05fr .95fr .95fr;gap:10px;margin-top:45px}
#tomori-treatment.ttw .gallery>div{height:320px;overflow:hidden}
#tomori-treatment.ttw .gallery img{object-position:center 45%}
#tomori-treatment.ttw .touch-strip{background:#fff;padding:0 0 125px}
#tomori-treatment.ttw .touch-strip .wrap{width:min(1180px,92vw)}
#tomori-treatment.ttw .touch-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:10px}
#tomori-treatment.ttw .touch-grid figure{margin:0;position:relative;height:375px;overflow:hidden}
#tomori-treatment.ttw .touch-grid figure:first-child{grid-row:span 2;height:760px}
#tomori-treatment.ttw .touch-grid figure:nth-child(4){grid-column:2/-1}
#tomori-treatment.ttw .touch-grid figcaption,#tomori-treatment.ttw .detail-photos figcaption{position:absolute;left:15px;bottom:13px;padding:5px 11px;color:#fff;background:rgba(41,35,30,.5);font-size:10px;font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif;letter-spacing:.12em}
#tomori-treatment.ttw .flow{counter-reset:ttw-step;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:47px}
#tomori-treatment.ttw .step{background:#fff;border:1px solid var(--line);padding:25px;min-height:242px}
#tomori-treatment.ttw .step::before{counter-increment:ttw-step;content:"0" counter(ttw-step);display:block;font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif;font-size:10px;color:#aa9b8d;margin-bottom:17px}
#tomori-treatment.ttw .step-icon{width:40px;height:40px;color:#796858;margin-bottom:14px}
#tomori-treatment.ttw .step-icon svg{display:block;width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#tomori-treatment.ttw .step h3{font-size:17px;font-weight:500;line-height:1.6;margin-bottom:10px}
#tomori-treatment.ttw .step p{color:var(--sub);font-size:13px;line-height:1.85;margin-bottom:0}
#tomori-treatment.ttw .detail-photos{margin-top:53px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
#tomori-treatment.ttw .detail-photos figure{position:relative;margin:0;height:330px;overflow:hidden}
#tomori-treatment.ttw .detail-photos figure:nth-child(2) img{object-position:center 40%}
#tomori-treatment.ttw .forwho{background:#eee6dc}
#tomori-treatment.ttw .forwho-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cbbeb1}
#tomori-treatment.ttw .forwho-list>div{font-size:14px;padding:17px 20px 17px 0;border-bottom:1px solid #cbbeb1}
#tomori-treatment.ttw .forwho-list>div:nth-child(even){padding-left:20px;border-left:1px solid #cbbeb1}
#tomori-treatment.ttw .menu{background:#fff}
#tomori-treatment.ttw .menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:43px}
#tomori-treatment.ttw .menu-card{border:1px solid var(--line);background:#fff;padding:28px}
#tomori-treatment.ttw .menu-card.reco{background:#f8f3ec}
#tomori-treatment.ttw .menu-card .minutes{font-size:28px;line-height:1.5;margin-bottom:5px}
#tomori-treatment.ttw .menu-card .price{font-size:20px;margin-bottom:13px}
#tomori-treatment.ttw .menu-card .tag{color:#91745b;font-size:10px;letter-spacing:.14em;font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif}
#tomori-treatment.ttw .menu-card p{font-size:13px;color:var(--sub);margin:0}
#tomori-treatment.ttw .note{font-size:11px;color:#7e736a;margin-top:24px}
#tomori-treatment.ttw .about-mini{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center}
#tomori-treatment.ttw .portrait{aspect-ratio:1;overflow:hidden}
#tomori-treatment.ttw .about-mini p{font-size:14px}
#tomori-treatment.ttw .cta{padding:110px 0;text-align:center;background:var(--deep);color:white}
#tomori-treatment.ttw .cta .eyebrow{color:#c0afa0}
#tomori-treatment.ttw .cta p{color:#e5dcd4}
#tomori-treatment.ttw .cta .btn{margin-top:14px}
#tomori-treatment.ttw .evidence{background:#f3eee8;padding:70px 0}
#tomori-treatment.ttw .evidence h2{font-size:21px;margin-bottom:16px}
#tomori-treatment.ttw .evidence p,#tomori-treatment.ttw .evidence li{font-size:12px;color:var(--sub);line-height:1.9}
#tomori-treatment.ttw .evidence ul{padding-left:18px;margin-top:10px}
#tomori-treatment.ttw .evidence li{margin-bottom:10px}
#tomori-treatment.ttw .evidence a{border-bottom:1px solid #a99e92}
/* Genuine visual diagram; semantic comparison remains readable by search engines and screen readers */
#tomori-treatment.ttw .science{background:#f5f0e9}
#tomori-treatment.ttw .science-lead{max-width:790px}
#tomori-treatment.ttw .nervous-infographic{display:grid;grid-template-columns:1fr 84px 1fr;align-items:stretch;gap:6px;margin-top:46px}
#tomori-treatment.ttw .mode-stage{border:1px solid #dacdc0;padding:28px 28px 32px;background:#ede6df;position:relative;overflow:hidden}
#tomori-treatment.ttw .mode-rest{background:#edf0e8;border-color:#d2d7c9}
#tomori-treatment.ttw .mode-topline{font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif;letter-spacing:.15em;font-size:10px;text-align:center;color:#86796e;border-bottom:1px solid #d0c2b5;padding-bottom:13px}
#tomori-treatment.ttw .mode-figure{height:165px;max-width:240px;margin:11px auto 10px;color:#977e6e}
#tomori-treatment.ttw .mode-rest .mode-figure{color:#788674}
#tomori-treatment.ttw .mode-figure svg{display:block;width:100%;height:100%}
#tomori-treatment.ttw .mode-stage h3{text-align:center;font-size:17px;font-weight:500;line-height:1.55;margin:0 0 25px;min-height:54px}
#tomori-treatment.ttw .mode-signs{border-top:1px solid #d0c2b5}
#tomori-treatment.ttw .mode-signs>div{display:flex;gap:12px;align-items:center;border-bottom:1px solid #d7cabf;padding:12px 1px;font-size:12.5px;line-height:1.65}
#tomori-treatment.ttw .mode-signs>div>span:first-child{font-size:24px;min-width:30px;text-align:center;color:#9b8573;font-family:Georgia,serif}
#tomori-treatment.ttw .mode-rest .mode-signs{border-color:#c9cfc1}
#tomori-treatment.ttw .mode-rest .mode-signs>div{border-color:#cfd6c9}
#tomori-treatment.ttw .mode-rest .mode-signs>div>span:first-child{color:#818e77}
#tomori-treatment.ttw .mode-transition{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:#907865;font-size:13px;letter-spacing:.08em;white-space:nowrap}
#tomori-treatment.ttw .mode-transition .mode-line{height:30px;width:1px;background:#cbbdae}
#tomori-treatment.ttw .mode-transition svg{width:62px;height:62px}
#tomori-treatment.ttw .info-answer{max-width:920px;margin:48px auto 0;display:flex;gap:30px;align-items:flex-start}
#tomori-treatment.ttw .info-answer-marker{font-size:44px;color:#a88c75;line-height:1}
#tomori-treatment.ttw .info-answer p{font-size:14.5px}
#tomori-treatment.ttw .info-answer strong{font-size:17px;font-weight:500}
#tomori-treatment.ttw .science-note{max-width:900px;margin:26px auto 0;color:#81766b;font-size:11px;line-height:1.9}
@media(max-width:980px){#tomori-treatment.ttw .nervous-infographic{grid-template-columns:1fr 55px 1fr}#tomori-treatment.ttw .mode-stage{padding:22px 17px}#tomori-treatment.ttw .mode-transition svg{width:48px}#tomori-treatment.ttw .philosophy .quote{font-size:16px}}
@media(max-width:820px){
 #tomori-treatment.ttw{font-size:13.5px;line-height:2}
 #tomori-treatment.ttw .wrap{width:90vw}
 #tomori-treatment.ttw .section{padding:88px 0}
 #tomori-treatment.ttw h2{font-size:23px;line-height:1.72}
 #tomori-treatment.ttw p{font-size:13.5px}
 #tomori-treatment.ttw .hero,#tomori-treatment.ttw .hero-copy{min-height:80svh}
 #tomori-treatment.ttw .hero-copy{width:90vw;padding:70px 0 8vh}
 #tomori-treatment.ttw .hero h1{font-size:30px}
 #tomori-treatment.ttw .hero .lead{font-size:13.5px}
 #tomori-treatment.ttw .hero>img{object-position:59% center}
 #tomori-treatment.ttw .signature{font-size:10px}
 #tomori-treatment.ttw .split,#tomori-treatment.ttw .about-mini{grid-template-columns:1fr;gap:37px}
 #tomori-treatment.ttw .photo{height:73vw;min-height:315px}
 #tomori-treatment.ttw .quote{font-size:19px;margin:28px 0}
 #tomori-treatment.ttw .philosophy .quote{font-size:clamp(11px,2.75vw,15px);letter-spacing:0;line-height:2;white-space:nowrap}
 #tomori-treatment.ttw .grid3,#tomori-treatment.ttw .flow,#tomori-treatment.ttw .menu-grid{grid-template-columns:1fr}
 #tomori-treatment.ttw .grid3{gap:18px}
 #tomori-treatment.ttw .ttw-card-photo{height:210px}
 #tomori-treatment.ttw .flow{gap:14px}
 #tomori-treatment.ttw .step{min-height:0}
 #tomori-treatment.ttw .gallery{grid-template-columns:1fr 1fr;gap:8px}
 #tomori-treatment.ttw .gallery>div{height:54vw;min-height:200px}
 #tomori-treatment.ttw .gallery>div:first-child{grid-column:1/-1;height:67vw}
 #tomori-treatment.ttw .touch-strip{padding-bottom:86px}
 #tomori-treatment.ttw .touch-grid{grid-template-columns:1fr 1fr;gap:8px}
 #tomori-treatment.ttw .touch-grid figure,#tomori-treatment.ttw .touch-grid figure:first-child{height:54vw;min-height:175px;grid-row:auto;grid-column:auto}
 #tomori-treatment.ttw .touch-grid figure:first-child{grid-column:1/-1;height:68vw}
 #tomori-treatment.ttw .touch-grid figure:nth-child(4){grid-column:1/-1;height:56vw}
 #tomori-treatment.ttw .detail-photos{gap:8px}
 #tomori-treatment.ttw .detail-photos figure{height:55vw;min-height:200px}
 #tomori-treatment.ttw .forwho-list{grid-template-columns:1fr}
 #tomori-treatment.ttw .forwho-list>div,#tomori-treatment.ttw .forwho-list>div:nth-child(even){border-left:0;padding:15px 0}
 #tomori-treatment.ttw .nervous-infographic{grid-template-columns:1fr;gap:0;margin-top:31px}
 #tomori-treatment.ttw .mode-stage{padding:22px 24px}
 #tomori-treatment.ttw .mode-topline{font-size:10px}
 #tomori-treatment.ttw .mode-stage h3{min-height:0}
 #tomori-treatment.ttw .mode-figure{height:135px}
 #tomori-treatment.ttw .mode-transition{padding:14px 0;gap:3px}
 #tomori-treatment.ttw .mode-transition .mode-line{display:none}
 #tomori-treatment.ttw .mode-transition svg{height:46px;width:46px;transform:rotate(90deg)}
 #tomori-treatment.ttw .info-answer{gap:13px;margin-top:28px}
 #tomori-treatment.ttw .info-answer-marker{font-size:31px}
 #tomori-treatment.ttw .info-answer p{font-size:13px}
 #tomori-treatment.ttw .info-answer strong{font-size:14px}
}
@media(max-width:360px){#tomori-treatment.ttw .philosophy .quote{font-size:10.2px}#tomori-treatment.ttw .hero h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){#tomori-treatment.ttw *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Keep theme paragraph tracking from changing the supplied composition. */
#tomori-treatment.ttw p{letter-spacing:inherit}
