
:root { --blue:#528fc4; --blue-dark:#123f65; --blue-deep:#08273d; --blue-soft:#eff8fb; --blue-pale:#dff3f8; --cyan:#7fc9dc; --ink:#10202d; --muted:#657586; --line:#d8e8ef; --white:#ffffff; --wood:#b88758; --shadow:0 24px 70px rgba(18,63,101,.15); --radius:8px; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Arial,"Hiragino Sans","Hiragino Kaku Gothic ProN",YuGothic,"Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.85;letter-spacing:0} a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button,input,select,textarea{font:inherit}
.sample-ribbon{position:sticky;top:0;z-index:100;background:linear-gradient(90deg,var(--blue-dark),var(--blue));color:#fff;text-align:center;padding:8px 18px;font-size:13px;line-height:1.6}.site-header{position:sticky;top:41px;z-index:90;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(216,232,239,.9);backdrop-filter:blur(16px)}.header-inner{width:min(1180px,calc(100% - 40px));margin:auto;min-height:84px;display:flex;align-items:center;gap:20px}.brand{display:inline-flex;align-items:center;gap:12px;min-width:210px}.brand-mark{width:45px;height:45px;border-radius:50%;background:linear-gradient(145deg,var(--blue),var(--cyan));display:grid;place-items:center;box-shadow:0 12px 25px rgba(82,143,196,.24)}.brand-mark span{width:23px;height:23px;border:3px solid white;border-radius:50%;position:relative}.brand-mark span::after{content:"";position:absolute;width:15px;height:3px;border-radius:99px;background:white;left:4px;top:7px;transform:rotate(-28deg)}.brand-text{display:grid;line-height:1.35}.brand-text strong{font-size:20px;color:var(--blue-deep)}.brand-text small{color:var(--muted);font-size:12px}.global-nav{display:flex;align-items:center;gap:16px;margin-left:auto}.nav-link{font-size:14px;color:var(--blue-deep);padding:30px 0;position:relative;white-space:nowrap}.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:22px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav-link:hover::after,.nav-link.is-current::after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:10px}.mini-link{font-size:13px;color:var(--blue-dark)}.header-cta,.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:0 22px;border-radius:999px;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.header-cta,.button.primary{background:var(--blue-dark);color:#fff;box-shadow:0 12px 30px rgba(18,63,101,.22)}.button.ghost{color:#fff;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.12)}.button.ghost-dark{color:var(--blue-dark);border:1px solid var(--line);background:#fff}.button:hover,.header-cta:hover{transform:translateY(-2px)}.button.full{width:100%}.menu-button{display:none;width:44px;height:44px;border:0;background:var(--blue-soft);border-radius:50%;padding:12px;margin-left:auto}.menu-button span{display:block;height:2px;background:var(--blue-deep);margin:5px 0;border-radius:99px}
.hero{min-height:720px;position:relative;display:grid;align-items:center;overflow:hidden}.hero-media,.hero-media img,.hero-overlay{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,rgba(8,39,61,.82),rgba(18,63,101,.45) 42%,rgba(255,255,255,.08))}.hero-content{position:relative;z-index:1;width:min(1180px,calc(100% - 40px));margin:auto;color:#fff;padding-top:20px}.eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--cyan);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.hero h1{font-size:clamp(42px,6vw,82px);line-height:1.08;margin:22px 0 20px;max-width:760px}.hero-lead{max-width:650px;font-size:20px;line-height:1.9}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.hero-actions.center{justify-content:center}.hero-status{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.hero-status span{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.13);padding:8px 14px;border-radius:999px;font-size:13px}.notice-strip{background:var(--blue-soft);color:var(--blue-dark);padding:18px 20px;text-align:center;border-bottom:1px solid var(--line)}.notice-strip p{margin:0;font-size:14px}.container{width:min(1180px,calc(100% - 40px));margin:auto}.section-pad{padding:96px 0}.pale{background:linear-gradient(180deg,var(--blue-soft),#fff)}.split-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:center}h1,h2,h3,p{letter-spacing:0}h2{font-size:clamp(28px,3.4vw,45px);line-height:1.35;margin:12px 0 20px;color:var(--blue-deep)}h3{font-size:20px;line-height:1.45;margin:0 0 10px}p{margin:0 0 18px;color:var(--muted)}.image-card{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#fff}.image-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.image-card figcaption{padding:12px 16px;color:var(--muted);font-size:13px}.point-list{display:grid;gap:12px;margin-top:30px}.point-list a{display:grid;gap:4px;padding:18px 20px;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:var(--radius);background:#fff}.point-list strong{color:var(--blue-dark)}.point-list span{color:var(--muted);font-size:14px}.service-band{background:#f7fbfd}.section-heading{max-width:760px;margin:0 auto 42px;text-align:center}.section-heading.align-left{text-align:left;margin:0}.service-grid,.menu-grid,.equipment-grid,.values-grid,.care-grid,.shop-grid,.case-grid{display:grid;gap:22px}.service-grid{grid-template-columns:repeat(4,1fr)}.service-card,.menu-card,.value-card,.equipment-grid article,.care-grid article,.shop-grid article,.case-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 16px 40px rgba(18,63,101,.08)}.service-card span,.value-card span,.equipment-grid span{color:var(--blue);font-weight:800}.service-card h3,.menu-card h2,.value-card h2,.equipment-grid h2,.care-grid h3,.shop-grid h2,.case-card h2{color:var(--blue-deep)}.service-card p,.menu-card p,.value-card p,.equipment-grid p,.care-grid p,.shop-grid p,.case-card p{font-size:15px;margin-bottom:0}.flow-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.flow-list li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative}.flow-list span{display:inline-flex;color:var(--blue);font-weight:800;margin-bottom:18px}.two-column{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:start}.news-list,.news-index{display:grid;gap:14px}.news-list a,.news-item{display:grid;gap:5px;padding:22px 24px;border-radius:var(--radius);border:1px solid var(--line);background:#fff}time{color:var(--blue);font-size:13px;font-weight:700}.news-list strong,.news-item h2{color:var(--blue-deep);font-size:20px;margin:0}.news-list span,.news-item p{color:var(--muted);font-size:14px;margin:0}.cta-panel{background:linear-gradient(135deg,var(--blue-deep),var(--blue));color:#fff}.cta-inner{text-align:center;max-width:850px}.cta-inner h2,.cta-inner p{color:#fff}.page-hero{background:linear-gradient(135deg,var(--blue-deep),var(--blue));color:#fff;padding:96px 0 76px}.page-hero.small{padding:74px 0 60px}.page-hero.detail{background:linear-gradient(135deg,#0a2b45,#3c82bd)}.page-hero h1{font-size:clamp(38px,5vw,66px);line-height:1.16;margin:12px 0 14px}.page-hero p{color:rgba(255,255,255,.84);max-width:720px}.menu-grid{grid-template-columns:repeat(3,1fr)}.menu-card a,.case-card a,.text-link{color:var(--blue-dark);font-weight:700;border-bottom:1px solid var(--blue);width:fit-content}.price-note,.statement{max-width:860px;text-align:center}.staff-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}.staff-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.staff-photo img{aspect-ratio:4/3;object-fit:cover}.profile-list{display:grid;gap:10px;margin:28px 0 0}.profile-list div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.profile-list dt{color:var(--blue-dark);font-weight:700}.profile-list dd{margin:0;color:var(--muted)}.values-grid{grid-template-columns:repeat(4,1fr)}.care-grid,.shop-grid,.case-grid{grid-template-columns:repeat(3,1fr)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:54px;align-items:start}.article-body{max-width:820px}.article-body.narrow{max-width:820px}.article-body h2{font-size:30px;margin-top:32px}.article-body ul{color:var(--muted);padding-left:1.2em}.article-side{position:sticky;top:150px;display:grid;gap:14px}.article-side img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover}.equipment-grid{grid-template-columns:repeat(2,1fr)}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.filter-button{border:1px solid var(--line);background:#fff;color:var(--blue-dark);border-radius:999px;padding:10px 18px;cursor:pointer}.filter-button.is-active{background:var(--blue-dark);color:#fff}.map-section{padding:0 0 96px}.map-section iframe{width:100%;height:430px;border:0;border-radius:var(--radius);box-shadow:var(--shadow)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start}.contact-methods,.demo-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.contact-card{display:grid;gap:5px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px}.contact-card strong{color:var(--blue-deep)}.contact-card span,.todo{color:var(--muted);font-size:14px}.form-note{background:var(--blue-soft);border:1px solid var(--line);color:var(--blue-dark);border-radius:var(--radius);padding:14px 16px;font-size:14px}.demo-form{display:grid;gap:16px}.demo-form label{display:grid;gap:8px;color:var(--blue-dark);font-weight:700}.demo-form input,.demo-form select,.demo-form textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px;background:#fbfdfe;color:var(--ink)}.demo-form button:disabled{opacity:.72;cursor:not-allowed}.faq-list{max-width:860px;margin:auto;display:grid;gap:12px}details{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px}summary{cursor:pointer;color:var(--blue-deep);font-weight:700}details p{margin:12px 0 0}.sitemap-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}.sitemap-box ul{columns:2;margin:0;color:var(--blue-dark)}.site-footer{background:#071f32;color:#fff}.footer-sample{background:rgba(255,255,255,.08);color:#e9f8ff;text-align:center;padding:14px 20px;font-size:13px}.footer-inner{width:min(1180px,calc(100% - 40px));margin:auto;padding:62px 0;display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:46px}.footer-brand .brand-text strong,.footer-brand .brand-text small{color:#fff}.footer-copy{margin-top:20px;color:rgba(255,255,255,.68)}.footer-links{display:grid;gap:10px;align-content:start}.footer-links a{color:rgba(255,255,255,.78)}.footer-contact{display:grid;gap:10px}.footer-contact .label{color:#fff;font-weight:700;margin:0}.footer-button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;border-radius:999px;background:#fff;color:var(--blue-deep);font-weight:700;padding:0 18px}.footer-button.is-light{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.24)}.copyright{text-align:center;color:rgba(255,255,255,.52);margin:0;padding:18px 20px 28px;font-size:12px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (max-width:1080px){.global-nav,.header-actions{display:none}.menu-button{display:block}.site-header.is-open .global-nav{display:grid;position:absolute;left:20px;right:20px;top:86px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 20px;box-shadow:var(--shadow)}.site-header.is-open .nav-link{padding:10px 0}.service-grid,.flow-list,.values-grid{grid-template-columns:repeat(2,1fr)}.menu-grid,.care-grid,.shop-grid,.case-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){body{font-size:15.5px;line-height:1.82}.sample-ribbon{font-size:12px}.site-header{top:59px}.header-inner{width:min(100% - 28px,1180px);min-height:72px}.brand{min-width:auto}.brand-mark{width:40px;height:40px}.brand-text strong{font-size:17px}.brand-text small{font-size:11px}.hero{min-height:660px}.hero-overlay{background:linear-gradient(180deg,rgba(8,39,61,.62),rgba(8,39,61,.88))}.hero-content,.container{width:min(100% - 28px,1180px)}.hero h1{font-size:44px}.hero-lead{font-size:17px}.hero-actions .button{width:100%}.section-pad{padding:68px 0}.split-grid,.two-column,.staff-layout,.article-layout,.contact-grid,.footer-inner{grid-template-columns:1fr;gap:30px}.service-grid,.flow-list,.values-grid,.menu-grid,.care-grid,.shop-grid,.case-grid,.equipment-grid{grid-template-columns:1fr}.page-hero{padding:72px 0 58px}.page-hero h1{font-size:40px}.profile-list div{grid-template-columns:1fr;gap:4px}.article-side{position:static}.map-section iframe{height:360px}.sitemap-box ul{columns:1}}

.sample-ribbon,.notice-strip p{overflow-wrap:anywhere}
.hero h1{font-size:clamp(40px,5vw,68px);max-width:660px;overflow-wrap:break-word}
.hero-lead{color:rgba(255,255,255,.88)}
@media (max-width:760px){
  .sample-ribbon{position:relative;top:auto;padding:10px 14px}
  .site-header{top:0}
  .hero h1{font-size:37px;line-height:1.18;max-width:9.4em}
  .hero-lead{font-size:16px;color:rgba(255,255,255,.9)}
}

html,body{max-width:100%;overflow-x:hidden}
h1,h2,h3,p,.hero-lead,.sample-ribbon,.notice-strip p{overflow-wrap:anywhere}
.hero h1{font-size:clamp(40px,4.6vw,64px);max-width:790px}
@media (max-width:760px){
  .hero h1{font-size:36px;line-height:1.18;max-width:9.6em}
  h2{font-size:30px;line-height:1.42}
}
