:root { --tenmon-navy:#0d1b2a; --tenmon-navy-2:#162b40; --tenmon-gold:#ad7b28; --tenmon-gold-light:#e2c681; --tenmon-paper:#fbf6e9; --tenmon-ink:#17212a; --tenmon-red:#a53b2a; --tenmon-line:#19a947; }
.tenmon-sy,.tenmon-sy * { box-sizing:border-box; }
.tenmon-sy { width:min(100%,1120px); margin:0 auto; color:var(--tenmon-ink); background:#fff; overflow:hidden; font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif; font-size:16px; line-height:1.8; }
.tenmon-sy h1,.tenmon-sy h2,.tenmon-sy h3,.tenmon-sy p { margin-top:0; }
.tenmon-sy h1 { max-width:11em; margin-inline:auto; font-size:clamp(2.2rem,8vw,4.7rem); line-height:1.28; letter-spacing:.035em; text-wrap:balance; }
.tenmon-sy h2 { margin-bottom:1rem; font-size:clamp(1.55rem,6vw,2.55rem); line-height:1.42; letter-spacing:.04em; text-align:center; text-wrap:balance; }
.tenmon-sy h3 { font-size:clamp(1.14rem,4vw,1.4rem); line-height:1.5; text-wrap:balance; }
.tenmon-sy__hero { position:relative; isolation:isolate; padding:clamp(2.8rem,11vw,7rem) 1.25rem 2.6rem; text-align:center; color:var(--tenmon-paper); background:radial-gradient(circle at 50% 11%,rgba(226,198,129,.2),transparent 30%),linear-gradient(145deg,#08131f,var(--tenmon-navy-2)); }
.tenmon-sy__hero::before { content:""; position:absolute; z-index:-1; width:min(74vw,420px); aspect-ratio:1; left:50%; top:-21%; translate:-50% 0; border:1px solid rgba(226,198,129,.36); border-radius:50%; box-shadow:0 0 0 32px rgba(226,198,129,.06),0 0 0 64px rgba(226,198,129,.04); }
.tenmon-sy__eyebrow,.tenmon-sy__kicker { color:var(--tenmon-gold-light); font-family:system-ui,-apple-system,sans-serif; font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.tenmon-sy__lead { max-width:35rem; margin:0 auto 1.35rem; font-size:1rem; }
.tenmon-sy__support { display:flex; flex-wrap:wrap; justify-content:center; gap:.25rem 1rem; max-width:34rem; margin:1rem auto 0; padding:0; list-style:none; color:#eef1f4; font-family:system-ui,-apple-system,sans-serif; font-size:.82rem; }
.tenmon-sy__support li::before { content:"✓"; margin-right:.35rem; color:var(--tenmon-gold-light); font-weight:900; }
.tenmon-sy__primary { display:inline-flex; align-items:center; justify-content:center; min-height:54px; width:min(100%,390px); padding:.82rem 1.2rem; border:1px solid var(--tenmon-gold-light); border-radius:999px; background:linear-gradient(135deg,#c69338,#e4c879 48%,#b37d27); color:#101923!important; box-shadow:0 12px 28px rgba(0,0,0,.22); cursor:pointer; font-family:system-ui,-apple-system,sans-serif; font-size:1rem; font-weight:850; line-height:1.4; text-decoration:none!important; }
.tenmon-sy__primary:hover,.tenmon-sy__primary:focus-visible { filter:brightness(1.06); transform:translateY(-1px); }
.tenmon-sy__primary:focus-visible,.tenmon-sy input:focus-visible,.tenmon-sy summary:focus-visible { outline:3px solid #f3be54; outline-offset:3px; }
.tenmon-sy__primary:disabled { cursor:wait; opacity:.65; }
.tenmon-sy__section { padding:3.5rem 1.25rem; }
.tenmon-sy__section--paper { background:var(--tenmon-paper); border-block:1px solid #e6d7b8; }
.tenmon-sy__section>.tenmon-sy__kicker { text-align:center; color:#785419; }
.tenmon-sy__what,.tenmon-sy__source { text-align:center; }
.tenmon-sy__what p:not(.tenmon-sy__kicker),.tenmon-sy__source>p:not(.tenmon-sy__kicker) { max-width:710px; margin-inline:auto; }
.tenmon-sy__diagnosis { padding:3.5rem 1.25rem; text-align:center; color:var(--tenmon-paper); background:linear-gradient(145deg,#0a1724,var(--tenmon-navy-2)); }
.tenmon-sy__diagnosis h2 { color:#fff; }
.tenmon-sy__diagnosis form { max-width:520px; margin:1.5rem auto 0; }
.tenmon-sy__diagnosis label { display:block; margin-bottom:.4rem; text-align:left; font-family:system-ui,-apple-system,sans-serif; font-weight:750; }
.tenmon-sy__diagnosis input[type=date] { width:100%; min-height:54px; margin-bottom:.55rem; padding:.7rem .85rem; border:1px solid #d9c48d; border-radius:10px; background:#fff; color:#18212b; font:16px/1.4 system-ui,-apple-system,sans-serif; }
.tenmon-sy__diagnosis button { margin-top:1rem; border:0; }
.tenmon-sy__field-note { color:#d8dee5; font-family:system-ui,-apple-system,sans-serif; font-size:.8rem; text-align:left; }
.tenmon-sy__status { max-width:560px; margin:1.25rem auto 0; padding:1rem; border:1px solid #d9c48d; border-radius:12px; background:rgba(255,255,255,.08); font-family:system-ui,-apple-system,sans-serif; }
.tenmon-sy__status[data-kind=error] { border-color:#ef9b8c; }
.tenmon-sy__status[data-kind=hold] { border-color:#d6b875; }
.tenmon-sy__result { scroll-margin-top:1rem; padding:3.5rem 1.25rem; text-align:center; background:#fffaf0; border-block:2px solid var(--tenmon-gold); }
.tenmon-sy__result>.tenmon-sy__kicker { color:#79551e; }
.tenmon-sy__shuku { margin:.5rem 0 1.25rem; color:var(--tenmon-navy); font-size:clamp(2.8rem,14vw,5.25rem); font-weight:800; line-height:1.22; }
.tenmon-sy__shuku small { display:block; margin-top:.25rem; font-family:system-ui,-apple-system,sans-serif; font-size:.9rem; font-weight:500; }
.tenmon-sy__profile { max-width:760px; margin:1.5rem auto; text-align:left; }
.tenmon-sy__profile-summary,.tenmon-sy__profile-card,.tenmon-sy__reflection { padding:1.15rem; border:1px solid #dfcfaa; border-radius:14px; background:#fff; }
.tenmon-sy__profile-summary { margin-bottom:.8rem; text-align:center; }
.tenmon-sy__profile-summary h3,.tenmon-sy__profile-card h3,.tenmon-sy__reflection h3 { margin-bottom:.45rem; color:var(--tenmon-navy); }
.tenmon-sy__profile-summary p,.tenmon-sy__reflection p { margin-bottom:0; }
.tenmon-sy__profile-grid { display:grid; gap:.8rem; margin-bottom:.8rem; }
.tenmon-sy__profile-card ul,.tenmon-sy__profile-detail ul,.tenmon-sy__chat-examples { margin:0; padding-left:1.25rem; }
.tenmon-sy__profile-card li,.tenmon-sy__profile-detail li,.tenmon-sy__chat-examples li { margin:.2rem 0; }
.tenmon-sy__profile-card--caution { background:#fff9f3; }
.tenmon-sy__profile-detail { margin:.65rem 0; border:1px solid #dfcfaa; border-radius:12px; background:#fff; }
.tenmon-sy__profile-detail summary { min-height:48px; padding:.7rem 1rem; cursor:pointer; font-weight:750; }
.tenmon-sy__profile-detail p,.tenmon-sy__profile-detail ul { padding:0 1rem 1rem; }
.tenmon-sy__reflection { margin-top:.8rem; border-color:#c9a14a; background:#f3ead5; text-align:center; }
.tenmon-sy__evidence { max-width:700px; margin:1.75rem auto; padding:1.25rem; border-left:4px solid var(--tenmon-gold); background:#f3ead5; text-align:left; }
.tenmon-sy__evidence .tenmon-sy__kicker { margin-bottom:.4rem; color:#74511d; }
.tenmon-sy__evidence h3 { margin-bottom:.5rem; }
.tenmon-sy__evidence details { border-top:1px solid #d8c49b; }
.tenmon-sy__evidence summary { min-height:48px; padding:.65rem 0; cursor:pointer; font-weight:750; }
.tenmon-sy__wish { max-width:700px; margin:2rem auto 0; padding:1.35rem; border:1px solid #d4bc83; border-radius:18px; background:#fff; text-align:left; }
.tenmon-sy__wish>.tenmon-sy__kicker { margin-bottom:.35rem; color:#79551e; text-align:center; }
.tenmon-sy__wish>h3,.tenmon-sy__wish>p { text-align:center; }
.tenmon-sy__wish-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin:1rem 0 0; padding:0; border:0; }
.tenmon-sy__wish-options label { display:flex; align-items:center; gap:.6rem; min-height:52px; padding:.55rem .7rem; border:1px solid #e3d6b9; border-radius:10px; background:#faf7ef; cursor:pointer; font-family:system-ui,-apple-system,sans-serif; }
.tenmon-sy__wish-options label:has(input:checked) { border-color:var(--tenmon-gold); background:#f4ead3; box-shadow:0 0 0 2px rgba(173,123,40,.16); }
.tenmon-sy__wish-options input { flex:0 0 22px; width:22px; height:22px; accent-color:var(--tenmon-navy); }
.tenmon-sy__wish-options input:focus-visible { outline:3px solid #f3be54; outline-offset:3px; }
.tenmon-sy__wish-options input:disabled { cursor:wait; }
.tenmon-sy__wish-status { margin:.85rem 0 0; padding:.7rem .8rem; border-radius:9px; background:#eef5ea; color:#244428; font-family:system-ui,-apple-system,sans-serif; font-size:.88rem; text-align:center; }
.tenmon-sy__wish-status[data-kind=hold] { background:#fff2dd; color:#704817; }
.tenmon-sy__line-panel { max-width:700px; margin:2.5rem auto 0; padding:2rem 1.2rem; border-radius:18px; background:linear-gradient(150deg,#0c3c20,#136d32); color:#fff; box-shadow:0 16px 34px rgba(13,74,37,.18); }
.tenmon-sy__line-panel .tenmon-sy__kicker { margin-bottom:.35rem; color:#c5f1cf; }
.tenmon-sy__line-title { margin-bottom:.6rem; color:#fff; font-size:clamp(1.35rem,5vw,1.9rem)!important; }
.tenmon-sy__line { background:#28bd4c; border-color:#9ef0ad; color:#fff!important; box-shadow:0 10px 26px rgba(0,0,0,.25); }
.tenmon-sy__line-note { margin:.65rem 0 0; color:#d6f3dd; font-family:system-ui,-apple-system,sans-serif; font-size:.85rem; font-weight:700; }
.tenmon-sy__chat-examples { max-width:570px; margin:1rem auto 1.25rem; text-align:left; }
.tenmon-sy__integration-hold { max-width:520px; margin:1.25rem auto 0; padding:.9rem 1rem; border:1px solid #b6d5bd; border-radius:10px; background:#fff; color:#173421; }
.tenmon-sy__calendar { display:grid; gap:1rem; max-width:820px; margin:1.5rem auto 0; padding:1.25rem; border:1px solid #ddc995; border-radius:18px; background:#fff; text-align:left; }
.tenmon-sy__calendar-copy p { margin-bottom:.55rem; }
.tenmon-sy__calendar-copy .tenmon-sy__kicker { color:#79551e; }
.tenmon-sy__price { font-family:system-ui,-apple-system,sans-serif; color:var(--tenmon-navy); }
.tenmon-sy__price strong { margin-left:.3rem; font-size:1.2rem; }
.tenmon-sy__calendar-status { color:#6a5734; font-family:system-ui,-apple-system,sans-serif; font-size:.84rem; font-weight:700; }
.tenmon-sy__calendar-preview { display:grid; place-items:center; min-height:170px; padding:1rem; border-radius:14px; color:#f9f1dc; background:radial-gradient(circle,#28455f,#101e2c 67%); font-family:system-ui,-apple-system,sans-serif; }
.tenmon-sy__calendar-preview span { color:var(--tenmon-gold-light); font-size:.82rem; font-weight:700; }
.tenmon-sy__calendar-preview strong { font-size:2.5rem; font-family:"Yu Mincho",serif; }
.tenmon-sy__calendar-preview small { text-align:center; }
.tenmon-sy__source { background:#f5f0e4; }
.tenmon-sy__source-note { padding-top:1rem; border-top:1px solid #ded0ae; color:#635d54; font-size:.9rem; }
.tenmon-sy__faq { max-width:860px; margin-inline:auto; }
.tenmon-sy__faq details { border-bottom:1px solid #e2d7bd; }
.tenmon-sy__faq summary { min-height:52px; padding:.9rem .25rem; cursor:pointer; font-weight:750; }
.tenmon-sy__faq details p { padding:0 .25rem 1rem; }
.tenmon-sy__final { padding:3.5rem 1.25rem; text-align:center; color:#fff; background:var(--tenmon-navy); }
.tenmon-sy__final p { font-size:1.15rem; }
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
[hidden] { display:none!important; }
@media (min-width:720px) {
  .tenmon-sy__section,.tenmon-sy__diagnosis,.tenmon-sy__result,.tenmon-sy__final { padding-block:5rem; }
  .tenmon-sy__calendar { grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr); align-items:center; padding:1.75rem; }
  .tenmon-sy__wish-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tenmon-sy__profile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:359px) {
  .tenmon-sy h1 { font-size:2.05rem; }
  .tenmon-sy__support { display:grid; }
  .tenmon-sy__wish-options { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { .tenmon-sy * { scroll-behavior:auto!important; transition:none!important; } }
