@charset "UTF-8";
/* =========================================================
   会社概要（page-company.php）
   代表挨拶 → 社名の由来 → 会社情報テーブル
   ========================================================= */


/* =========================================================
   代表挨拶（画像なし・中央寄せ）
   ========================================================= */
.greet-sec { background: linear-gradient(#fff, var(--sky-pale)); }

.greet {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}

.greet::before {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background: var(--amber);
  margin: 0 auto 26px;
}

.greet .g-sub {
  font-family: 'Chakra Petch', sans-serif;
  color: var(--sky);
  font-size: 13px;
  letter-spacing: .14em;
}

.greet h3 {
  font-family: 'Shippori Mincho', serif;
  font-size: clamp(24px, 4vw, 38px);
  font-weight: 700;
  color: var(--navy-deep);
  line-height: 1.6;
  margin: 12px 0 30px;
  letter-spacing: .03em;
}

.greet-text {
  text-align: left;
  max-width: 620px;
  margin: 0 auto;
}

.greet-text p {
  font-size: 15.5px;
  color: var(--ink);
  line-height: 2;
}

.greet-text p + p { margin-top: 16px; }

.greet-sign {
  margin: 32px auto 0;
  max-width: 620px;
  font-size: 13px;
  color: var(--gray);
  text-align: right;
}

.greet-sign b {
  font-family: 'Shippori Mincho', serif;
  font-size: 20px;
  color: var(--navy-deep);
  font-weight: 700;
  margin-left: 10px;
}


/* =========================================================
   社名の由来
   ========================================================= */
.origin {
  background: linear-gradient(160deg, var(--navy-deep), var(--navy));
  color: #fff;
  position: relative;
  overflow: hidden;
}

.origin .stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.origin .stars i {
  position: absolute;
  width: 2px;
  height: 2px;
  background: #fff;
  border-radius: 50%;
  animation: tw 3s ease-in-out infinite;
}

.origin .inner {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.origin .o-star {
  font-size: 26px;
  color: var(--amber);
  margin-bottom: 20px;
  filter: drop-shadow(0 0 14px rgba(243, 146, 0, .6));
}

.origin h3 {
  font-family: 'Shippori Mincho', serif;
  font-size: clamp(24px, 4vw, 38px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .04em;
  margin-bottom: 24px;
}

.origin h3 .amb { color: var(--amber); }
.origin h3 .sky { color: var(--sky); }

.origin p {
  font-size: 15.5px;
  color: rgba(255, 255, 255, .85);
  max-width: 640px;
  margin: 0 auto;
}

.origin p + p { margin-top: 16px; }


/* =========================================================
   会社情報テーブル
   ========================================================= */
.info-table { border-top: 2px solid var(--navy); }

.info-row {
  display: flex;
  border-bottom: 1px solid #e3e8ef;
  padding: 18px 0;
}

.info-row dt {
  flex: 0 0 150px;
  font-weight: 700;
  color: var(--navy-deep);
  font-size: 14px;
}

.info-row dd {
  flex: 1;
  font-size: 14.5px;
  color: var(--ink);
}


/* =========================================================
   レスポンシブ
   ========================================================= */
@media screen and (max-width: 768px) {
  .greet h3 { font-size: clamp(21px, 6vw, 28px); }
  .greet-text p { font-size: 15px; line-height: 1.95; }

  .origin .o-star { font-size: 22px; }
  .origin h3 { font-size: clamp(20px, 6vw, 26px); }

  .info-row { flex-direction: column; gap: 4px; padding: 15px 0; }
  .info-row dt { flex: none; }
}
