:root{--navy:#0d3f6c;--navy2:#155c8d;--teal:#1473a4;--teal2:#33a7cf;--amber:#ec6b14;--paper:#f5f9fc}
.topline{height:3px;background:var(--amber)}
.site-header{box-shadow:0 2px 15px rgba(13,63,108,.07)}
.brand-mark{display:none}.brand strong{font-size:1.7rem;color:var(--navy);font-style:italic}.brand small{color:#48657a;letter-spacing:.08em}
.nav .cta{background:var(--amber);border-radius:5px;padding:12px 22px;box-shadow:0 5px 16px rgba(236,107,20,.22)}
.hero{color:var(--navy);background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 32%,rgba(255,255,255,.16) 62%,rgba(255,255,255,0) 100%),url('../images/hero-sasebo.jpg');background-size:cover;background-position:center}
.hero:after{display:none}.hero-grid{display:block;min-height:520px;padding:76px 0}.hero-grid>div:first-child{max-width:650px}.hero .eyebrow{color:var(--teal)}.hero h1{color:var(--navy);font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(2.5rem,4.6vw,4.3rem);letter-spacing:-.03em;word-break:auto-phrase}.hero h1 em{color:var(--navy)}.hero p{color:#153f5e;font-weight:600}.hero .btn{background:var(--amber);color:white}.hero .btn.ghost{background:white;color:var(--navy);border:1px solid var(--navy)}.hero-visual{display:none}
#services{padding:0 0 62px;background:white}#services .section-head{padding-top:46px;margin-bottom:28px}#services .service-grid{gap:12px}#services .service-card{border-radius:0;border:0;box-shadow:0 4px 18px rgba(13,63,108,.1)}#services .service-card img{height:230px;filter:saturate(.92)}#services .service-body{padding:22px 24px;border-top:5px solid var(--navy)}#services .service-card:nth-child(2) .service-body{border-color:#19754a}#services .service-card:nth-child(3) .service-body{border-color:#a56818}#services .num{color:#55758c}#services .service-card h3{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:1.7rem}#services .more{color:var(--navy)}
.section h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;word-break:auto-phrase}.section.alt{background:#f4f8fb}.split{position:relative}.split:before{content:'';position:absolute;inset:-88px calc((100vw - 1120px)/-2);background:linear-gradient(rgba(222,242,253,.8),rgba(255,255,255,.82)),url('../images/hero-sasebo.jpg') center/cover;z-index:0}.split>*{position:relative}.split>img{height:390px}.feature i{background:#e1f2fa;color:var(--navy)}
.band{background:linear-gradient(110deg,#0e4d7d,#1389b8)}.btn{background:var(--amber)}.tag{color:var(--navy);background:#e5f3fa}.case{border-color:#d8e4ec}.case h3{color:var(--navy)}.cta-section{background-image:linear-gradient(rgba(7,70,113,.8),rgba(9,106,151,.74)),url('../images/hero-sasebo.jpg');background-size:cover;background-position:center 60%}
@media(max-width:900px){.hero{background-position:62% center}.hero-grid{min-height:560px;padding:62px 0}.hero-grid>div:first-child{width:82%;max-width:650px;background:rgba(255,255,255,.88);padding:24px;border-radius:8px}.hero h1{font-size:clamp(2.15rem,6.2vw,3.25rem)}.section h2{font-size:clamp(1.8rem,4.8vw,2.5rem)}.split:before{inset:-66px -20px}.brand strong{font-size:1.45rem}}
@media(max-width:650px){.hero{background-position:68% center}.hero-grid{min-height:610px;padding:34px 0;display:flex;align-items:flex-end}.hero-grid>div:first-child{width:100%;max-width:100%;padding:24px 20px;background:rgba(255,255,255,.92)}.hero h1{font-size:1.85rem;line-height:1.4}.hero p{font-size:.96rem}.section h2{font-size:1.6rem;line-height:1.5}#services .section-head{padding-top:40px}#services .service-card img{height:210px}.brand strong{font-size:1.25rem}}
.home-profile{background:#fff}.home-profile-grid{display:grid;grid-template-columns:280px 1fr;gap:58px;align-items:center;max-width:900px}.home-profile-grid>img{width:280px;height:340px;object-fit:cover;object-position:center 18%;border-radius:6px 36px 6px 36px;box-shadow:0 16px 38px rgba(13,63,108,.16)}.home-profile-grid h2{color:var(--navy);font-family:'Yu Mincho','Hiragino Mincho ProN',serif;word-break:auto-phrase}.calendar-section{padding-top:66px}.calendar-frame{background:white;padding:16px;border-radius:12px;box-shadow:0 10px 30px rgba(13,63,108,.09)}.calendar-frame iframe{display:block;width:100%;height:480px;border:0}.current-logo{mix-blend-mode:multiply}
@media(max-width:700px){.home-profile-grid{grid-template-columns:1fr;gap:28px}.home-profile-grid>img{width:220px;height:270px;margin:auto}.calendar-frame{padding:5px}.calendar-frame iframe{height:560px}.current-logo{width:145px!important;height:48px!important}}
