@charset "UTF-8";
/* ----------------------------------------
 - html
---------------------------------------- */
html,
body {
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
@media screen and (max-width: 320px) {
  html {
    font-size: 52.5%;
  }
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/* ----------------------------------------
 - img
---------------------------------------- */
img {
  width: 100%;
}

/* link color inherit & hover transition */
a {
  color: inherit;
}

a,
a::after {
  transition: all 0.4s ease-in-out;
}

.sp_only {
  display: none;
}

.pc_only {
  display: block;
}

span.pc_only {
  display: inline-block;
}

.tb_only {
  display: none;
}

.tb_none {
  display: block;
}

@media screen and (max-width: 1024px) {
  .tb_only {
    display: block;
  }
  .tb_none {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .sp_only {
    display: block;
  }
  .pc_only,
  span.pc_only {
    display: none;
  }
}
/* ----------------------------------------
 - body
---------------------------------------- */
body {
  font-family: var(--font_mincho);
  font-optical-sizing: auto;
  font-size: 16px;
  font-size: 1.6em;
  font-weight: var(--font_Regular);
  font-style: normal;
  text-align: justify;
  color: var(--color_white);
  line-height: 1.6;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background-color: var(--color_dark);
}
body .ttl {
  text-align: left;
}

:root {
  /* color */
  --color_dark: #434344;
  --color_dark_footer: #333335;
  --color_gold: #D9B462;
  --color_gold_deep: #B8953F;
  --color_gold_light: #E8CC7E;
  --color_line: #696969;
  --color_gray: #9c9c9c;
  --color_text_muted: #B0B0B0;
  --color_white: #F8F8FF;
  --color_dark_gray: #4d4d4f;
  /* font weight */
  --font_Light: 300;
  --font_Regular: 400;
  --font_medium: 500;
  --font_semibold: 600;
  --font_bold: 700;
  --font_extrabold: 800;
  --font_black: 900;
  /* font size (rem 基準: html=10px / 62.5%、小画面 8.4px / 52.5%)
     rem は html 基準なので親要素の font-size に compound されず、
     html 側の % でレスポンシブスケールも従来通り効く */
  --font_11: 1.1rem;
  --font_12: 1.2rem;
  --font_13: 1.3rem;
  --font_14: 1.4rem;
  --font_15: 1.5rem;
  --font_16: 1.6rem;
  --font_18: 1.8rem;
  --font_20: 2.0rem;
  --font_21: 2.1rem;
  --font_22: 2.2rem;
  --font_24: 2.4rem;
  --font_30: 3.0rem;
  --font_34: 3.4rem;
  --font_38: 3.8rem;
  --font_40: 4.0rem;
  --font_42: 4.2rem;
  --font_50: 5.0rem;
  --font_52: 5.2rem;
  --font_74: 7.4rem;
  --font_80: 8.0rem;
  --font_84: 8.4rem;
  --font_100: 10.0rem;
  --font_140: 14.0rem;
  --font_150: 15.0rem;
  --font_170: 17.0rem;
  --font_200: 20.0rem;
  /* inner width */
  --inner_width: 1200px;
  --inner_width_s: 960px;
  --inner_width_l: 1400px;
  --inner_width_out: 1680px;
  --inner_padding: 0 3%;
  --inner_padding_reset: 0 -4%;
  /* breakpoints */
  --bp_tb: 1024px;
  --bp_sp: 768px;
  /* font family */
  --font_mincho: "Shippori Mincho", serif;
  --font_palatino: "Palatino", "Book Antiqua", "Palatino Linotype", serif;
  --font_cormorant: "Cormorant Garamond", "Palatino", "Book Antiqua", "Palatino Linotype", serif;
  --font_tangerine: "Tangerine", cursive;
  --font_gilda: "Gilda Display", serif;
}

@media screen and (max-width: 1024px) {
  :root {
    --inner_padding: 0 4%;
    --inner_padding_reset: 0 -5%;
  }
}
@media screen and (max-width: 768px) {
  body {
    text-align: unset;
  }
  :root {
    --inner_padding: 0 8%;
    --inner_padding_reset: 0 -9%;
  }
}
/* ----------------------------------------
 - common
---------------------------------------- */
#main {
  overflow: hidden;
}

.sec {
  padding: var(--inner_padding);
  position: relative;
}
.sec .inner {
  width: 100%;
  max-width: var(--inner_width);
  margin: 0 auto;
}
.sec .inner .main_ttl_area h2.ttl {
  font-family: var(--font_palatino);
  font-size: var(--font_150);
  letter-spacing: -0.03em;
  color: var(--color_gold);
  line-height: 0.76;
}
.sec .inner .main_ttl_area .txt {
  font-size: var(--font_18);
  margin-top: 20px;
}

/* ==========================================
 TOP (front-page.php) 専用スコープ: .page_top
========================================== */
/* -- mv  (Figma: 1440x1116, bg #434344)
---------------------------------------- */
.page_top #mv {
  padding-top: 150px;
  padding-bottom: 180px;
  min-height: clamp(820px, 78vw, 1116px);
  overflow: hidden;
  border-bottom: 1px solid var(--color_line);
}
.page_top #mv .inner {
  display: flex;
  justify-content: space-between;
  gap: 6%;
  align-items: center;
}
.page_top #mv .mv_img {
  max-width: 1080px;
  width: 100%;
  margin-left: clamp(-260px, -18vw, 0px);
}
.page_top #mv .mv_img img {
  display: block;
  width: 100%;
  max-height: 550px;
  height: auto;
  aspect-ratio: 1080/550;
  object-fit: cover;
}
.page_top #mv .mv_content {
  width: clamp(220px, 22vw, 262px);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 38px;
  position: relative;
  padding-top: 53px;
}
.page_top #mv .mv_content::after {
  position: absolute;
  content: "";
  display: block;
  width: 55px;
  height: 126px;
  background-image: url(../img/logo_mark.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  top: 0;
  right: -30px;
}
.page_top #mv .chapter_list {
  /* Figma: Frame 3375, VERTICAL, gap 44 */
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.page_top #mv .chapter_item a {
  /* Figma: Frame 3372, VERTICAL, gap 8 */
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: opacity 0.3s ease;
  padding: 10px 0;
}
.page_top #mv .chapter_item a:hover {
  opacity: 0.7;
}
.page_top #mv .chapter_item .name {
  display: block;
}
.page_top #mv .chapter_item .name img {
  display: block;
  width: auto;
  height: 22px; /* Figma TEXT 262x24 */
}
.page_top #mv .chapter_item .line {
  /* Figma: Vector 5/6/7, 260px, 1px */
  display: block;
  width: 260px;
  height: 1px;
  background-color: var(--color_line);
}
.page_top #mv .mv_mission img {
  display: block;
  width: 100%;
  max-width: 246px;
  height: auto;
}
.page_top #mv .mv_brand {
  position: absolute;
  left: 50%;
  bottom: 15%;
  transform: translateX(-50%);
  width: 1200px;
  max-width: 88%;
  display: flex;
  flex-direction: column;
  gap: 40px;
  pointer-events: none;
}
.page_top #mv .mv_brand .name {
  /* Figma: Frame 3195, 765x50, CorporateConnections® */
}
.page_top #mv .mv_brand .name img {
  display: block;
  width: auto;
  height: 50px;
}
.page_top #mv .mv_brand .region {
  /* Figma: TEXT Tokyo Shibuya Region, Palatino 178px, 1201x342 */
}
.page_top #mv .mv_brand .region img {
  display: block;
  width: 100%;
  height: auto;
}

/* -- about  (Figma: 1440x1369, bg #434344)
---------------------------------------- */
.page_top #about {
  padding-top: 140px;
  padding-bottom: 180px;
  border-bottom: 1px solid var(--color_line);
}
.page_top #about .inner {
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.page_top #about .about_main {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 6%;
}
.page_top #about .about_main .img {
  max-width: 767px;
  width: 100%;
  margin-left: clamp(-120px, -8vw, 0px);
}
.page_top #about .about_main .img img {
  display: block;
  width: 100%;
  max-height: 549px;
  height: auto;
  aspect-ratio: 767/549;
  object-fit: cover;
  object-position: right;
}
.page_top #about .about_main .txt_area {
  max-width: 440px;
  width: 38%;
  min-width: 280px;
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.page_top #about .about_main .txt_area .ttl {
  /* Shippori Mincho w600 24px / lh 43.2 / #F8F8FF */
  font-size: var(--font_24);
  font-weight: var(--font_semibold);
  line-height: 1.8;
}
.page_top #about .about_main .txt_area .txt {
  /* Shippori Mincho 400 16px / lh 32 / #F8F8FF */
  font-size: var(--font_16);
  line-height: 2;
}
.page_top #about .btn_line {
  /* Figma: Frame 3197, 564x38, VERTICAL, gap 26, padding-bottom 24, center */
  margin-top: 140px; /* Frame 3205 gap 140 */
  display: flex;
  justify-content: center;
  padding-bottom: 24px;
}
.page_top #about .btn_line a {
  display: inline-flex;
  align-items: center;
  gap: 40px;
  transition: opacity 0.3s;
  padding: 20px 0;
  border-bottom: 1px solid var(--color_line);
}
.page_top #about .btn_line a:hover {
  opacity: 0.7;
}
.page_top #about .btn_line a .txt {
  /* Shippori 18px / ls 0.54 / lh 28.8 / #ECECEC */
  font-size: var(--font_18);
  letter-spacing: 0.03em;
  line-height: 1.6;
  color: #ECECEC;
}
.page_top #about .btn_line a .arrow {
  /* Figma: Frame 3307 (14x14, p 4) + Ellipse 4 (6x6 #D9B462) */
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color_gold);
  flex-shrink: 0;
}
.page_top #about .main_ttl_area {
  width: 100%;
  max-width: 834px; /* 954 + 120 padding */
  display: flex;
  flex-direction: column;
  gap: 70px;
  margin-bottom: -290px;
  position: relative;
}
.page_top #about .main_ttl_area .en_ttl {
  /* Frame 3198: 144x60, HORIZONTAL gap 28 align CENTER (ロゴ+About) */
}
.page_top #about .main_ttl_area .en_ttl img {
  display: block;
  width: auto;
  height: 60px;
}
.page_top #about .main_ttl_area .ttl {
  /* Linking Leaders... Gilda Display 120px / ls -2.40 / lh 108 / #D9B462 */
}
.page_top #about .main_ttl_area .ttl img {
  display: block;
  width: 100%;
  max-width: 834px;
  height: auto;
}
.page_top #about .main_ttl_area .txt {
  /* Tangerine 21px mission */
}
.page_top #about .main_ttl_area .txt img {
  display: block;
  width: 100%;
  max-width: 246px;
  height: auto;
}

/* -- vision  (Figma: 1440x1294, bg #434344)
---------------------------------------- */
.page_top #vision {
  padding-top: 150px;
  padding-bottom: 100px;
}
.page_top #vision .inner {
  display: flex;
  flex-direction: column;
  gap: 100px;
  justify-content: center;
  align-items: center;
}
.page_top #vision .main_ttl_area {
  /* Figma: Frame 3208, 1029x522, VERTICAL, gap 70 */
  width: 100%;
  max-width: 1029px;
  display: flex;
  flex-direction: column;
  gap: 70px;
}
.page_top #vision .main_ttl_area .en_ttl {
  /* Frame 3198: ロゴ+Our Vision */
}
.page_top #vision .main_ttl_area .en_ttl img {
  display: block;
  width: auto;
  height: 60px;
}
.page_top #vision .main_ttl_area .ttl {
  /* Palatino 120px Vision of... */
}
.page_top #vision .txt_area {
  /* Figma: Frame 3207, 720x422, VERTICAL, gap 50 */
  width: 100%;
  max-width: 720px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.page_top #vision .txt_area .ttl {
  /* Shippori w600 24px / lh 43.2 */
  font-size: var(--font_24);
  font-weight: var(--font_semibold);
  line-height: 1.8;
}
.page_top #vision .txt_area .txt {
  /* Shippori 400 16px / lh 32 */
  font-size: var(--font_16);
  line-height: 2;
}

/* -- feature  (Figma: 1440x1797, bg #434344)
---------------------------------------- */
.page_top #feature {
  padding-top: 190px;
  padding-bottom: 200px;
  border-bottom: 1px solid var(--color_line);
}
.page_top #feature .inner {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 90px; /* Figma の top 内 VERTICAL gap */
}
.page_top #feature .main_ttl_area {
  /* Figma: Frame 3210, 771x147, VERTICAL, gap 30 */
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.page_top #feature .main_ttl_area .ttl img {
  /* Features 画像 Palatino 150px */
  display: block;
  width: 100%;
  max-width: 563px;
  height: auto;
}
.page_top #feature .main_ttl_area .txt {
  /* 渋谷リージョンの特徴について Shippori 18px / ls 0.90 / lh 28.8 */
  font-size: var(--font_18);
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.page_top #feature .feature_list {
  /* Figma: Frame 3211, 1200x1170, VERTICAL, gap 105, padding 0 120 */
  display: flex;
  flex-direction: column;
  gap: 105px;
  margin: 0 auto;
  max-width: var(--inner_width_s);
  width: 100%;
}
.page_top #feature .feature_item {
  /* Figma: structure, 960x320, HORIZONTAL gap 60 justify CENTER align CENTER */
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 4vw, 60px);
}
.page_top #feature .feature_item.is_left {
  flex-direction: row-reverse;
}
.page_top #feature .feature_item .img {
  max-width: 480px;
  width: 100%;
}
.page_top #feature .feature_item .img img {
  display: block;
  width: 100%;
  min-height: 0;
  height: auto;
  aspect-ratio: 480/320;
  object-fit: cover;
}
.page_top #feature .feature_item .txt_area {
  /* Figma: Frame 02, 420x251, VERTICAL, gap 46 */
  max-width: 420px;
  width: 100%;
  flex-shrink: 1;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.page_top #feature .feature_item .txt_area .ttl_area {
  /* Figma: Frame 3209, 393x106, VERTICAL, gap 28 */
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 393px;
}
.page_top #feature .feature_item .txt_area .ttl_area .ttl {
  /* 日本語 Shippori w600 22px / ls 1.10 / lh 35.2 */
  font-size: var(--font_22);
  font-weight: var(--font_semibold);
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.page_top #feature .feature_item .txt_area .ttl_area .sub_ttl {
  /* Palatino 12px / ls 0.48 / lh 19.2 / #D9B462 */
  font-family: var(--font_cormorant);
  font-size: var(--font_12);
  letter-spacing: 0.04em;
  line-height: 1.6;
  color: var(--color_gold);
}
.page_top #feature .feature_item .txt_area .txt {
  /* Shippori 16px / ls 0.32 / lh 28.8 / padding-left 30 */
  padding-left: 30px;
  letter-spacing: 0.02em;
  line-height: 1.8;
  border-left: 1px solid var(--color_line);
}

/* -- message  (Figma: 1440x1152, bg #434344)
---------------------------------------- */
.page_top #message {
  padding-top: 240px;
  padding-bottom: 160px;
  border-bottom: 1px solid var(--color_line);
}
.page_top #message .inner {
  gap: 100px;
  display: flex;
  flex-direction: column;
}
.page_top #message .main_ttl_area {
  /* Frame 3210 (564x147) VERTICAL gap 30
     左端: txt_area 410 + 560 - overlap 70 = 900 */
  max-width: 564px;
  width: 100%;
  display: flex;
  flex-direction: column;
}
.page_top #message .main_ttl_area .ttl img {
  display: block;
  width: 100%;
  max-width: 563px;
  height: auto;
}
.page_top #message .main_ttl_area .txt {
  font-size: var(--font_18);
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-top: -20px;
}
.page_top #message .message_box {
  display: flex;
  justify-content: flex-end;
  max-width: var(--inner_width_s);
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: -1;
}
.page_top #message .message_box .img {
  /* Figma: Rectangle 12 (480x580), 左配置 */
  position: absolute;
  top: -170px;
  left: 0;
  max-width: 480px;
  width: 50%;
}
.page_top #message .message_box .img img {
  display: block;
  width: 100%;
  max-height: 580px;
  height: auto;
  aspect-ratio: 480/580;
  object-fit: cover;
}
.page_top #message .message_box .txt_area {
  /* Frame 3309 (560x752) VERTICAL gap 50 padding-top 180
     左端: img 480 - overlap 70 = 410 */
  max-width: 560px;
  width: 60%;
  min-width: 320px;
  display: flex;
  flex-direction: column;
  gap: 50px;
  z-index: 1;
}
.page_top #message .message_box .txt_area .ttl {
  font-size: var(--font_24);
  font-weight: var(--font_semibold);
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.page_top #message .message_box .txt_area .txt {
  font-size: var(--font_16);
  letter-spacing: 0.02em;
  line-height: 1.8;
}
.page_top #message .message_box .txt_area .name {
  font-size: var(--font_20);
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: right;
}

/* -- chapter  (Figma: 1440x2539, bg #434344)
---------------------------------------- */
.page_top #chapter {
  padding-top: 200px;
  padding-bottom: 140px;
}
.page_top #chapter .chapter_intro {
  /* Figma: Frame 3331, 1079x261, HORIZONTAL, gap 76, align MAX(end) */
  display: flex;
  align-items: flex-end;
  gap: 76px;
  padding-bottom: 120px;
  border-bottom: 1px solid var(--color_line);
}
.page_top #chapter .chapter_intro .main_ttl_area {
  /* Frame 3210, 603x261, VERTICAL, gap 30 */
  display: flex;
  flex-direction: column;
  max-width: 603px;
  width: 60%;
}
.page_top #chapter .chapter_intro .main_ttl_area .ttl img {
  /* About Chapter 画像 Palatino 150px */
}
.page_top #chapter .chapter_intro .main_ttl_area .txt {
  /* チャプター紹介 Shippori 18px / ls 0.90 / lh 28.8, padding-left 74 */
  padding-left: 74px;
  font-size: var(--font_18);
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-top: -20px;
}
.page_top #chapter .chapter_intro .lead {
  /* Shippori 16px / lh 32, max-width 400 */
  max-width: 400px;
  line-height: 2;
}
.page_top #chapter .chapter_list {
  display: flex;
  flex-direction: column;
}
.page_top #chapter .chapter_list .chapter_item {
  /* Figma: Frame 3202 etc, 1200x594-612, HORIZONTAL gap 60, padding 70 0, justify CENTER align CENTER */
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(24px, 4vw, 60px);
  padding: 70px 10%;
  border-bottom: 1px solid var(--color_line);
}
.page_top #chapter .chapter_list .chapter_item .txt_area {
  /* Frame 3309, 384x272, VERTICAL, gap 46, padding-top 10, justify CENTER */
  max-width: 384px;
  width: 100%;
  flex-shrink: 1;
  padding-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 46px;
  justify-content: center;
}
.page_top #chapter .chapter_list .chapter_item .txt_area .brand img {
  display: block;
  width: 100%;
  max-width: 384px;
  height: auto;
}
.page_top #chapter .chapter_list .chapter_item .txt_area .name img {
  display: block;
  width: 100%;
  max-width: 384px;
  height: auto;
}
.page_top #chapter .chapter_list .chapter_item .txt_area .btn_line a {
  display: inline-flex;
  align-items: center;
  gap: 40px;
  transition: opacity 0.3s;
  padding: 20px 0;
  border-bottom: 1px solid var(--color_line);
}
.page_top #chapter .chapter_list .chapter_item .txt_area .btn_line a:hover {
  opacity: 0.7;
}
.page_top #chapter .chapter_list .chapter_item .txt_area .btn_line a .txt {
  font-size: var(--font_18);
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #ECECEC;
}
.page_top #chapter .chapter_list .chapter_item .txt_area .btn_line a .arrow {
  /* Figma: Frame 3307 (14x14, p 4) + Ellipse 4 (6x6 #D9B462) */
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color_gold);
  flex-shrink: 0;
}
.page_top #chapter .chapter_list .chapter_item .img_area {
  /* Frame 3313, 450-480 x 454-472, VERTICAL justify CENTER */
  max-width: 480px;
  width: 100%;
  flex-shrink: 1;
}
.page_top #chapter .chapter_list .chapter_item .img_area .main_img img {
  display: block;
  width: 100%;
  max-height: 472px;
  height: auto;
  aspect-ratio: 480/472;
  object-fit: cover;
}

/* ==========================================
 Chapter (tokyo4 / tokyo6 共通) 専用スコープ: .page_chapter
========================================== */
/* -- mv (chapter) (Figma: 1440x410, bg #434344)
   レイアウト: 写真は右、ブランド/名前は左、ミッション英文は写真の右下
---------------------------------------- */
.page_chapter #mv {
  /* 構造: about MV と同じ Grid 重ね（1×1 セル、txt_area 左寄せ + img_area 右寄せ）。
     Figma 寸法: 写真 1058x358 at (382,0), ブランド枠 476x169 at (121,94),
                mission 264x89 at (1060,297)
     mission は section 内に absolute（写真右下に独立配置）。 */
  position: relative;
  overflow: hidden;
  padding-bottom: 50px;
}
.page_chapter #mv .inner {
  max-width: var(--inner_width_out);
  margin: 0 auto;
  min-height: 360px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  align-items: center;
}
.page_chapter #mv .txt_area {
  /* Figma Frame 3312 at rel=(121, 94)、左寄せ・縦中央 */
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  z-index: 1;
}
.page_chapter #mv .txt_area .brand img {
  display: block;
  width: auto;
  height: 24px;
  margin-bottom: 2px;
}
.page_chapter #mv .txt_area .name img {
  display: block;
  width: 100%;
  max-width: 476px;
  height: auto;
}
.page_chapter #mv .img_area {
  /* Figma 写真 1058x358 at rel_x=382 → 右寄せ・縦中央 */
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  width: 80%;
  margin-right: -120px;
}
.page_chapter #mv .img_area img {
  display: block;
  width: 100%;
  height: 360px;
  object-fit: cover;
}
.page_chapter #mv .mission {
  /* Tangerine 英文サブ Figma rel=(1060,297) 264x89 — 写真右下に absolute */
  position: absolute;
  right: 5%;
  bottom: 0;
  z-index: 1;
}
.page_chapter #mv .mission img {
  display: block;
  width: 100%;
  max-width: 246px;
  height: auto;
}

/* -- about (chapter) (Figma: 1440x855, padding 80/120/160/120)
---------------------------------------- */
.page_chapter #about {
  padding-top: 80px;
  padding-bottom: 160px;
  border-bottom: 1px solid var(--color_line);
}
.page_chapter #about .inner {
  max-width: var(--inner_width_s);
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.page_chapter #about .main_ttl_area {
  /* Figma: Frame 3198 (144x60) = 装飾 + About文字 */
}
.page_chapter #about .main_ttl_area .ttl img {
  display: block;
  width: auto;
  height: 60px;
}
.page_chapter #about .about_main {
  /* Figma: Frame 3338 (959x485) HORIZONTAL gap 80 */
  display: flex;
  gap: clamp(24px, 5vw, 80px);
  align-items: flex-start;
}
.page_chapter #about .about_main .txt_area {
  /* Figma: Frame 3337 (531x485) VERTICAL gap 50 */
  max-width: 531px;
  width: 100%;
  flex-shrink: 1;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.page_chapter #about .about_main .txt_area .ttl {
  /* Shippori w600 24px / ls 1.20 / lh 43.2 / #F8F8FF */
  font-size: var(--font_24);
  font-weight: var(--font_semibold);
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.page_chapter #about .about_main .txt_area .txt {
  /* Shippori 400 16px / ls 0.32 / lh 28.8 / #F8F8FF */
  font-size: var(--font_16);
  letter-spacing: 0.02em;
  line-height: 1.8;
}
.page_chapter #about .about_main .img_area {
  /* Figma: Rectangle 13 (348x420) */
  flex-shrink: 1;
  max-width: 348px;
  width: 36%;
  min-width: 220px;
}
.page_chapter #about .about_main .img_area .img img {
  display: block;
  width: 100%;
  max-height: 420px;
  height: auto;
  aspect-ratio: 348/420;
  object-fit: cover;
}

/* -- member (Figma: 1440x2352, padding 170/120/180/120)
---------------------------------------- */
.page_chapter #member {
  padding-top: 170px;
  padding-bottom: 180px;
  border-bottom: 1px solid var(--color_line);
}
.page_chapter #member .inner {
  display: flex;
  flex-direction: column;
  gap: 90px;
}
.page_chapter #member .main_ttl_area {
  /* Figma: Frame 3210 (771x147) VERTICAL gap 30 */
  display: flex;
  flex-direction: column;
}
.page_chapter #member .main_ttl_area .ttl img {
  /* Members Palatino 150px */
  display: block;
  width: 100%;
  max-width: 625px;
  height: auto;
}
.page_chapter #member .main_ttl_area .txt {
  /* Shippori 18px / ls 0.90 / lh 28.8 / #F8F8FF */
  font-size: var(--font_18);
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.page_chapter #member .member_list {
  /* Figma: Frame 3344 (960x2673), 4列グリッド, 200px幅
     column-gap=53px, row-gap=51px
     中間幅では明示的に 4→3→2 列でブレークポイント切替 */
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 200px));
  column-gap: clamp(20px, 4vw, 53px);
  row-gap: 51px;
  justify-content: center;
  max-width: 959px;
  padding: 0;
  margin: 0 auto;
}
@media (max-width: 1100px) {
  .page_chapter #member .member_list {
    grid-template-columns: repeat(3, minmax(0, 200px));
  }
}
@media (max-width: 768px) {
  .page_chapter #member .member_list {
    grid-template-columns: repeat(2, minmax(0, 200px));
  }
}
.page_chapter #member .member_item {
  /* 200幅 VERTICAL gap 30 */
  max-width: 220px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-self: center;
}
.page_chapter #member .member_item .img img {
  /* Rectangle 4 (200x240) */
  display: block;
  width: 100%;
  max-width: 200px;
  max-height: 240px;
  height: auto;
  aspect-ratio: 200/240;
  object-fit: cover;
}
.page_chapter #member .member_item .txt_area {
  /* Frame 3340 VERTICAL gap 22 */
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.page_chapter #member .member_item .name {
  /* Shippori w600 22px / ls 1.10 / lh 35.2 / #F8F8FF */
  font-size: var(--font_22);
  font-weight: var(--font_semibold);
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.page_chapter #member .member_item .company {
  /* Shippori w600 16px / ls 0.80 / lh 25.6 / #D9B462
     URLがある場合は <a> でリンク化し、アイコンは会社名の末尾にインラインで続く
     （Figma: 1行なら1行目末尾、2行なら2行目末尾） */
  font-size: var(--font_16);
  font-weight: var(--font_semibold);
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: var(--color_gold);
}
.page_chapter #member .member_item .company a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}
.page_chapter #member .member_item .company a:hover {
  opacity: 0.7;
}
.page_chapter #member .member_item .company .icon {
  /* 13x13 外部リンクアイコン、テキストの末尾にインラインで続く */
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-left: 6px;
  vertical-align: baseline;
}
.page_chapter #member .member_item .company .icon img {
  display: block;
  width: 13px;
  height: 13px;
}
.page_chapter #member .member_item .role {
  /* Shippori w600 15px / ls 0.75 / lh 24 / #B0B0B0 / padding-left 16 */
  font-size: var(--font_15);
  font-weight: var(--font_semibold);
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: var(--color_text_muted);
  display: flex;
  align-items: center;
}
.page_chapter #member .member_item .role::before {
  content: "";
  display: block;
  height: 75%;
  width: 1px;
  background-color: var(--color_line);
  margin-right: 15px;
}

/* -- chapter_meeting (page_chapter / shibuya3 共通)
   構造: タイトルは左側に絶対配置で写真の上に重ねる
   Figma: Frame 3289 (タイトル, 746x263) at y=150
          Frame 3357 (写真+表, 1322x520) at y=330  → 36px重なる
---------------------------------------- */
.page_chapter #chapter_meeting,
.page_shibuya3 #chapter_meeting {
  position: relative;
  padding-top: 150px;
  padding-bottom: 90px;
}
.page_chapter #chapter_meeting .inner,
.page_shibuya3 #chapter_meeting .inner {
  position: relative;
}
.page_chapter #chapter_meeting .inner > .ttl_box,
.page_shibuya3 #chapter_meeting .inner > .ttl_box {
  position: relative;
  padding-top: 195px;
}
.page_chapter #chapter_meeting .main_ttl_area,
.page_shibuya3 #chapter_meeting .main_ttl_area {
  /* Figma: Frame 3289 (746x263) 左寄せ、写真の上に重ねる */
  position: absolute;
  top: 0;
  left: 0;
  max-width: 746px;
  z-index: 2;
  display: flex;
  flex-direction: column;
}
.page_chapter #chapter_meeting .main_ttl_area .ttl img,
.page_shibuya3 #chapter_meeting .main_ttl_area .ttl img {
  /* Chapter Meeting Palatino 150px */
  display: block;
  width: 100%;
  max-width: 626px;
  height: auto;
}
.page_chapter #chapter_meeting .main_ttl_area .txt,
.page_shibuya3 #chapter_meeting .main_ttl_area .txt {
  /* Shippori 18px / ls 0.90 / lh 28.8, padding-left 100 */
  padding-left: 100px;
  font-size: var(--font_18);
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-top: -1.5em;
}
.page_chapter #chapter_meeting .chapter_meeting_main,
.page_shibuya3 #chapter_meeting .chapter_meeting_main {
  /* Figma: Frame 3357 (1322x520) HORIZONTAL gap 104 align MAX
     1440-1322=118 / 2 = 59 の余白
     タイトルが y=150 に対しここは y=330 → margin-top 180px */
  position: relative;
  z-index: 1;
  display: flex;
  gap: 3%;
  align-items: flex-end;
  justify-content: space-between;
}
.page_chapter #chapter_meeting .chapter_meeting_main .img_area,
.page_shibuya3 #chapter_meeting .chapter_meeting_main .img_area {
  /* Group 53 (800x520) */
  flex-shrink: 1;
  max-width: 800px;
  width: 60%;
  min-width: 0;
}
.page_chapter #chapter_meeting .chapter_meeting_main .img_area .img img,
.page_shibuya3 #chapter_meeting .chapter_meeting_main .img_area .img img {
  display: block;
  width: 100%;
  max-width: 800px;
  max-height: 520px;
  height: auto;
  aspect-ratio: 800/520;
  object-fit: cover;
  margin-left: clamp(-100px, -7vw, 0px);
}
.page_chapter #chapter_meeting .chapter_meeting_main .txt_area,
.page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area {
  /* Figma: Frame 3288 (418x446) VERTICAL gap 76 */
  max-width: 420px;
  width: 36%;
  min-width: 280px;
  flex-shrink: 1;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.page_chapter #chapter_meeting .chapter_meeting_main .txt_area .ttl img,
.page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area .ttl img {
  /* Schedule Palatino 21px */
  display: block;
  width: 100%;
  max-width: 88px;
  height: auto;
}
.page_chapter #chapter_meeting .chapter_meeting_main .txt_area .simple_table,
.page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area .simple_table {
  /* Frame 3358 (418x117) HORIZONTAL gap 35 padding-left 36 */
  width: 100%;
  border-collapse: collapse;
  margin-top: 34px;
  border-left: 1px solid var(--color_line);
}
.page_chapter #chapter_meeting .chapter_meeting_main .txt_area .simple_table th, .page_chapter #chapter_meeting .chapter_meeting_main .txt_area .simple_table td,
.page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area .simple_table th,
.page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area .simple_table td {
  font-size: var(--font_16);
  letter-spacing: 0.02em;
  line-height: 2.2;
  text-align: left;
  vertical-align: top;
  padding-bottom: 0;
}
.page_chapter #chapter_meeting .chapter_meeting_main .txt_area .simple_table th,
.page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area .simple_table th {
  font-weight: var(--font_medium);
  padding-left: 36px;
  padding-right: 35px;
  white-space: nowrap;
}
.page_chapter #chapter_meeting .chapter_meeting_main .txt_area > .txt,
.page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area > .txt {
  /* p.txt: Shippori 16px / ls 0.32 / lh 32 */
  font-size: var(--font_16);
  letter-spacing: 0.02em;
  line-height: 2;
}

/* -- other_chapter (about #other_chapter, page_chapter #other_chapter) 共通
   tokyo4/tokyo6/shibuya3 の 2ボタン版を canonical 設計とし、about の 3ボタンも同じ作りに揃える
   Figma: Frame 3197/3199 (450x120) 高さ120, 1px border, テキスト中央, dot 右絶対配置
---------------------------------------- */
.page_about #other_chapter,
.page_chapter #other_chapter {
  padding-top: 90px;
  padding-bottom: 90px;
}
.page_about #other_chapter .inner,
.page_chapter #other_chapter .inner {
  max-width: 960px;
  margin: 0 auto;
}
.page_about #other_chapter .chapter_btn_list,
.page_chapter #other_chapter .chapter_btn_list {
  /* Figma: Frame 3369 (960x120) HORIZONTAL gap 60 align CENTER */
  display: flex;
  justify-content: center;
  gap: 60px;
}
.page_about #other_chapter .chapter_btn_list li,
.page_chapter #other_chapter .chapter_btn_list li {
  flex: 1;
  max-width: 450px;
}
.page_about #other_chapter .chapter_btn_list a,
.page_chapter #other_chapter .chapter_btn_list a {
  /* Frame 3197/3199 (450x120):
     Figma: テキスト中央配置、ドット右側独立配置 */
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  border: 1px solid var(--color_line);
  transition: opacity 0.3s, border-color 0.3s;
}
.page_about #other_chapter .chapter_btn_list a:hover,
.page_chapter #other_chapter .chapter_btn_list a:hover {
  border-color: var(--color_gold);
}
.page_about #other_chapter .chapter_btn_list a .name,
.page_chapter #other_chapter .chapter_btn_list a .name {
  display: inline-flex;
  align-items: center;
}
.page_about #other_chapter .chapter_btn_list a .name img,
.page_chapter #other_chapter .chapter_btn_list a .name img {
  /* Figma TEXT 88x17 だが SVG export は 88x25 (ascender/descender込み)
     ネイティブサイズで Palatino 24px 表示 */
  display: block;
  width: auto;
  height: 25px;
}
.page_about #other_chapter .chapter_btn_list a .arrow,
.page_chapter #other_chapter .chapter_btn_list a .arrow {
  /* Frame 3307 + Ellipse 4 (6x6 #D9B462) at right=30px */
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color_gold);
}

/* ==========================================
 About CC 専用スコープ: .page_about
========================================== */
/* -- mv (about) (Figma: 1440x410)
---------------------------------------- */
.page_about #mv {
  overflow: hidden;
  padding-bottom: 50px;
}
.page_about #mv .inner {
  max-width: var(--inner_width_out);
  margin: 0 auto;
  min-height: 360px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  align-items: center;
}
.page_about #mv .txt_area {
  /* About + CorporateConnections® 統合 SVG (1044x207)、左寄せ・縦中央 */
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  z-index: 1;
}
.page_about #mv .txt_area .ttl img {
  display: block;
  width: 100%;
  max-width: 1044px;
  height: auto;
}
.page_about #mv .img_area {
  /* Rectangle 1 1058x358 → 右寄せ・縦中央 */
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  width: 90%;
  margin-right: -120px;
}
.page_about #mv .img_area img {
  display: block;
  width: 100%;
  height: 360px;
  object-fit: cover;
}

/* -- about (about) (Figma: 1440x982, padding 80 120 160 120, align CENTER)
---------------------------------------- */
/* -- about (about / shibuya3) 共通 - canonical: about を軸
   shibuya3 は .main_ttl_area がある以外は about と同じ設計
---------------------------------------- */
.page_about #about,
.page_shibuya3 #about {
  padding-top: 80px;
  padding-bottom: 160px;
  border-bottom: 1px solid var(--color_line);
}
.page_about #about .about_main,
.page_shibuya3 #about .about_main {
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 1156px auto;
  display: flex;
  justify-content: center;
  padding-top: 80px;
}
.page_about #about .about_main .txt_area,
.page_shibuya3 #about .about_main .txt_area {
  max-width: 700px;
}
.page_about #about .about_main .txt_area .txt,
.page_shibuya3 #about .about_main .txt_area .txt {
  /* Shippori 18px ls 0.36 lh 39.6 #F8F8FF */
  font-size: var(--font_18);
  letter-spacing: 0.02em;
  line-height: 2.2;
}

.page_about #about .about_main {
  background-image: url("../img/aboutcc_about_en_ttl.svg");
}

/* -- value (about #value, shibuya3 #value) 共通
   Figma: 1440x877, padding 140 120 160 120, align CENTER */
.page_about #value,
.page_shibuya3 #value {
  padding-top: 140px;
  padding-bottom: 160px;
  border-bottom: 1px solid var(--color_line);
}
.page_about #value .inner,
.page_shibuya3 #value .inner {
  max-width: var(--inner_width_s);
}
.page_about #value h2.ttl,
.page_shibuya3 #value h2.ttl {
  /* メンバーが得られる価値 Shippori w500 24px ls 1.20 lh 38.4 #D9B462 中央 */
  font-size: var(--font_24);
  font-weight: var(--font_medium);
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: var(--color_gold);
  text-align: center;
  margin-bottom: 108px;
}
.page_about #value .value_list,
.page_shibuya3 #value .value_list {
  display: flex;
  flex-wrap: wrap;
  grid-template-columns: repeat(2, 420px);
  column-gap: 12%;
  row-gap: 93px;
  justify-content: center;
}
.page_about #value .value_item,
.page_shibuya3 #value .value_item {
  width: 44%;
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.page_about #value .value_item .title,
.page_shibuya3 #value .value_item .title {
  /* Frame 3138 (HORIZONTAL gap 21 align CENTER): Ellipse + h3.ttl
     下に 32px のスペースを取って 1px の line を border-bottom で表現 */
  display: flex;
  align-items: center;
  gap: 1.2em;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color_line);
}
.page_about #value .value_item .title::before,
.page_shibuya3 #value .value_item .title::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color_gold);
  flex-shrink: 0;
}
.page_about #value .value_item .title .num,
.page_shibuya3 #value .value_item .title .num {
  /* Palatino num 画像（もしあれば）。今はテキスト */
  display: none;
}
.page_about #value .value_item .title h3.ttl,
.page_shibuya3 #value .value_item .title h3.ttl {
  /* Shippori w400 22px ls 1.10 lh 35.2 #F8F8FF */
  font-size: var(--font_22);
  font-weight: var(--font_Regular);
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.page_about #value .value_item .txt,
.page_shibuya3 #value .value_item .txt {
  /* Shippori 16px ls 0.32 lh 28.8 #F8F8FF */
  font-size: var(--font_16);
  letter-spacing: 0.02em;
  line-height: 1.8;
}

/* -- experiences (about #experiences, shibuya3 #experiences) 共通
   Figma: 1440x2301 / 2880, padding 160 0 160 0
   shibuya3 はイレギュラーで .txt_area の説明文や .txt_box max-width など追加要素あり
---------------------------------------- */
.page_about #experiences,
.page_shibuya3 #experiences {
  padding-top: 160px;
  padding-bottom: 160px;
  border-bottom: 1px solid var(--color_line);
}
.page_about #experiences .ttl_box,
.page_shibuya3 #experiences .ttl_box {
  /* Figma Frame 3364 (1200x1981) の最初の子: title (733x153) は
     親の counterAxisAlignItems 未指定 → start = LEFT 寄せ */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 36px;
  margin-bottom: 140px;
}
.page_about #experiences .ttl_box .main_ttl_area,
.page_shibuya3 #experiences .ttl_box .main_ttl_area {
  /* SVG タイトルとサブタイトルを縦方向に flex で並べ、左寄せを保証
     （shibuya3 の絶対配置 main_ttl_area でも同じ整列を担保） */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.page_about #experiences .ttl_box .main_ttl_area .ttl,
.page_shibuya3 #experiences .ttl_box .main_ttl_area .ttl {
  /* h2 デフォルト margin リセット */
  margin: 0;
}
.page_about #experiences .ttl_box .main_ttl_area .ttl img,
.page_shibuya3 #experiences .ttl_box .main_ttl_area .ttl img {
  /* Experience Cormorant 150px lh 102 #D9B462 */
  display: block;
  width: 100%;
  max-width: 733px;
  height: auto;
}
.page_about #experiences .ttl_box .main_ttl_area .txt,
.page_shibuya3 #experiences .ttl_box .main_ttl_area .txt {
  /* 日本語サブ: Shippori 18px ls 0.90 lh 28.8 */
  font-size: var(--font_18);
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-top: -1.5em;
  width: 100%;
  text-align: right;
}
.page_about #experiences .ex_list,
.page_shibuya3 #experiences .ex_list {
  /* Figma: Frame 3363 VERTICAL gap 140
     Frame 3361 HORIZONTAL gap 104 で member + commitment を横並び
     → grid 2列で実現。structure / event は 2列スパン */
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 104px;
  row-gap: 140px;
  max-width: 960px;
  margin: 0 auto;
}
.page_about #experiences .ex_item,
.page_shibuya3 #experiences .ex_item {
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: flex-start;
}
.page_about #experiences .ex_item:nth-child(1), .page_about #experiences .ex_item:nth-child(4),
.page_shibuya3 #experiences .ex_item:nth-child(1),
.page_shibuya3 #experiences .ex_item:nth-child(4) {
  /* structure / event は 2列をスパン */
  grid-column: 1/-1;
}
.page_about #experiences .ex_item:first-child,
.page_shibuya3 #experiences .ex_item:first-child {
  /* structure: 画像 + テキスト 横並び */
  flex-direction: row;
  align-items: center;
}
.page_about #experiences .ex_item .ttl_area .ttl img,
.page_shibuya3 #experiences .ex_item .ttl_area .ttl img {
  /* Structure/Member Development/... Palatino 50px #D9B462 */
  display: block;
  width: 100%;
  max-width: 428px;
  height: auto;
}
.page_about #experiences .ex_item .ttl_area .sub_ttl,
.page_shibuya3 #experiences .ex_item .ttl_area .sub_ttl {
  /* 日本語: Shippori 16px lh 24 */
  font-size: var(--font_16);
  line-height: 1.5;
  margin-top: 8px;
}
.page_about #experiences .ex_item .txt_box,
.page_shibuya3 #experiences .ex_item .txt_box {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: flex-start;
}
.page_about #experiences .ex_item .txt_line,
.page_shibuya3 #experiences .ex_item .txt_line {
  flex: 1;
}
.page_about #experiences .ex_item .txt_line,
.page_shibuya3 #experiences .ex_item .txt_line {
  /* Frame 3147 (428x99) HORIZONTAL gap 50, Vector縦線 + 本文 */
  padding-left: 50px;
  border-left: 1px solid var(--color_line);
  font-size: var(--font_16);
  letter-spacing: 0.02em;
  line-height: 1.8;
}
.page_about #experiences .ex_item .txt_line .txt_li,
.page_shibuya3 #experiences .ex_item .txt_line .txt_li {
  /* 簡易リスト風: 行頭に ・ を absolute、本文は hanging indent */
  display: block;
  position: relative;
  padding-left: 1.2em;
}
.page_about #experiences .ex_item .txt_line .txt_li::before,
.page_shibuya3 #experiences .ex_item .txt_line .txt_li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.page_about #experiences .ex_item .txt_line span:not(.txt_li),
.page_shibuya3 #experiences .ex_item .txt_line span:not(.txt_li) {
  font-size: var(--font_14);
}
.page_about #experiences .ex_item > .img,
.page_shibuya3 #experiences .ex_item > .img {
  /* structure 写真。Figma: 440x268 + multiply overlay rgba(88,88,89, 0.80) */
  position: relative;
  max-width: 440px;
  width: 100%;
}
.page_about #experiences .ex_item > .img img,
.page_shibuya3 #experiences .ex_item > .img img {
  display: block;
  width: 100%;
  max-height: 268px;
  height: auto;
  aspect-ratio: 440/268;
  object-fit: cover;
}
.page_about #experiences .ex_item .sp_list,
.page_shibuya3 #experiences .ex_item .sp_list {
  /* event (960x541) 3画像 + 3説明 */
  display: flex;
  justify-content: space-between;
  column-gap: 3%;
  width: 100%;
}
.page_about #experiences .ex_item .sp_list .sp_item,
.page_shibuya3 #experiences .ex_item .sp_list .sp_item {
  max-width: 260px;
  width: 30%;
}
.page_about #experiences .ex_item .sp_list .sp_item .img img,
.page_shibuya3 #experiences .ex_item .sp_list .sp_item .img img {
  display: block;
  max-width: 260px;
  width: 100%;
  height: 160px;
  object-fit: cover;
  margin-bottom: 20px;
}
.page_about #experiences .ex_item .sp_list .sp_item h4.ttl,
.page_shibuya3 #experiences .ex_item .sp_list .sp_item h4.ttl {
  /* Shippori 16px ls 0.80 */
  font-size: var(--font_16);
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-bottom: 12px;
}
.page_about #experiences .ex_item .sp_list .sp_item .txt,
.page_shibuya3 #experiences .ex_item .sp_list .sp_item .txt {
  font-size: var(--font_16);
  letter-spacing: 0.02em;
  line-height: 1.8;
}

/* -- community (about #community, shibuya3 #community) 共通
   Figma: about 1440x1555 / shibuya3 1440x1670
   shibuya3 はイレギュラーページなので .inner レイアウトと一部余白を override
---------------------------------------- */
.page_about #community,
.page_shibuya3 #community {
  padding-top: 180px;
  padding-bottom: 50px;
}
.page_about #community .inner,
.page_shibuya3 #community .inner {
  display: flex;
  flex-direction: column;
  gap: 70px;
}
.page_about #community .ttl_box,
.page_shibuya3 #community .ttl_box {
  /* Figma Frame 3367 (1204x591) VERTICAL gap 110
     子1: Frame 3366 (771, 左寄せ) = title + ja sub
     子2: Frame 3365 (1204) = 説明文 + データリスト */
  display: flex;
  flex-direction: column;
  gap: 110px;
  align-items: flex-start;
}
.page_about #community .ttl_box .main_ttl_area,
.page_shibuya3 #community .ttl_box .main_ttl_area {
  /* Figma Frame 3366 (771x147) VERTICAL gap 30
     children textAlign=LEFT */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.page_about #community .ttl_box .main_ttl_area .ttl img,
.page_shibuya3 #community .ttl_box .main_ttl_area .ttl img {
  /* Community Palatino 150px */
  display: block;
  width: 100%;
  max-width: 771px;
  height: auto;
}
.page_about #community .ttl_box .main_ttl_area .txt,
.page_shibuya3 #community .ttl_box .main_ttl_area .txt {
  /* Shippori 18px ls 0.90 lh 28.8 */
  font-size: var(--font_18);
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-top: -1.5em;
}
.page_about #community .ttl_box .txt_area,
.page_shibuya3 #community .ttl_box .txt_area {
  /* Figma Frame 3309 (1204x44) align=CENTER → 説明文だけ中央寄せ */
  width: 100%;
}
.page_about #community .ttl_box .txt_area .txt,
.page_shibuya3 #community .ttl_box .txt_area .txt {
  /* Shippori 16px ls 0.32 lh 32 */
  font-size: var(--font_16);
  letter-spacing: 0.02em;
  line-height: 2;
  text-align: center;
}
.page_about #community .community_data .data_list,
.page_shibuya3 #community .community_data .data_list {
  /* Frame 3157 HORIZONTAL gap 22 justify CENTER align CENTER
     中間幅で 4 つ並び切らなくなったら 2x2 に折り返し（楕円化を防ぐ） */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 22px;
}
.page_about #community .community_data .data_item,
.page_shibuya3 #community .community_data .data_item {
  /* Group 3277-3280 (240x240) 円形
     Figma 実測: タイトル top=52, 数字1行目 top=92, 2行目 top=148 (= +56)
     → 円top基準で absolute 配置
     幅は固定 240px のまま、wrap で折り返して常に正円を保つ */
  position: relative;
  width: 240px;
  height: 240px;
  flex-shrink: 0;
  border: 1px solid var(--color_line);
  border-radius: 50%;
}
.page_about #community .community_data .data_item h3.ttl,
.page_shibuya3 #community .community_data .data_item h3.ttl {
  /* Shippori 18px lh 25.2 #D9B462 / 円top から 52px */
  position: absolute;
  top: 52px;
  left: 0;
  right: 0;
  margin: 0;
  text-align: center;
  font-size: var(--font_18);
  line-height: 1.4;
  color: var(--color_gold);
}
.page_about #community .community_data .data_item .txt,
.page_shibuya3 #community .community_data .data_item .txt {
  /* 数字 52px / 単位 21px
     Figma: 1行版(85+) top=120 / 2行版(5/33) top=92 で
     どちらもブロック中心 y=139 (円中央+19px) で揃っている
     → 中心揃えで 1行/2行 共通実装 */
  position: absolute;
  top: calc(50% + 19px);
  left: 0;
  right: 0;
  margin: 0;
  transform: translateY(-50%);
  text-align: center;
  font-size: var(--font_52);
  line-height: 1.0769230769;
}
.page_about #community .community_data .data_item .txt span,
.page_shibuya3 #community .community_data .data_item .txt span {
  font-size: var(--font_21);
}
.page_about #community .world_map,
.page_shibuya3 #community .world_map {
  /* Figma Group 3276: 世界地図 + 地域ラベル + 国名（画像内に焼き込み） */
}
.page_about #community .world_map img,
.page_shibuya3 #community .world_map img {
  display: block;
  width: 100%;
  max-width: 1204px;
  height: auto;
  margin: 0 auto;
}
.page_about #community .world_list,
.page_shibuya3 #community .world_list {
  /* 画像内にテキスト全部入っているので視覚は非表示。SEO/SR用に保持 */
  display: none;
}

/* about のみ: .world_item の見た目スタイル（shibuya3 では world_list 自体が hidden） */
.page_about #community .world_item h3.ttl {
  /* Europe/Asia/... Palatino 40px #F8F8FF */
  font-family: var(--font_cormorant);
  font-size: var(--font_40);
  line-height: 0.8;
  margin-bottom: 14px;
}
.page_about #community .world_item h3.ttl span {
  display: block;
  font-size: var(--font_15);
  line-height: 1.5;
  margin-top: 4px;
}
.page_about #community .world_item ul {
  /* 国名リスト Shippori 15px lh 21 */
  font-size: var(--font_15);
  line-height: 1.4;
  margin-bottom: 24px;
}
.page_about #community .world_item ul li {
  display: block;
}

/* -- other_chapter (about 固有のオーバーライド)
   共通スタイルは .page_about #other_chapter, .page_chapter #other_chapter で定義済み
   about は 3 ボタンなので 2-1 段組み + section padding 微調整 */
.page_about #other_chapter {
  padding-top: 75px;
  padding-bottom: 75px;
}
.page_about #other_chapter .chapter_btn_list {
  flex-wrap: wrap;
  gap: 60px;
}
.page_about #other_chapter .chapter_btn_list li {
  flex: 0 0 450px;
}

/* ==========================================
 Shibuya3 LP 専用スコープ: .page_shibuya3
========================================== */
/* -- mv (shibuya3) (Figma: 1440x840, bg #434344)
---------------------------------------- */
.page_shibuya3 #mv {
  padding-top: 80px;
  overflow: hidden;
}
.page_shibuya3 #mv .inner {
  position: relative;
  max-width: var(--inner_width_l);
  width: 100%;
  margin: 0 auto;
  aspect-ratio: 1440/840;
  max-height: 840px;
}
.page_shibuya3 #mv .mv_img {
  position: absolute;
  right: -3%;
  top: 1.1904761905%;
  width: 78.6111111111%;
}
.page_shibuya3 #mv .mv_img img {
  display: block;
  width: 100%;
  max-height: 740px;
  height: auto;
  aspect-ratio: 1132/740;
  object-fit: cover;
}
.page_shibuya3 #mv .brand {
  /* CorporateConnections® Figma @(91,71) 640x42 */
  position: absolute;
  left: 6.3194444444%;
  top: 8.4523809524%;
  width: 44.4444444444%;
  max-width: 640px;
  z-index: 2;
}
.page_shibuya3 #mv .brand img {
  display: block;
  width: 100%;
  height: auto;
}
.page_shibuya3 #mv .logo_mark {
  position: absolute;
  right: 2%;
  top: 5%;
  width: 206px;
  max-width: 50%;
  z-index: 2;
}
.page_shibuya3 #mv .logo_mark img {
  display: block;
  width: 100%;
  height: auto;
}
.page_shibuya3 #mv .mv_txt_area .en_ttl {
  /* Tangerine "A world-class..." Figma @(1153,107) */
  position: absolute;
  left: 80.0694444444%;
  top: 12.7380952381%;
  width: 12.5%;
  max-width: 180px;
  z-index: 2;
}
.page_shibuya3 #mv .mv_txt_area .en_ttl img {
  display: block;
  width: 100%;
  max-width: 180px;
  height: auto;
}
.page_shibuya3 #mv .mv_txt_area .ttl {
  position: absolute;
  left: 6.8055555556%;
  top: 67.7380952381%;
  width: 27.9166666667%;
  min-width: 410px;
  font-size: var(--font_24);
  letter-spacing: 0.05em;
  line-height: 1.7;
  margin: 0;
}
.page_shibuya3 #mv .mv_txt_area .ttl::before {
  content: "";
  position: absolute;
  left: 0;
  top: -63px;
  width: 140px;
  height: 1px;
  background-color: var(--color_line);
}
.page_shibuya3 #mv .mv_txt_area .region {
  /* Tokyo Shibuya Region 大 Figma @(89,179) 1044x268 */
  position: absolute;
  left: 6.1805555556%;
  top: 21.3095238095%;
  width: 72.5%;
  z-index: 1;
}
.page_shibuya3 #mv .mv_txt_area .region img {
  display: block;
  width: 100%;
  height: auto;
}

/* -- about (shibuya3 固有) — 共通部は .page_about #about と統合済（上記参照）
   shibuya3 は MV に About タイトルが無いので .main_ttl_area で見出しを補う
---------------------------------------- */
.page_shibuya3 #about .main_ttl_area {
  /* Group 3290 (608x145) VERTICAL */
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 80px;
}
.page_shibuya3 #about .main_ttl_area .ttl img {
  /* About us Palatino 150px ls -4.50 lh 114 #D9B462 */
  display: block;
  width: 100%;
  max-width: 608px;
  height: auto;
}
.page_shibuya3 #about .main_ttl_area .txt {
  /* CC について Shippori 18px ls 0.90 lh 28.8 #F8F8FF */
  font-size: var(--font_18);
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.page_shibuya3 #about .about_main {
  background-image: url("../img/shibuya3_about_en_ttl.svg");
}

/* shibuya3 #value は about #value と完全共通化済み（.page_about #value, .page_shibuya3 #value を参照） */
/* -- experiences (shibuya3 固有のオーバーライド)
   共通スタイルは .page_about #experiences, .page_shibuya3 #experiences で定義済み
   shibuya3 は title セクションが Figma title (1178x580) で 480x580 写真+本文オーバーレイ構造
---------------------------------------- */
.page_shibuya3 #experiences .ttl_box {
  display: block;
  position: relative;
  width: 100%;
  min-height: 580px;
  margin-bottom: 140px;
}
.page_shibuya3 #experiences .ttl_box .ttl_img {
  /* Figma Group 42: 480x580 at offset (359, 0) within title 1178x580 */
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: 0;
  width: 480px;
  height: 100%;
}
.page_shibuya3 #experiences .ttl_box .ttl_img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page_shibuya3 #experiences .ttl_box .main_ttl_area {
  position: absolute;
  left: 0;
  top: 10px;
  z-index: 2;
}
.page_shibuya3 #experiences .ttl_box .txt_area {
  position: absolute;
  right: 0;
  bottom: 40px;
  width: 400px;
  z-index: 2;
}
.page_shibuya3 #experiences .ttl_box .txt_area .txt {
  font-size: var(--font_16);
  letter-spacing: 0.02em;
  line-height: 2;
}
.page_shibuya3 #experiences {
  /* .ex_item 以降は about と完全共通（共通定義 .page_about #experiences, .page_shibuya3 #experiences を参照）。
     shibuya3 固有の override は .ttl_box / .inner_ttl / .ttl_img / .main_ttl_area / .txt_area のみ。 */
}

/* shibuya3 #community は about #community と完全共通化済み（オーバーライド不要） */
/* shibuya3 #chapter_meeting は .page_chapter #chapter_meeting と完全共通化済み */
/* -- other (shibuya3) (Figma: 1440x2290)
   メンバーシップの利点 / 入会条件 / 入会までの流れ
---------------------------------------- */
.page_shibuya3 #other {
  padding-top: 100px;
  padding-bottom: 160px;
}
.page_shibuya3 #other .inner {
  max-width: 1080px;
  margin: 0 auto;
}
.page_shibuya3 #other .meet_list {
  display: flex;
  flex-direction: column;
  gap: 80px;
  max-width: 1080px;
  margin: 0 auto;
}
.page_shibuya3 #other .meet_item {
  /* VERTICAL gap 80 padding 0 70 align CENTER */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.page_shibuya3 #other .meet_item h3.ttl {
  /* 入会条件 / 利点 / 流れ Shippori w500 21px ls 1.05 lh 33.6 #D9B462 */
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: var(--font_21);
  font-weight: var(--font_medium);
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: var(--color_gold);
}
.page_shibuya3 #other .meet_item h3.ttl::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 48px;
  background-image: url(../img/logo_mark.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.page_shibuya3 #other .meet_item .meet_in {
  width: 100%;
  max-width: 960px;
  border-top: 1px solid var(--color_line);
  border-bottom: 1px solid var(--color_line);
  padding: 80px 0;
}
.page_shibuya3 #other .meet_item .meet_in .simple_list {
  display: flex;
  flex-direction: column;
  gap: 36px;
  padding: 0 12%;
}
.page_shibuya3 #other .meet_item .meet_in .simple_list li {
  position: relative;
  padding-left: 1em;
  font-size: var(--font_18);
  letter-spacing: 0.02em;
  line-height: 1.8;
}
.page_shibuya3 #other .meet_item .meet_in .simple_list li::before {
  /* gold dot を1行目の中央に揃える: 0.9em = lh/2 */
  position: absolute;
  top: 0.9em;
  left: 0;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: var(--color_gold);
  border-radius: 50%;
}
.page_shibuya3 #other .meet_item .meet_in .simple_list li span {
  color: var(--color_text_muted);
}
.page_shibuya3 #other .meet_item .meet_in .step_list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  counter-reset: li;
  padding: 0 12%;
}
.page_shibuya3 #other .meet_item .meet_in .step_list li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: var(--font_18);
  letter-spacing: 0.02em;
  line-height: 1.8;
}
.page_shibuya3 #other .meet_item .meet_in .step_list li span {
  font-size: 80%;
  color: var(--color_gray);
  margin-left: -30px;
}
.page_shibuya3 #other .meet_item .meet_in .step_list li::before {
  color: var(--color_gold);
  font-size: var(--font_18);
  letter-spacing: 0.05em;
  counter-increment: li;
  content: "STEP 0" counter(li);
  flex-shrink: 0;
}
.page_shibuya3 #other .meet_item .meet_in .step_list li:not(:last-child)::after {
  /* Figma: Vector 15 (50x10) chevron-down, stroke 1px #696969 */
  position: absolute;
  bottom: -22px;
  left: 12px;
  content: "";
  display: block;
  width: 50px;
  height: 10px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 10' fill='none' stroke='%23696969' stroke-width='1'><polyline points='0,0 25,10 50,0'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* ----------------------------------------
 - pan（パンくず）  (Figma: padding 120 90 26 90, Palatino 13px)
---------------------------------------- */
.pan {
  padding: 120px 90px 26px;
}
.pan ul {
  /* Figma: Frame 2, HORIZONTAL, gap 10, align CENTER
     セパレーターは VECTOR (20x0) = 横棒線 */
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font_cormorant);
  font-size: var(--font_13);
  letter-spacing: 0.01em; /* 0.13/13 */
  line-height: 1.4;
}
.pan ul li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--color_line); /* #696969 */
}
.pan ul li:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 1px;
  background-color: var(--color_line);
}
.pan ul li:last-child {
  color: var(--color_text_muted); /* #B0B0B0 */
}
.pan ul li a {
  color: var(--color_line);
}
.pan ul li a:hover {
  color: var(--color_gold);
}

/* ----------------------------------------
 - img_sec（写真セクション）
---------------------------------------- */
.img_sec {
  position: relative;
}
.img_sec .img_list {
  display: flex;
}
.img_sec .img_list .img_item {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1440/300;
}
.img_sec .img_list .img_item + .img_item {
  margin-left: 0;
}
.img_sec {
  /* 2枚並び */
}
.img_sec .img_list:has(.img_item + .img_item) .img_item {
  width: 50%;
}
.img_sec .mission img {
  width: 100%;
  max-width: 1100px;
  height: auto;
}

/* ----- #photo01 (PC) page_top / page_shibuya3 共通基本（現状は完全同一、後で .page_top 側を独自スタイルに変更予定） ----- */
.page_top #photo01 {
  padding-top: 100px;
}
.page_top #photo01 .img_list {
  width: 100%;
  height: 300px;
}
.page_top #photo01 .img_list:has(.img_item + .img_item) .img_item {
  width: 50%;
  height: 300px;
  aspect-ratio: auto;
}
.page_top #photo01 .mission {
  /* Figma 1440 基準: left=62, width=1316 → % で配置 */
  position: absolute;
  right: 4.3055555556%;
  top: 60px;
  max-width: 246px;
  z-index: 2;
}
.page_top #photo01 .mission img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
}

.page_shibuya3 #photo01 {
  /* Figma photo (1440x640, bg #434344):
     - mission text: @(62,76) 1316x270, Cormorant Unicase 140px ls -4.2 lh 91 #4d4d4f
     - img_list: @(0,228) 1440x300、左右720x300 の写真 + #585859 60% multiply overlay
     - text は写真より前面 */
  min-height: 640px;
  background-color: var(--color_dark);
  padding: 0;
}
.page_shibuya3 #photo01 .img_list {
  position: absolute;
  left: 0;
  top: 228px;
  width: 100%;
  height: 300px;
}
.page_shibuya3 #photo01 .img_list::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(88, 88, 89, 0.6); /* #585859 60% */
  mix-blend-mode: multiply;
  pointer-events: none;
}
.page_shibuya3 #photo01 .img_list:has(.img_item + .img_item) .img_item {
  width: 50%;
  height: 300px;
  aspect-ratio: auto;
}
.page_shibuya3 #photo01 .mission {
  /* Figma 1440 基準: left=62, width=1316 → % で配置 */
  position: absolute;
  left: 4.3055555556%;
  top: 76px;
  width: 91.3888888889%;
  max-width: 1316px;
  z-index: 2;
}
.page_shibuya3 #photo01 .mission img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
}

/* ----------------------------------------
 - header  (Figma: 1440x80, bg #434344)
---------------------------------------- */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: var(--color_dark);
  border-bottom: 1px solid var(--color_line);
}
#header .inner {
  height: 80px;
  width: 100%;
  max-width: var(--inner_width_out);
  margin: 0 auto;
  padding: 0 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#header .logo_area {
  display: flex;
  align-items: center;
  gap: 20px;
}
#header .logo_area .logo a {
  display: block;
}
#header .logo_area .logo img {
  width: 159px;
  height: auto;
}
#header .logo_area .region {
  /* Figma: Palatino 400 20px, letter-spacing 0.40, line-height 22px, #F8F8FF */
  font-family: var(--font_cormorant);
  font-size: var(--font_20);
  letter-spacing: 0.02em; /* 0.40/20 = 0.02 */
  line-height: 1.1; /* 1.1 */
}
#header .head_nav .nav_list {
  /* Figma: Frame 1, HORIZONTAL, gap 32, align CENTER */
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 32px;
}
#header .head_nav .nav_list .nav_item a {
  display: inline-flex;
  align-items: center;
  gap: 8px; /* Frame 3370 の gap */
  /* Figma: Palatino 400 18px, letter-spacing 0.72, line-height 21.6px, #FFFFFF */
  font-family: var(--font_cormorant);
  font-size: var(--font_18);
  letter-spacing: 0.04em; /* 0.72/18 = 0.04 */
  line-height: 1.2; /* 1.2 */
  color: #FFFFFF;
  transition: color 0.3s ease;
}
#header .head_nav .nav_list .nav_item a:hover {
  color: var(--color_gold);
}
#header .head_nav .nav_list .nav_item .dot {
  display: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color_gold);
  flex-shrink: 0;
}
#header .head_nav .nav_list .nav_item.is_current a {
  color: var(--color_gold);
}
#header .head_nav .nav_list .nav_item.is_current .dot {
  display: inline-block;
}
#header {
  /* SP 用要素は PC では非表示 */
}
#header .nav_toggle,
#header .nav_brand {
  display: none;
}
#header {
  /* -- SP / タブレット (Figma 1035:1142 CC_メニュー_SP / 375x667。バーガーメニューはタブレットまで表示) -- */
}
@media (max-width: 1024px) {
  #header .inner {
    height: 60px;
    padding: 0 24px;
  }
  #header .logo_area {
    gap: 10px;
  }
  #header .logo_area .logo img {
    width: 100px;
  }
  #header .logo_area .region {
    font-size: var(--font_14);
  }
  #header .nav_toggle {
    /* ハンバーガー (3 本線) */
    display: block;
    position: relative;
    width: 28px;
    height: 12px;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    z-index: 102;
  }
  #header .nav_toggle span {
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color_white);
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  #header .nav_toggle span:nth-child(1) {
    top: 0;
  }
  #header .nav_toggle span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  #header .nav_toggle span:nth-child(3) {
    bottom: 0;
  }
  #header .nav_toggle[aria-expanded=true] span {
    /* メニュー開いた時：3本線→×（中央に集約して45度回転） */
  }
  #header .nav_toggle[aria-expanded=true] span:nth-child(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  #header .nav_toggle[aria-expanded=true] span:nth-child(2) {
    opacity: 0;
  }
  #header .nav_toggle[aria-expanded=true] span:nth-child(3) {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%) rotate(-45deg);
  }
  #header .head_nav {
    /* 全画面オーバーレイメニュー */
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 375px;
    height: 100vh;
    height: 100dvh;
    background-color: var(--color_dark);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    padding: 0;
    overflow-y: auto;
    z-index: 101;
  }
  #header .head_nav.is_open {
    transform: translateX(0);
  }
  #header .nav_brand {
    /* Figma: CC ロゴ + Tokyo Shibuya Region (fs 18 Palatino) */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 180px 39px 0;
  }
  #header .nav_brand .nav_logo {
    margin: 0;
  }
  #header .nav_brand .nav_logo a {
    display: block;
  }
  #header .nav_brand .nav_logo img {
    display: block;
    width: 200px;
    height: auto;
  }
  #header .nav_brand .nav_region {
    margin: 0;
    font-family: var(--font_cormorant);
    font-size: var(--font_18);
    letter-spacing: 0.02em;
    line-height: 1.2222222222;
    color: var(--color_white);
  }
  #header .head_nav .nav_list {
    /* Figma: Home/Tokyo 4/Tokyo 6/Tokyo Shibuya 3/About CC, Palatino 20px, gap 46px(line top to top) */
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 26px;
    padding: 80px 40px 40px;
  }
  #header .head_nav .nav_list .nav_item a {
    font-size: var(--font_20);
    line-height: 1.1;
    letter-spacing: 0.02em;
    gap: 8px;
  }
  #header .head_nav .nav_list .nav_item .dot {
    /* SP でも is_current のみ表示 */
  }
}

/* バーガーメニュー オーバーレイ本体（#header のスコープ外で定義してstacking context問題と詳細度負けを回避） */
.nav_overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 99;
}

/* バーガーメニュー オーバーレイ表示制御（body のクラスで切替、#header のスコープ外で定義） */
body.is-nav-open .nav_overlay {
  opacity: 1;
  pointer-events: auto;
}

/* メニュー展開時：ヘッダーの帯（背景・ボーダー）とロゴを透明化して、ハンバーガー×だけが残るように */
body.is-nav-open #header {
  background-color: transparent;
  border-bottom-color: transparent;
  transition: background-color 0.3s ease, border-bottom-color 0.3s ease;
}

body.is-nav-open #header .logo_area {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* SP メニュー展開中の body スクロール抑止 */
body.is-nav-open {
  overflow: hidden;
}

/* ----------------------------------------
 - foot_photo（フッター直前の写真帯）
---------------------------------------- */
#foot_photo {
  padding-top: 100px;
}
#foot_photo {
  /* foot_photo のみ：ミッション文を画像にoverlay中央配置 */
}
#foot_photo .mission {
  position: absolute;
  top: 60px;
  right: 5%;
}
#foot_photo .mission img {
  max-width: 960px;
}

/* ----------------------------------------
 - footer  (Figma: 1440x369, bg #333335, padding 50 60 50 60, VERTICAL gap 100)
---------------------------------------- */
#footer {
  padding: var(--inner_padding);
  padding-top: 50px;
  padding-bottom: 50px;
  background-color: var(--color_dark_footer);
}
#footer .inner {
  width: 100%;
  max-width: var(--inner_width_out);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 100px;
}
#footer .foot_main {
  /* Figma: Frame 3328, HORIZONTAL, gap 100, align MAX(end)
     .foot_left (logo+nav) と .foot_right (official_link) を左右に振り分け */
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(20px, 3vw, 60px);
  flex-wrap: wrap;
}
#footer .foot_left {
  /* logo_area + nav_main を横並び、旧 .foot_main の gap を継承 */
  display: flex;
  align-items: flex-end;
  gap: clamp(30px, 4vw, 100px);
  flex-wrap: wrap;
}
#footer .foot_right {
  display: flex;
  align-items: flex-end;
}
#footer .logo_area {
  /* Figma: logo, VERTICAL, gap 28, width 270 */
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 270px;
  flex-shrink: 0;
}
#footer .logo_area .logo a {
  display: block;
}
#footer .logo_area .logo img {
  width: 270px;
  height: auto;
}
#footer .logo_area .region {
  /* Figma: Frame 3307 HORIZONTAL, gap 10, padding-left 6, center */
  /* TEXT Palatino 400 24px, line-height 26.4px, #F8F8FF */
  font-family: var(--font_cormorant);
  font-size: var(--font_24);
  line-height: 1.1; /* 1.1 */
  text-align: center;
  padding-left: 6px;
}
#footer .nav_main {
  /* Figma: Frame 3323, HORIZONTAL, gap 70 */
  display: flex;
  gap: 70px;
}
#footer .nav_main .nav_col {
  /* Figma: Frame 3322/3321, VERTICAL, gap 30 */
  display: flex;
  flex-direction: column;
  gap: 30px;
}
#footer .nav_main .nav_col li {
  /* Palatino 400 18px / ls 0.72 / lh 21.6 / #FFFFFF */
  font-family: var(--font_cormorant);
  font-size: var(--font_18);
  letter-spacing: 0.04em;
  line-height: 1.2;
}
#footer .nav_main .nav_col a {
  color: #FFFFFF;
}
#footer .nav_main .nav_col a:hover {
  color: var(--color_gold);
}
#footer .nav_main .nav_col:nth-child(2) {
  /* Frame 3321 は justify=CENTER (縦に中央揃え) */
  justify-content: center;
}
#footer .nav_util {
  /* Figma: Frame 3320, VERTICAL, gap 20, justify CENTER, align MAX */
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-end;
}
#footer .nav_util li {
  /* Shippori Mincho 400 14px / lh 14 / #B0B0B0 */
  font-size: var(--font_14);
  line-height: 1;
  color: var(--color_text_muted);
}
#footer .nav_util a {
  color: var(--color_text_muted);
}
#footer .nav_util a:hover {
  color: var(--color_gold);
}
#footer .official_link {
  /* Figma: Frame 3194, HORIZONTAL, gap 4, align CENTER */
  /* TEXT Shippori Mincho 400 15px / lh 24 / #F8F8FF */
  font-size: var(--font_15);
  line-height: 1.6; /* 1.6 */
}
#footer .official_link a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
#footer .official_link a:hover {
  color: var(--color_gold);
}
#footer .official_link a:hover .icon {
  opacity: 0.8;
}
#footer .official_link a .icon {
  display: inline-block;
  width: 12px;
  height: 12px;
  background-image: url(../img/icon_outlink.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
#footer .foot_bottom {
  /* Figma: Frame 3325, HORIZONTAL, SPACE_BETWEEN, align MAX(end) */
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#footer .copy {
  /* Palatino 400 14px / ls 0.42 / lh 22.4 / #9C9C9C */
  font-family: var(--font_cormorant);
  font-size: var(--font_14);
  letter-spacing: 0.03em; /* 0.42/14 = 0.03 */
  line-height: 1.6; /* 1.6 */
  color: var(--color_gray);
}
#footer .pagetop a {
  display: inline-block;
  transition: opacity 0.3s ease;
}
#footer .pagetop a:hover {
  opacity: 0.7;
}
#footer .pagetop a img {
  width: 51px;
  height: auto;
}

/* ==========================================
 SP (Figma 1081:1093 CC_TOP_SP_260424 / 375 wide)
 - 各セクションの実測値で構築
========================================== */
/* ==========================================
 タブレット〜（max-width: 1024px）上書きスタイル
========================================== */
@media (max-width: 1024px) {
  /* -- .page_top #about -- */
  .page_top #about .main_ttl_area {
    gap: 40px;
  }
  .page_top #about .about_main {
    flex-direction: column;
    gap: 30px;
  }
  .page_top #about .about_main .txt_area {
    max-width: 767px;
    width: 100%;
  }
  /* -- .page_top #chapter -- */
  .page_top #chapter .chapter_list .chapter_item {
    padding: 70px 5%;
  }
  .page_chapter #chapter_meeting .chapter_meeting_main,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main {
    flex-direction: column;
  }
  .page_chapter #chapter_meeting .chapter_meeting_main .txt_area,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area {
    width: 100%;
    max-width: 100%;
  }
  .page_chapter #chapter_meeting .chapter_meeting_main .img_area .img img,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main .img_area .img img {
    margin-left: 0;
  }
  .page_about #experiences .ex_item:first-child,
  .page_shibuya3 #experiences .ex_item:first-child {
    flex-direction: column;
  }
  /* ----- #footer (375x605) ----- */
  #footer {
    padding-top: 40px;
    padding-bottom: 30px;
  }
  #footer .inner {
    gap: 50px;
  }
  #footer .foot_main {
    flex-direction: column;
    align-items: stretch;
    gap: 30px;
  }
  #footer .foot_left {
    /* SPでは縦並び、logo→nav の距離を旧 .foot_main の gap (72px) に合わせる */
    flex-direction: column;
    align-items: stretch;
    gap: 60px;
  }
  #footer .foot_right {
    /* 旧 .nav_sub の border-top + padding-top を引き継ぐ */
    display: block;
    padding-top: 40px;
    border-top: 1px solid var(--color_line);
  }
  #footer .logo_area {
    width: auto;
    gap: 16px;
    align-items: flex-start;
  }
  #footer .logo_area .logo img {
    width: 207px;
  }
  #footer .logo_area .region {
    font-family: var(--font_cormorant);
    font-size: var(--font_18);
    line-height: 1.1;
    text-align: left;
    padding-left: 6px;
  }
  #footer .nav_main {
    gap: 70px;
  }
  #footer .nav_main .nav_col {
    gap: 30px;
  }
  #footer .nav_main .nav_col li {
    font-size: var(--font_18);
    line-height: 1.2;
  }
  #footer .nav_main .nav_col:nth-child(2) {
    justify-content: flex-start;
  }
  #footer .nav_util {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 30px;
  }
  #footer .nav_util li {
    font-size: var(--font_13);
    line-height: 1;
  }
  #footer .official_link {
    font-size: var(--font_14);
    line-height: 1.6;
  }
  #footer .official_link a {
    gap: 4px;
  }
  #footer .foot_bottom {
    align-items: flex-end;
  }
  #footer .foot_bottom .copy {
    font-size: var(--font_13);
    line-height: 1.6;
  }
  #footer .foot_bottom .pagetop a img {
    width: 39px;
  }
}
@media (max-width: 768px) {
  /* ----- TOP / #mv (top, 375x707) ----- */
  .page_top #mv {
    min-height: 0;
    padding: 100px 0 100px;
    border-bottom: 1px solid var(--color_line);
    display: flex;
    flex-direction: column;
    position: relative;
  }
  .page_top #mv .inner {
    order: 3;
    display: block;
    padding: 0 60px 0 0;
    position: relative;
  }
  .page_top #mv {
    /* mv_brand を最上に：CorporateConnections + Tokyo Shibuya Region（大） */
  }
  .page_top #mv .mv_brand {
    left: 0;
    order: 1;
    position: relative;
    z-index: 2;
    transform: none;
    width: auto;
    max-width: none;
    margin: 0 30px;
    padding: 0;
    gap: 24px;
    pointer-events: auto;
    display: flex;
    flex-direction: column;
  }
  .page_top #mv .mv_brand .name img {
    width: auto;
    max-width: 280px;
    height: auto;
  }
  .page_top #mv .mv_brand .region {
    width: 100%;
    margin: 0;
  }
  .page_top #mv .mv_brand .region img {
    /* SP用 SVG: 3行縦組み Tokyo / Shibuya / Region */
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  .page_top #mv {
    /* 写真：Tokyo Shibuya Region に重なる位置 */
  }
  .page_top #mv .mv_img {
    order: 2;
    max-width: none;
    width: 100%;
    margin: -170px 0 0;
    position: relative;
    z-index: 1;
  }
  .page_top #mv .mv_img img {
    width: 100%;
    height: 420px;
    object-fit: cover;
  }
  .page_top #mv {
    /* chapter_list + mission: 写真の右下に絶対配置で重ねる */
  }
  .page_top #mv .mv_content {
    position: absolute;
    right: 30px;
    bottom: -45px;
    z-index: 3;
    width: auto;
    margin: 0;
    padding: 0;
    gap: 24px;
    width: 150px;
  }
  .page_top #mv .mv_content::after {
    width: 25px;
    height: 55px;
    background-size: contain;
    top: -15px;
    right: -15px;
  }
  .page_top #mv .chapter_list {
    gap: 24px;
  }
  .page_top #mv .chapter_item a {
    gap: 8px;
    padding: 0;
  }
  .page_top #mv .chapter_item .name img {
    width: auto;
    height: 17px;
  }
  .page_top #mv .chapter_item .line {
    width: 100%;
  }
  .page_top #mv {
    /* mission: 写真の下、右寄せ */
  }
  .page_top #mv .mv_mission {
    max-width: 280px;
  }
  .page_top #mv .mv_mission img {
    width: 100%;
    height: auto;
  }
  /* ----- #about (about, 375x1189) ----- */
  .page_top #about {
    padding-top: 60px;
    padding-bottom: 90px;
  }
  .page_top #about .inner {
    padding: 0;
    gap: 50px;
  }
  .page_top #about .main_ttl_area {
    width: 100%;
    max-width: none;
    gap: 30px;
    margin-bottom: -200px;
  }
  .page_top #about .main_ttl_area .en_ttl img {
    height: 40px;
    max-width: 92px;
  }
  .page_top #about .main_ttl_area .ttl img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  .page_top #about .main_ttl_area .txt {
    margin-top: 0;
  }
  .page_top #about .main_ttl_area .txt img {
    width: 100%;
    max-width: 138px;
    height: auto;
  }
  .page_top #about .about_main {
    flex-direction: column;
    align-items: stretch;
    gap: 30px;
  }
  .page_top #about .about_main .img {
    max-width: none;
    margin-left: -8%;
    width: 108%;
  }
  .page_top #about .about_main .img img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    object-position: center;
  }
  .page_top #about .about_main .txt_area {
    max-width: none;
    gap: 20px;
  }
  .page_top #about .about_main .txt_area .ttl {
    font-size: var(--font_18);
    font-weight: var(--font_semibold);
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .page_top #about .about_main .txt_area .txt {
    font-size: var(--font_15);
    line-height: 1.8;
  }
  .page_top #about .btn_line {
    margin-top: 0;
    padding: 0 20px;
  }
  .page_top #about .btn_line a {
    gap: 20px;
    padding: 20px 0;
  }
  .page_top #about .btn_line a .txt {
    font-size: var(--font_16);
    line-height: 1.6;
  }
  /* ----- #vision (merit, 374x608) ----- */
  .page_top #vision {
    /* Figma: merit frame 374x608 pad t70 b80 l29 r29 / VERTICAL gap 60
       - Frame 3198 (logo + Our Vision) gap 15
       - main ttl Palatino 56px lh 50.4 ls -1.12 (5 lines)
       - Frame 3202 (txt + sub-txt) gap 32 */
    padding: 70px 29px 80px;
  }
  .page_top #vision .inner {
    gap: 50px;
    align-items: stretch;
  }
  .page_top #vision .main_ttl_area {
    max-width: none;
    gap: 30px;
  }
  .page_top #vision .main_ttl_area .en_ttl img {
    height: 40px;
    max-width: 136px;
  }
  .page_top #vision .main_ttl_area .ttl img {
    width: 100%;
    max-width: 316px;
    height: auto;
  }
  .page_top #vision .txt_area {
    max-width: none;
    gap: 20px;
    align-items: flex-start;
  }
  .page_top #vision .txt_area .ttl {
    font-size: var(--font_21);
    font-weight: var(--font_semibold);
  }
  .page_top #vision .txt_area .txt {
    font-size: var(--font_15);
    line-height: 1.8;
  }
  /* ----- #photo01 (photo, 375x336) page_top / page_shibuya3 ----- */
  .page_top #photo01 {
    min-height: 336px;
    background-color: var(--color_dark);
    padding: 0;
  }
  .page_top #photo01 .img_list {
    position: absolute;
    top: 56px;
    left: 0;
    width: 100%;
    height: 280px;
    flex-direction: column;
  }
  .page_top #photo01 .img_list:has(.img_item + .img_item) .img_item {
    width: 100%;
    height: 140px;
    aspect-ratio: auto;
  }
  .page_top #photo01 .mission {
    position: absolute;
    top: 18px;
    left: auto;
    right: 17px;
    width: 152px;
    max-width: none;
  }
  .page_top #photo01 .mission img {
    width: 100%;
    height: auto;
  }
  .page_shibuya3 #photo01 {
    min-height: 250px;
    background-color: var(--color_dark);
    padding: 0;
  }
  .page_shibuya3 #photo01 .img_list {
    position: absolute;
    top: 56px;
    left: 0;
    width: 100%;
    height: 200px;
    flex-direction: row;
  }
  .page_shibuya3 #photo01 .img_list:has(.img_item + .img_item) .img_item {
    width: 50%;
    height: 200px;
    aspect-ratio: auto;
  }
  .page_shibuya3 #photo01 .mission {
    position: absolute;
    top: 18px;
    left: auto;
    right: 17px;
    width: 152px;
    max-width: none;
  }
  .page_shibuya3 #photo01 .mission img {
    width: 100%;
    height: auto;
    max-width: 152px;
  }
  /* ----- #feature (experiences2 = Values, 375x2001) ----- */
  .page_top #feature {
    padding-top: 80px;
    padding-bottom: 100px;
    border-bottom: 1px solid var(--color_line);
  }
  .page_top #feature .inner {
    gap: 60px;
  }
  .page_top #feature .main_ttl_area {
    gap: 24px;
  }
  .page_top #feature .main_ttl_area .ttl img {
    width: auto;
    max-width: 223px;
    height: 53px;
  }
  .page_top #feature .main_ttl_area .txt {
    font-size: var(--font_15);
    line-height: 1.6;
    letter-spacing: 0.05em;
    margin-top: 0;
  }
  .page_top #feature .feature_list {
    gap: 70px;
    max-width: none;
  }
  .page_top #feature .feature_item {
    flex-direction: column;
    gap: 40px;
    align-items: stretch;
  }
  .page_top #feature .feature_item.is_left {
    flex-direction: column;
  }
  .page_top #feature .feature_item .img {
    width: 100%;
    max-width: 100%;
  }
  .page_top #feature .feature_item .img img {
    width: 100%;
    height: 210px;
    min-height: 0;
    object-fit: cover;
  }
  .page_top #feature .feature_item .txt_area {
    width: 100%;
    max-width: 100%;
    gap: 30px;
  }
  .page_top #feature .feature_item .txt_area .ttl_area {
    gap: 15px;
    max-width: none;
  }
  .page_top #feature .feature_item .txt_area .ttl_area .ttl {
    font-size: var(--font_18);
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  .page_top #feature .feature_item .txt_area .ttl_area .sub_ttl {
    font-size: var(--font_11);
    line-height: 1.6;
    letter-spacing: 0.04em;
  }
  .page_top #feature .feature_item .txt_area .txt {
    padding-left: 30px;
    font-size: var(--font_15);
    line-height: 1.8;
    letter-spacing: 0.02em;
  }
  /* ----- #message (experiences3, 375x1212) ----- */
  .page_top #message {
    padding-top: 90px;
    padding-bottom: 90px;
    border-bottom: 1px solid var(--color_line);
  }
  .page_top #message .inner {
    gap: 36px;
  }
  .page_top #message .main_ttl_area {
    width: 100%;
    max-width: none;
    gap: 15px;
  }
  .page_top #message .main_ttl_area .ttl img {
    width: auto;
    max-width: 285px;
  }
  .page_top #message .main_ttl_area .txt {
    font-size: var(--font_15);
    line-height: 1.6;
    letter-spacing: 0.05em;
    margin-top: 0;
  }
  .page_top #message .message_box {
    max-width: none;
    width: 100%;
    margin: 0;
    margin-top: -100px;
    flex-direction: column;
    align-items: center;
    gap: 36px;
  }
  .page_top #message .message_box .img {
    position: static;
    width: 100%;
  }
  .page_top #message .message_box .img img {
    width: 85%;
    margin-left: 15%;
    height: 314px;
    object-fit: cover;
  }
  .page_top #message .message_box .txt_area {
    width: 100%;
    gap: 30px;
    margin-top: -85px;
  }
  .page_top #message .message_box .txt_area .ttl {
    font-size: var(--font_18);
    font-weight: var(--font_semibold);
    line-height: 1.8;
    letter-spacing: 0;
  }
  .page_top #message .message_box .txt_area .txt {
    font-size: var(--font_15);
    line-height: 1.8;
    letter-spacing: 0;
  }
  .page_top #message .message_box .txt_area .name {
    font-size: var(--font_16);
    line-height: 1.8;
    letter-spacing: 0.05em;
    text-align: right;
  }
  /* ----- #chapter (community, 375x2280) ----- */
  .page_top #chapter {
    padding-top: 90px;
    padding-bottom: 90px;
  }
  .page_top #chapter .chapter_intro {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    padding-bottom: 70px;
    border-bottom: none;
  }
  .page_top #chapter .chapter_intro .main_ttl_area {
    width: 100%;
    max-width: none;
  }
  .page_top #chapter .chapter_intro .main_ttl_area .ttl img {
    width: auto;
    max-width: 100%;
    height: auto;
  }
  .page_top #chapter .chapter_intro .main_ttl_area .txt {
    padding-left: 38px; /* Frame 3313 pad-left 76 → SP 38 */
    font-size: var(--font_15);
    line-height: 1.6;
    letter-spacing: 0.05em;
    margin-top: 0;
  }
  .page_top #chapter .chapter_intro .lead {
    max-width: none;
    font-size: var(--font_15);
    line-height: 1.8;
  }
  .page_top #chapter .chapter_list {
    gap: 80px;
  }
  .page_top #chapter .chapter_list .chapter_item {
    flex-direction: column;
    gap: 36px;
    padding: 0;
    border-bottom: 0;
  }
  .page_top #chapter .chapter_list .chapter_item .img_area {
    order: 1;
    width: 100%;
  }
  .page_top #chapter .chapter_list .chapter_item .img_area .main_img img {
    width: 100%;
    height: 192px;
    object-fit: cover;
  }
  .page_top #chapter .chapter_list .chapter_item .txt_area {
    order: 2;
    width: 100%;
    padding-top: 0;
    gap: 0;
    align-items: center;
  }
  .page_top #chapter .chapter_list .chapter_item .txt_area .brand img {
    max-width: 243px;
    height: auto;
  }
  .page_top #chapter .chapter_list .chapter_item .txt_area .name img {
    max-width: 278px;
    height: auto;
  }
  .page_top #chapter .chapter_list .chapter_item .txt_area .btn_line {
    margin-top: 20px;
  }
  .page_top #chapter .chapter_list .chapter_item .txt_area .btn_line a {
    gap: 26px;
  }
  .page_top #chapter .chapter_list .chapter_item .txt_area .btn_line a .txt {
    font-size: var(--font_15);
    line-height: 1.6;
    letter-spacing: 0.04em;
  }
  /* ----- foot_photo (footer photo, 375x250) ----- */
  #foot_photo .img_list .img_item {
    aspect-ratio: 375/200;
  }
  #foot_photo .mission img {
    width: auto;
    max-width: 152px;
    height: auto;
  }
  /* ==========================================
   SP: .page_chapter (tokyo4 / tokyo6)
   Figma 1085:2808 (tokyo4) / 1085:3306 (tokyo6) / 375 wide
  ========================================== */
  /* ----- pan (パンくず) ----- */
  .pan {
    padding: 80px 30px 0;
  }
  .pan .inner {
    max-width: none;
    padding: 0;
  }
  .pan ul {
    gap: 8px;
    font-size: var(--font_13);
  }
  /* ----- chapter MV (top, 375x420) -----
     Figma: top frame 375x420
     - Frame 3379 (見出し): @(29,117) 317x137 VERTICAL gap 12
       - Frame 3195 (brand 258x17): "CorporateConnections" Palatino 24px
       - Group 3319 (name 278x108): "Tokyo 4" Palatino 80/108px
     - Rectangle 1 (写真): @(0,209) 375x160
     - Group 17 (mission text): @(182,331) 164x56 Tangerine 13px
     タイトルと写真は overlap (タイトル下端 y=254、写真上端 y=209) */
  .page_chapter #mv {
    position: relative;
    padding: 117px 0 50px;
    overflow: hidden;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }
  .page_chapter #mv .inner {
    order: 2;
    max-width: none;
    padding: 0;
    margin: -45px 0 0; /* 写真をタイトル下に重ねる: 254-209=45px overlap */
    min-height: 0;
    display: block;
  }
  .page_chapter #mv .txt_area {
    order: 1;
    justify-self: stretch;
    padding: 0 29px;
  }
  .page_chapter #mv .txt_area .brand img {
    /* SVG 366x34 → 258 wide で h≈24 */
    display: block;
    width: 100%;
    max-width: 258px;
    height: auto;
    margin-bottom: 12px;
  }
  .page_chapter #mv .txt_area .name img {
    /* SVG 476x183 → 278 wide で h≈107 */
    display: block;
    width: 100%;
    max-width: 278px;
    height: auto;
    margin-top: 0;
  }
  .page_chapter #mv .img_area {
    justify-self: stretch;
    width: 100%;
    margin: 0;
  }
  .page_chapter #mv .img_area img {
    width: 100%;
    height: 160px;
    object-fit: cover;
  }
  .page_chapter #mv .mission {
    /* Group 17 @(182,331) 164x56: 写真の右下に重ね */
    position: absolute;
    right: 29px;
    bottom: 30px;
    text-align: right;
    padding: 0;
    z-index: 2;
  }
  .page_chapter #mv .mission img {
    max-width: 164px;
    height: auto;
  }
  /* ----- chapter #about (375x1105) -----
     Figma: about pad t40 b90 l30 r30, Frame 3398 VERTICAL gap 50
     - About 見出し
     - 日本語サブタイトル (Shippori 600 18px)
     - 本文 (Shippori 400 15px lh 27)
     - 画像 */
  .page_chapter #about {
    padding-top: 40px;
    padding-bottom: 90px;
  }
  .page_chapter #about .inner {
    max-width: none;
    gap: 40px;
  }
  .page_chapter #about .main_ttl_area .ttl img {
    height: 40px;
    max-width: 92px;
  }
  .page_chapter #about .about_main {
    flex-direction: column;
    gap: 40px;
    align-items: stretch;
  }
  .page_chapter #about .about_main .txt_area {
    width: 100%;
    gap: 25px;
  }
  .page_chapter #about .about_main .txt_area .ttl {
    font-size: var(--font_18);
    font-weight: var(--font_semibold);
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .page_chapter #about .about_main .txt_area .txt {
    font-size: var(--font_15);
    letter-spacing: 0;
    line-height: 1.8;
  }
  .page_chapter #about .about_main .img_area {
    flex-shrink: 1;
    width: 100%;
    padding: 0 10%;
  }
  .page_chapter #about .about_main .img_area .img img {
    width: 100%;
    height: 320px;
  }
  /* ----- chapter #member (experiences2, 375x2081) -----
     Figma: pad t90 b90 l30 r30, Frame 3387 VERTICAL gap 60
     2列グリッド: 各メンバー 153x250 (写真 + テキスト) */
  .page_chapter #member {
    padding-top: 90px;
    padding-bottom: 90px;
  }
  .page_chapter #member .inner {
    gap: 60px;
  }
  .page_chapter #member .main_ttl_area {
    gap: 24px;
  }
  .page_chapter #member .main_ttl_area .ttl img {
    width: auto;
    max-width: 280px;
    height: 53px;
  }
  .page_chapter #member .main_ttl_area .txt {
    font-size: var(--font_15);
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  .page_chapter #member .member_list {
    grid-template-columns: 1fr 1fr;
    column-gap: 16px;
    row-gap: 36px;
    padding: 0;
  }
  .page_chapter #member .member_item {
    width: 100%;
    gap: 12px;
  }
  .page_chapter #member .member_item .img img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
  .page_chapter #member .member_item .txt_area {
    gap: 6px;
  }
  .page_chapter #member .member_item .name {
    font-size: var(--font_15);
    line-height: 1.6;
  }
  .page_chapter #member .member_item .company {
    font-size: var(--font_13);
    line-height: 1.6;
  }
  .page_chapter #member .member_item .company .icon {
    width: 11px;
    height: 11px;
  }
  .page_chapter #member .member_item .company .icon img {
    width: 11px;
    height: 11px;
  }
  .page_chapter #member .member_item .role {
    font-size: var(--font_12);
    line-height: 1.6;
  }
  .page_chapter #member .member_item .role::before {
    margin-right: 8px;
  }
  /* ----- chapter #chapter_meeting (chapter, 375x952) -----
     Figma: pad t90 b40 / Group 3320 タイトル+写真 + Frame 3179 表+本文
     - Chapter Meeting Palatino 76px (2 lines)
     - 写真 BG にタイトルがオーバーレイ */
  .page_chapter #chapter_meeting,
  .page_shibuya3 #chapter_meeting {
    padding-top: 90px;
    padding-bottom: 40px;
  }
  .page_chapter #chapter_meeting .inner,
  .page_shibuya3 #chapter_meeting .inner {
    padding: 0;
  }
  .page_chapter #chapter_meeting .inner > .ttl_box,
  .page_shibuya3 #chapter_meeting .inner > .ttl_box {
    padding-top: 65px;
  }
  .page_chapter #chapter_meeting .main_ttl_area,
  .page_shibuya3 #chapter_meeting .main_ttl_area {
    max-width: 100%;
  }
  .page_chapter #chapter_meeting .main_ttl_area .ttl img,
  .page_shibuya3 #chapter_meeting .main_ttl_area .ttl img {
    width: auto;
    max-width: 100%;
    height: auto;
  }
  .page_chapter #chapter_meeting .main_ttl_area .txt,
  .page_shibuya3 #chapter_meeting .main_ttl_area .txt {
    padding-left: 38px;
    font-size: var(--font_15);
    line-height: 1.6;
    letter-spacing: 0.05em;
    margin-top: 0;
  }
  .page_chapter #chapter_meeting .chapter_meeting_main,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main {
    flex-direction: column;
    gap: 36px;
    align-items: stretch;
    margin-top: 36px;
  }
  .page_chapter #chapter_meeting .chapter_meeting_main .img_area,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main .img_area {
    width: 100%;
  }
  .page_chapter #chapter_meeting .chapter_meeting_main .img_area .img img,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main .img_area .img img {
    width: 110%;
    height: 200px;
    margin: 0;
    margin-left: -10%;
  }
  .page_chapter #chapter_meeting .chapter_meeting_main .txt_area,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area {
    max-width: 100%;
    gap: 30px;
  }
  .page_chapter #chapter_meeting .chapter_meeting_main .txt_area .ttl img,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area .ttl img {
    max-width: 88px;
    height: auto;
  }
  .page_chapter #chapter_meeting .chapter_meeting_main .txt_area .simple_table,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area .simple_table {
    margin-top: 20px;
  }
  .page_chapter #chapter_meeting .chapter_meeting_main .txt_area .simple_table th, .page_chapter #chapter_meeting .chapter_meeting_main .txt_area .simple_table td,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area .simple_table th,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area .simple_table td {
    font-size: var(--font_14);
    line-height: 2;
  }
  .page_chapter #chapter_meeting .chapter_meeting_main .txt_area .simple_table th,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area .simple_table th {
    padding-left: 25px;
    padding-right: 25px;
  }
  .page_chapter #chapter_meeting .chapter_meeting_main .txt_area > .txt,
  .page_shibuya3 #chapter_meeting .chapter_meeting_main .txt_area > .txt {
    font-size: var(--font_15);
    line-height: 1.8666666667;
  }
  /* ----- chapter #other_chapter / about #other_chapter (butten, 375x390) -----
     Figma: pad t90 b90 l30 r30, 2 buttons VERTICAL gap 30, 各 315x90 */
  .page_about #other_chapter,
  .page_chapter #other_chapter {
    padding-top: 90px;
    padding-bottom: 30px;
  }
  .page_about #other_chapter .inner,
  .page_chapter #other_chapter .inner {
    max-width: none;
  }
  .page_about #other_chapter .chapter_btn_list,
  .page_chapter #other_chapter .chapter_btn_list {
    flex-direction: column;
    justify-content: stretch;
    gap: 30px;
  }
  .page_about #other_chapter .chapter_btn_list li,
  .page_chapter #other_chapter .chapter_btn_list li {
    flex: 0 0 auto;
    max-width: none;
  }
  .page_about #other_chapter .chapter_btn_list a,
  .page_chapter #other_chapter .chapter_btn_list a {
    height: 90px;
  }
  .page_about #other_chapter .chapter_btn_list a .name img,
  .page_chapter #other_chapter .chapter_btn_list a .name img {
    height: 22px;
  }
  .page_about #other_chapter .chapter_btn_list a .arrow,
  .page_chapter #other_chapter .chapter_btn_list a .arrow {
    right: 20px;
  }
  /* about の 3 ボタンも縦 1 列に統一（PC 2-1 の wrap 解除） */
  .page_about #other_chapter .chapter_btn_list li {
    flex: 0 0 auto;
  }
  /* ==========================================
   SP: .page_about
   ※ Figma SP データなし → shibuya3 SP を参考
  ========================================== */
  /* ----- about #mv ----- */
  .page_about #mv {
    padding-top: 100px;
    padding-bottom: 60px;
    overflow: hidden;
  }
  .page_about #mv .inner {
    max-width: none;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .page_about #mv .txt_area {
    justify-self: stretch;
  }
  .page_about #mv .txt_area .ttl img {
    width: 100%;
    max-width: 315px;
    height: auto;
  }
  .page_about #mv .img_area {
    justify-self: stretch;
    width: 100%;
    margin: 0;
  }
  .page_about #mv .img_area img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }
  /* ----- about/shibuya3 #about (共通) ----- */
  .page_about #about,
  .page_shibuya3 #about {
    padding: 60px 30px 90px;
  }
  .page_about #about .about_main,
  .page_shibuya3 #about .about_main {
    background-size: 100% auto;
    background-position: 30px top;
    padding-top: 56px;
    justify-content: flex-start;
  }
  .page_about #about .about_main .txt_area,
  .page_shibuya3 #about .about_main .txt_area {
    max-width: none;
    width: 100%;
  }
  .page_about #about .about_main .txt_area .txt,
  .page_shibuya3 #about .about_main .txt_area .txt {
    font-size: var(--font_15);
    line-height: 1.8666666667;
    letter-spacing: 0;
  }
  /* ----- about/shibuya3 #value (共通) ----- */
  .page_about #value,
  .page_shibuya3 #value {
    padding-top: 90px;
    padding-bottom: 90px;
  }
  .page_about #value .inner,
  .page_shibuya3 #value .inner {
    max-width: none;
  }
  .page_about #value h2.ttl,
  .page_shibuya3 #value h2.ttl {
    font-size: var(--font_18);
    line-height: 1.6;
    margin-bottom: 60px;
  }
  .page_about #value .value_list,
  .page_shibuya3 #value .value_list {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 50px;
  }
  .page_about #value .value_item,
  .page_shibuya3 #value .value_item {
    gap: 17px;
    width: 100%;
  }
  .page_about #value .value_item .title,
  .page_shibuya3 #value .value_item .title {
    gap: 16px;
    padding-bottom: 12px;
  }
  .page_about #value .value_item .title h3.ttl,
  .page_shibuya3 #value .value_item .title h3.ttl {
    font-size: var(--font_16);
    line-height: 1.6;
  }
  .page_about #value .value_item .txt,
  .page_shibuya3 #value .value_item .txt {
    font-size: var(--font_15);
    line-height: 1.8;
  }
  /* ----- about/shibuya3 #experiences (共通) ----- */
  .page_about #experiences,
  .page_shibuya3 #experiences {
    padding: 90px 30px;
  }
  .page_about #experiences .inner,
  .page_shibuya3 #experiences .inner {
    padding: 0;
  }
  .page_about #experiences .ttl_box,
  .page_shibuya3 #experiences .ttl_box {
    gap: 30px;
    margin-bottom: 70px;
  }
  .page_about #experiences .ttl_box .main_ttl_area .ttl img,
  .page_shibuya3 #experiences .ttl_box .main_ttl_area .ttl img {
    max-width: 100%;
    height: auto;
  }
  .page_about #experiences .ttl_box .main_ttl_area .txt,
  .page_shibuya3 #experiences .ttl_box .main_ttl_area .txt {
    font-size: var(--font_15);
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: left;
    margin-top: 0;
  }
  .page_about #experiences .ex_list,
  .page_shibuya3 #experiences .ex_list {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 80px;
    max-width: none;
  }
  .page_about #experiences .ex_item,
  .page_shibuya3 #experiences .ex_item {
    gap: 36px;
  }
  .page_about #experiences .ex_item:nth-child(1), .page_about #experiences .ex_item:nth-child(4),
  .page_shibuya3 #experiences .ex_item:nth-child(1),
  .page_shibuya3 #experiences .ex_item:nth-child(4) {
    grid-column: 1/-1;
  }
  .page_about #experiences .ex_item:first-child,
  .page_shibuya3 #experiences .ex_item:first-child {
    flex-direction: column;
    align-items: stretch;
  }
  .page_about #experiences .ex_item .ttl_area .ttl img,
  .page_shibuya3 #experiences .ex_item .ttl_area .ttl img {
    max-width: 250px;
    height: auto;
  }
  .page_about #experiences .ex_item .ttl_area .sub_ttl,
  .page_shibuya3 #experiences .ex_item .ttl_area .sub_ttl {
    font-size: var(--font_15);
    line-height: 1.4666666667;
  }
  .page_about #experiences .ex_item .txt_box,
  .page_shibuya3 #experiences .ex_item .txt_box {
    gap: 36px;
  }
  .page_about #experiences .ex_item .txt_line,
  .page_shibuya3 #experiences .ex_item .txt_line {
    padding-left: 24px;
    font-size: var(--font_15);
    line-height: 1.8;
  }
  .page_about #experiences .ex_item .txt_line span:not(.txt_li),
  .page_shibuya3 #experiences .ex_item .txt_line span:not(.txt_li) {
    font-size: var(--font_13);
  }
  .page_about #experiences .ex_item > .img img,
  .page_shibuya3 #experiences .ex_item > .img img {
    width: 100%;
    height: 200px;
  }
  .page_about #experiences .ex_item .sp_list,
  .page_shibuya3 #experiences .ex_item .sp_list {
    flex-direction: column;
    gap: 36px;
  }
  .page_about #experiences .ex_item .sp_list .sp_item,
  .page_shibuya3 #experiences .ex_item .sp_list .sp_item {
    max-width: 100%;
    width: 100%;
  }
  .page_about #experiences .ex_item .sp_list .sp_item .img img,
  .page_shibuya3 #experiences .ex_item .sp_list .sp_item .img img {
    width: 100%;
    max-width: 500px;
    height: 200px;
    object-fit: cover;
    margin: 0 auto 20px;
  }
  .page_about #experiences .ex_item .sp_list .sp_item h4.ttl,
  .page_about #experiences .ex_item .sp_list .sp_item .txt,
  .page_shibuya3 #experiences .ex_item .sp_list .sp_item h4.ttl,
  .page_shibuya3 #experiences .ex_item .sp_list .sp_item .txt {
    font-size: var(--font_15);
  }
  /* shibuya3 #experiences 固有の絶対配置を SP では解除 */
  .page_shibuya3 #experiences .ttl_box .ttl_img {
    width: 265px;
    height: 320px;
    left: auto;
    top: 80px;
  }
  .page_shibuya3 #experiences .ttl_box .txt_area {
    width: 100%;
    margin-top: 30px;
    bottom: 60px;
  }
  .page_shibuya3 #experiences .ttl_box .txt_area .txt {
    font-size: var(--font_15);
    line-height: 1.8;
  }
  /* ----- about/shibuya3 #community (共通) ----- */
  .page_about #community,
  .page_shibuya3 #community {
    padding: 90px 30px 30px;
  }
  .page_about #community .inner,
  .page_shibuya3 #community .inner {
    gap: 50px;
  }
  .page_about #community .ttl_box,
  .page_shibuya3 #community .ttl_box {
    gap: 50px;
  }
  .page_about #community .ttl_box .main_ttl_area .ttl img,
  .page_shibuya3 #community .ttl_box .main_ttl_area .ttl img {
    max-width: 100%;
    height: auto;
  }
  .page_about #community .ttl_box .main_ttl_area .txt,
  .page_shibuya3 #community .ttl_box .main_ttl_area .txt {
    font-size: var(--font_15);
    line-height: 1.6;
    letter-spacing: 0.05em;
    margin-top: 0;
  }
  .page_about #community .ttl_box .txt_area .txt,
  .page_shibuya3 #community .ttl_box .txt_area .txt {
    font-size: var(--font_15);
    line-height: 1.8;
    text-align: left;
  }
  .page_about #community .community_data .data_list,
  .page_shibuya3 #community .community_data .data_list {
    flex-wrap: wrap;
    gap: 12px;
  }
  .page_about #community .community_data .data_item,
  .page_shibuya3 #community .community_data .data_item {
    width: calc(50% - 6px);
    height: auto;
    aspect-ratio: 1/1;
    min-width: 140px;
  }
  .page_about #community .community_data .data_item h3.ttl,
  .page_shibuya3 #community .community_data .data_item h3.ttl {
    top: 30px;
    font-size: var(--font_15);
    line-height: 1.3333333333;
  }
  .page_about #community .community_data .data_item .txt,
  .page_shibuya3 #community .community_data .data_item .txt {
    top: calc(50% + 12px);
    font-size: var(--font_38);
    line-height: 1.1;
  }
  .page_about #community .community_data .data_item .txt span,
  .page_shibuya3 #community .community_data .data_item .txt span {
    font-size: var(--font_15);
  }
  .page_about #community,
  .page_shibuya3 #community {
    /* SP: 世界地図を背景に、国名リストを 2 列で前面オーバーレイ
       Figma 627:1464 community frame 375x1580:
       - map (Group 3276) @(-43, 804) 462x255
       - lists (Frame 3175) @(58, 859) 260x613 (Europe/NorthAm/Africa 左, Asia/SouthAm 右) */
  }
  .page_about #community .world_map,
  .page_shibuya3 #community .world_map {
    position: relative;
    width: 100%;
    margin: 0;
    pointer-events: none;
  }
  .page_about #community .world_map img,
  .page_shibuya3 #community .world_map img {
    display: block;
    width: 123.2%;
    max-width: none;
    margin-left: -11.4666666667%;
    height: auto;
  }
  .page_about #community .world_list,
  .page_shibuya3 #community .world_list {
    display: grid;
    grid-template-columns: 150px 110px;
    column-gap: 10px;
    row-gap: 30px;
    justify-content: center;
    margin-top: -250px;
    position: relative;
    z-index: 1;
    padding: 0 3%;
  }
  /* SP shibuya3: 共通 .world_list を表示（PC は display:none、SP は grid 上書き） */
  .page_shibuya3 #community .world_list {
    display: grid;
  }
  .page_about #community .world_item h3.ttl,
  .page_shibuya3 #community .world_item h3.ttl {
    font-family: var(--font_cormorant);
    font-size: var(--font_24);
    line-height: 1.1666666667;
    margin-bottom: 8px;
    color: var(--color_white);
  }
  .page_about #community .world_item h3.ttl img,
  .page_shibuya3 #community .world_item h3.ttl img {
    max-width: 100%;
    height: auto;
    display: block;
    margin-bottom: 10px;
  }
  .page_about #community .world_item h3.ttl span,
  .page_shibuya3 #community .world_item h3.ttl span {
    display: block;
    font-family: var(--font_mincho);
    font-size: var(--font_12);
    line-height: 1.5;
    margin-top: 4px;
    color: var(--color_white);
  }
  .page_about #community .world_item ul,
  .page_shibuya3 #community .world_item ul {
    font-size: var(--font_13);
    line-height: 1.3846153846;
    margin-top: 15px;
    margin-bottom: 0;
  }
  .page_about #community .world_item ul li,
  .page_shibuya3 #community .world_item ul li {
    display: block;
  }
  .page_about #community .world_item:nth-child(1) h3.ttl img,
  .page_shibuya3 #community .world_item:nth-child(1) h3.ttl img {
    width: 89px;
  }
  .page_about #community .world_item:nth-child(2) h3.ttl img,
  .page_shibuya3 #community .world_item:nth-child(2) h3.ttl img {
    width: 53px;
  }
  .page_about #community .world_item:nth-child(3) h3.ttl img,
  .page_shibuya3 #community .world_item:nth-child(3) h3.ttl img {
    width: 109px;
  }
  .page_about #community .world_item:nth-child(4) h3.ttl img,
  .page_shibuya3 #community .world_item:nth-child(4) h3.ttl img {
    width: 109px;
  }
  .page_about #community .world_item:nth-child(5) h3.ttl img,
  .page_shibuya3 #community .world_item:nth-child(5) h3.ttl img {
    width: 146px;
  }
  /* ==========================================
   SP: .page_shibuya3
   Figma 627:1313 / 375 wide
  ========================================== */
  /* ----- shibuya3 #mv (top, 375x667) -----
     Figma: top frame
     - Group 42 (写真): @(60,207) 315x400
     - CC ロゴテキスト: @(32,125) 294x20
     - Group 36 (logo mark): @(312,551) 33x86
     - Tangerine ミッション: @(221,574) 108x40
     - Tokyo Shibuya Region 大: 写真上に重ね */
  .page_shibuya3 #mv {
    padding-top: 50px;
    padding-bottom: 50px;
    min-height: 0;
    overflow: hidden;
  }
  .page_shibuya3 #mv .inner {
    max-width: none;
    margin: 0;
    height: auto;
    position: relative;
    padding-bottom: 70px;
  }
  .page_shibuya3 #mv .logo_mark {
    position: absolute;
    left: auto;
    right: 0;
    top: auto;
    bottom: -30px;
    width: 123px;
  }
  .page_shibuya3 #mv .mv_img {
    position: relative;
    top: 70px;
    right: -10%;
    width: 100%;
  }
  .page_shibuya3 #mv .mv_img img {
    height: 400px;
  }
  .page_shibuya3 #mv .mv_txt_area {
    width: 100%;
    position: absolute;
    top: 0;
  }
  .page_shibuya3 #mv .mv_txt_area .brand {
    position: static;
    width: 100%;
    margin-bottom: 20px;
  }
  .page_shibuya3 #mv .mv_txt_area .brand img {
    width: 100%;
    max-width: 294px;
    height: auto;
  }
  .page_shibuya3 #mv .mv_txt_area .region {
    position: static;
    width: 100%;
    z-index: 2;
  }
  .page_shibuya3 #mv .mv_txt_area .region img {
    width: 100%;
    max-width: 315px;
    height: auto;
  }
  .page_shibuya3 #mv .mv_txt_area .ttl {
    position: static;
    width: 100%;
    min-width: 100%;
    font-size: var(--font_16);
    line-height: 1.6666666667;
    margin-top: 30px;
  }
  .page_shibuya3 #mv .mv_txt_area .ttl::before {
    content: none;
  }
  .page_shibuya3 #about .main_ttl_area {
    gap: 8px;
    margin-bottom: 50px;
    max-width: 290px;
  }
  .page_shibuya3 #about .main_ttl_area .ttl img {
    max-width: 100%;
    height: auto;
  }
  .page_shibuya3 #about .main_ttl_area .txt {
    font-size: var(--font_15);
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  /* ----- shibuya3 #other (membership benefits) ----- */
  .page_shibuya3 #other {
    padding-top: 70px;
    padding-bottom: 90px;
  }
  .page_shibuya3 #other .inner {
    max-width: none;
  }
  .page_shibuya3 #other .meet_list {
    gap: 60px;
  }
  .page_shibuya3 #other .meet_item {
    gap: 30px;
  }
  .page_shibuya3 #other .meet_item h3.ttl {
    font-size: var(--font_18);
    line-height: 1.6;
    display: flex;
    flex-direction: column;
  }
  .page_shibuya3 #other .meet_item h3.ttl::before {
    width: 14px;
    height: 32px;
  }
  .page_shibuya3 #other .meet_item .meet_in {
    padding: 40px 0;
  }
  .page_shibuya3 #other .meet_item .meet_in .simple_list {
    padding: 0;
    gap: 20px;
  }
  .page_shibuya3 #other .meet_item .meet_in .simple_list li {
    font-size: var(--font_14);
  }
  .page_shibuya3 #other .meet_item .meet_in .step_list {
    padding: 0;
    gap: 20px;
  }
  .page_shibuya3 #other .meet_item .meet_in .step_list li {
    font-size: var(--font_15);
    flex-direction: column;
    gap: 7px;
  }
  .page_shibuya3 #other .meet_item .meet_in .step_list li::before {
    font-size: var(--font_15);
  }
  .page_shibuya3 #other .meet_item .meet_in .step_list li span {
    margin-left: 0px;
  }
  .page_shibuya3 #other .meet_item .meet_in .step_list li:not(:last-child)::after {
    position: static;
  }
}

/*# sourceMappingURL=style.css.map */
