
body.modern-home-page .section{position:relative;}
.hero{padding:28px 22px 24px;}
.hero-shell{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  gap:26px;
  align-items:stretch;
  background:
    radial-gradient(circle at 18% 18%, rgba(184,213,64,.18) 0, rgba(184,213,64,0) 28%),
    radial-gradient(circle at 88% 14%, rgba(69,129,205,.15) 0, rgba(69,129,205,0) 32%),
    linear-gradient(135deg,#ffffff 0%,#fafafa 52%,#f7f7f7 100%);
  border:1px solid rgba(221,229,238,.9);
  border-radius:28px;
  box-shadow:var(--kyoei-shadow);
  overflow:hidden;
  padding:26px;
}
.hero-copy{
  min-height:380px;
  display:flex;
  align-items:center;
  position:relative;
  padding:20px 20px 20px 6px;
}
.hero-copy::before{
  content:"";
  position:absolute;
  inset:8% 12% 8% 0;
  border-radius:28px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.62)),
    repeating-linear-gradient(90deg,rgba(18,35,61,.04) 0 1px,transparent 1px 44px),
    repeating-linear-gradient(0deg,rgba(18,35,61,.04) 0 1px,transparent 1px 44px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}
.hero-copy::after{
  content:"";
  position:absolute;
  right:10%; top:50%; transform:translateY(-50%);
  width:130px;height:130px;border-radius:50%;
  background:radial-gradient(circle,rgba(184,213,64,.32),rgba(184,213,64,0) 70%);
}
.hero-copy-inner{position:relative;z-index:1;max-width:560px;padding:28px 34px;}
.hero-title{
  margin:0;
  color:var(--kyoei-navy);
  font-size:clamp(2.3rem,5vw,4.4rem);
  line-height:1.16;
  font-weight:900;
  letter-spacing:.03em;
}
.hero-media{position:relative;min-height:380px;display:flex;align-items:center;justify-content:center;}
.hero-frame{
  position:relative;
  width:100%;height:100%;min-height:380px;
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--kyoei-shadow-strong);
  background:#cfd8e4;
}
.hero-frame video,
.hero-frame img{width:100%;height:100%;object-fit:cover;}
.hero-frame::after{
  content:"";
  position:absolute; inset:auto 0 0 0; height:45%;
  background:linear-gradient(180deg,rgba(10,18,31,0) 0%,rgba(10,18,31,.22) 100%);
  pointer-events:none;
}
.hero-accent{
  position:absolute;right:-28px;top:-28px;width:180px;height:180px;border-radius:28px;
  background:linear-gradient(135deg,rgba(184,213,64,.24),rgba(44,103,176,.18));filter:blur(6px);
}
.card-section .section-head,.info-section .section-head,.group-section .section-head,.strength-section .section-head{margin-bottom:18px;}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.service-card,.group-card{
  position:relative;display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:stretch;
  padding:14px;border-radius:22px;border:1px solid rgba(221,229,238,.95);
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(250,251,255,.98));
  box-shadow:var(--kyoei-shadow);overflow:hidden;isolation:isolate;
}
.service-card::before,.group-card::before{
  content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s ease;
  background:linear-gradient(135deg,rgba(44,103,176,.92),rgba(184,213,64,.88) 72%,rgba(243,248,200,.88) 100%);
  z-index:0;
}
.service-card > *, .group-card > *{position:relative;z-index:1;}
.service-card img,.group-card img{
  width:110px;height:110px;object-fit:cover;border-radius:18px;
  transition:transform .35s ease, filter .35s ease;
  box-shadow:0 10px 24px rgba(12,26,49,.12);
}
.service-card-body,.group-card-body{display:flex;flex-direction:column;justify-content:center;min-width:0;}
.service-card small,.group-card small{
  display:block;margin-bottom:6px;color:#84951b;font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;
}
.service-card h3,.group-card h3{
  margin:0 0 10px;color:var(--kyoei-navy);font-size:1.28rem;font-weight:900;line-height:1.25;
  display:flex;align-items:center;gap:14px;
}
.service-card h3::before,.group-card h3::before{
  content:"";display:block;width:34px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--kyoei-green),var(--kyoei-blue));flex:0 0 34px;
}
.service-card p,.group-card p{margin:0;color:var(--kyoei-muted);font-size:.94rem;line-height:1.7;}
.service-card:hover,.group-card:hover{
  transform:translateY(-4px);box-shadow:0 22px 44px rgba(12,26,49,.16);
  border-color:rgba(44,103,176,.18);
}
.service-card:hover::before,.group-card:hover::before{opacity:1;}
.service-card:hover img,.group-card:hover img{transform:scale(1.06);filter:saturate(1.08) contrast(1.02);} 
.service-card:hover small,.service-card:hover h3,.service-card:hover p,
.group-card:hover small,.group-card:hover h3,.group-card:hover p{color:#fff;}
.service-card:hover h3::before,.group-card:hover h3::before{background:rgba(255,255,255,.85);}
.strength-layout{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);gap:22px;align-items:stretch;}
.strength-copy,.strength-media{
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(249,251,255,.98));
  border:1px solid rgba(221,229,238,.95); border-radius:24px; box-shadow:var(--kyoei-shadow);
}
.strength-copy{padding:26px;}
.strength-media{overflow:hidden;display:flex;align-items:center;justify-content:center;padding:12px;}
.strength-media img{width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:18px;}
.strength-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;}
.strength-item{
  position:relative;padding:18px 16px;border-radius:18px;border:1px solid rgba(221,229,238,.95);
  background:linear-gradient(180deg,#ffffff,#f8f8f8);overflow:hidden;
}
.strength-item::before{
  content:"";position:absolute;left:16px;top:15px;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--kyoei-green),var(--kyoei-blue));box-shadow:0 0 0 6px rgba(184,213,64,.12);
}
.strength-item p{margin:0;padding-left:24px;color:var(--kyoei-navy);font-weight:800;line-height:1.55;}
.info-layout{display:grid;grid-template-columns:360px 1fr;gap:18px;align-items:start;}
.calendar-box,.news-box{
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(250,251,255,.98));
  border:1px solid rgba(221,229,238,.95); border-radius:22px; box-shadow:var(--kyoei-shadow); padding:20px;
}
.calendar-box h3,.news-box h3{margin:0 0 14px;font-size:1.18rem;color:var(--kyoei-navy);}
.calendar-toggle-button{width:100%;border:none;border-radius:16px;background:linear-gradient(135deg,var(--kyoei-green),var(--kyoei-lime));color:#11233b;padding:13px 16px;cursor:pointer;font-weight:900;box-shadow:0 12px 24px rgba(184,213,64,.22);} 
.calendar-flex{display:flex;align-items:center;justify-content:center;gap:10px;}
.calendar-icon{width:28px!important;height:28px!important;box-shadow:none!important;border-radius:0!important;}
.calendar{margin-top:14px;background:#fff;border:1px solid rgba(221,229,238,.95);border-radius:18px;box-shadow:none;overflow:hidden;}
.calendar.hidden{display:none;}
.calendar-header{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(90deg,#f9f9f9,#f4f4f4);color:var(--kyoei-navy);padding:12px 10px;border-bottom:1px solid rgba(221,229,238,.95);}
.calendar-header button{border:none;background:#fff;color:var(--kyoei-navy);width:32px;height:32px;border-radius:10px;font-weight:800;cursor:pointer;box-shadow:0 4px 12px rgba(12,26,49,.08);}
.calendar-label{font-weight:900;color:#7f9621;white-space:nowrap;}
#calendar-header{font-weight:900;min-width:92px;text-align:center;}
.close-button{margin-left:auto;}
.calendar-body{padding:12px;}
.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;}
.weekdays div{font-size:.86rem;color:var(--kyoei-muted);font-weight:800;padding-bottom:4px;}
.day{padding:9px 0;border-radius:12px;background:#f7f9fc;border:1px solid #edf2f7;font-weight:700;}
.today{background:#dff0a6!important;color:#10233b;border-color:#d6e37d;}
.holiday{background:#edf2fa!important;color:#3762a7;border-color:#d2deef;}
#news{display:grid;gap:10px;max-height:360px;overflow:auto;padding-right:2px;}
#news .block{padding:12px 0;border-bottom:1px solid rgba(221,229,238,.85);}
#news .block:last-child{border-bottom:none;padding-bottom:0;}
#news time{display:block;margin-bottom:7px;font-size:.85rem;color:var(--kyoei-muted);font-weight:800;}
#news .label-line{margin-bottom:6px;}
#news .NEWS-span,#news .EVENT-span{display:inline-flex;align-items:center;min-height:22px;padding:0 10px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.08em;}
#news .NEWS-span{background:#eef4fb;color:#3568a7;}
#news .EVENT-span{background:#eff6d3;color:#6f8620;}
#news .infomation-coment-n,#news .infomation-coment-y{color:var(--kyoei-navy);font-weight:700;line-height:1.7;}
#news a.infomation-coment-y:hover,#news a.infomation-coment-n:hover{color:var(--kyoei-blue);}
.group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.group-card{grid-template-columns:1fr;padding:14px;}
.group-card img{width:100%;height:180px;}
.group-card-body{padding:4px 2px 2px;}
.cta{padding:14px 22px 0;}
.cta-inner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:28px 30px;border-radius:24px;
  background:linear-gradient(135deg,rgba(253,253,253,.98),rgba(247,247,247,.98));
  border:1px solid rgba(221,229,238,.95);box-shadow:var(--kyoei-shadow);
}
.cta h2{margin:0;color:var(--kyoei-navy);font-size:clamp(1.5rem,2.2vw,2.2rem);line-height:1.45;}
.cta p{display:none;}
@media (max-width:1100px){
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hero-shell,.strength-layout,.info-layout{grid-template-columns:1fr;}
  .hero-copy{min-height:auto;}
  .hero-frame{min-height:330px;}
}
@media (max-width:720px){
  .hero{padding:18px 16px 16px;}
  .hero-shell{padding:18px;gap:18px;}
  .hero-copy-inner{padding:22px 18px;}
  .hero-title{font-size:2.2rem;}
  .card-grid,.group-grid,.strength-points{grid-template-columns:1fr;}
  .service-card,.group-card{grid-template-columns:96px 1fr;}
  .group-card{grid-template-columns:1fr;}
  .service-card img{width:96px;height:96px;}
  .group-card img{width:100%;height:164px;}
  .cta-inner{flex-direction:column;align-items:flex-start;padding:24px 18px;}
}

/* batch2 hero */
.hero{padding:26px 22px 22px;}
.hero-shell{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:500px;padding:0;overflow:hidden;border-radius:30px;border:1px solid rgba(221,229,238,.95);background:radial-gradient(circle at 10% 12%, rgba(184,213,64,.30), transparent 28%),radial-gradient(circle at 42% 92%, rgba(44,103,176,.16), transparent 34%),linear-gradient(135deg,#ffffff 0%,#fafafa 55%,#f6f6f6 100%);box-shadow:0 24px 58px rgba(12,26,49,.13);}
.hero-shell::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.25),transparent 28%),repeating-linear-gradient(90deg,rgba(18,35,61,.035) 0 1px,transparent 1px 46px),repeating-linear-gradient(0deg,rgba(18,35,61,.030) 0 1px,transparent 1px 46px);pointer-events:none;z-index:1;}
.hero-copy{min-height:500px;display:flex;align-items:center;padding:48px 42px;position:relative;z-index:3;background:radial-gradient(circle at 23% 25%, rgba(184,213,64,.22), transparent 31%),radial-gradient(circle at 74% 70%, rgba(44,103,176,.12), transparent 32%),linear-gradient(135deg,rgba(255,255,255,.95),rgba(246,246,246,.95));clip-path:polygon(0 0, 92% 0, 78% 100%, 0 100%);}
.hero-copy::before{content:"";position:absolute;inset:38px 82px 38px 28px;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.28)),radial-gradient(circle at 18% 18%,rgba(184,213,64,.24),transparent 38%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.76),0 16px 36px rgba(12,26,49,.08);transform:skewX(-7deg);}
.hero-copy::after{content:"";position:absolute;left:34px;bottom:44px;width:210px;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--kyoei-green),var(--kyoei-blue),transparent);opacity:.9;}
.hero-copy-inner{position:relative;z-index:4;max-width:590px;padding:0 38px 0 4px;}
.hero-title{margin:0;color:var(--kyoei-navy);font-size:clamp(2.65rem,5.3vw,4.8rem);line-height:1.14;font-weight:950;letter-spacing:.035em;text-shadow:0 1px 0 rgba(255,255,255,.75);}
.hero-media{position:relative;min-height:500px;z-index:2;margin-left:-95px;}
.hero-frame{width:calc(100% + 95px);height:100%;min-height:500px;border-radius:0;box-shadow:none;clip-path:polygon(16% 0, 100% 0, 100% 100%, 0 100%);}
.hero-frame video,.hero-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);}
.hero-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,250,241,.32) 0%,rgba(247,250,241,.05) 26%,rgba(12,26,49,.14) 100%);pointer-events:none;}
.hero-accent{right:auto;left:-8px;top:0;width:140px;height:100%;border-radius:0;background:linear-gradient(180deg,rgba(184,213,64,.28),rgba(44,103,176,.24));filter:blur(10px);z-index:5;pointer-events:none;}
.card-section .section-label,.strength-section .section-label,.info-section .section-label,.group-section .section-label{font-size:2.05rem;letter-spacing:.16em;margin-bottom:14px;}
.service-card:hover,.group-card:hover{transform:translateY(-9px) scale(1.035);box-shadow:0 30px 62px rgba(12,26,49,.22);}
.service-card:hover img,.group-card:hover img{transform:scale(1.12);}
.strength-item{transition:transform .28s ease, box-shadow .28s ease, background .28s ease;}
.strength-item:hover{transform:translateY(-6px) scale(1.025);box-shadow:0 18px 36px rgba(12,26,49,.13);background:linear-gradient(135deg,#ffffff,#f4f4f4);}
.calendar-toggle-button:hover{transform:translateY(-4px) scale(1.035);box-shadow:0 18px 34px rgba(184,213,64,.32);}
.group-card:hover{background:transparent;}
@media (max-width:1100px){.hero-shell{grid-template-columns:1fr;min-height:0;}.hero-copy{min-height:auto;clip-path:none;padding:34px 24px;}.hero-copy::before{inset:20px;border-radius:24px;transform:none;}.hero-media{margin-left:0;min-height:330px;}.hero-frame{width:100%;min-height:330px;clip-path:none;border-radius:0;}}
@media (max-width:720px){.hero-title{font-size:2.35rem;}.card-section .section-label,.strength-section .section-label,.info-section .section-label,.group-section .section-label{font-size:1.55rem;}.hero-copy-inner{padding:0;}}


/* batch3 overrides */

.hero-shell{min-height:520px !important;}
.hero-copy{padding:42px 44px !important;}
.hero-copy::before{
  inset:34px 96px 34px 26px !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.88),rgba(252,253,247,.52)),
    radial-gradient(circle at 18% 18%,rgba(184,213,64,.22),transparent 38%),
    repeating-linear-gradient(90deg,rgba(18,35,61,.045) 0 1px,transparent 1px 40px),
    repeating-linear-gradient(0deg,rgba(18,35,61,.035) 0 1px,transparent 1px 40px) !important;
}
.hero-copy::after{
  left:54px !important;
  bottom:34px !important;
  width:248px !important;
  height:12px !important;
  background:linear-gradient(90deg,#90a529,#567cab,#c7d95a) !important;
}
.hero-media{margin-left:-115px !important;}
.hero-media::before{
  content:"";
  position:absolute;
  left:-58px;
  top:0;
  width:168px;
  height:100%;
  background:linear-gradient(180deg,rgba(145,170,53,.44),rgba(104,133,65,.28));
  clip-path:polygon(56% 0,100% 0,45% 100%,0 100%);
  z-index:6;
  pointer-events:none;
}
.hero-title{font-size:clamp(2.5rem,5vw,4.75rem) !important; line-height:1.02 !important;}
.hero-title .hero-line{display:block;}
.hero-title .hero-line + .hero-line{margin-top:6px;}
.hero-title .hero-line-em{font-size:1.08em;}
.hero-title .hero-em{font-size:1.12em; font-weight:950; letter-spacing:.02em;}
.card-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.service-card{
  grid-template-columns:164px 1fr !important;
  gap:18px !important;
  min-height:196px;
}
.service-card img{
  width:164px !important;
  height:164px !important;
  border-radius:20px !important;
}
.service-card small,
.group-card small{
  font-size:1.18rem !important;
  letter-spacing:.13em !important;
  margin-bottom:8px !important;
}
.service-card h3::before,
.group-card h3::before{
  width:42px !important;
  flex-basis:42px !important;
  height:6px !important;
}
.strength-layout{
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr) !important;
  gap:18px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,251,255,.98)) !important;
  border:1px solid rgba(221,229,238,.95) !important;
  border-radius:28px !important;
  box-shadow:var(--kyoei-shadow) !important;
  padding:18px !important;
}
.strength-copy,.strength-media{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.strength-copy{padding:10px 8px 10px 6px !important;}
.strength-points{grid-template-columns:1fr !important; gap:16px !important; margin-top:0 !important;}
.strength-item{padding:20px 20px !important;}
.strength-item p{font-size:1.05rem !important; line-height:1.65 !important;}
.strength-media{padding:0 !important; overflow:hidden;}
.strength-media img{
  width:100% !important;
  min-height:360px !important;
  max-height:420px !important;
  border-radius:20px !important;
  transition:opacity .45s ease !important;
}
.info-layout{align-items:stretch;}
.group-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,251,255,.98)) !important;
  border:1px solid rgba(221,229,238,.95) !important;
  border-radius:28px !important;
  box-shadow:var(--kyoei-shadow) !important;
  padding:18px !important;
}
.group-card{
  background:linear-gradient(180deg,#ffffff,#f6f9fc) !important;
  box-shadow:none !important;
  border:1px solid rgba(230,236,244,.9) !important;
}
.group-card img{height:210px !important;}
.section-title{max-width:100%;}
@media (max-width:1100px){
  .strength-layout,
  .group-grid,
  .card-grid{grid-template-columns:1fr !important;}
  .hero-shell{grid-template-columns:1fr !important;}
  .hero-media{margin-left:0 !important;}
  .hero-media::before{display:none !important;}
  .hero-copy{clip-path:none !important;}
  .hero-copy::before{inset:24px !important; transform:none !important;}
}
@media (max-width:720px){
  .service-card{grid-template-columns:120px 1fr !important; min-height:0 !important;}
  .service-card img{width:120px !important;height:120px !important;}
  .group-grid{grid-template-columns:1fr !important;}
}


/* batch5 hero/strength refinements */

.hero-shell{
  grid-template-columns:minmax(340px,.86fr) minmax(420px,1.02fr) !important;
  min-height:470px !important;
}
.hero-copy,
.hero-media,
.hero-frame{min-height:470px !important;}
.hero-copy{padding:34px 34px 34px 38px !important;}
.hero-copy-inner{max-width:520px !important;padding:0 18px 0 0 !important;}
.hero-copy::after{
  left:72px !important;
  bottom:26px !important;
  width:220px !important;
  height:10px !important;
}
.hero-media{margin-left:-78px !important;}
.hero-media::before{
  left:-42px !important;
  width:120px !important;
  background:linear-gradient(180deg,rgba(142,168,52,.54),rgba(110,136,69,.34)) !important;
}
.hero-frame{width:calc(100% + 78px) !important;}
.hero-frame video{
  object-fit:contain !important;
  object-position:center center !important;
  background:linear-gradient(135deg,#edf2ef,#e6ecea) !important;
  transform:scale(.96) !important;
}
.hero-title.hero-title-slant{
  transform:rotate(-2deg) !important;
  transform-origin:left center !important;
  line-height:.98 !important;
}
.hero-title .hero-line{display:block;width:max-content;}
.hero-title .hero-line + .hero-line{margin-top:2px !important;}
.hero-title .hero-line-1{margin-left:0 !important;}
.hero-title .hero-line-2{margin-left:20px !important;}
.hero-title .hero-line-3{margin-left:44px !important;}
.hero-title .hero-line-4{margin-left:72px !important;}
.hero-title .hero-em{font-size:1.24em !important;letter-spacing:.015em !important;}
.strength-item{
  display:flex !important;
  align-items:center !important;
  min-height:74px !important;
}
.strength-item::before{
  top:50% !important;
  transform:translateY(-50%) !important;
}
.strength-media{position:relative !important; isolation:isolate; overflow:hidden !important;}
.strength-media .curtain{
  position:absolute;
  top:0; bottom:0;
  width:51%;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,247,247,.98));
  transition:transform .46s ease;
  box-shadow:0 0 24px rgba(12,26,49,.08);
}
.strength-media .curtain-left{left:0; transform:translateX(-102%); border-right:1px solid rgba(255,255,255,.8);}
.strength-media .curtain-right{right:0; transform:translateX(102%); border-left:1px solid rgba(255,255,255,.8);}
.strength-media.is-transitioning .curtain-left{transform:translateX(0);}
.strength-media.is-transitioning .curtain-right{transform:translateX(0);}
.strength-media img{position:relative; z-index:1; transition:opacity .18s ease !important;}
@media (max-width:1100px){
  .hero-shell{grid-template-columns:1fr !important; min-height:0 !important;}
  .hero-media{margin-left:0 !important;}
  .hero-frame{width:100% !important;}
  .hero-title.hero-title-slant{transform:none !important;}
  .hero-title .hero-line-1,.hero-title .hero-line-2,.hero-title .hero-line-3,.hero-title .hero-line-4{margin-left:0 !important;}
}


/* batch6 hero and strength refinements */

.hero-shell{
  grid-template-columns:minmax(360px,.92fr) minmax(380px,.95fr) !important;
  min-height:460px !important;
}
.hero-copy,
.hero-media,
.hero-frame{min-height:460px !important;}
.hero-copy{padding:34px 24px 34px 32px !important;}
.hero-copy-inner{max-width:560px !important;}
.hero-copy::after{display:none !important;}
.hero-media{
  margin-left:0 !important;
  padding:20px 20px 20px 0 !important;
  display:flex !important;
  align-items:stretch !important;
}
.hero-media::before{
  left:-18px !important;
  width:52px !important;
  top:20px !important;
  height:calc(100% - 40px) !important;
  background:linear-gradient(180deg,rgba(149,176,59,.62),rgba(111,139,74,.40)) !important;
  clip-path:polygon(58% 0,100% 0,42% 100%,0 100%) !important;
}
.hero-frame{
  width:100% !important;
  clip-path:none !important;
  border-radius:28px !important;
  overflow:hidden !important;
  box-shadow:0 12px 28px rgba(12,26,49,.10) !important;
}
.hero-frame::after{display:none !important;}
.hero-frame video{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fafafa !important;
  transform:scale(.90) !important;
}
.hero-title.hero-title-slant{
  transform:rotate(-1.6deg) !important;
  line-height:.94 !important;
}
.hero-title{font-size:clamp(2.45rem,4.9vw,4.4rem) !important;}
.hero-title .hero-line-1{margin-left:0 !important;}
.hero-title .hero-line-2{margin-left:18px !important;}
.hero-title .hero-line-3{margin-left:44px !important;}
.hero-title .hero-line-4{margin-left:82px !important;}
.hero-title .hero-em{font-size:1.15em !important;}
.strength-media .curtain{display:none !important;}
.strength-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  opacity:0;
  transform:translateX(112%);
  background:linear-gradient(90deg,rgba(16,29,48,0) 0%,rgba(16,29,48,.08) 18%,rgba(16,29,48,.36) 48%,rgba(16,29,48,.62) 58%,rgba(16,29,48,.24) 76%,rgba(16,29,48,0) 100%);
}
.strength-media.is-transitioning::after{
  opacity:1;
  animation:strength-dark-wipe 1.25s ease-in-out forwards;
}
@keyframes strength-dark-wipe{
  0%{transform:translateX(112%);opacity:0;}
  12%{opacity:1;}
  50%{transform:translateX(10%);opacity:1;}
  100%{transform:translateX(-112%);opacity:0;}
}
@media (max-width:1100px){
  .hero-media{padding:0 !important;}
  .hero-media::before{display:none !important;}
  .hero-frame video{transform:scale(.96) !important;}
  .hero-title .hero-line-1,.hero-title .hero-line-2,.hero-title .hero-line-3,.hero-title .hero-line-4{margin-left:0 !important;}
}


/* batch8: hero separator/video back toward previous look; keep current copy */
.hero-shell{
  grid-template-columns:minmax(360px,.90fr) minmax(440px,1fr) !important;
  min-height:500px !important;
}
.hero-copy,
.hero-media,
.hero-frame{
  min-height:500px !important;
}
.hero-copy{
  clip-path:polygon(0 0,92% 0,78% 100%,0 100%) !important;
  padding:42px 42px !important;
}
.hero-copy::after{
  display:none !important;
}
.hero-media{
  margin-left:-105px !important;
  padding:0 !important;
  display:block !important;
}
.hero-media::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:-54px !important;
  top:0 !important;
  width:158px !important;
  height:100% !important;
  background:linear-gradient(180deg,rgba(142,168,52,.50),rgba(104,133,65,.30)) !important;
  clip-path:polygon(56% 0,100% 0,45% 100%,0 100%) !important;
  z-index:6 !important;
  pointer-events:none !important;
}
.hero-frame{
  width:calc(100% + 105px) !important;
  height:100% !important;
  border-radius:0 !important;
  clip-path:polygon(16% 0,100% 0,100% 100%,0 100%) !important;
  box-shadow:none !important;
}
.hero-frame::after{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(90deg,rgba(247,250,241,.26) 0%,rgba(247,250,241,.04) 24%,rgba(12,26,49,.10) 100%) !important;
  pointer-events:none !important;
}
.hero-frame video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:scale(.94) !important;
  background:transparent !important;
}
.hero-title.hero-title-slant{
  transform:rotate(-1.6deg) !important;
  transform-origin:left center !important;
}
.hero-title{
  font-size:clamp(2.38rem,4.75vw,4.35rem) !important;
  line-height:.96 !important;
}
.hero-title .hero-line{display:block !important; width:max-content !important;}
.hero-title .hero-line + .hero-line{margin-top:2px !important;}
.hero-title .hero-line-1{margin-left:0 !important;}
.hero-title .hero-line-2{margin-left:18px !important;}
.hero-title .hero-line-3{margin-left:44px !important;}
.hero-title .hero-line-4{margin-left:82px !important;}
.hero-title .hero-em{font-size:1.15em !important;}

/* Calendar always visible */
.calendar-box{
  min-height:420px !important;
}
.calendar-toggle-button{
  display:none !important;
}
.calendar{
  display:block !important;
  margin-top:12px !important;
}
.calendar.hidden{
  display:block !important;
}

/* Strength image transition: right-to-left dark wipe, slower */
.strength-media .curtain{
  display:none !important;
}
.strength-media{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
}
.strength-media::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  pointer-events:none !important;
  opacity:0;
  transform:translateX(112%);
  background:linear-gradient(90deg,rgba(16,29,48,0) 0%,rgba(16,29,48,.10) 20%,rgba(16,29,48,.42) 48%,rgba(16,29,48,.68) 58%,rgba(16,29,48,.26) 78%,rgba(16,29,48,0) 100%);
}
.strength-media.is-transitioning::after{
  opacity:1;
  animation:strength-dark-wipe 1.45s ease-in-out forwards;
}
@keyframes strength-dark-wipe{
  0%{transform:translateX(112%);opacity:0;}
  14%{opacity:1;}
  50%{transform:translateX(4%);opacity:1;}
  100%{transform:translateX(-112%);opacity:0;}
}
@media (max-width:1100px){
  .hero-shell{grid-template-columns:1fr !important; min-height:0 !important;}
  .hero-copy{clip-path:none !important;}
  .hero-media{margin-left:0 !important;}
  .hero-media::before{display:none !important;}
  .hero-frame{width:100% !important; clip-path:none !important; border-radius:0 !important;}
  .hero-frame video{object-fit:contain !important; transform:scale(.96) !important;}
  .hero-title.hero-title-slant{transform:none !important;}
  .hero-title .hero-line-1,.hero-title .hero-line-2,.hero-title .hero-line-3,.hero-title .hero-line-4{margin-left:0 !important;}
}



/* batch9 final hero tuning */
.hero-shell{
  grid-template-columns:minmax(360px,.90fr) minmax(440px,1fr) !important;
  min-height:500px !important;
}
.hero-copy,
.hero-media,
.hero-frame{
  min-height:500px !important;
}
.hero-copy{
  clip-path:polygon(0 0,92% 0,79% 100%,0 100%) !important;
  padding:48px 36px !important;
}
.hero-media{
  margin-left:-96px !important;
  padding:0 !important;
}
.hero-media::before{
  left:-52px !important;
  width:146px !important;
  background:linear-gradient(180deg,rgba(142,168,52,.50),rgba(104,133,65,.30)) !important;
}
.hero-frame{
  width:calc(100% + 96px) !important;
  clip-path:polygon(15% 0,100% 0,100% 100%,0 100%) !important;
}
.hero-frame video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:scale(.80) !important;
}
.hero-title.hero-title-slant{
  transform:rotate(-3.2deg) !important;
  transform-origin:left center !important;
}
.hero-title{
  font-size:clamp(1.95rem,4.1vw,3.68rem) !important;
  line-height:.93 !important;
  letter-spacing:-0.045em !important;
}
.hero-title .hero-line{
  display:block !important;
  width:max-content !important;
}
.hero-title .hero-line + .hero-line{
  margin-top:2px !important;
}
.hero-title .hero-line-1{margin-left:0 !important;}
.hero-title .hero-line-2{margin-left:14px !important;}
.hero-title .hero-line-3{margin-left:38px !important;}
.hero-title .hero-line-4{margin-left:66px !important;}
.hero-title .hero-em{
  font-size:1.44em !important;
  letter-spacing:-0.075em !important;
}
.hero-title .hero-line-1,
.hero-title .hero-line-3,
.hero-title .hero-line-4{
  font-size:.70em !important;
}
.hero-copy-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:100% !important;
}

/* Calendar visible by default */
.calendar-toggle-button{display:none !important;}
.calendar,.calendar.hidden{display:block !important;}

/* keep strength bullets visually centered */
.strength-list li{
  align-items:center !important;
}
.strength-list li::before{
  top:50% !important;
  transform:translateY(-50%) !important;
}

/* batch11 hero typography tuning */
.hero-title.hero-title-slant{
  transform:rotate(-3.8deg) !important;
}
.hero-title{
  line-height:1.02 !important;
  letter-spacing:-0.02em !important;
}
.hero-title .hero-line{
  display:block !important;
  width:max-content !important;
}
.hero-title .hero-line + .hero-line{
  margin-top:12px !important;
}
.hero-title .hero-line-1{
  margin-left:0 !important;
  font-size:.80em !important;
  letter-spacing:-0.03em !important;
}
.hero-title .hero-line-2{
  margin-left:18px !important;
}
.hero-title .hero-line-3{
  margin-left:48px !important;
  font-size:.80em !important;
  letter-spacing:-0.03em !important;
}
.hero-title .hero-line-4{
  margin-left:78px !important;
  font-size:.90em !important;
  letter-spacing:-0.03em !important;
}
.hero-title .hero-em{
  display:inline-flex !important;
  align-items:flex-end !important;
  gap:.035em !important;
  font-size:1.42em !important;
  letter-spacing:0 !important;
  font-kerning:none !important;
  white-space:nowrap !important;
}
.hero-title .hero-em > span{
  display:inline-block !important;
}

@media (max-width:1100px){
  .hero-title.hero-title-slant{transform:none !important;}
  .hero-title .hero-line-1,
  .hero-title .hero-line-2,
  .hero-title .hero-line-3,
  .hero-title .hero-line-4{margin-left:0 !important;}
}


/* batch12 final hero refinements */
.hero-shell{
  grid-template-columns:minmax(360px,.9fr) minmax(440px,1fr) !important;
  min-height:500px !important;
}
.hero-copy,
.hero-media,
.hero-frame{
  min-height:500px !important;
}
.hero-copy{
  clip-path:polygon(0 0,92% 0,79% 100%,0 100%) !important;
  padding:52px 38px !important;
}
.hero-media{
  margin-left:-96px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
}
.hero-media::before{
  left:-52px !important;
  width:146px !important;
}
.hero-frame{
  width:calc(100% + 96px) !important;
  clip-path:polygon(15% 0,100% 0,100% 100%,0 100%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
}
.hero-frame video{
  width:80% !important;
  height:80% !important;
  margin:0 24px 0 0 !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  display:block !important;
}
.hero-title.hero-title-slant{
  transform:rotate(-7.2deg) !important;
  transform-origin:left center !important;
}
.hero-title{
  font-size:clamp(2.2rem,4.4vw,3.95rem) !important;
  line-height:1.04 !important;
  letter-spacing:-0.01em !important;
}
.hero-title .hero-line{
  display:block !important;
  width:max-content !important;
}
.hero-title .hero-line + .hero-line{
  margin-top:16px !important;
}
.hero-title .hero-line-1{
  margin-left:0 !important;
  font-size:.80em !important;
  letter-spacing:-0.025em !important;
}
.hero-title .hero-line-2{
  margin-left:20px !important;
  font-size:1em !important;
}
.hero-title .hero-line-3{
  margin-left:46px !important;
  font-size:.80em !important;
  letter-spacing:-0.025em !important;
}
.hero-title .hero-line-4{
  margin-left:74px !important;
  font-size:.95em !important;
  letter-spacing:-0.025em !important;
}
.hero-title .hero-em{
  display:inline-flex !important;
  align-items:flex-end !important;
  font-size:1em !important;
  gap:0 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
}
.hero-title .hero-em > span{
  display:inline-block !important;
  margin-right:-0.012em !important;
}
.hero-title .hero-em > span:last-child{
  margin-right:0 !important;
}

@media (max-width:1100px){
  .hero-shell{grid-template-columns:1fr !important; min-height:0 !important;}
  .hero-copy{clip-path:none !important;}
  .hero-media{margin-left:0 !important;}
  .hero-media::before{display:none !important;}
  .hero-frame{width:100% !important; clip-path:none !important; justify-content:center !important;}
  .hero-frame video{width:92% !important; height:92% !important; margin:0 !important;}
  .hero-title.hero-title-slant{transform:none !important;}
  .hero-title .hero-line-1,
  .hero-title .hero-line-2,
  .hero-title .hero-line-3,
  .hero-title .hero-line-4{margin-left:0 !important;}
}


/* final user replacement: left hero image fixed */
.hero-shell{
  display:grid !important;
  grid-template-columns:56% 44% !important;
  overflow:hidden !important;
}
.hero-copy{
  background-image:url("../images/top/hero-left-final.png") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  clip-path:none !important;
  padding:0 !important;
}
.hero-copy::before,
.hero-copy::after,
.hero-copy-inner::before{
  content:none !important;
  display:none !important;
}
.hero-copy-inner{
  opacity:0 !important;
  visibility:hidden !important;
}
.hero-media{
  margin-left:-18px !important;
}
.hero-media::before,
.hero-media::after,
.hero-accent{
  content:none !important;
  display:none !important;
}
.hero-frame{
  width:calc(100% - 8px) !important;
  height:80% !important;
  border-radius:18px !important;
  clip-path:none !important;
  overflow:hidden !important;
}
.hero-frame video{
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:18px !important;
}


/* production final: left image slanted along green diagonal, right video kept */
.hero-shell{
  display:grid !important;
  grid-template-columns:56% 44% !important;
  overflow:hidden !important;
}
.hero-copy{
  background-image:url("../images/top/hero-left-final.png") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  clip-path:polygon(0 0, 100% 0, 88% 100%, 0 100%) !important;
  padding:0 !important;
  z-index:3 !important;
}
.hero-copy::before,
.hero-copy::after,
.hero-copy-inner::before{
  content:none !important;
  display:none !important;
}
.hero-copy-inner{
  opacity:0 !important;
  visibility:hidden !important;
}
.hero-media{
  margin-left:-70px !important;
  z-index:2 !important;
  padding-right:24px !important;
}
.hero-media::before,
.hero-media::after,
.hero-accent{
  content:none !important;
  display:none !important;
}
.hero-frame{
  width:80% !important;
  height:80% !important;
  border-radius:18px !important;
  clip-path:none !important;
  overflow:hidden !important;
  margin-left:auto !important;
}
.hero-frame video{
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:18px !important;
}

/* update2 */
.hero-frame{
  aspect-ratio:16/9 !important;
  width:calc(100% - 20px) !important;
  margin:20px 20px 20px auto !important;
  height:auto !important;
}
.hero-media{
  padding:0 !important;
}
.sp-nav-btn,.menu-toggle,.hamburger-button{
  transform:translateY(-5px) !important;
}


/* update3: show full green diagonal on left image, show full video */
.hero-shell{
  display:grid !important;
  grid-template-columns:60% 40% !important;
  overflow:hidden !important;
}
.hero-copy{
  background-image:url("../images/top/hero-left-final.png") !important;
  background-size:contain !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  clip-path:none !important;
  padding:0 !important;
  z-index:3 !important;
}
.hero-copy::before,
.hero-copy::after,
.hero-copy-inner::before{
  content:none !important;
  display:none !important;
}
.hero-copy-inner{
  opacity:0 !important;
  visibility:hidden !important;
}
.hero-media{
  margin-left:-26px !important;
  padding:20px 20px 20px 0 !important;
  z-index:2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.hero-media::before,
.hero-media::after,
.hero-accent{
  content:none !important;
  display:none !important;
}
.hero-frame{
  width:calc(100% - 20px) !important;
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  max-height:calc(100% - 40px) !important;
  margin:20px 20px 20px 0 !important;
  border-radius:18px !important;
  clip-path:none !important;
  overflow:hidden !important;
  background:#dfe8f2 !important;
}
.hero-frame video{
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:18px !important;
  background:#dfe8f2 !important;
}


/* update4 */
.hero-shell{
  grid-template-columns:52% 48% !important;
}
.hero-media{
  margin-left:-40px !important;
}
.hero-frame{
  width:100% !important;
}
.header-menu-toggle,
.menu-toggle,
.hamburger-button{
  transform:translateY(-5px) !important;
}


/* equal height layout */
.hero-shell,
.hero-content{
    align-items:stretch !important;
}
.hero-image,
.hero-media,
.hero-video,
.hero-left,
.hero-right{
    height:100% !important;
}
.hero-media video,
.hero-video video{
    height:100% !important;
    width:100% !important;
    object-fit:cover !important;
}
.hero-shell{
    background:transparent !important;
}


/* image-video balance tweak */
.hero-shell,
.hero-content{
    column-gap:5px !important;
    gap:5px !important;
}
.hero-media,
.hero-video{
    margin-top:20px !important;
    margin-right:20px !important;
    margin-bottom:20px !important;
    height:calc(100% - 40px) !important;
}


/* final spacing adjustment */
.hero-shell,
.hero-content{
    gap:10px !important;
    column-gap:10px !important;
}
.hero-media,
.hero-video{
    margin-top:10px !important;
    margin-right:10px !important;
    margin-bottom:10px !important;
    height:calc(100% - 20px) !important;
}


/* rebuild hero layout: do not rely on previous hero CSS */
.hero{
  padding:28px 22px 24px !important;
}
.hero .hero-rebuilt{
  max-width:1280px !important;
  height:420px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(0, 52%) minmax(0, 48%) !important;
  gap:10px !important;
  align-items:stretch !important;
  padding:10px !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(221,229,238,.95) !important;
  box-shadow:0 22px 48px rgba(12,26,49,.10) !important;
  overflow:hidden !important;
}
.hero-rebuilt-left{
  min-width:0 !important;
  height:100% !important;
  border-radius:22px !important;
  background:url("../images/top/hero-left-final.png") center center / contain no-repeat !important;
  overflow:hidden !important;
}
.hero-rebuilt-right{
  min-width:0 !important;
  height:100% !important;
  border-radius:22px !important;
  overflow:hidden !important;
  background:#e8f0f7 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.hero-rebuilt-right video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  border-radius:22px !important;
}

/* hide old hero parts if browser cached old markup */
.hero-shell,
.hero-copy,
.hero-media,
.hero-frame,
.hero-accent{
  /* no global hide here because rebuilt markup replaced old section */
}

@media (max-width:1100px){
  .hero .hero-rebuilt{
    height:auto !important;
    grid-template-columns:1fr !important;
  }
  .hero-rebuilt-left{
    height:320px !important;
  }
  .hero-rebuilt-right{
    height:320px !important;
  }
}


/* tune1: closer image/video, larger surrounding padding */
.hero{
  padding:56px 44px 48px !important;
}
.hero .hero-rebuilt{
  gap:5px !important;
  padding:20px !important;
  height:420px !important;
}
.hero-rebuilt-left,
.hero-rebuilt-right{
  height:100% !important;
}


/* tune2: balanced hero spacing based on rebuilt-hero-tune1 */
.hero{
  padding:56px 44px 48px !important;
}
.hero .hero-rebuilt{
  height:420px !important;
  padding:20px !important;
  gap:10px !important;
  grid-template-columns:minmax(0, 52%) minmax(0, 48%) !important;
  align-items:stretch !important;
}
.hero-rebuilt-left,
.hero-rebuilt-right{
  height:100% !important;
  min-height:0 !important;
}
.hero-rebuilt-left{
  background-size:contain !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
.hero-rebuilt-right{
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
}
.hero-rebuilt-right video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* hero art static 20260608 */
.hero.hero-art-section{
  padding:6px 22px 4px !important;
}
.hero-art-panel{
  position:relative;
  width:min(100%, 780px);
  margin:0 auto;
  border-radius:22px;
  overflow:hidden;
  background:#fafafa;
  box-shadow:0 12px 28px rgba(12,26,49,.10);
  border:1px solid rgba(222,229,236,.9);
}
.hero-art-image{
  display:block;
  width:100%;
  height:auto;
}
@media (min-width: 1280px){
  .hero-art-panel{
    width:min(100%, 780px);
  }
}
@media (max-width: 1024px){
  .hero.hero-art-section{padding:8px 18px 6px !important;}
  .hero-art-panel{border-radius:20px;}
}
@media (max-width: 720px){
  .hero.hero-art-section{padding:12px 16px 8px !important;}
  .hero-art-panel{
    width:100%;
    border-radius:18px;
    box-shadow:0 12px 28px rgba(12,26,49,.10);
  }
}
/* suppress previous rebuilt hero blocks when new hero artwork is used */
.hero-art-section .hero-rebuilt,
.hero-art-section .hero-rebuilt-left,
.hero-art-section .hero-rebuilt-right{display:none !important;}

@media (max-width: 1024px){
  .hero.hero-art-section{padding:22px 18px 24px !important;}
  .hero-art-panel{border-radius:22px;}
  .hero-video-inset{right:5%;bottom:5%;width:38%;border-radius:17px;}
}
@media (max-width: 720px){
  .hero.hero-art-section{padding:18px 16px 20px !important;}
  .hero-art-panel{
    aspect-ratio:auto;
    overflow:visible;
    border:none;
    box-shadow:none;
    background:transparent;
  }
  .hero-art-image{
    height:auto;
    border-radius:20px;
    box-shadow:0 14px 32px rgba(12,26,49,.12);
    border:1px solid rgba(222,229,236,.9);
  }
  .hero-video-inset{
    position:relative;
    right:auto;
    bottom:auto;
    width:88%;
    margin:-18px auto 0;
    border-radius:16px;
    box-shadow:0 16px 34px rgba(12,26,49,.22);
  }
  .hero-video-ui{left:12px;right:12px;bottom:10px;gap:8px;font-size:.68rem;}
}


/* 2026-06-09 top polish light: section contrast, strength copy, photo frame, calendar holiday color */
body.modern-home-page .card-section .section-inner,
body.modern-home-page .strength-section .section-inner,
body.modern-home-page .info-section .section-inner,
body.modern-home-page .group-section .section-inner{
  border-radius:30px;
  border:1px solid rgba(221,229,238,.95);
  box-shadow:var(--kyoei-shadow);
  padding:28px;
}

body.modern-home-page .card-section .section-inner{
  background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(248,248,248,.99));
}

body.modern-home-page .strength-section .section-inner{
  background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(248,248,248,.99));
}

body.modern-home-page .info-section .section-inner{
  background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(248,248,248,.99));
}

body.modern-home-page .group-section .section-inner{
  background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(248,248,248,.99));
}

body.modern-home-page .strength-section .section-title{
  letter-spacing:.02em;
}

body.modern-home-page .strength-item{
  border-radius:20px !important;
  background:linear-gradient(135deg,#ffffff,#f8f8f8) !important;
  border:1px solid rgba(224,232,241,.96) !important;
  box-shadow:0 10px 24px rgba(12,26,49,.05);
  min-height:90px !important;
}

body.modern-home-page .strength-item p{
  font-family:"Avenir Next","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif !important;
  font-size:1.16rem !important;
  line-height:1.72 !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}

body.modern-home-page .strength-media{
  position:relative !important;
  padding:18px !important;
  border-radius:28px !important;
  background:linear-gradient(145deg,#ffffff,#f2f5f8) !important;
  border:1px solid rgba(221,229,238,.96) !important;
  box-shadow:0 16px 36px rgba(12,26,49,.10), inset 0 1px 0 rgba(255,255,255,.88) !important;
  overflow:hidden !important;
}

body.modern-home-page .strength-media::before{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(245,248,251,.78));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9);
}

body.modern-home-page .strength-media::after{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.7);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
  pointer-events:none;
  background:none !important;
  animation:none !important;
  opacity:1 !important;
  transform:none !important;
}

body.modern-home-page .strength-media img{
  position:relative;
  z-index:1;
  width:100% !important;
  min-height:360px !important;
  max-height:420px !important;
  object-fit:cover !important;
  border-radius:18px !important;
  box-shadow:0 18px 40px rgba(12,26,49,.14);
  transition:opacity .55s ease, transform 1.1s ease !important;
  opacity:1;
  transform:scale(1);
  background:#f5f7f9;
}

body.modern-home-page .strength-media.is-transitioning img{
  opacity:.14;
  transform:scale(1.035);
}

body.modern-home-page .holiday{
  background:#f7e4e7 !important;
  color:#a45462 !important;
  border-color:#eccfd6 !important;
}

body.modern-home-page .weekdays div:first-child,
body.modern-home-page .weekdays div:last-child{
  color:#b46774;
}

@media (max-width:1100px){
  body.modern-home-page .card-section .section-inner,
  body.modern-home-page .strength-section .section-inner,
  body.modern-home-page .info-section .section-inner,
  body.modern-home-page .group-section .section-inner{
    padding:22px;
  }
}

@media (max-width:720px){
  body.modern-home-page .strength-item p{
    font-size:1.02rem !important;
  }

  body.modern-home-page .strength-media img{
    min-height:260px !important;
  }
}


/* 2026-09-24: company leaflet section */
body.modern-home-page .leaflet-section .section-inner{
  border-radius:30px;
  border:1px solid rgba(221,229,238,.95);
  box-shadow:var(--kyoei-shadow);
  padding:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(248,248,248,.99));
}
body.modern-home-page .leaflet-section .section-head{
  margin-bottom:18px;
}
body.modern-home-page .leaflet-section .section-label{
  font-size:2.05rem;
  letter-spacing:.16em;
  margin-bottom:14px;
}
body.modern-home-page .resource-stack{
  display:grid;
  gap:18px;
}
body.modern-home-page .leaflet-panel{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:28px;
  align-items:center;
  padding:22px;
  border:1px solid rgba(221,229,238,.95);
  border-radius:24px;
  background:linear-gradient(135deg,#ffffff,#f8f8f8);
  box-shadow:0 12px 28px rgba(13,32,58,.07);
  text-decoration:none;
  overflow:hidden;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
body.modern-home-page .leaflet-panel:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 42px rgba(13,32,58,.13);
  border-color:rgba(164,196,54,.66);
}
body.modern-home-page .leaflet-copy{
  padding:8px 4px 8px 10px;
  min-width:0;
}
body.modern-home-page .leaflet-kicker{
  margin:0 0 8px;
  color:#8aaa2b;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.18em;
}
body.modern-home-page .leaflet-copy h3{
  margin:0 0 12px;
  color:var(--kyoei-navy);
  font-size:clamp(1.35rem,2vw,1.9rem);
  line-height:1.5;
  letter-spacing:.035em;
}
body.modern-home-page .leaflet-copy > p:not(.leaflet-kicker){
  margin:0;
  color:var(--kyoei-muted);
  font-size:.96rem;
  line-height:1.85;
}
body.modern-home-page .leaflet-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:18px;
}
body.modern-home-page .leaflet-button{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:0;
  min-height:46px;
  padding:0 20px;
  border-radius:999px;
  background:linear-gradient(135deg,#0f2d50,#144c78);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 10px 22px rgba(9,35,71,.18);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
body.modern-home-page .leaflet-button:hover,
body.modern-home-page .leaflet-button:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 14px 26px rgba(9,35,71,.24);
}
body.modern-home-page .leaflet-button--business{
  background:linear-gradient(135deg,#7f9f1d,#9fbe2e);
  box-shadow:0 10px 22px rgba(111,142,26,.18);
}
body.modern-home-page .leaflet-button--business:hover,
body.modern-home-page .leaflet-button--business:focus-visible{
  box-shadow:0 14px 26px rgba(111,142,26,.24);
}
body.modern-home-page .leaflet-button--product{
  background:linear-gradient(135deg,#1d4670,#2d6d9f);
  box-shadow:0 10px 22px rgba(31,77,121,.18);
}
body.modern-home-page .leaflet-button--product:hover,
body.modern-home-page .leaflet-button--product:focus-visible{
  box-shadow:0 14px 26px rgba(31,77,121,.24);
}
body.modern-home-page .leaflet-panel--product .leaflet-kicker{
  color:#1f5b8e;
}
body.modern-home-page .leaflet-button span{
  color:#c7df52;
  font-size:1.15rem;
  transition:transform .2s ease;
}
body.modern-home-page .leaflet-button:hover span,
body.modern-home-page .leaflet-button:focus-visible span{
  transform:translate(3px,-3px);
}
body.modern-home-page .leaflet-button--business:hover span,
body.modern-home-page .leaflet-button--business:focus-visible span{
  transform:translateX(4px);
}
body.modern-home-page .leaflet-thumb-wrap{
  display:block;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 12px 28px rgba(12,26,49,.09);
}
body.modern-home-page .leaflet-thumb-wrap img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1600/760;
  object-fit:cover;
  transition:transform .35s ease;
}
body.modern-home-page .leaflet-thumb-wrap:hover img,
body.modern-home-page .leaflet-thumb-wrap:focus-visible img{
  transform:scale(1.018);
}
@media (max-width:1100px){
  body.modern-home-page .leaflet-section .section-inner{padding:22px;}
  body.modern-home-page .leaflet-panel{grid-template-columns:1fr;gap:20px;}
  body.modern-home-page .leaflet-thumb-wrap{width:80%;justify-self:center;}
  body.modern-home-page .leaflet-copy{padding:2px 2px 0;}
}
@media (max-width:720px){
  body.modern-home-page .leaflet-section .section-label{font-size:1.55rem;}
  body.modern-home-page .leaflet-panel{padding:14px;border-radius:20px;}
  body.modern-home-page .leaflet-thumb-wrap{width:100%;}
  body.modern-home-page .leaflet-copy h3{font-size:1.25rem;}
  body.modern-home-page .leaflet-copy > p:not(.leaflet-kicker){font-size:.9rem;}
  body.modern-home-page .leaflet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  body.modern-home-page .leaflet-button{width:100%;justify-content:center;padding:0 12px;font-size:.88rem;}
}
@media (max-width:430px){
  body.modern-home-page .leaflet-actions{grid-template-columns:1fr;}
}

/* 2026-10-26: product guide PDF button beside machinery link */
body.modern-home-page .leaflet-panel--product .leaflet-actions{
  gap:8px;
}
body.modern-home-page .leaflet-panel--product .leaflet-actions-pair{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
}
body.modern-home-page .leaflet-panel--product .leaflet-actions .leaflet-button{
  min-height:44px;
  gap:6px;
  padding:0 13px;
  font-size:.86rem;
  white-space:nowrap;
  width:auto;
}
body.modern-home-page .leaflet-button--pdf{
  background:linear-gradient(135deg,#f3b5a3,#e99b83);
  color:#6d2d20;
  box-shadow:0 10px 22px rgba(166,73,45,.15);
}
body.modern-home-page .leaflet-button--pdf span{
  color:#8f382a;
}
body.modern-home-page .leaflet-button--pdf:hover,
body.modern-home-page .leaflet-button--pdf:focus-visible{
  background:linear-gradient(135deg,#efab96,#e48d73);
  box-shadow:0 14px 26px rgba(166,73,45,.22);
}
@media (max-width:720px){
  body.modern-home-page .leaflet-panel--product .leaflet-actions{
    display:flex;
    flex-wrap:wrap;
  }
}
@media (max-width:430px){
  body.modern-home-page .leaflet-panel--product .leaflet-actions-pair{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.32fr);
    width:100%;
  }
  body.modern-home-page .leaflet-panel--product .leaflet-actions .leaflet-button{
    justify-content:center;
    padding:0 8px;
    font-size:.79rem;
    min-width:0;
  }
}
@media (max-width:350px){
  body.modern-home-page .leaflet-panel--product .leaflet-actions-pair{
    grid-template-columns:1fr;
  }
  body.modern-home-page .leaflet-panel--product .leaflet-actions .leaflet-button{
    font-size:.86rem;
    width:100%;
  }
}


/* 2026-10-27: STRENGTH 低速・横方向スライドギャラリー */
/* 既存のワイプ・暗転演出は使わず、写真を連続して左へ流す */
body.modern-home-page .strength-media .strength-gallery-viewport {
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  height:auto !important;
  min-height:0 !important;
  flex-shrink:0;
  overflow:hidden;
  border-radius:18px;
  background:#e9eff5;
  box-shadow:0 18px 40px rgba(12,26,49,.14);
}
body.modern-home-page .strength-media .strength-gallery-track {
  display:flex;
  align-items:stretch;
  width:100%;
  height:100%;
  will-change:transform;
}
body.modern-home-page .strength-media .strength-gallery-item {
  box-sizing:border-box;
  flex:0 0 100%;
  min-width:0;
  height:100%;
  overflow:hidden;
}
body.modern-home-page .strength-media .strength-gallery-item img {
  display:block !important;
  position:static !important;
  z-index:auto !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center;
  border-radius:0 !important;
  box-shadow:none !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}
body.modern-home-page .strength-media .strength-gallery-track.is-scrolling {
  animation:strength-horizontal-flow var(--strength-scroll-duration,65s) linear infinite;
}
@keyframes strength-horizontal-flow {
  from { transform:translate3d(0,0,0); }
  to   { transform:translate3d(-50%,0,0); }
}
/* 写真枠はPC・タブレット・スマホ共通で16:9に固定する。 */
body.modern-home-page .strength-layout .strength-media{
  align-self:center !important;
  width:100%;
  height:auto !important;
  min-height:0 !important;
  box-sizing:border-box;
}
@media(max-width:720px){
  body.modern-home-page .strength-media .strength-gallery-viewport{
    aspect-ratio:16 / 9;
    height:auto !important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.modern-home-page .strength-media .strength-gallery-track.is-scrolling{animation:none !important;}
}
