*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",Meiryo,sans-serif;color:#14324a;background:#f2f6f9;line-height:1.75}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1160px,calc(100% - 36px));margin:auto}header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid #dbe5ec;backdrop-filter:blur(10px)}.header-inner{min-height:72px;display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;display:flex;gap:10px;align-items:baseline}.brand strong{font-size:1.8rem;color:#075b96}.brand span{font-size:.72rem;font-weight:800;letter-spacing:.13em}nav{display:flex;align-items:center;gap:22px;font-size:.9rem;font-weight:700}nav a{text-decoration:none}.contact-link{background:#075b96;color:white;padding:9px 16px;border-radius:999px}.hero{position:relative;min-height:650px;display:flex;align-items:center;color:white;overflow:hidden}.hero-bg,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}.hero-bg{object-fit:cover;object-position:center 27%}.hero-overlay{background:linear-gradient(90deg,rgba(4,31,50,.90),rgba(4,31,50,.58) 48%,rgba(4,31,50,.06) 78%)}.hero-content{position:relative;z-index:2}.hero-content h1{font-size:clamp(2.5rem,6vw,4.9rem);line-height:1.12;margin:.1em 0 .35em;letter-spacing:-.04em}.hero-content>p{max-width:690px;font-size:1.08rem}.eyebrow{margin:0 0 8px;color:#087bb8;font-size:.78rem;font-weight:900;letter-spacing:.17em}.light{color:#91e3ff}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 24px;border-radius:11px;text-decoration:none;font-weight:850}.primary{background:#0a79b8;color:#fff}.ghost{border:1px solid rgba(255,255,255,.65);color:white}.quick{background:white;border-bottom:1px solid #dbe5ec}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}.quick-grid a{position:relative;display:block;padding:23px 52px 23px 24px;border-right:1px solid #dbe5ec;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease}
.quick-grid a:last-child{border-right:0}
.quick-grid a:hover,.quick-grid a:focus-visible{background:#eaf5fb;color:#075b96;outline:none}
.quick-grid a:active{transform:translateY(1px)}
.quick-grid b,.quick-grid span{display:block}
.quick-grid span{color:#667b8b;font-size:.88rem}
.quick-grid i{position:absolute;right:22px;top:50%;transform:translateY(-50%);font-style:normal;font-size:1.15rem;color:#0a79b8;transition:transform .2s ease}
.quick-grid a:hover i,.quick-grid a:focus-visible i{transform:translateY(-42%)}.section{padding:84px 0}.white{background:white}.soft{background:#eef4f8}.navy{background:#0d2c42;color:#e9f3f8}.heading{max-width:820px;margin-bottom:34px}.heading h2,.split h2,.skill-grid h2,.contact-box h2{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.3;margin:0 0 10px}.heading p:last-child{color:#64798a}.price-box{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:38px;border-radius:20px;background:#fff;border:1px solid #d6e2ea;box-shadow:0 18px 50px rgba(20,50,74,.1)}.price{margin:5px 0}.price strong{font-size:clamp(2.4rem,6vw,4.2rem);color:#d51f25;line-height:1}.price span{font-weight:800}.red{color:#d51f25}.price-box ul{margin:0;padding-left:1.3em}.note{font-size:.86rem;color:#687b89}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:38px 0}.photo-grid figure,.split figure{margin:0;background:white;border-radius:17px;overflow:hidden;box-shadow:0 12px 35px rgba(20,50,74,.09)}.photo-grid img{width:100%;height:280px;object-fit:cover}.photo-grid figcaption,.split figcaption{padding:12px 15px;font-weight:800}.cards{display:grid;gap:16px}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.cards article{padding:24px;border:1px solid #d7e2e9;border-radius:16px;background:white}.cards h3{margin:0 0 5px}.cards p{margin:0;color:#627687}.split{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.split figure img{width:100%;height:430px;object-fit:cover}.split.reverse figure{order:0}.check{padding-left:1.2em}.check li{margin:7px 0}.diagram img{object-fit:contain!important;background:white}.skill-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px}.qualifications{padding:30px;border-radius:18px;background:white;color:#17364d}.qualifications ul{padding-left:1.2em}.legal{margin-top:22px;padding:18px;border-left:5px solid #0a79b8;background:#f3f7fa}.legal p{margin:6px 0 0;color:#5f7382}.contact{background:linear-gradient(135deg,#075b96,#0d839d);color:white}.contact-box{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-box p{margin-bottom:0}.footer-inner{min-height:88px;display:flex;justify-content:space-between;align-items:center}footer{background:#071b29;color:#d8e6ee}footer a{color:#d8e6ee}@media(max-width:900px){nav a:not(.contact-link){display:none}.quick-grid{grid-template-columns:repeat(2,1fr)}.price-box,.split,.skill-grid{grid-template-columns:1fr}.cards.four{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:1fr 1fr}.contact-box{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.container{width:min(100% - 24px,1160px)}.brand span{display:none}.hero{min-height:610px}.hero-content h1{font-size:2.45rem}.actions .btn{width:100%}.quick-grid{grid-template-columns:1fr}.quick-grid a{border-right:0;border-bottom:1px solid #dbe5ec}.section{padding:62px 0}.price-box{padding:25px}.cards.four,.cards.two,.photo-grid{grid-template-columns:1fr}.photo-grid img{height:260px}.split figure img{height:330px}.contact-box .btn{width:100%}.footer-inner{padding:24px 0;align-items:flex-start;flex-direction:column}}.viewer{padding:0;border:0;background:transparent;max-width:92vw}.viewer::backdrop{background:rgba(0,0,0,.87)}.viewer img{max-height:88vh;border-radius:12px}.viewer button{position:absolute;right:0;top:-44px;width:38px;height:38px;border:0;border-radius:50%;font-size:1.5rem;color:white;background:rgba(255,255,255,.22)}
@media(max-width:600px){
  .hero-bg{object-position:58% 24%}
}

.hero-photo-label{
 position:absolute;right:28px;bottom:24px;z-index:3;
 padding:8px 13px;border-radius:8px;
 background:rgba(5,28,43,.72);color:#fff;
 font-size:.82rem;font-weight:800;letter-spacing:.04em;
 backdrop-filter:blur(5px)
}
@media(max-width:600px){.hero-photo-label{right:12px;bottom:12px;font-size:.72rem}}

/* JBD corporate header logo: camera page only */
header .jbd-corporate-brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;min-width:0}
header .jbd-corporate-brand__logo{display:block!important;width:64px!important;height:64px!important;min-width:64px!important;max-width:64px!important;min-height:64px!important;max-height:64px!important;flex:0 0 64px!important;object-fit:contain!important;object-position:center!important}
header .jbd-corporate-brand__text{display:flex;flex-direction:column;line-height:1.15;white-space:nowrap}
header .jbd-corporate-brand__text strong{font-size:20px;font-weight:800;letter-spacing:.03em;color:#14324a}
header .jbd-corporate-brand__text small{margin-top:5px;font-size:10px;font-weight:700;letter-spacing:.14em;opacity:.72}
@media(max-width:700px){header .jbd-corporate-brand{gap:9px}header .jbd-corporate-brand__logo{width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;min-height:48px!important;max-height:48px!important;flex-basis:48px!important}header .jbd-corporate-brand__text strong{font-size:15px}header .jbd-corporate-brand__text small{display:block;font-size:8px;letter-spacing:.08em}}
