﻿:root{--navy:#123047;--navy2:#0b2436;--ink:#1d2b34;--muted:#5f6f78;--line:#dbe2e5;--soft:#f3f6f5;--accent:#9d3f2b;--green:#2f6657;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:-apple-system,BlinkMacSystemFont,"Yu Gothic","Hiragino Kaku Gothic ProN","Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8;background:#fff}a{color:inherit}.wrap{width:min(1100px,calc(100% - 48px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.header{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1216px,calc(100% - 48px));margin:auto}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:14px;font-weight:800;line-height:1.35}.brand img{width:40px;height:40px}.brand small{display:block;color:var(--muted);font-size:11px;font-weight:600}.nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:700}.nav a{text-decoration:none}.nav-cta{min-height:46px;display:flex;align-items:center;padding:0 20px;color:#fff;background:var(--navy)}.menu-button{display:none}.hero{padding:56px 0 72px;background:var(--soft)}.hero-layout{display:grid;grid-template-columns:1.15fr .75fr;gap:78px;align-items:center}.eyebrow{margin:0 0 14px;color:var(--accent);font-size:13px;font-weight:800}.hero h1,.heading h2,.profile h2,.fees h2,.cta h2,.page-title h1{margin:0;font-family:var(--serif);font-weight:600;letter-spacing:0}.hero h1{font-size:clamp(38px,5vw,62px);line-height:1.35}.hero h1 span{color:var(--accent)}.lead{max-width:650px;margin:25px 0 0;color:var(--muted);line-height:2}.actions{display:flex;gap:12px;margin-top:28px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;text-decoration:none;font-weight:800;border:1px solid var(--navy);border-radius:4px}.primary{color:#fff;background:var(--navy)}.secondary{background:#fff}.facts{display:flex;gap:0;padding:0;margin:25px 0 0;list-style:none;color:var(--muted);font-size:13px;font-weight:700}.facts li{padding:0 13px;border-left:1px solid var(--line)}.facts li:first-child{padding-left:0;border:0}.hero-photo{position:relative;margin:0;height:520px;overflow:hidden;background:#dce4e3}.hero-photo img,.profile figure img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 18%}.hero-photo figcaption{position:absolute;right:0;bottom:0;padding:9px 13px;background:rgba(255,255,255,.92);font-size:12px;font-weight:800}.trust{border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}.trust p{margin:0;padding:25px 28px;border-left:1px solid var(--line)}.trust p:first-child{border:0}.trust strong,.trust span{display:block}.trust strong{font-family:var(--serif);font-size:19px}.trust span{color:var(--muted);font-size:12px}.section{padding:88px 0}.heading{max-width:720px;margin-bottom:42px}.heading h2,.profile h2,.fees h2,.cta h2,.page-title h1{font-size:clamp(29px,3.5vw,43px);line-height:1.45}.heading>p:last-child{color:var(--muted)}.service-list{border-top:2px solid var(--navy)}.service-list article{min-height:190px;display:grid;grid-template-columns:1fr 210px;align-items:center;gap:36px;padding:28px;border-bottom:1px solid var(--line)}.service-list h3{margin:3px 0 8px;font-family:var(--serif);font-size:25px}.service-list p{margin:0;color:var(--muted)}.service-for{color:var(--accent)!important;font-size:13px;font-weight:800}.service-list a{min-height:48px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--navy);text-decoration:none;font-size:14px;font-weight:800}.service-accent{background:#f7f4f1}.profile{background:var(--soft)}.profile-layout{display:grid;grid-template-columns:.75fr 1.15fr;gap:78px;align-items:center}.profile figure{height:540px;margin:0;overflow:hidden}.profile-name{margin:25px 0 18px}.profile-name strong,.profile-name span{display:block}.profile-name strong{font-family:var(--serif);font-size:24px}.profile-name span{color:var(--muted);font-size:13px}.details{border-top:1px solid var(--line);margin:24px 0 0}.details div{display:grid;grid-template-columns:90px 1fr;padding:13px 0;border-bottom:1px solid var(--line)}.details dt{color:var(--muted);font-weight:700}.details dd{margin:0;font-weight:700}.pending-note{font-size:12px;color:var(--muted)}.process ol{display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:0;list-style:none;border-top:1px solid var(--line)}.process li{display:flex;gap:20px;padding:28px;border:1px solid var(--line);border-top:0}.process li+li{border-left:0}.process li>span{color:var(--accent);font-weight:800}.process h3{margin:0;font-family:var(--serif);font-size:21px}.process p{margin:6px 0 0;color:var(--muted);font-size:14px}.fees{background:#f7f4f1}.fees-layout,.cta-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.fee-lines{border-top:2px solid var(--navy)}.fee-lines p{display:flex;justify-content:space-between;margin:0;padding:20px 0;border-bottom:1px solid var(--line)}.fee-lines small{display:block;margin-top:15px;color:var(--muted)}.cta{padding:76px 0;color:#fff;background:var(--navy)}.cta .eyebrow{color:#e9ae9e}.cta p{color:#cbd8df}.cta-layout>div:last-child{display:grid;gap:14px}.light{color:var(--navy);background:#fff;border-color:#fff}.plain-link{text-align:center;font-weight:700}.footer{padding:44px 0 100px}.footer-grid{display:flex;justify-content:space-between;gap:28px}.footer strong,.footer span,.footer div>a{display:block}.footer span{color:var(--muted);font-size:13px}.footer nav{display:flex;gap:20px;font-size:13px}.copyright{margin-top:30px;color:var(--muted);font-size:11px}.fixed-cta{display:none}.page-header{border-bottom:1px solid var(--line)}.back{font-size:13px;text-decoration:none;font-weight:700}.page-title{padding:52px 0 36px}.page-title p{max-width:700px;color:var(--muted)}.tool-wrap{width:min(820px,calc(100% - 48px));margin:0 auto 90px}.panel{padding:30px;border:1px solid var(--line);background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label,.field>span{font-size:13px;font-weight:800}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid #aebbc1;border-radius:3px;background:#fff;color:var(--ink);font:inherit}.field textarea{min-height:110px;resize:vertical}.slot-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px}.slot-days button,.slot-times button{min-height:48px;padding:8px 12px;border:1px solid #aebbc1;background:#fff;font:inherit;font-weight:700}.slot-days button.active,.slot-times button.active{color:#fff;background:var(--navy);border-color:var(--navy)}.slot-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.slot-times button:disabled{color:#9aa5aa;background:#edf0f1}.notice{padding:14px 16px;margin:18px 0;background:var(--soft);font-size:13px}.consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0;font-size:13px}.consent input{width:20px;height:20px}.submit{width:100%;min-height:54px;border:0;border-radius:4px;color:#fff;background:var(--navy);font:inherit;font-weight:800}.submit:disabled{opacity:.55}.status{padding:14px;margin-top:16px;border-left:4px solid var(--green);background:#edf6f3}.status.error{border-color:var(--accent);background:#faf0ed}.step-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.step-tabs span{padding:10px;border-bottom:3px solid var(--line);color:var(--muted);font-size:13px;font-weight:800}.step-tabs span.active{color:var(--navy);border-color:var(--navy)}.result{padding:24px;margin-top:22px;color:#fff;background:var(--navy)}.result strong{display:block;font-family:var(--serif);font-size:31px}.chart{height:180px;display:flex;align-items:end;gap:3px;margin-top:20px;border-bottom:1px solid #8aa0ad}.chart i{flex:1;min-height:2px;background:#d7ebe4}.legal h2{margin:36px 0 8px;font-family:var(--serif);font-size:22px}.legal p,.legal li{color:var(--muted)}@media(max-width:760px){body{padding-bottom:68px}.wrap,.tool-wrap{width:min(100% - 32px,1100px)}.header{height:66px;width:calc(100% - 32px)}.brand{font-size:12px}.brand img{width:34px;height:34px}.brand small{font-size:9px}.menu-button{width:44px;height:44px;display:grid;place-content:center;gap:5px;border:0;background:transparent}.menu-button>span{width:22px;height:2px;background:var(--navy)}.nav{position:absolute;z-index:20;left:0;right:0;top:66px;display:none;padding:18px 16px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px rgba(18,48,71,.12)}.nav.open{display:grid}.nav a{min-height:44px;display:flex;align-items:center}.nav-cta{justify-content:center}.hero{padding:30px 0 44px}.hero-layout{display:flex;flex-direction:column;gap:26px}.hero h1{font-size:32px;line-height:1.45}.lead{font-size:15px;line-height:1.85}.hero-photo{order:-1;width:calc(100% + 32px);height:280px;margin-left:-16px}.hero-photo img{object-position:center 16%}.actions{display:grid}.button{width:100%}.facts{font-size:11px}.trust-grid{grid-template-columns:1fr}.trust p{padding:16px 0;border-left:0;border-top:1px solid var(--line)}.trust p:first-child{border-top:0}.section{padding:60px 0}.heading{margin-bottom:28px}.heading h2,.profile h2,.fees h2,.cta h2,.page-title h1{font-size:27px}.service-list article{grid-template-columns:1fr;gap:20px;padding:24px 0}.profile-layout{grid-template-columns:1fr;gap:30px}.profile figure{height:350px}.process ol{grid-template-columns:1fr}.process li+li{border-left:1px solid var(--line);border-top:0}.fees-layout,.cta-layout{grid-template-columns:1fr;gap:34px}.footer-grid{display:grid}.footer nav{display:grid;gap:8px}.fixed-cta{position:fixed;z-index:30;left:12px;right:12px;bottom:10px;min-height:52px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--accent);text-decoration:none;font-weight:800;box-shadow:0 5px 20px rgba(0,0,0,.2)}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.panel{padding:20px 16px}.slot-times{grid-template-columns:repeat(2,1fr)}}

.events-fieldset{margin:26px 0;padding:22px;border:1px solid var(--line)}
.events-fieldset legend{padding:0 8px;font-family:var(--serif);font-size:20px;font-weight:700}
.events-fieldset>p{margin-top:0;color:var(--muted);font-size:13px}
.event-row{display:grid;grid-template-columns:1.4fr .7fr .8fr auto;gap:12px;align-items:end;padding:16px 0;border-top:1px solid var(--line)}
.event-row:first-child{border-top:0}
.remove-event,.add-event{min-height:46px;padding:8px 14px;border:1px solid var(--navy);border-radius:3px;background:#fff;color:var(--navy);font:inherit;font-weight:800}
.remove-event{border-color:#b85b49;color:#8d3525}
.result-detail{padding:26px}
.result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px}
.result-toolbar p{margin:0}
.result-toolbar .button{width:auto}
.print-section,.annual-section{margin-top:28px}
.print-section h2,.annual-section h2{margin:0 0 12px;font-family:var(--serif);font-size:21px}
.result-conditions{display:grid;grid-template-columns:repeat(2,1fr);margin:0;border-top:1px solid #718894}
.result-conditions div{display:grid;grid-template-columns:1fr 1fr;padding:8px;border-bottom:1px solid #718894}
.result-conditions dt{color:#d6e0e5}
.result-conditions dd{margin:0;text-align:right;font-weight:800}
.result-events{padding:10px;background:rgba(255,255,255,.08)}
.annual-heading{display:flex;align-items:end;justify-content:space-between}
.annual-heading p{margin:0;font-size:12px}
.table-scroll{overflow:auto;background:#fff}
.annual-table{width:100%;min-width:1050px;border-collapse:collapse;color:var(--ink);font-size:12px;line-height:1.5}
.annual-table th,.annual-table td{padding:9px 8px;border:1px solid var(--line);text-align:right;white-space:nowrap}
.annual-table thead th{position:sticky;top:0;color:#fff;background:var(--navy)}
.annual-table tbody th{background:#eef3f4}
.annual-table td:nth-child(5){min-width:150px;text-align:left;white-space:normal}
.annual-table tr.has-event{background:#fff4ed}
.annual-table .negative{color:#a23425}
.result-disclaimer{font-size:12px;color:#d6e0e5}
.consult-link{margin-top:10px}

@media(max-width:760px){
  .event-row{grid-template-columns:1fr 1fr}
  .event-row .field:first-child{grid-column:1/-1}
  .remove-event{width:100%}
  .result-detail{padding:20px 14px}
  .result-toolbar{display:grid}
  .result-toolbar .button{width:100%}
  .result-conditions{grid-template-columns:1fr}
}
@media print{
  @page{size:A4 landscape;margin:10mm}
  body{padding:0!important;color:#000;background:#fff;font-size:10pt}
  .header,.page-title,.footer,.fixed-cta,#lifeplan-form>div.form-grid,.events-fieldset,#lifeplan-form>.notice,#lifeplan-form>.submit,.result-toolbar .button,.consult-link{display:none!important}
  .tool-wrap{width:100%;margin:0}
  .panel,.result{padding:0;border:0;color:#000;background:#fff}
  .result-toolbar{display:block}
  .result-toolbar:before{content:"橋本貴嗣社会保険労務士事務所　ライフプラン簡易試算";display:block;margin-bottom:8mm;font-size:16pt;font-weight:700}
  .result-conditions{grid-template-columns:repeat(5,1fr);border-color:#777}
  .result-conditions div{display:block;border-color:#aaa}
  .result-conditions dt{color:#444}
  .result-conditions dd{text-align:left}
  .chart{height:35mm;border-color:#555;break-inside:avoid}
  .annual-section{break-before:page;margin:0}
  .table-scroll{overflow:visible}
  .annual-table{min-width:0;font-size:7pt}
  .annual-table th,.annual-table td{padding:2.3mm 1.3mm}
  .annual-table thead th{position:static;color:#fff!important;background:#123047!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .annual-table tr.has-event{background:#fff4ed!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .result-disclaimer{color:#444}
}
