/* =========================================================
   DAIICHI BUSSAN / COMMUNITY v93
   ABOUT / BUSINESS のデザイン言語を継承。
   地域とのつながりを「白・薄グレー・赤」で静かに見せる。
   ========================================================= */

.community-page .sub-hero::before{
  z-index:0;
  background:linear-gradient(180deg,rgba(255,255,255,.91) 0%,rgba(255,255,255,.74) 36%,rgba(255,255,255,.58) 100%);
}
.community-hero-media{position:absolute;z-index:-2;inset:0 14.8vw 0 0;overflow:hidden}
.community-hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;filter:grayscale(1) contrast(.78) brightness(1.12);opacity:.45}
.community-page .sub-hero-bgword{z-index:1;top:43%;font-size:clamp(104px,14vw,250px);color:rgba(15,15,15,.40)}
.community-page .sub-hero-inner{z-index:4}.community-page .sub-hero-red{z-index:2}.community-page .sub-hero-mark{z-index:3}

.community-local-nav{
  position:relative;z-index:10;width:min(100% - 9vw,1380px);margin:-1px auto 0;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;box-shadow:0 16px 45px rgba(0,0,0,.09)
}
.community-local-nav a{position:relative;min-height:110px;padding:27px 54px 23px 64px;border-right:1px solid #ddd;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-content:center;transition:.25s ease}
.community-local-nav a:last-child{border-right:0}.community-local-nav a::after{content:"↗";position:absolute;right:20px;top:24px;color:#aaa;font-size:15px;transition:.25s ease}
.community-local-nav a:hover{background:#f7f7f5}.community-local-nav a:hover::after{color:var(--omega-red);transform:translate(3px,-3px)}
.community-local-nav span{grid-row:1/3;color:#aaa;font-size:9px;font-weight:800;letter-spacing:.12em;padding-top:3px}.community-local-nav b{font-size:clamp(16px,1.2vw,21px);letter-spacing:.02em}.community-local-nav small{margin-top:5px;color:#777;font-size:10px}

.community-message{padding-top:clamp(95px,9vw,150px);padding-bottom:clamp(110px,10vw,170px)}
.community-message-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(55px,9vw,145px);align-items:end}
.community-message-title .section-en{margin:0 0 22px;color:var(--omega-red);font-size:10px;font-weight:850;letter-spacing:.24em}
.community-message-title h2{margin:0;font-size:clamp(46px,4.8vw,82px);line-height:1.16;letter-spacing:-.045em;font-weight:900}
.community-message-copy{padding-bottom:5px;border-top:2px solid var(--omega-red)}
.community-message-copy p{margin:25px 0 0;font-size:clamp(15px,1.05vw,18px);line-height:2;color:#555;font-weight:550}

.community-sponsor{background:#fff;overflow:hidden}
.community-sponsor-media{position:relative;height:clamp(400px,43vw,700px);overflow:hidden;background:#ddd}
.community-sponsor-media video{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(.98)}
.community-sponsor-no{position:absolute;right:3vw;bottom:-.17em;color:rgba(255,255,255,.22);font-size:clamp(150px,20vw,340px);line-height:.8;font-weight:950;letter-spacing:-.08em}
.community-sponsor-inner{padding-top:clamp(70px,7vw,112px);padding-bottom:clamp(90px,9vw,145px);display:grid;grid-template-columns:minmax(340px,.95fr) minmax(340px,1.05fr);gap:clamp(55px,9vw,145px);align-items:end}
.community-sponsor-heading p{margin:0 0 15px;color:var(--omega-red);font-size:9px;font-weight:850;letter-spacing:.23em}
.community-sponsor-heading h2{margin:0;font-size:clamp(44px,4.6vw,76px);line-height:1.2;letter-spacing:-.045em;font-weight:900}
.community-sponsor-heading span{display:block;margin-top:20px;color:#777;font-size:10px;font-weight:800;letter-spacing:.18em}
.community-sponsor-copy{border-top:1px solid #aaa;padding-top:22px}.community-sponsor-copy p{margin:0 0 15px;font-size:clamp(14px,1vw,17px);line-height:1.95;color:#555}

.community-activities{background:#f5f5f3}.community-activities-inner{padding-top:clamp(95px,9vw,145px);padding-bottom:clamp(100px,10vw,160px)}
.community-activities-heading{display:grid;grid-template-columns:1fr auto;grid-template-areas:"en en" "title sub";gap:7px 40px;align-items:end;margin-bottom:clamp(45px,6vw,82px)}
.community-activities-heading p{grid-area:en;margin:0;color:var(--omega-red);font-size:9px;font-weight:850;letter-spacing:.24em}
.community-activities-heading h2{grid-area:title;margin:0;font-size:clamp(40px,4vw,66px);letter-spacing:-.04em;line-height:1;font-weight:900}
.community-activities-heading span{grid-area:sub;color:#777;font-size:12px;padding-bottom:4px}
.community-activity-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #202020;border-bottom:1px solid #ddd}
.community-activity-card{position:relative;min-height:330px;padding:42px 36px 38px;border-right:1px solid #ddd;background:#fff}
.community-activity-card:last-child{border-right:0}
.community-activity-no{position:absolute;right:24px;top:24px;color:#b7b7b7;font-size:10px;font-weight:850}
.community-activity-en{margin:0 0 34px;color:var(--omega-red);font-size:9px;font-weight:850;letter-spacing:.18em}
.community-activity-card h3{margin:0 0 25px;font-size:clamp(22px,1.8vw,31px);letter-spacing:-.02em}.community-activity-card>p:last-child{margin:0;color:#666;font-size:14px;line-height:1.9}


.community-next{background:#f5f5f3}.community-next a{position:relative;width:min(100% - 9vw,1540px);min-height:190px;margin:0 auto;padding:46px 70px;display:grid;grid-template-columns:60px 1fr auto;align-items:center;border-left:1px solid #ddd;border-right:1px solid #ddd;overflow:hidden;background:#fff}
.community-next a::before{content:"";position:absolute;inset:0;background:var(--omega-red);transform:translateY(101%);transition:transform .38s cubic-bezier(.2,.7,.25,1)}.community-next a:hover::before{transform:none}.community-next a>*{position:relative;z-index:2;transition:color .25s ease}.community-next a:hover>*{color:#fff}
.community-next-no{color:var(--omega-red);font-size:10px;font-weight:850}.community-next small{display:block;margin-bottom:7px;color:#888;font-size:8px;letter-spacing:.2em}.community-next strong{font-size:clamp(28px,2.5vw,42px);letter-spacing:-.02em}.community-next p{margin:5px 0 0;color:#777;font-size:11px}.community-next b{font-size:24px;font-weight:400}

@media(max-width:980px){
  .community-hero-media{inset:0 17vw 0 0}.community-message-grid,.community-sponsor-inner{grid-template-columns:1fr;gap:42px}.community-activity-grid{grid-template-columns:1fr}.community-activity-card{min-height:220px;border-right:0;border-bottom:1px solid #ddd}.community-activity-card:last-child{border-bottom:0}
}
@media(max-width:640px){
  .community-hero-media{inset:0 19vw 0 0}.community-page .sub-hero-bgword{font-size:21vw}.community-local-nav{width:calc(100% - 24px);grid-template-columns:1fr}.community-local-nav a{min-height:74px;padding:16px 42px 13px 48px;border-right:0;border-bottom:1px solid #e5e5e5;grid-template-columns:32px 1fr}.community-local-nav a:last-child{border-bottom:0}.community-local-nav a::after{right:15px;top:17px}
  .community-message{padding-top:76px;padding-bottom:92px}.community-message-title h2{font-size:40px}.community-sponsor-media{height:280px}.community-sponsor-inner{padding-top:58px;padding-bottom:80px}.community-sponsor-heading h2{font-size:38px}.community-activities-inner{padding-top:78px;padding-bottom:90px}.community-activities-heading{grid-template-columns:1fr;grid-template-areas:"en" "title" "sub";gap:10px}.community-activities-heading h2{font-size:34px}.community-activity-card{padding:34px 26px 32px}.community-statement-inner{padding-top:78px;padding-bottom:90px}.community-next a{width:calc(100% - 24px);min-height:150px;padding:32px 26px;grid-template-columns:42px 1fr auto}.community-next strong{font-size:28px}
}


/* v118 地域・社会への取り組み説明文 */
.community-activities-copy{
  max-width:820px;
  margin:0 0 clamp(42px,5vw,68px) auto;
  padding-top:22px;
  border-top:1px solid #aaa;
}
.community-activities-copy p{
  margin:0 0 15px;
  color:#555;
  font-size:clamp(14px,1vw,17px);
  line-height:1.95;
}
@media(max-width:640px){
  .community-activities-copy{
    margin:0 0 40px;
  }
}


/* v228 latest community action integrated into ACTIVITIES */
.community-activities-latest{
  margin:0 0 clamp(46px,5vw,72px);
}
.community-activities-latest-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:18px;
}
.community-activities-latest-head p{
  margin:0;
  color:var(--omega-red);
  font-size:9px;
  font-weight:850;
  letter-spacing:.24em;
}
.community-activities-latest-head span{
  color:#777;
  font-size:11px;
}
.community-latest-card{
  position:relative;
  display:grid;
  grid-template-columns:180px minmax(0,1fr) 44px;
  gap:28px;
  align-items:center;
  padding:34px 8px;
  border-top:1px solid #202020;
  border-bottom:1px solid #ddd;
}
.community-latest-meta{
  display:flex;
  flex-direction:column;
  gap:12px;
  color:#777;
  font-size:11px;
  letter-spacing:.06em;
}
.community-latest-meta span{
  display:inline-flex;
  width:max-content;
  padding:6px 12px;
  border:1px solid #ccc;
  border-radius:999px;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
}
.community-latest-card h3{
  margin:0;
  font-size:clamp(19px,1.7vw,28px);
  line-height:1.5;
}
.community-latest-card p{
  grid-column:2;
  margin:8px 0 0;
  color:#666;
  font-size:13px;
  line-height:1.8;
}
.community-latest-card>b{
  grid-column:3;
  grid-row:1/3;
  align-self:center;
  font-size:20px;
  font-weight:400;
  transition:transform .25s ease,color .25s ease;
}
.community-latest-card:hover>b{
  color:var(--omega-red);
  transform:translate(3px,-3px);
}
@media(max-width:640px){
  .community-activities-latest{margin-bottom:42px}
  .community-activities-latest-head{display:block;margin-bottom:16px}
  .community-activities-latest-head span{display:block;margin-top:8px}
  .community-latest-card{grid-template-columns:1fr 28px;gap:12px;padding:26px 2px}
  .community-latest-meta{grid-column:1;flex-direction:row;align-items:center;gap:12px}
  .community-latest-card h3{grid-column:1;font-size:20px}
  .community-latest-card p{grid-column:1;margin-top:0}
  .community-latest-card>b{grid-column:2;grid-row:1/4}
}
