/* Round – about.css */

/* ---------- 汎用 ---------- */
main .sec-head { gap: var(--space-5); }

.ab-dot {
  flex: 0 0 18px; width: 18px; height: 18px; border-radius: 50%;
  background: var(--c-yellow);
}

/* ====================
   MISSION / VISION / VALUE
   ==================== */
.ab-mvv {
  position: relative;
  display: flex; flex-direction: column; align-items: center;
  padding: var(--space-140) 0 var(--space-60);
}
.ab-mvv__deco-left {
  position: absolute; left: 0; bottom: -80px;
  width: 364px; height: 381px; z-index: -1;
}
.ab-mvv .sec-head { margin-bottom: var(--space-100); }

.ab-mission { position: relative; width: 100%; height: 680px; margin-bottom: var(--space-80); }
.ab-mission__deco {
  position: absolute; top: 0; right: 0;
  width: 270px; height: 374px;
  transform: scaleX(-1);
}
.ab-mission__photo {
  position: absolute; left: 0; top: 0;
  width: 760px; height: 520px; object-fit: cover;
  border-radius: 0 20px 20px 0;
}
.ab-mission__panel {

  position: absolute; bottom: 0; left: min(calc(50% - 62px), calc(100% - 720px - var(--gutter)));
  display: flex; flex-direction: column; gap: var(--space-20);
  width: 720px; padding: var(--space-60); border-radius: 15px;
  background: rgba(250, 250, 250, .9);
  border: 2px solid var(--c-white);
  backdrop-filter: blur(var(--blur-glass));
  -webkit-backdrop-filter: blur(var(--blur-glass));
}
.ab-mission__ttl { font-size: 32px; font-weight: 700; line-height: 1.3; }
.ab-mission__desc { font-size: 18px; font-weight: 500; line-height: 1.8; }
.ab-mission__desc-last { margin-top: var(--space-30); }

.ab-vv {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-40);
  margin-bottom: var(--space-80); text-align: center;
}
.ab-vv__ttl-wrap { display: flex; align-items: center; justify-content: center; gap: var(--space-20); }
.ab-vv__ttl { font-family: var(--font-en); font-weight: 600; font-size: 34px; line-height: 1.5; }
.ab-vv__lines { display: flex; flex-direction: column; gap: var(--space-10); font-size: 20px; font-weight: 500; line-height: 1.8; }

.ab-strip {
  display: flex; align-items: center; justify-content: center; gap: var(--space-30);
  width: min(1280px, 100%); margin-inline: auto; padding: var(--space-20) 0;
  overflow: clip;
}
.ab-strip__item { flex: 0 0 auto; border-radius: 10px; overflow: hidden; }
.ab-strip__item img { width: 100%; height: 100%; object-fit: cover; }
.ab-strip__item--1 { width: 230px; height: 280px; }
.ab-strip__item--1 img { object-position: 55% 51%; }
.ab-strip__item--2 { width: 280px; height: 191px; }
.ab-strip__item--2 img { object-position: 69% 93%; }
.ab-strip__item--3 { width: 384px; height: 263px; }
.ab-strip__item--3 img { object-position: 50% 39%; }
.ab-strip__item--4 { width: 280px; height: 191px; }
.ab-strip__item--4 img { object-position: 24% 50%; }

/* ====================
   OVERVIEW
   ==================== */
.ab-overview {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; gap: var(--space-70);
  margin-top: var(--space-80); padding: var(--space-120) var(--space-130);
  background: rgba(255, 214, 59, .06);
}
.ab-overview__deco {
  position: absolute; right: 0; bottom: 0;
  width: 364px; height: 381px;
  transform: scaleX(-1);
}
.ab-table {
  position: relative;
  display: flex; flex-direction: column;
  width: min(980px, 100%); padding: var(--space-60); border-radius: 30px;
  background: var(--c-white);
  margin: 0;
}
.ab-table__row {
  display: flex; align-items: flex-start;
  padding: var(--space-25) var(--space-10);
  border-bottom: 1px solid var(--c-line);
}
.ab-table__row--last { border-bottom: none; }
.ab-table__row dt { flex: 0 0 240px; font-size: 16px; font-weight: 700; line-height: 1.5; }
.ab-table__row dd { flex: 1; min-width: 0; margin: 0; font-size: 16px; line-height: 1.6; }
.ab-table__list { padding-left: var(--space-25); }
.ab-table__list li { list-style: disc; }

/* ====================
   MESSAGE
   ==================== */
.ab-message {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-70);
  margin: var(--space-80) 0; padding: 0 var(--space-130);
}
.ab-message__body {
  display: flex; align-items: center; gap: var(--space-80);
  width: min(1180px, 100%);
}
.ab-message__photo {
  flex: 0 0 420px; width: 420px; height: 420px;
  border-radius: 20px; object-fit: cover;
}
.ab-message__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-40); }
.ab-message__ttl { font-size: 32px; font-weight: 700; line-height: 1.4; }
.ab-message__desc { font-size: 16px; line-height: 2; color: var(--c-text-sub); }
.ab-message__sign { display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-10); }
.ab-message__sign-role { font-size: 14px; line-height: 1.2; color: #666666; }
.ab-message__sign-name { font-size: 24px; font-weight: 700; line-height: 1.2; }

/* ====================
   レスポンシブ
   ==================== */
/* ====================
   レスポンシブ: 834〜1182px
   ==================== */
@media (min-width: 834px) and (max-width: 1182px) {
  .ab-message { padding: 0 var(--space-40); }
  .ab-message__body { gap: var(--space-40); }
  .ab-message__photo { flex: 0 0 340px; width: 340px; height: auto; aspect-ratio: 1; }
}

@media (max-width: 833px) {
  .ab-mvv { padding: var(--space-70) var(--space-20) var(--space-40); }
  .ab-mission { height: auto; margin-bottom: var(--space-50); }
  .ab-mission__photo { position: relative; width: calc(100% - 16px); height: auto; }
  .ab-mission__panel {
    position: relative; left: 0; margin: -40px var(--space-15) 0;
    width: auto; max-width: none; padding: var(--space-30) var(--space-20);
  }
  .ab-mission__ttl { font-size: 24px; }
  .ab-mission__desc { font-size: 15px; }
  .ab-strip { overflow-x: auto; scrollbar-width: none; padding: var(--space-20) var(--space-15); }
  .ab-strip::-webkit-scrollbar { display: none; }

  .ab-overview { margin-top: var(--space-40); padding: var(--space-60) var(--space-20); gap: var(--space-40); }
  .ab-table { width: 100%; padding: var(--space-30) var(--space-20); }
  .ab-table__row { flex-direction: column; gap: var(--space-5); padding: var(--space-15) var(--space-5); }
  .ab-table__row dt { flex: none; }

  .ab-message { gap: var(--space-40); padding-inline: var(--space-20); }
  .ab-message__ttl { font-size: 24px; }
  .ab-message__body { flex-direction: column; gap: var(--space-30); }
  .ab-message__photo { flex: none; width: min(100%, 360px); height: auto; aspect-ratio: 1; }
}
