/* ===== company page ===== */

/* PHILOSOPHY */
.philo{position:relative;overflow:hidden}
.philo__card{
  max-width:860px;margin:0 auto;background:#fff;border-radius:10px;
  box-shadow:0 24px 60px rgba(0,0,0,.05);padding:46px 70px;
}
.philo__row{display:grid;grid-template-columns:1fr 200px;align-items:center;gap:34px;padding:18px 0}
.philo__row+.philo__row{border-top:1px solid #efeeea}
.philo__left{font-size:30px;font-weight:700;text-align:right;letter-spacing:.02em}
.philo__chip{
  background:var(--plum);color:#fff;font-size:27px;font-weight:700;
  text-align:center;padding:8px 0;border-radius:4px;letter-spacing:.06em;
}

/* VISION + VALUES */
.cvision{text-align:center;background:#efede8;position:relative;overflow:hidden}
.cvision__lead{font-size:23px;font-weight:700;line-height:1.7;margin:14px 0 40px}
.cvision__label{font-size:13px;color:#555;letter-spacing:.06em;margin-bottom:44px;font-weight:700}
.values{display:flex;flex-wrap:wrap;justify-content:center;gap:34px 46px;max-width:960px;margin:0 auto}
.vcircle{
  width:206px;height:206px;border-radius:50%;border:1px solid #d9d5cd;background:rgba(255,255,255,.35);
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:22px;
}
.vcircle__no{font-family:var(--latin);font-size:15px;color:#a8a49b;letter-spacing:.12em;margin-bottom:8px}
.vcircle__title{font-size:14px;font-weight:700;line-height:1.5;margin-bottom:8px}
.vcircle__desc{font-size:10.5px;color:#8a8a8a;line-height:1.7}

/* MESSAGE */
.cmsg__head{margin-bottom:36px}
.cmsg__inner{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:stretch}
.cmsg__lead{font-size:22px;font-weight:700;line-height:1.7;margin-bottom:26px}
.cmsg__body{font-size:13px;color:#4a4a4a;line-height:2.15}
.cmsg__aside{background:#e9e7e2;border-radius:6px;min-height:360px}

/* OUTLINE */
.otable{max-width:820px;margin:0 auto}
.orow{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:18px 4px;border-bottom:1px solid #e2e0da;font-size:13px}
.orow__label{color:#2b2b2b;font-weight:700}
.orow__val{color:#4a4a4a;line-height:1.9}
.orow__val ul{list-style:none;display:flex;flex-direction:column;gap:4px}
.omap{max-width:1100px;margin:44px auto 0;border-radius:6px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.omap img{width:100%}

@media(max-width:900px){
  .philo__card{padding:32px 26px}
  .philo__row{grid-template-columns:1fr 130px;gap:16px}
  .philo__left{font-size:20px}
  .philo__chip{font-size:19px}
  .cmsg__inner{grid-template-columns:1fr}
  .orow{grid-template-columns:110px 1fr;gap:14px}
}

/* ===== mobile (SP comp: sp/company.png) ===== */
@media(max-width:820px){
  .philo__card{margin:0 18px;padding:24px 16px}
  .philo__row{grid-template-columns:1fr auto;gap:14px;padding:13px 0}
  .philo__left{font-size:17px}
  .philo__chip{min-width:82px;font-size:16px;padding:7px 16px}

  .cvision__lead{font-size:19px;margin:12px 0 26px}
  .cvision__label{margin-bottom:30px}
  .values{gap:24px}
  .vcircle{width:188px;height:188px;padding:20px}

  /* MESSAGE: image block on top, then text */
  .cmsg__inner{display:flex;flex-direction:column;gap:24px}
  .cmsg__aside{order:-1;min-height:210px}
  .cmsg__lead{font-size:18px;margin-bottom:20px}
  .cmsg__body{font-size:12.5px}

  .orow{grid-template-columns:92px 1fr;gap:12px;font-size:12.5px}
  .omap{margin-top:28px}
}
