:root{--navy:#12283b;--ink:#1c2d3b;--muted:#546473;--line:#dce3e9;--blue:#205777;--paper:#f3f6f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #c09137;outline-offset:6px}header{min-height:106px;max-width:1440px;margin:auto;padding:24px 6%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;gap:16px;align-items:center;font-weight:600;letter-spacing:.03em;font-size:18px;line-height:1.6}.brand-sub{display:block;font-size:14px;font-weight:400}.mark{border:1px solid var(--navy);width:49px;height:49px;display:grid;place-content:center;font-family:Georgia,serif;font-size:24px;font-weight:400}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a:hover{color:#326d91}.nav-contact{border:1px solid #a3afba;padding:8px 18px}.hero{background:var(--navy);color:#fff;display:grid;grid-template-columns:1.5fr 1fr;max-width:1440px;margin:auto;position:relative}.hero-inner{padding:68px 12% 74px}.eyebrow{font-size:14px;letter-spacing:.15em;display:flex;align-items:center;gap:16px}.eyebrow:before{content:"";height:1px;width:32px;background:#a3b8c7}h1,h2{font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-weight:500}h1{font-size:clamp(38px,4.4vw,62px);line-height:1.6;letter-spacing:.08em;margin:24px 0}h1 span{color:#bcd1df}.hero-text{color:#dce5ec;font-size:16px;line-height:2.2}.button{display:inline-block;padding:12px 30px;margin-top:20px;font-size:14px;letter-spacing:.08em}.light{border:1px solid #8eacbf}.light:hover{background:#fff;color:var(--navy)}.hero-note{margin:64px 15% 64px 0;border-left:1px solid #3b5366;padding:22px 0 12px 17%;display:flex;flex-direction:column;justify-content:space-between}.note-top,.note-bottom{font-size:12px;letter-spacing:.18em;color:#b4c6d3}.hero-note p{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:24px;line-height:2.2;letter-spacing:.1em}.welcome{max-width:1180px;margin:auto;display:flex;gap:70px;align-items:center;padding:45px 30px;border-bottom:1px solid var(--line)}.welcome>p:last-child{font-size:19px}.welcome span{font-size:14px;color:var(--muted)}.small-label{color:var(--blue);font-size:12px;letter-spacing:.17em;font-weight:600}.section{max-width:1240px;padding:78px 60px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-heading>p{color:var(--muted);font-size:14px}h2{font-size:34px;letter-spacing:.06em;margin:10px 0}h3{font-weight:500;margin:15px 0;font-size:23px}.services{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.services article{padding:28px;display:flex;flex-direction:column}.services article+article{border-left:1px solid var(--line)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.number{font-family:Georgia,serif;font-size:32px;color:#5b7b90}.tag{font-size:12px;color:var(--muted)}.services p{font-size:15px;color:var(--muted);margin:4px 0 20px}.services ul{margin:0 0 28px;padding-left:18px;font-size:14px;line-height:2.2}.services a{margin-top:auto;font-size:14px;border-top:1px solid var(--line);padding-top:18px;color:var(--blue)}.services a:hover{text-decoration:underline}.flow-section{background:var(--paper)}.steps{display:grid;grid-template-columns:1fr 1fr;gap:30px 50px;list-style:none;padding:0;margin:0}.steps li{display:flex;gap:22px;padding-top:23px;border-top:1px solid #bdcbd5}.steps li>span{font-family:Georgia,serif;font-size:28px;color:#5b7b90}.steps h3{font-size:19px;margin:4px 0 10px}.steps p{font-size:15px;color:var(--muted);margin:0}.faq{display:grid;grid-template-columns:1fr 1.6fr;gap:60px}.faq>div>p:last-child{font-size:14px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:20px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:16px;padding-right:20px}details p{font-size:14px;color:var(--muted);padding:5px 20px 0}.contact{max-width:1120px;margin:0 auto 80px;background:var(--navy);color:#fff;padding:48px 54px;display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact h2{font-size:32px}.contact p{font-size:15px;color:#dce5ec}.contact-note{border-left:1px solid #4b6070;padding-left:38px}.contact-note h3{font-size:16px}.contact-note ul{font-size:15px;padding-left:20px}.contact-note p{font-size:13px}footer{max-width:1240px;margin:auto;border-top:1px solid var(--line);padding:32px 60px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:14px}footer strong{font-size:16px;font-weight:500}footer p{color:var(--muted);margin-top:6px;font-size:13px}footer small{width:100%;color:var(--muted);font-size:12px}.skip{position:absolute;left:10px;top:-100px;background:#fff;z-index:10;padding:10px}.skip:focus{top:10px}@media(max-width:800px){header{padding:20px 6%;flex-wrap:wrap;gap:16px}.brand{font-size:16px}nav{gap:22px;width:100%;font-size:13px;justify-content:space-between}.nav-contact{padding:5px 10px}.hero{grid-template-columns:1fr}.hero-inner{padding:42px 7% 48px}h1{font-size:40px}.hero-note{display:none}.hero-text{font-size:14px}.welcome{padding:28px 7%;gap:12px;display:block}.welcome>p:last-child{font-size:17px}.welcome span{display:block;margin-top:10px;line-height:1.9}.section{padding:50px 7%}.section-heading{display:block;margin-bottom:25px}h2{font-size:29px}.services{grid-template-columns:1fr}.services article{padding:26px}.services article+article{border-left:0;border-top:1px solid var(--line)}.steps{grid-template-columns:1fr;gap:25px}.faq{grid-template-columns:1fr;gap:20px}.contact{margin:0 5% 48px;padding:30px 25px;grid-template-columns:1fr;gap:20px}.contact h2{font-size:28px}.contact-note{padding:18px 0 0;border-left:0;border-top:1px solid #4b6070}footer{padding:28px 7%}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.consultation{grid-template-columns:.85fr 1.15fr;align-items:start}.consultation-fee{display:flex;align-items:baseline;gap:10px;padding:20px 0;border-top:1px solid #4b6070;border-bottom:1px solid #4b6070;margin:24px 0}.consultation-fee strong{font-family:Georgia,serif;font-size:42px;font-weight:400;line-height:1.4}.consultation-fee small{font-family:inherit;font-size:20px;margin-left:4px}.consultation .booking-note{font-size:13px}.consultation-form{min-width:0;background:#fff;color:var(--ink);padding:28px;border-radius:3px}.form-field{margin-bottom:20px;min-width:0}.form-field label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.form-field label span{font-size:11px;color:var(--blue);margin-left:8px;font-weight:400}.form-field input,.form-field textarea{display:block;width:100%;min-width:0;max-width:100%;font:inherit;font-size:16px;line-height:1.6;padding:10px 12px;color:var(--ink);background:#fff;border:1px solid #aab8c4;border-radius:3px}.form-field textarea{resize:vertical;min-height:130px}.form-field input:focus-visible,.form-field textarea:focus-visible{outline:3px solid #c09137;outline-offset:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.consultation-form .form-status{color:var(--muted);background:var(--paper);padding:12px 14px;font-size:13px}.submit-button{width:100%;padding:13px 16px;border:0;border-radius:3px;font:inherit;font-size:16px;background:var(--navy);color:#fff}.submit-button:disabled{background:#dce3e9;color:#546473;cursor:not-allowed}@media(max-width:800px){.consultation{grid-template-columns:1fr}.consultation-form{padding:22px 18px}.consultation-fee{margin:20px 0}.form-row{grid-template-columns:1fr;gap:0}}

.submit-button:not(:disabled){cursor:pointer}.submit-button:not(:disabled):hover{background:#205777}.submit-button:focus-visible,.copy-button:focus-visible{outline:3px solid #c09137;outline-offset:3px}.consultation-form .mail-help{margin-top:18px;border-bottom:0}.mail-help summary{font-size:13px}.consultation-form .mail-help p{color:var(--muted);padding:0;font-size:13px}.mail-help>a{font-size:14px;text-decoration:underline;overflow-wrap:anywhere}.copy-button{display:block;margin-top:14px;padding:9px 12px;border:1px solid #aab8c4;background:#fff;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.copy-button[hidden]{display:none}
