/* ===== company page (PC) — margin auto 中央寄せ版 ===== */
:root{
  --company-content-w: 1080px;   /* コンテンツ最大幅 */
  --company-side-gap: 32px;      /* 端の安全マージン */
  --brand-green: #009145;
}

/* HERO（左右は margin 中央寄せで揃える。上下余白のみpadding） */
.company-hero{
padding: clamp(20px, 3vw, 36px) 0; 
}
.company-hero__inner{
  max-width: var(--company-content-w);
  width: calc(100% - var(--company-side-gap) * 2);
  margin: 0 auto; /* 中央寄せ */
}
.company-hero__title{
  margin: 0;
  font-weight: 900;
  line-height: 1.2;
  font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.2rem);
  color: #111;
}

/* philosophy + policy をまとめるブロック
   背景はここに敷く（左右は padding を使わない） */
.company-group{
  position: relative;
  overflow: hidden;
  /* 上下だけpadding（下は背景見切れ対策） */
   padding: clamp(12px, 1.5vw, 20px) 0 2vh 0; 

  background-image: url("../img/company_bg.png");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  width: 70%;
  margin: 0 auto;
}

/* 各セクション（philosophy / policy / info など）
   左右は margin 中央寄せ、上下だけpadding */
.company-block{
  position: relative;
  overflow: hidden;

  max-width: var(--company-content-w);
  width: calc(100% - var(--company-side-gap) * 2);
  margin: 0 auto 10%;  /* 中央寄せ（←これで左端が揃う） */
  padding: clamp(15px, 3vw, 20px) 0;
}
/* 見出し・本文 */
.company-sec__en{
  margin: 0 0 .6em;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: lowercase;
 font-size: clamp(1.26rem, 1.14rem + 0.72vw, 1.56rem);
  color: var(--brand-green);
}
.company-lead{
  font-size: clamp(1.05rem, .9rem + .5vw, 1.25rem);
  line-height: 1.9;
  color: #222;
}
.company-lead p{ margin: 0 0 1.1em; }


/* 会社情報（レイアウトは従来どおり） */
/* ===== 会社情報：外枠なし＋各行下線＋dd左揃え ===== */
.company-block--info{ background:#fff; }

.company-dl{
  margin: 0 auto;
  padding: 0;                 /* 外枠用の内側余白もリセット */
  border: 0;                  /* 外枠なし */
  border-radius: 0;
  background: transparent;
  width: 70%;
  max-width: var(--company-content-w);
}

.company-dl__row{
  display: grid;
  grid-template-columns: 180px 1fr;  /* 項目名 / 内容 */
  column-gap: 24px;
  padding: 16px 0;
  border-bottom: 1px solid #333;     /* 下線 */
}

/* テキスト整形 */
.company-dl dt{
  margin: 0;
  font-weight: 700;
  color: #111;
  text-align: left;
  text-indent: 1rem;
}
.company-dl dd{
  margin: 0;
  color: #111;
  line-height: 1.8;
  text-align: left;           /* ← 左揃え */
}

/* リンク色は従来どおり */
.company-dl a{
  color: #078E3F;
  text-decoration: underline;
}
.company-dl a:hover{ opacity: .85; }

/* ==================== SP（～768px） ==================== */
@media (max-width: 768px){

  /* 余白と横幅の基準をSP向けに */
  :root{
    --company-side-gap: 16px;         /* 端の安全マージンを小さめに */
  }

  /* HERO：上下余白・タイトルサイズをSP寄りに */
  .company-hero{ padding: clamp(24px, 8vw, 40px) 0; }
  .company-hero__inner{
    width: 100%;
    margin: 0 auto;
  }
  .company-hero__title{
    font-size: clamp(1.6rem, 1.2rem + 3.5vw, 2.2rem);
  }

  /* philosophy+policy をまとめた背景の調整
     - 画像が主張しすぎないよう縮小
     - 下の余白は画像の見切れ防止分だけ確保 */
  .company-group{
    padding-top: clamp(12px, 4vw, 24px);
    background-position: right bottom;
    background-size: min(80vw, 420px) cover;  /* 右下固定＋幅だけ可変 */
    width: 100%;
    padding-bottom: 0;
  }

  /* 各ブロック：上下だけタイトに */
  .company-block{
    width: calc(100% - var(--company-side-gap) * 2);
    margin: 0 auto;
    padding: clamp(20px, 6vw, 36px) 0 0;
  }

  /* 見出し・本文のバランス */
  .company-sec__en{
    font-size: clamp(1.25rem, 1.1rem + 2.2vw, 1.75rem);
  }
  .company-lead{
    font-size: clamp(1rem, .95rem + .4vw, 1.15rem);
    line-height: 1.8;
  }

  /* 会社情報：1カラムにして読みやすく */
  .company-dl{ padding: 0; 
    width: calc(100% - var(--company-side-gap) * 2);
    max-width: none;
  }
  .company-dl__row{
    grid-template-columns: 1fr;   /* DT/DDを縦積み */
    row-gap: 6px;
    padding: 12px 0;
  }
  .company-dl dt{
    font-size: .95rem;
    color: #555;
    text-indent: 0;
  }
  .company-dl dd{
    font-size: 1rem;
    text-align: left;             /* 念のため明示 */
  }

  /* 背景に隠れないよう、policyは常にベタ無し */
  .company-block--policy{ background: none; }
}
