/* ================================================
   THEMES.CSS  —  Bento Grid
   ================================================ */

/* ================================================
   THEME: BENTO GRID
   Editorial · Stark · Grid · Flat Offset Shadows
   ================================================ */
body.theme-bento {
  background: #f5f5f3;
}

/* Bento Nav */
body.theme-bento .header.scrolled {
  background: rgba(255,255,255,.97);
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
}
body.theme-bento .header.scrolled .nav__link { color: #1A2840; }
body.theme-bento .header.scrolled .nav__link:hover { color: #4A90B8; }
body.theme-bento .header.scrolled .nav__logo-company { color: rgba(26,40,64,.6); }
body.theme-bento .header.scrolled .nav__logo-img { filter: none; }

/* Bento Hero */
body.theme-bento .hero {
  background: #0a0a0a;
}
body.theme-bento .hero__gradient {
  background: radial-gradient(ellipse 60% 60% at 65% 40%, rgba(74,144,184,.14), transparent 65%);
}
body.theme-bento .hero__img-bg { opacity: .08; }
body.theme-bento .hero__badge {
  background: rgba(74,144,184,.12);
  border-color: rgba(74,144,184,.3);
}
body.theme-bento .hero__stats {
  border-color: rgba(255,255,255,.1);
}
body.theme-bento .btn--primary {
  border-radius: 4px;
  box-shadow: 4px 4px 0 rgba(74,144,184,.5);
}
body.theme-bento .btn--primary:hover {
  box-shadow: 6px 6px 0 rgba(74,144,184,.6);
  transform: translate(-2px,-2px) !important;
}
body.theme-bento .btn--outline { border-color: rgba(255,255,255,.4); border-radius: 4px; }
body.theme-bento .btn--submit { border-radius: 4px; box-shadow: 4px 4px 0 rgba(0,0,0,.3); }
body.theme-bento .btn--submit:hover { box-shadow: 6px 6px 0 rgba(0,0,0,.35); transform: translate(-2px,-2px) !important; }

/* Bento Section backgrounds */
body.theme-bento .strengths { background: #f5f5f3; }
body.theme-bento .flow { background: #fff; border-top: 2px solid #0a0a0a; border-bottom: 2px solid #0a0a0a; }
body.theme-bento .service { background: #f5f5f3; }
body.theme-bento .service__bg-text { opacity: .02; }
body.theme-bento .voice { /* keep dark */ }
body.theme-bento .purchase { background: #f5f5f3; }
body.theme-bento .offices { background: #fff; border-top: 2px solid #0a0a0a; border-bottom: 2px solid #0a0a0a; }
body.theme-bento .company { background: #f5f5f3; }
body.theme-bento .contact { background: #0a0a0a; }
body.theme-bento .footer { background: #0a0a0a; }

/* Bento section text */
body.theme-bento .section-title { letter-spacing: -.04em; color: #0a0a0a; }
body.theme-bento .section-desc { color: #555; }
body.theme-bento .section-tag { background: #0a0a0a; color: #fff; border-radius: 0; }

/* ダークセクション（数字・お客様の声・コンタクト）は白文字を維持 */
body.theme-bento .numbers .section-title,
body.theme-bento .numbers .section-title--light,
body.theme-bento .voice .section-title,
body.theme-bento .contact .section-title { color: #fff; }
body.theme-bento .numbers .section-desc,
body.theme-bento .voice .section-desc,
body.theme-bento .contact .section-desc { color: rgba(255,255,255,.7); }
body.theme-bento .numbers .section-tag,
body.theme-bento .voice .section-tag,
body.theme-bento .contact .section-tag {
  background: rgba(255,255,255,.15);
  color: #B8DFF0;
}
body.theme-bento .section-title--light { color: #fff; }
body.theme-bento .section-desc--light { color: rgba(255,255,255,.7); }
body.theme-bento .section-tag--light { background: rgba(255,255,255,.12); color: #B8DFF0; }

/* Bento Cards */
body.theme-bento .strength-card {
  background: #fff;
  border: 2px solid #0a0a0a;
  border-radius: 4px;
  box-shadow: none;
  transition: transform .35s ease, box-shadow .35s ease, background .35s ease;
}
body.theme-bento .strength-card:hover {
  background: #0a0a0a;
  box-shadow: 5px 5px 0 #4A90B8 !important;
  transform: translate(-3px,-3px) !important;
}
body.theme-bento .strength-card:hover .strength-card__title { color: #fff; }
body.theme-bento .strength-card:hover .strength-card__text { color: rgba(255,255,255,.65); }
body.theme-bento .strength-card:hover .strength-card__icon { color: #90D4EE; }
body.theme-bento .strength-card:hover .strength-card__num { color: rgba(255,255,255,.4); }
body.theme-bento .strength-card::after,
body.theme-bento .strength-card::before { display: none; }

body.theme-bento .service-item {
  border: 1px solid var(--color-border);
  border-radius: 4px;
  box-shadow: none;
  transition: transform .35s ease, box-shadow .35s ease;
}
body.theme-bento .service-item:hover {
  box-shadow: 5px 5px 0 #4A90B8 !important;
  transform: translate(-3px,-3px) !important;
}
body.theme-bento .service-item__img { border-radius: 0; }
body.theme-bento .service-item__img-overlay { background: linear-gradient(to bottom, transparent 50%, rgba(255,255,255,.98) 100%); }

body.theme-bento .flow__step {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  box-shadow: none;
  transition: transform .35s ease, box-shadow .35s ease;
}
body.theme-bento .flow__step:hover {
  box-shadow: 4px 4px 0 #4A90B8 !important;
  transform: translate(-2px,-2px) !important;
}
body.theme-bento .flow__step-img { border-radius: 0; }
body.theme-bento .flow__connector { color: #0a0a0a; opacity: .4; }
body.theme-bento .flow__bg-deco { display: none; }

body.theme-bento .number-card { position: relative; }
body.theme-bento .number-card::after { background: rgba(255,255,255,.2); }

body.theme-bento .office-card {
  border: 2px solid #0a0a0a;
  border-radius: 4px;
  box-shadow: none;
  transition: transform .35s ease, box-shadow .35s ease;
}
body.theme-bento .office-card:hover {
  border-color: #4A90B8;
  box-shadow: 4px 4px 0 #4A90B8 !important;
  transform: translate(-2px,-2px) !important;
}
body.theme-bento .office-card--main {
  background: #4A90B8;
  border-color: #4A90B8;
  border-radius: 4px;
}

body.theme-bento .purchase__inner {
  border-radius: 4px;
  border: 2px solid rgba(255,255,255,.12);
}

body.theme-bento .company__table tr { border-bottom-color: #ddd; }
body.theme-bento .company__philosophy { border-radius: 4px; }
body.theme-bento .company__value { border-radius: 4px; }

body.theme-bento .contact__form-wrap { border-radius: 4px; border: 2px solid rgba(255,255,255,.08); }
body.theme-bento .form-input, body.theme-bento .form-select, body.theme-bento .form-textarea { border-radius: 4px; }
body.theme-bento .btn--submit { border-radius: 4px; }

body.theme-bento .voice-card { border-radius: 4px; }
body.theme-bento .back-to-top { border-radius: 4px; }
body.theme-bento .nav__link--cta { border-radius: 4px; }
body.theme-bento .strength-card__tag { border-radius: 0; }
body.theme-bento .section-tag { letter-spacing: .12em; }
