/* SBS株式会社 コーポレートサイト 共通スタイル */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Helvetica Neue',sans-serif;background:#fafaf8;color:#2c2c2c;line-height:1.7;-webkit-text-size-adjust:100%;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;display:block;}

/* ===== Header ===== */
.site-header{position:sticky;top:0;z-index:900;background:#111;padding:14px 40px;display:flex;align-items:center;justify-content:space-between;}
.site-header .brand svg{height:30px;width:auto;display:block;}
.site-header nav{display:flex;gap:26px;align-items:center;}
.site-header nav a{font-size:11px;color:rgba(255,255,255,.62);letter-spacing:2px;transition:color .3s;}
.site-header nav a:hover,.site-header nav a.current{color:#c9a96e;}
.hamb{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.hamb span{display:block;width:22px;height:1px;background:#fff;transition:.3s;}
.hamb.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.hamb.open span:nth-child(2){opacity:0;}
.hamb.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* ===== Drawer ===== */
.drawer{position:fixed;top:0;right:-300px;width:280px;height:100%;background:#111;z-index:1000;transition:right .3s ease;padding:80px 0 24px;overflow-y:auto;}
.drawer.open{right:0;}
.drawer a{display:block;padding:14px 32px;color:rgba(255,255,255,.8);font-size:14px;letter-spacing:1px;border-bottom:1px solid rgba(255,255,255,.06);}
.drawer a:hover{background:rgba(255,255,255,.05);color:#c9a96e;}
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:999;}
.overlay.open{display:block;}

/* ===== Hero ===== */
.hero{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:0 20px;}
.hero .ol{position:absolute;inset:0;z-index:0;}
.hero>*{position:relative;z-index:1;}
.hero-top{min-height:600px;background:radial-gradient(ellipse at 50% 30%,#1c1c1c 0%,#0a0a0a 75%);}
.hero-dark{min-height:300px;background:linear-gradient(135deg,#111,#1c1c1c);}
.hero h1.big{font-family:'Arial Black','Arial',sans-serif;font-size:82px;font-weight:900;letter-spacing:6px;line-height:1.05;}
.hero .en{font-family:'Cormorant Garamond',serif;font-size:34px;letter-spacing:4px;font-weight:500;}
.hero .sub{font-size:13px;letter-spacing:3px;font-weight:300;opacity:.9;margin-top:14px;}
.hero-cta{display:flex;gap:16px;margin-top:34px;justify-content:center;flex-wrap:wrap;}
.btn-ghost,.btn-fill{display:inline-block;padding:12px 34px;border-radius:30px;font-size:12px;font-weight:500;letter-spacing:2px;transition:.3s;}
.btn-ghost{border:1px solid rgba(255,255,255,.6);color:#fff;}
.btn-ghost:hover{background:#fff;color:#111;}
.btn-fill{background:#c9a96e;color:#111;border:1px solid #c9a96e;}
.btn-fill:hover{opacity:.85;transform:translateY(-1px);}

/* ===== Sections ===== */
.sec{background:#fff;padding:60px 48px;border-bottom:1px solid #f0ede8;}
.sec:last-of-type{border-bottom:none;}
.sec.tint-b{background:rgba(106,143,181,.04);}
.sec.tint-g{background:rgba(90,143,106,.05);}
.sec.tint-o{background:rgba(201,169,110,.05);}
.eyebrow{font-family:'Cormorant Garamond',serif;font-size:12px;color:#b0a080;letter-spacing:4px;margin-bottom:8px;text-align:center;text-transform:uppercase;font-weight:600;}
.sec h2,.sec h3{font-size:21px;font-weight:400;color:#222;margin-bottom:22px;text-align:center;letter-spacing:2px;}
.sec p.lead{font-size:14.5px;line-height:2;color:#555;text-align:center;font-weight:300;max-width:720px;margin:0 auto;}

/* ===== Cards ===== */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px;max-width:900px;margin-left:auto;margin-right:auto;}
.grid.g2{grid-template-columns:repeat(2,1fr);max-width:720px;}
.grid.g1{grid-template-columns:1fr;max-width:560px;}
.card{border:1px solid #e8e4dc;border-radius:3px;overflow:hidden;transition:box-shadow .3s,transform .3s;background:#fff;display:block;}
.card:hover{box-shadow:0 10px 30px rgba(0,0,0,.13);transform:translateY(-3px);}
.card .cimg{height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f5f3ef;}
.card .cimg img{width:100%;height:100%;object-fit:cover;}
.card .cimg.contain{padding:22px;}
.card .cimg.contain img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
.card .cimg.dark{background:#1a1410;color:#c9a96e;font-family:'Cormorant Garamond',serif;font-size:20px;letter-spacing:3px;}
.card .cbody{padding:20px 22px;}
.card .cbody h3,.card .cbody h4{font-size:15px;font-weight:500;color:#222;margin-bottom:8px;letter-spacing:1px;text-align:left;}
.card .cbody p{font-size:12.5px;color:#777;line-height:1.75;font-weight:300;text-align:left;}
.more{margin-top:12px;font-size:12px;font-weight:500;}
.ac-g{color:#5a8f6a;}.ac-o{color:#c9a96e;}.ac-b{color:#6a8fb5;}

/* ===== Table ===== */
.tbl{width:100%;border-collapse:collapse;margin-top:20px;max-width:760px;margin-left:auto;margin-right:auto;}
.tbl th,.tbl td{padding:14px 20px;text-align:left;border-bottom:1px solid #f0ede8;font-size:13px;vertical-align:top;}
.tbl th{color:#999;font-weight:400;width:150px;letter-spacing:1px;white-space:nowrap;}
.tbl td{color:#333;font-weight:300;}

/* ===== Contact block ===== */
.contact-box{max-width:560px;margin:26px auto 0;border:1px solid #e8e4dc;background:#fff;padding:32px 28px;text-align:center;border-radius:3px;}
.contact-box .label{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:3px;color:#b0a080;text-transform:uppercase;}
.contact-box .tel{font-size:30px;font-weight:500;color:#222;letter-spacing:2px;margin-top:6px;display:inline-block;}
.contact-box .mail{font-size:19px;font-weight:400;color:#222;letter-spacing:1px;margin-top:6px;display:inline-block;word-break:break-all;}
.contact-box .note{font-size:12px;color:#888;margin-top:10px;font-weight:300;}
.contact-box + .contact-box{margin-top:20px;}

.cta-btn{display:inline-block;padding:15px 46px;color:#fff;font-size:12px;font-weight:500;letter-spacing:3px;text-transform:uppercase;transition:.3s;border-radius:2px;margin-top:22px;}
.cta-btn:hover{opacity:.88;transform:translateY(-1px);}
.bg-green{background:linear-gradient(135deg,#3d6b4a,#5a8f6a);}
.bg-orange{background:linear-gradient(135deg,#a07840,#c9a96e);}
.bg-blue{background:linear-gradient(135deg,#4a6f8f,#6a8fb5);}
.bg-dark{background:linear-gradient(135deg,#111,#1a1a1a);}

/* ===== Footer ===== */
.site-footer{background:#0d0d0d;color:rgba(255,255,255,.5);padding:44px 40px 30px;text-align:center;}
.site-footer svg{height:26px;margin:0 auto 16px;}
.site-footer .fnav{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-bottom:18px;}
.site-footer .fnav a{font-size:11px;letter-spacing:1.5px;color:rgba(255,255,255,.55);}
.site-footer .fnav a:hover{color:#c9a96e;}
.site-footer .cp{font-size:11px;letter-spacing:1px;color:rgba(255,255,255,.3);}

@media(max-width:768px){
  .site-header{padding:12px 18px;}
  .site-header nav{display:none;}
  .hamb{display:flex;}
  .hero-top{min-height:420px;padding:60px 20px;}
  .hero h1.big{font-size:52px;letter-spacing:4px;}
  .hero .en{font-size:26px;}
  .sec{padding:40px 20px;}
  .grid,.grid.g2{grid-template-columns:1fr;max-width:100%;}
  .contact-box .tel{font-size:24px;}
  .contact-box .mail{font-size:15px;}
  .tbl th{width:110px;padding:12px 10px;}
  .tbl td{padding:12px 10px;}
}
