/* =========================================================
   DAIICHI BUSSAN / PHILOSOPHY v103
   本文は現行コーポレートサイト「考え」に掲載されている
   文章・内容のみで構成。
   ========================================================= */

.policy-page .sub-hero-bgword{
  top:43%;
  font-size:clamp(92px,12.5vw,220px);
  color:rgba(15,15,15,.40);
}

.policy-current{
  position:relative;
}

.policy-current-first{
  background:#fff;
}

.policy-current-second{
  background:#f5f5f3;
}

.policy-current-inner{
  position:relative;
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:clamp(24px,4vw,70px);
  padding-top:clamp(105px,10vw,165px);
  padding-bottom:clamp(115px,11vw,180px);
}

.policy-current-no{
  padding-top:10px;
  color:var(--omega-red);
  font-size:10px;
  font-weight:850;
  letter-spacing:.18em;
}

.policy-current-content{
  max-width:1100px;
}

.policy-current-content h2{
  margin:0;
  max-width:1000px;
  font-size:clamp(38px,4.15vw,70px);
  line-height:1.28;
  letter-spacing:-.045em;
  font-weight:900;
}

.policy-current-rule{
  width:100%;
  height:1px;
  margin:clamp(46px,5vw,75px) 0 clamp(36px,4vw,62px);
  background:#202020;
}

.policy-current-copy{
  max-width:820px;
  margin-left:auto;
}

.policy-current-copy p{
  margin:0 0 22px;
  color:#4f4f4f;
  font-size:clamp(15px,1.05vw,18px);
  line-height:2.15;
  font-weight:500;
}

.policy-current-copy p:first-child{
  color:#202020;
  font-weight:700;
}

.policy-current-second .policy-current-copy p:first-child{
  color:#4f4f4f;
  font-weight:500;
}

@media(max-width:760px){
  .policy-page .sub-hero-bgword{
    font-size:19vw;
  }

  .policy-current-inner{
    grid-template-columns:1fr;
    gap:20px;
    padding-top:80px;
    padding-bottom:95px;
  }

  .policy-current-no{
    padding-top:0;
  }

  .policy-current-content h2{
    font-size:34px;
    line-height:1.35;
  }

  .policy-current-rule{
    margin:38px 0 32px;
  }

  .policy-current-copy{
    margin-left:0;
  }

  .policy-current-copy p{
    font-size:15px;
    line-height:2;
  }
}


/* --- 企業理念 / ビジョン / 経営方針 --- */
.policy-core{
  position:relative;
}
.policy-core-philosophy{
  background:#fff;
}
.policy-core-vision{
  background:#f5f5f3;
}
.policy-core-inner{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:clamp(32px,5vw,82px);
  padding-top:clamp(105px,10vw,165px);
  padding-bottom:clamp(110px,10vw,170px);
}
.policy-core-label{
  padding-top:7px;
}
.policy-core-label span{
  display:block;
  margin-bottom:16px;
  color:var(--omega-red);
  font-size:10px;
  font-weight:850;
  letter-spacing:.18em;
}
.policy-core-label p{
  margin:0;
  color:#888;
  font-size:9px;
  font-weight:800;
  letter-spacing:.22em;
}
.policy-core-content h2{
  margin:0 0 clamp(34px,4vw,60px);
  font-size:clamp(42px,4.6vw,76px);
  line-height:1.15;
  letter-spacing:-.04em;
  font-weight:900;
}
.policy-core-quote{
  margin:0;
  padding:0 0 clamp(32px,4vw,52px);
  border-bottom:1px solid #202020;
  font-size:clamp(25px,2.3vw,40px);
  line-height:1.55;
  letter-spacing:-.025em;
  font-weight:800;
}
.policy-core-copy{
  max-width:860px;
  margin:clamp(36px,4vw,58px) 0 0 auto;
}
.policy-core-copy p{
  margin:0 0 20px;
  color:#505050;
  font-size:clamp(15px,1.05vw,18px);
  line-height:2.1;
  font-weight:500;
}

.policy-management{
  background:#fff;
}
.policy-management-inner{
  padding-top:clamp(105px,10vw,165px);
  padding-bottom:clamp(115px,11vw,180px);
}
.policy-management-heading{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:clamp(32px,5vw,82px);
  margin-bottom:clamp(58px,7vw,100px);
}
.policy-management-heading>span{
  padding-top:8px;
  color:var(--omega-red);
  font-size:10px;
  font-weight:850;
  letter-spacing:.18em;
}
.policy-management-heading p{
  margin:0 0 14px;
  color:#888;
  font-size:9px;
  font-weight:800;
  letter-spacing:.22em;
}
.policy-management-heading h2{
  margin:0;
  font-size:clamp(42px,4.6vw,76px);
  line-height:1.15;
  letter-spacing:-.04em;
  font-weight:900;
}
.policy-management-list{
  border-top:1px solid #202020;
}
.policy-management-item{
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  gap:24px;
  padding:clamp(38px,4vw,58px) 0;
  border-bottom:1px solid #d9d9d7;
}
.policy-management-item>span{
  padding-top:5px;
  color:var(--omega-red);
  font-size:10px;
  font-weight:850;
  letter-spacing:.16em;
}
.policy-management-item h3{
  margin:0 0 18px;
  font-size:clamp(24px,2.2vw,37px);
  line-height:1.5;
  letter-spacing:-.025em;
  font-weight:850;
}
.policy-management-item p{
  max-width:900px;
  margin:0;
  color:#555;
  font-size:clamp(14px,1vw,17px);
  line-height:2;
}

@media(max-width:760px){
  .policy-core-inner,
  .policy-management-heading{
    grid-template-columns:1fr;
    gap:20px;
  }
  .policy-core-inner{
    padding-top:80px;
    padding-bottom:92px;
  }
  .policy-core-label{
    display:flex;
    align-items:center;
    gap:15px;
    padding-top:0;
  }
  .policy-core-label span{
    margin:0;
  }
  .policy-core-content h2,
  .policy-management-heading h2{
    font-size:36px;
  }
  .policy-core-quote{
    font-size:24px;
    line-height:1.6;
  }
  .policy-core-copy{
    margin-left:0;
  }
  .policy-management-inner{
    padding-top:80px;
    padding-bottom:95px;
  }
  .policy-management-item{
    grid-template-columns:42px minmax(0,1fr);
    gap:14px;
    padding:34px 0;
  }
  .policy-management-item h3{
    font-size:23px;
    line-height:1.55;
  }
}


/* --- 企業理念：社長写真付きレイアウト --- */
.policy-core-body{
  display:grid;
  grid-template-columns:minmax(220px,264px) minmax(0,1fr);
  gap:clamp(36px,5vw,88px);
  align-items:start;
  margin-top:clamp(36px,4vw,58px);
}
.policy-president{
  margin:0;
}
.policy-president img{
  display:block;
  width:100%;
  aspect-ratio:4 / 5;
  object-fit:cover;
  background:#eaeaea;
}
.policy-president figcaption{
  margin-top:14px;
  color:#202020;
  font-size:clamp(13px,0.95vw,16px);
  line-height:1.8;
  font-weight:700;
  letter-spacing:.01em;
}
.policy-core-body .policy-core-copy{
  max-width:none;
  margin:0;
}

@media(max-width:760px){
  .policy-core-body{
    grid-template-columns:1fr;
    gap:28px;
  }
  .policy-president{
    width:min(100%, 250px);
    margin:0 auto;
  }
  .policy-president figcaption{
    text-align:center;
  }
}


/* v126 PHILOSOPHYページのグレー背景用 斜めライン */
.policy-core-vision,
.policy-current-second{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.policy-core-vision::before,
.policy-core-vision::after,
.policy-current-second::before,
.policy-current-second::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:68px;
  background:rgba(115,120,124,.18);
  transform:skewX(-34deg);
  transform-origin:center;
  pointer-events:none;
  z-index:0;
}
.policy-core-vision::before,
.policy-current-second::before{
  right:114px;
}
.policy-core-vision::after,
.policy-current-second::after{
  right:18px;
}
.policy-core-vision .section-shell,
.policy-current-second .section-shell{
  position:relative;
  z-index:1;
}

@media(max-width:980px){
  .policy-core-vision::before,
  .policy-core-vision::after,
  .policy-current-second::before,
  .policy-current-second::after{
    display:none;
  }
}
