@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700&family=Noto+Sans+JP:wght@400;500;700&family=Plus+Jakarta+Sans:wght@500;600&display=swap');
.otf-lp{--c-ink:#2b211a;--c-muted:#6d5c50;--c-paper:#fdfaf7;--c-paper2:#f5ede6;--c-tint:#eee0d4;--c-acc:#b8642c;--c-acc-soft:#d9a37d;--c-dark:#3a2418;--c-dark2:#28170f;--c-line:#e5d7ca;
--tommy-header-bg:#fdfaf7;--tommy-header-color:#2b211a;--tommy-header-accent:#b8642c;
--tommy-cta-bg:#b8642c;--tommy-cta-color:#fff;--tommy-cta-accent:#d9a37d;
--tommy-footer-bg:#28170f;--tommy-footer-color:#eee0d4;
--tommy-market-accent:#b8642c;--tommy-market-line:#e5d7ca;
font-family:'Noto Sans JP',sans-serif;color:var(--c-ink);background:var(--c-paper);line-height:1.9;font-size:15px;}
.otf-lp *{box-sizing:border-box}
.otf-lp img{max-width:100%}
.otf-wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.otf-lp h1,.otf-lp h2,.otf-lp h3{font-family:'Noto Serif JP',serif;font-weight:600;line-height:1.5;margin:0}
.otf-eyebrow{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--c-acc-soft);margin:0 0 12px}
.otf-lp section:not(.tommy-cta){padding:78px 0}
.otf-lp p{margin:0 0 16px;font-size:14.5px}
.js-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js-reveal{opacity:1;transform:none;transition:none}}

.otf-hero{background:var(--c-paper);padding:90px 0 70px}
.otf-hero h1{font-size:clamp(21px,2.9vw,34px);letter-spacing:.02em;max-width:840px}
.otf-hero__loc{display:inline-block;font-size:12px;letter-spacing:.14em;color:var(--c-acc);background:var(--c-tint);padding:5px 13px;margin-bottom:16px}
.otf-hero__cols{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:30px}
.otf-hero__cols p{color:var(--c-muted);margin:0}
.otf-band{background:var(--c-tint);padding:0}
.otf-band__row{display:grid;grid-template-columns:repeat(4,1fr)}
.otf-band__i{padding:24px 16px;border-right:1px solid var(--c-line)}
.otf-band__i:last-child{border-right:0}
.otf-band dt{font-size:10.5px;letter-spacing:.16em;color:var(--c-acc);margin-bottom:6px}
.otf-band dd{margin:0;font-family:'Noto Serif JP',serif;font-size:16.5px;font-weight:600}

.otf-three{background:var(--c-paper)}
.otf-three h2{font-size:clamp(19px,2.5vw,27px);margin-bottom:26px}
.otf-three__r{display:grid;grid-template-columns:150px 1fr;gap:30px;padding:26px 0;border-top:1px solid var(--c-line);align-items:start}
.otf-three__r:last-of-type{border-bottom:1px solid var(--c-line)}
.otf-three .otf-three__k{font-family:'Noto Serif JP',serif;font-size:clamp(22px,3vw,28px);font-weight:600;color:var(--c-acc);margin:0}
.otf-three__en{font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;letter-spacing:.18em;color:var(--c-acc-soft);margin:6px 0 0}
.otf-three__b h3{font-size:16px;margin-bottom:8px}
.otf-three__b p{margin:0;font-size:14px;color:var(--c-muted)}

.otf-view{background:var(--c-dark);color:#eee0d4}
.otf-view h2{font-size:clamp(19px,2.5vw,27px);color:#fff;margin-bottom:14px}
.otf-view .otf-eyebrow{color:#dda87f}
.otf-view__in{display:grid;grid-template-columns:1fr 1fr;gap:46px}
.otf-view p{color:#cbb8a9}

.otf-fac{background:var(--c-paper2)}
.otf-fac h2{font-size:clamp(19px,2.5vw,27px);margin-bottom:20px}
.otf-fac__r{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:20px 0;border-top:1px solid var(--c-line)}
.otf-fac__r:last-of-type{border-bottom:1px solid var(--c-line)}
.otf-fac__k{font-family:'Noto Serif JP',serif;font-size:15px;font-weight:600;color:var(--c-acc)}
.otf-fac__v{margin:0;font-size:14px;color:var(--c-muted)}

.otf-mem{background:var(--c-paper)}
.otf-mem h2{font-size:clamp(19px,2.5vw,27px);margin-bottom:24px}
.otf-mem__t{width:100%;border-collapse:collapse;border:1px solid var(--c-line)}
.otf-mem__t th,.otf-mem__t td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--c-line);font-size:14px;vertical-align:top}
.otf-mem__t th{width:180px;background:var(--c-paper2);font-weight:500;color:var(--c-acc);font-size:13px}
.otf-mem__t tr:last-child th,.otf-mem__t tr:last-child td{border-bottom:0}
.otf-note{font-size:12px;color:var(--c-muted);margin-top:14px}

.otf-acc{background:var(--c-tint)}
.otf-acc h2{font-size:clamp(19px,2.5vw,27px);margin-bottom:22px}
.otf-acc__in{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.otf-acc__c{background:var(--c-paper);padding:26px 24px}
.otf-acc__c h3{font-size:15px;color:var(--c-acc);margin-bottom:10px}
.otf-acc__c p{margin:0;font-size:14px;color:var(--c-muted)}

.otf-mk{background:var(--c-paper)}
.otf-mk h2{font-size:clamp(19px,2.5vw,27px);margin-bottom:20px}

@media(max-width:820px){
.otf-lp section:not(.tommy-cta){padding:52px 0}
.otf-hero{padding:54px 0 40px}
.otf-hero__cols,.otf-view__in,.otf-acc__in{grid-template-columns:1fr;gap:20px}
.otf-band__row{grid-template-columns:1fr 1fr}
.otf-band__i{border-bottom:1px solid var(--c-line)}
.otf-band__i:nth-child(2n){border-right:0}
.otf-three__r{grid-template-columns:1fr;gap:8px;padding:20px 0}
.otf-three__en{margin-top:2px}
.otf-fac__r{grid-template-columns:1fr;gap:6px;padding:16px 0}
.otf-mem__t th,.otf-mem__t td{display:block;width:auto}
.otf-mem__t th{border-bottom:0}
}
.otf-lp > .tommy-cta-buttons{padding:44px max(24px,calc((100% - 1030px)/2));background:var(--c-paper2)}
@media(max-width:860px){.otf-lp > .tommy-cta-buttons{padding:32px 18px}}
