.thcf,.thcf-entry{--thcf-ink:#223c32;--thcf-green:#35594b;--thcf-clay:#98512e;--thcf-paper:#fffdf8;--thcf-soft:#f2eee4;--thcf-line:#d8d7cc;--thcf-muted:#58665e;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.9;color:var(--thcf-ink);text-align:left;letter-spacing:.025em;box-sizing:border-box}
.thcf *,.thcf-entry *{box-sizing:border-box}
.thcf{max-width:1200px;margin:0 auto;background:var(--thcf-paper);isolation:isolate}
.thcf [hidden],.thcf-entry[hidden]{display:none!important}
.thcf h1,.thcf h2,.thcf h3,.thcf p,.thcf ul,.thcf ol,.thcf figure{padding:0;margin:0;background:none;border:0;color:inherit}
.thcf h1:before,.thcf h1:after,.thcf h2:before,.thcf h2:after,.thcf h3:before,.thcf h3:after{display:none}
.thcf h1{font-size:clamp(30px,3.6vw,49px);line-height:1.55;font-weight:700;letter-spacing:.04em}
.thcf h2{font-size:clamp(25px,2.5vw,34px);line-height:1.6;font-weight:700;margin-bottom:22px}
.thcf h3{font-size:19px;line-height:1.7;margin-bottom:10px;font-weight:700}
.thcf p+p{margin-top:16px}
.thcf h1 em{font-style:normal;color:var(--thcf-clay)}
.thcf p.thcf-eyebrow,.thcf-entry .thcf-eyebrow{font-size:12px;letter-spacing:.15em;font-weight:700;color:var(--thcf-clay);margin:0 0 18px}
.thcf .thcf-muted{color:var(--thcf-muted);font-size:14px}
.thcf .thcf-footnote{font-size:12px;line-height:1.8;margin-top:24px;color:var(--thcf-muted)}
.thcf a,.thcf-entry a{color:var(--thcf-ink);text-decoration:underline;text-underline-offset:4px}
.thcf button,.thcf-entry button,.thcf select{font:inherit;letter-spacing:inherit}
.thcf button,.thcf-entry button{cursor:pointer}
.thcf :focus-visible,.thcf-entry :focus-visible{outline:3px solid #9f542d;outline-offset:5px}
.thcf .thcf-button,.thcf-entry .thcf-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:15px 23px;border:1px solid var(--thcf-clay);border-radius:7px;background:var(--thcf-clay);color:#fff;font-size:15px;font-weight:700;line-height:1.7;text-decoration:none;text-align:center;transition:background .16s,transform .16s;box-shadow:none}
.thcf .thcf-button:hover,.thcf-entry .thcf-button:hover{background:#7e4226;transform:translateY(-1px)}
.thcf .thcf-secondary{border-color:var(--thcf-green);color:var(--thcf-green);background:transparent}
.thcf .thcf-secondary:hover{background:#e5ebe5}
.thcf button:disabled{cursor:not-allowed;background:#deddd4!important;color:#62655c!important;border-color:#deddd4!important;transform:none!important}
.thcf .thcf-text{display:inline-block;background:none;border:0;padding:12px 8px;min-height:44px;color:var(--thcf-ink);font-size:14px;text-decoration:underline;text-underline-offset:4px}
.thcf .thcf-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.thcf .thcf-badges{display:flex;gap:9px;list-style:none;flex-wrap:wrap;margin-top:25px}
.thcf-badges li{font-size:12px;padding:5px 11px;background:#fffdf8;border:1px solid var(--thcf-line);border-radius:30px}
.thcf .thcf-hero{display:grid;grid-template-columns:1.08fr .92fr;background:var(--thcf-soft)}
.thcf .thcf-hero-copy{padding:55px 35px 45px 45px}
.thcf .thcf-hero-lead{font-size:22px;font-weight:600;line-height:1.7;margin:22px 0}
.thcf .thcf-hero-copy>p:not([class]){font-size:15px}
.thcf .thcf-hero-photo{display:flex;flex-direction:column;justify-content:center;padding:36px 26px;background:#365647}
.thcf-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:9px 9px 0 0}
.thcf .thcf-photo-caption{display:grid;grid-template-columns:1fr auto;gap:8px 15px;padding:22px 24px;background:var(--thcf-paper);border-radius:0 0 9px 9px;align-items:center}
.thcf-photo-caption b{font-size:23px;letter-spacing:.12em}
.thcf-photo-caption span{font-size:12px}
.thcf-photo-caption small{grid-column:1/-1;font-size:12px;color:var(--thcf-muted)}
.thcf .thcf-section{padding:66px 55px}
.thcf .thcf-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
.thcf-grid article{padding:26px;background:var(--thcf-soft);border-top:3px solid #80917e}
.thcf-grid article span{display:block;font-size:12px;color:var(--thcf-clay);margin-bottom:15px}
.thcf-grid article p{font-size:15px}
.thcf .thcf-soft{background:var(--thcf-soft)}
.thcf .thcf-timeline{list-style:none;margin-top:32px}
.thcf-timeline li{display:grid;grid-template-columns:112px 1fr;gap:22px;padding:20px 0;border-top:1px solid var(--thcf-line)}
.thcf-timeline li>b{font-size:23px;color:var(--thcf-clay)}
.thcf-timeline h3{margin:0}
.thcf-timeline p{font-size:15px}
.thcf .thcf-promises{display:grid;grid-template-columns:1fr 1.15fr;gap:36px;background:var(--thcf-green);color:#fff}
.thcf-promises p.thcf-eyebrow{color:#e3bb99}
.thcf-promises ul{list-style:none}
.thcf-promises li{padding:12px 0 12px 25px;border-bottom:1px solid #6b8779;position:relative}
.thcf-promises li:before{content:'✓';position:absolute;left:0;color:#e3bb99}
.thcf .thcf-adviser{display:grid;grid-template-columns:.8fr 1fr;gap:36px;align-items:center}
.thcf-adviser img{width:100%;height:auto;display:block;border-radius:8px}
.thcf-adviser h2 small{font-size:13px;display:block;margin-top:7px;font-weight:400}
.thcf-adviser>div>small{display:block;font-size:12px;color:var(--thcf-muted);margin-top:18px}
.thcf details{padding:20px 0;border-bottom:1px solid var(--thcf-line)}
.thcf summary{cursor:pointer;font-size:17px;font-weight:600;min-height:36px}
.thcf details p{padding:16px 0 0;color:var(--thcf-muted)}
.thcf .thcf-booking{background:var(--thcf-soft);scroll-margin-top:100px}
.thcf .thcf-theme{margin:24px 0;max-width:520px}
.thcf-theme label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}
.thcf-theme select{width:100%;max-width:100%;padding:13px 10px;background:#fff;color:var(--thcf-ink);border:1px solid #819386;border-radius:5px;font-size:16px;min-height:50px}
.thcf .thcf-booking-status{padding:18px 24px;border:1px solid #ceba9c;background:var(--thcf-paper);border-radius:6px;max-width:580px;font-weight:600}
.thcf [data-booking-content]{margin:24px 0}
.thcf .thcf-final{display:flex;justify-content:space-between;align-items:center;gap:25px}
.thcf-final h2{font-size:27px}
.thcf .thcf-intro{padding:52px 45px;text-align:center;background:var(--thcf-soft)}
.thcf-intro>p:not([class]){margin-top:20px}
.thcf-intro .thcf-badges{justify-content:center}
.thcf .thcf-quiz{max-width:800px;margin:38px auto 55px;border:1px solid var(--thcf-line);padding:38px;border-radius:14px;background:#fff}
.thcf-progress-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:14px;color:var(--thcf-muted)}
.thcf progress{display:block;width:100%;height:6px;border:0;border-radius:10px;background:#e8ebe5;margin:0 0 32px;accent-color:var(--thcf-green)}
.thcf progress::-webkit-progress-bar{background:#e8ebe5;border-radius:10px}
.thcf progress::-webkit-progress-value{background:var(--thcf-green);border-radius:10px}
.thcf [data-question-title]{font-size:27px;margin:0 0 14px}
.thcf .thcf-answers{margin:24px 0 0;padding:0;border:0;display:grid;gap:11px;min-width:0}
.thcf-answers label{display:flex;align-items:center;gap:13px;padding:16px 18px;min-height:62px;border:1px solid var(--thcf-line);border-radius:8px;cursor:pointer;font-size:16px;background:var(--thcf-paper);line-height:1.7}
.thcf-answers label:has(input:checked){background:#eaf0e8;border-color:var(--thcf-green);box-shadow:inset 0 0 0 1px var(--thcf-green)}
.thcf-answers input{width:19px;height:19px;flex:0 0 19px;accent-color:var(--thcf-green);margin:0}
.thcf .thcf-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:28px}
.thcf-controls [data-reset]{margin-right:auto}
.thcf .thcf-result{display:grid;grid-template-columns:1fr 310px;gap:30px;padding:42px 38px}
.thcf .thcf-result-label{display:inline-block;margin:0 0 18px;padding:7px 14px;border-radius:30px;background:#e5eee6;font-size:13px;font-weight:600}
.thcf [data-result-title]{font-size:29px}
.thcf [data-result-text]{color:var(--thcf-muted);margin-bottom:32px}
.thcf .thcf-checks{list-style:none;counter-reset:check;margin:15px 0 25px}
.thcf-checks li{counter-increment:check;background:var(--thcf-soft);border-left:3px solid #9d734c;padding:15px;margin:9px 0;font-size:15px;display:flex;gap:14px}
.thcf-checks li:before{content:'0' counter(check);font-weight:700;color:var(--thcf-clay)}
.thcf .thcf-result-actions{display:grid;gap:12px;margin:20px 0}
.thcf .thcf-profile{border:1px solid var(--thcf-line);border-radius:9px;overflow:hidden;background:var(--thcf-soft);align-self:start;padding-bottom:22px}
.thcf-profile img{display:block;width:100%;height:auto}
.thcf-profile>small{display:block;padding:13px 18px 0;font-size:11px;color:var(--thcf-muted)}
.thcf-profile h3{margin:15px 18px 0;font-size:22px}
.thcf-profile p{margin:0 18px;font-size:13px}
.thcf-profile ul{margin:18px 18px 0;padding-left:20px;font-size:12px}
.thcf-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.thcf-entry{padding:24px;background:var(--thcf-paper);border:1px solid var(--thcf-line);border-radius:12px}
.thcf-entry h2{font-size:22px;line-height:1.5;margin:9px 20px 12px 0;font-weight:700;color:var(--thcf-ink)}
.thcf-entry p{font-size:13px;line-height:1.8;margin:0 0 16px}
.thcf-entry .thcf-eyebrow{font-size:12px;margin-bottom:10px}
.thcf-entry .thcf-button{width:100%}
.thcf-entry small{display:block;font-size:11px;color:var(--thcf-muted);margin-top:10px}
.thcf-entry-pc{position:fixed;z-index:900;right:28px;bottom:var(--thcf-bottom,28px);width:345px;max-height:calc(100vh - 140px);overflow:auto;box-shadow:0 12px 45px #1e392a24;animation:thcf-enter .25s ease-out}
.thcf-entry-pc [data-close]{position:absolute;right:7px;top:6px;border:0;border-radius:50%;background:#edeade;color:#244535;width:36px;height:36px;line-height:1;font-size:24px}
.thcf-entry-mobile{display:none;margin:22px 16px;background:#edf1e8}
@keyframes thcf-enter{from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:800px){.thcf .thcf-hero{grid-template-columns:1fr}.thcf .thcf-hero-copy{padding:40px 24px}.thcf .thcf-hero-photo{padding:24px}.thcf-hero-photo img{max-height:370px}.thcf .thcf-section{padding:46px 24px}.thcf .thcf-promises,.thcf .thcf-adviser{grid-template-columns:1fr;gap:24px}.thcf .thcf-quiz{margin:25px 16px;padding:26px}.thcf .thcf-result{grid-template-columns:1fr;padding:28px 20px}.thcf .thcf-profile{max-width:430px}.thcf .thcf-final{flex-direction:column;align-items:flex-start}.thcf-entry-pc{display:none!important}.thcf-entry-mobile{display:block}}
@media(max-width:540px){.thcf{font-size:15px}.thcf h1{font-size:31px}.thcf .thcf-hero-lead{font-size:21px}.thcf .thcf-grid{grid-template-columns:1fr}.thcf .thcf-intro{padding:34px 18px}.thcf .thcf-intro h1{font-size:28px}.thcf .thcf-quiz{margin:18px 12px;padding:23px 17px}.thcf [data-question-title]{font-size:22px}.thcf-answers label{padding:14px 12px;font-size:15px}.thcf .thcf-controls{gap:5px;flex-wrap:wrap}.thcf .thcf-controls .thcf-button{padding:12px 17px}.thcf .thcf-result{padding:24px 18px}.thcf [data-result-title]{font-size:25px}.thcf .thcf-actions{display:grid}.thcf .thcf-timeline li{grid-template-columns:80px 1fr;gap:14px}.thcf .thcf-timeline li>b{font-size:19px}.thcf .thcf-photo-caption{padding:18px}.thcf-photo-caption b{font-size:22px}.thcf .thcf-final>.thcf-button{width:100%}}
@media(prefers-reduced-motion:reduce){.thcf *,.thcf-entry{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Page shell only; no changes to the existing public theme. */
html:has(body.thcf-page){margin:0!important}
.thcf-page *{box-sizing:border-box}
body.thcf-page{margin:0!important;padding:66px 0 0!important;min-width:0!important;background:#fffdf8;color:#223c32;overflow-x:clip;font-family:"Yu Gothic",Meiryo,sans-serif}
.thcf-page #thcf-main{width:100%;margin:0;outline:0}
.thcf-page .thcf{max-width:1200px}
.thcf-skip{position:fixed;top:-80px;left:16px;z-index:100001;background:#fff;color:#223c32;padding:12px}
.thcf-skip:focus{top:8px}
.thcf-page .thx-global-header.thl-header{position:fixed!important;inset:0 0 auto!important;width:100%!important;height:66px!important;margin:0!important;padding:0!important;z-index:1000!important;background:#fff;border-bottom:1px solid #e0e5dc}
.thcf-page .thl-header-inner{display:flex;align-items:center;gap:12px;min-height:66px;width:calc(100% - 40px);max-width:1440px;margin:auto}
.thcf-copy-panel{display:grid;gap:12px;text-align:left;margin:24px 0;padding:22px;border:1px solid #d4dccf;border-radius:8px;background:#fff}
.thcf-copy-panel label{font-weight:700;font-size:15px}
.thcf-copy-panel textarea{box-sizing:border-box;width:100%;min-height:76px;resize:vertical;border:1px solid #bdc9b6;border-radius:5px;padding:12px;font:inherit;font-size:16px;color:#223c32;background:#f7f8f4}
.thcf-copy-panel button{justify-self:start}
.thcf-consent{display:grid;grid-template-columns:24px 1fr;gap:8px 10px;text-align:left;align-items:start;margin:22px 0}
.thcf-consent input{width:20px;height:20px;margin:4px 0;accent-color:#496c50}
.thcf-consent label{cursor:pointer;font-size:15px;line-height:1.8}
.thcf-consent a{grid-column:2}
.thcf a.thcf-button[aria-disabled=true],.thcf button:disabled{opacity:.55;cursor:not-allowed}
.thcf-debug-notice{padding:16px 24px;background:#fff4cc;border-bottom:1px solid #bdae75;font-size:13px;line-height:1.8;color:#40381f}
.thcf-debug-notice output{display:block}
.thcf-page .thl-logo{flex:0 1 180px;min-width:126px}
.thcf-page .thl-logo img{display:block;width:100%;height:auto}
.thcf-page .thl-nav{display:flex;align-items:center;gap:16px;margin-left:auto}
.thcf-page .thl-nav a{white-space:nowrap;font-size:13px;text-decoration:none;color:#223c32}
.thcf-page .thl-contact{background:#617950;color:white;padding:12px 15px;white-space:nowrap;text-decoration:none;font-size:13px}
.thcf-page .thl-mobile-consult,.thcf-page .thl-menu-button,.thcf-page .thl-mobile-menu{display:none}
.thcf-page .thcf-fallback-header{display:flex;justify-content:space-between;padding:20px}
.thcf-page .thx-global-footer{padding:50px 24px 24px;background:#edf0e9;border-top:1px solid #d8d7cc;line-height:1.8;margin:0;width:100%;color:#223c32}
.thcf-page .thx-shell{max-width:1100px;margin:auto}
.thcf-page .thx-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.thcf-page .thx-brand{display:flex;align-items:center;gap:12px;color:#223c32;text-decoration:none}
.thcf-page .thx-brand-mark{font-size:28px;font-weight:bold;border:1px solid #819386;padding:4px 12px}
.thcf-page .thx-brand-copy{display:grid;font-size:20px;letter-spacing:.08em}
.thcf-page .thx-brand-copy small{font-size:11px;letter-spacing:0}
.thcf-page .thx-footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.thcf-page .thx-footer-links a{font-size:13px;color:#223c32;text-decoration:none;padding:5px}
.thcf-page .thx-muted{font-size:13px;color:#58665e}
.thcf-page .thx-footer-bottom{border-top:1px solid #d8d7cc;padding-top:20px;margin-top:35px;font-size:12px}
@media(max-width:1100px){
 .thcf-page .thl-nav,.thcf-page .thl-contact{display:none!important}
 .thcf-page .thl-mobile-consult{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;margin-left:auto;padding:0 12px;border-radius:3px;background:#617950;color:#fff;font-size:12px;font-weight:700;white-space:nowrap;text-decoration:none}
 .thcf-page .thl-menu-button{display:block!important;min-width:56px;min-height:44px;border:1px solid #9caf91;border-radius:3px;background:#e7ede3;color:#27483b;font-weight:700;cursor:pointer;padding:8px;font-size:12px}
 .thcf-page .thl-menu-button[aria-expanded=true]{background:#27483b;color:#fff}
 .thcf-page .thl-mobile-menu.is-open{display:grid!important;grid-template-columns:1fr 1fr;position:absolute;top:66px;left:0;right:0;background:#fff;max-height:calc(100dvh - 66px);overflow:auto;border-bottom:1px solid #d8d7cc;padding:18px;gap:2px}
 .thcf-page .thl-mobile-menu a{display:block;padding:14px 12px;color:#223c32;text-decoration:none;font-size:14px}
}
@media(max-width:640px){
 .thcf-page .thx-footer-grid{grid-template-columns:1fr;gap:20px}
 body.thcf-page{padding-top:62px!important}
 .thcf-page .thx-global-header.thl-header,.thcf-page .thl-header-inner{height:62px!important;min-height:62px!important}
 .thcf-page .thl-header-inner{width:calc(100% - 24px);gap:8px}
 .thcf-page .thl-logo{flex:0 1 154px;max-width:154px;min-width:110px}
 .thcf-page .thl-mobile-consult{font-size:11px;padding:0 11px}
 .thcf-page .thl-mobile-menu.is-open{top:62px;max-height:calc(100dvh - 62px)}
}
