
/*COMPANY用CSS*/
.page-title {
  align-items: center;
  text-align: center;
  margin-top: clamp(40px, 5vw, 100px);
  margin-bottom: clamp(32px, 2.2vw, 64px);
  color: #fff;
}

@media (max-width: 430px) {
  .page-title {
  padding-top:clamp(80px, 9vw, 200px)
  }
}

.parts01{
  padding:0;
  width: clamp(268px, 35vw, 670px);
  display:block;
  height:auto;
  aspect-ratio: auto;
  object-fit: contain;
  position:absolute;
  top:clamp(64px, 8.3vw, 160px);
  left:0;
  z-index: -1;
  mix-blend-mode: overlay;
}

.parts03{
  padding:0;
  width: clamp(220px, 28vw, 550px);
  display:block;
  height:auto;
  aspect-ratio: auto; 
  object-fit: contain;
  position:absolute;
  top:clamp(-64px, -8.3vw, -160px);
  right:0;
  z-index: -1;
  mix-blend-mode: overlay;
}



/* 会社情報の表 */
.company-info  {
  table-layout: fixed;
  width:100%; 
  border-collapse: collapse;
  background: #fff;
  color: #1a2740;
  margin-bottom:clamp(64px, 8vw, 160px);
}

table {
  width: 100%;               /* ← 横幅いっぱいに広げる */
  border-collapse: collapse; /* ← セルの線を1本化（スッキリ） */
  border-spacing: 0;         /* ← セル間の隙間をなくす */
}

.company-info th,
.company-info td {
  padding:clamp(16px, 2vw, 32px);
  border-bottom: 1px solid #D9D9D9;
  vertical-align: top;
  line-height: 1.8;
}


.company-info th {
  width: 260px;
  font-weight: 600;
  text-align: left;
  white-space: nowrap;
  color: #1E2B3C;
}

.company-info td {
  word-break: break-word;
  font-weight: 700;
  color: #001E56;
  width: 100%;
}

/* ---- SP表示 ---- */
@media (max-width: 430px) {
  
  .company-info,
  .company-info tr,
  .company-info th,
  .company-info td {
    display: block;
  }

  .company-info th {
    font-weight: 600;
    color: #555;
    font-size: 14px;
    padding: 12px 16px 4px;
    border-bottom: none;
  }

  .company-info td {
    font-size: 16px;
    padding: 0 16px 12px;
    border-bottom: 1px solid #D9D9D9;
  }
  .office {
    flex-direction: column;
  }
  .officeleft {
    flex-direction: column;
  }

.card{
  padding:clamp(50px, 6.6vw, 128px) clamp(16px, 4vw, 24px);
  background-color: #FFFFFF;
  border-radius: clamp(32px, 2.2vw, 64px);
  margin-top: clamp(80px, 9vw, 200px);
  margin-bottom:clamp(80px, 9vw, 200px);
}

}

.officetitle{
    color:#001E56;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: clamp(32px, 2.4vw, 64px);
}

.office {
  display:flex;
  justify-content: space-between;
  gap: 32px;
  align-items: center;
  
}

.info-list {
  margin: 0;
  padding: 0;
}

.info-list dt {
  font-weight: 600;
  color: #555;
  margin-top: 24px;   /* ラベルの余白 */
}

.info-list dd {
  margin: 4px 0 0;
  font-weight: 700;
  color: #001E56;
  line-height: 1.8;
}

.map-wrap {
  width: clamp(336px, 44vw, 840px);
  aspect-ratio: 3 / 2;
  border-radius: 12px;
  overflow: hidden;
  background: #E5E7EB;
}

.map-wrap iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 430px) {
  .office {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
