@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Zen+Old+Mincho:wght@600;700&display=swap');
:root{--blue:#202990;--orange:#ec551c;--ink:#22232a;--muted:#62646c;--cream:#f7f5ef;--pale:#f0f3fb;--line:#deded9;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.8 "Noto Sans JP",sans-serif}a{color:inherit}.skip-link{position:fixed;left:12px;top:-60px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:12px}.top-note{height:34px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;align-items:center;background:var(--blue);color:#fff;font-size:11px}.site-header{height:88px;display:flex;align-items:center;gap:32px;padding:8px max(24px,calc((100vw - var(--max))/2));position:sticky;top:0;z-index:20;background:#fffffff5;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;margin-right:auto;text-decoration:none}.brand img{width:56px;height:61px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.35}.brand b{font-size:17px}.brand small{font-size:10px;color:var(--muted)}.site-header nav{display:flex;gap:24px}.site-header nav a{text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}.site-header nav a:hover{color:var(--blue)}.header-phone{display:flex;flex-direction:column;text-decoration:none;line-height:1.2;padding-left:20px;border-left:1px solid var(--line);color:var(--blue)}.header-phone small{font-size:10px;color:var(--orange);font-weight:800}.header-phone strong{font-size:19px}
.hero{min-height:630px;display:grid;grid-template-columns:47% 53%;max-width:1500px;margin:auto}.hero-copy{padding:92px 6vw 78px max(28px,calc((100vw - var(--max))/2));background:linear-gradient(135deg,#fff 60%,#fff8ee)}.kicker,.label,.section-heading>p:first-child{margin:0 0 18px;color:var(--orange);font-size:12px;font-weight:800;letter-spacing:.08em}.hero h1,.section-heading h2,.reason-copy h2,.real-team h2,.booking-intro h2{font-family:"Zen Old Mincho",serif}.hero h1{margin:0;font-size:clamp(44px,5vw,70px);line-height:1.34;letter-spacing:-.045em}.hero h1 span{color:var(--blue)}.lead{max-width:570px;margin:26px 0 0;color:#4e5057;font-size:17px;line-height:2}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 24px;text-decoration:none;font-weight:800}.primary{background:var(--orange);color:#fff}.secondary{background:#fff;border:1px solid var(--blue);color:var(--blue)}.hero-hours{font-size:11px;color:var(--muted);margin-top:15px}.hero-visual{position:relative;overflow:hidden;background:#eee}.hero-visual>img{width:100%;height:100%;object-fit:cover}.hero-visual p{position:absolute;left:26px;bottom:24px;display:flex;flex-direction:column;margin:0;padding:14px 18px;background:#fffffff2;border-left:4px solid var(--orange);box-shadow:0 8px 28px #0002}.hero-visual p b{font-size:14px;color:var(--blue)}.hero-visual p span{font-size:11px;color:var(--muted)}
.quick-help{padding:30px max(24px,calc((100vw - var(--max))/2));background:var(--cream);border-block:1px solid var(--line)}.quick-help>p{text-align:center;margin:0 0 18px;font-weight:700}.quick-help>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.quick-help a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 20px;background:#fff;text-decoration:none}.quick-help a:hover{background:var(--pale)}.quick-help b{color:var(--blue);font-size:14px}.quick-help span{font-size:12px;color:var(--muted)}.section{padding:110px max(24px,calc((100vw - var(--max))/2))}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;align-items:end;margin-bottom:52px}.section-heading>p:first-child{grid-column:1/-1}.section-heading h2,.reason-copy h2,.real-team h2,.booking-intro h2{font-size:clamp(34px,4vw,55px);line-height:1.45;margin:0;letter-spacing:-.035em}.section-heading>p:last-child{margin:0;color:var(--muted)}
.service-list{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.service-feature{grid-row:span 4;display:flex;flex-direction:column;text-decoration:none;background:var(--blue);color:#fff}.service-feature img{width:100%;aspect-ratio:16/10;object-fit:cover}.service-feature div{padding:30px 34px}.service-feature span,.service-item small{font-size:11px;font-weight:700;color:#ffceb8}.service-feature h3{font:700 29px "Zen Old Mincho",serif;margin:5px 0 10px}.service-feature p{color:#e5e7fa;margin:0 0 14px;font-size:14px}.service-feature strong{font-size:12px;color:#fff0aa;border-bottom:1px solid}.service-item{min-height:128px;display:flex;align-items:center;gap:22px;padding:22px 25px;border:1px solid var(--line);text-decoration:none;background:#fff}.service-item:hover{border-color:var(--blue);background:var(--pale)}.service-item>span:last-child{display:flex;flex-direction:column}.service-item small{color:var(--orange)}.service-item b{font:700 20px "Zen Old Mincho",serif;color:var(--blue)}.service-item em{font-size:12px;color:var(--muted);font-style:normal}.service-number{font-size:27px;font-weight:900;color:#b9bdcf}.service-icon img{width:58px;height:58px;object-fit:contain}.api-status{text-align:right;margin:15px 0 0;font-size:11px;color:var(--muted)}
.reason-section{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.reason-photo img{display:block;width:100%;height:100%;min-height:720px;object-fit:cover}.reason-copy{padding:90px max(28px,7vw)}.reason-copy>p:not(.label){color:var(--muted)}.reason-copy dl{margin:36px 0}.reason-copy dl>div{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:20px 0;border-top:1px solid #d8d5cd}.reason-copy dt{font-weight:900;color:var(--orange)}.reason-copy dd{margin:0;display:flex;flex-direction:column}.reason-copy dd b{color:var(--blue)}.reason-copy dd span{font-size:12px;color:var(--muted)}.text-link{font-weight:800;text-decoration:none;color:var(--blue);border-bottom:2px solid var(--orange)}.compact{grid-template-columns:1fr}.compact>p:first-child{grid-column:auto}.credential-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.credential-grid article{padding:28px;border-top:4px solid var(--blue);background:var(--pale)}.credential-grid article>b{font-size:12px;color:var(--orange)}.credential-grid strong{display:block;margin:7px 0;font-size:18px;color:var(--blue)}.credential-grid p{font-size:12px;margin:0;color:var(--muted)}
.real-team{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--blue);color:#fff}.real-team>div{padding:90px max(30px,7vw)}.real-team p:not(.label){color:#e1e4fa}.real-team img{width:100%;height:100%;min-height:570px;object-fit:cover;object-position:center 42%}.real-team .secondary{margin-top:20px}.booking-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;background:var(--cream)}.booking-intro>p:not(.label){color:var(--muted)}.phone-panel{display:flex;flex-direction:column;margin-top:25px;padding:20px 24px;background:var(--orange);color:#fff;text-decoration:none;line-height:1.3}.phone-panel small,.phone-panel span{font-size:11px}.phone-panel strong{font-size:27px}.booking-panel{padding:34px;background:#fff;border-top:5px solid var(--blue);box-shadow:0 18px 50px #20299012}.field{display:grid;gap:6px;margin:15px 0}.field label{font-size:12px;font-weight:800;color:var(--blue)}.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px;border:1px solid #aaa;background:#fff;font:inherit;font-size:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.slots{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.slot,button{min-height:44px;padding:10px 13px;border:1px solid #aaa;background:#fff;color:var(--blue);font:700 12px inherit;cursor:pointer}.slot.selected,button.primary{background:var(--blue);color:#fff}.notice{padding:14px;border-left:3px solid var(--orange);background:#fff5ef}.error{color:#a4231d}.success{color:#08704c;font-weight:800}
.support-links>div{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-width:1px 0 0 1px}.support-links a{display:flex;min-height:130px;padding:22px;flex-direction:column;justify-content:center;text-decoration:none;border:1px solid var(--line);border-width:0 1px 1px 0}.support-links a:hover{background:var(--pale)}.support-links b{color:var(--blue)}.support-links span{font-size:12px;color:var(--muted)}footer{padding:55px max(24px,calc((100vw - var(--max))/2));background:#1c205f;color:#fff}.footer-main{display:flex;justify-content:space-between;gap:30px}.footer-brand{display:flex;align-items:center;gap:13px}.footer-brand img{width:62px}.footer-brand div,.footer-contact{display:flex;flex-direction:column}.footer-brand span,.footer-contact span{font-size:11px;color:#c8cbea}.footer-contact{text-align:right}.footer-contact a{text-decoration:none;font-weight:700}footer nav{display:flex;gap:24px;flex-wrap:wrap;padding:28px 0 18px;margin-top:28px;border-top:1px solid #ffffff30}footer nav a{font-size:12px;text-decoration:none}footer>small{font-size:10px;color:#aeb2dc}
@media(max-width:960px){.top-note{display:none}.site-header{height:72px;padding:6px 16px}.brand img{width:44px;height:50px}.brand b{font-size:14px}.site-header nav{display:none}.header-phone{padding-left:12px}.header-phone strong{font-size:14px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:60px 24px}.hero h1{font-size:clamp(39px,10vw,56px)}.hero-visual{height:390px}.quick-help>div,.service-list,.reason-section,.real-team,.booking-section{grid-template-columns:1fr}.section{padding:75px 22px}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:36px}.service-feature{grid-row:auto}.reason-photo img{min-height:420px}.reason-copy,.real-team>div{padding:70px 24px}.real-team img{min-height:400px}.credential-grid{grid-template-columns:1fr}.support-links>div{grid-template-columns:1fr 1fr}.footer-main{flex-direction:column}.footer-contact{text-align:left}.field-row{grid-template-columns:1fr}}@media(max-width:560px){body{font-size:15px}.hero-copy{padding-top:45px}.hero-visual{height:300px}.actions .button{width:100%}.quick-help{padding-inline:16px}.service-feature div{padding:25px}.reason-photo img{min-height:330px}.support-links>div{grid-template-columns:1fr}.footer-contact a:first-of-type{font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
