@charset "utf-8";

/* ─── カラー変数 ─── */
:root {
  --gold:      #cc9900;
  --gold-dark: #9a7200;
  --black:     #000;
  --black-mid: #0d0d0d;
  --black-card:#111;
  --white:     #fff;
  --white-off: #f7f7f7;
  --text-dark: #111;
  --text-mid:  #444;
  --text-light:#fff;
  --text-dim:  rgba(255,255,255,0.68);
}

/* ─── ページヘッダー（常に黒） ─── */
.page_hero {
  background: #000;
  padding: 200px 8% 100px;
  border-bottom: 1px solid rgba(204,153,0,0.2);
  position: relative;
  overflow: hidden;
}
.page_hero::before {
  content: attr(data-title);
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Roboto', sans-serif;
  font-size: 18vw;
  font-weight: 500;
  color: rgba(204,153,0,0.04);
  white-space: nowrap;
  pointer-events: none;
  line-height: 1;
  z-index: 0;
}
.page_hero_label {
  font-family: 'Roboto', sans-serif;
  font-size: 75%;
  letter-spacing: 0.35em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.page_hero_label::before {
  content: '';
  display: block;
  width: 30px;
  height: 1px;
  background: var(--gold);
}
.page_hero h2 {
  font-family: 'Roboto', sans-serif;
  font-size: 400%;
  font-weight: 500;
  color: var(--white);
  line-height: 1.1;
  letter-spacing: 0.05em;
}
.page_hero p {
  margin-top: 24px;
  font-size: 95%;
  color: rgba(255,255,255,0.58);
  max-width: 540px;
  line-height: 2.1;
}

/* ─── セクション（黒・白交互） ─── */
.page_section {
  padding: 100px 8%;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.page_section:last-of-type {
  border-bottom: none;
}

/* 黒セクション */
.sec_dark {
  background: var(--black);
  color: var(--text-light);
}
.sec_dark .sec_title  { color: var(--white); }
.sec_dark .sec_lead   { color: var(--text-dim); }
.sec_dark .info_table th { color: var(--gold); }
.sec_dark .info_table td { color: var(--text-dim); }
.sec_dark .info_table th,
.sec_dark .info_table td { border-bottom-color: rgba(255,255,255,0.08); }

/* 白セクション */
.sec_white {
  background: var(--white);
  color: var(--text-dark);
}
.sec_white .sec_label { color: var(--gold-dark); }
.sec_white .sec_label::before { background: var(--gold-dark); }
.sec_white .sec_title { color: var(--text-dark); }
.sec_white .sec_lead  { color: var(--text-mid); }
.sec_white .strength_card { background: var(--white-off); border-top-color: var(--gold); }
.sec_white .strength_card h4 { color: var(--gold-dark); }
.sec_white .strength_card p  { color: var(--text-mid); }
.sec_white .strength_num     { color: rgba(153,114,0,0.12); }
.sec_white .info_table th { color: var(--gold-dark); }
.sec_white .info_table td { color: var(--text-mid); }
.sec_white .info_table th,
.sec_white .info_table td { border-bottom-color: rgba(0,0,0,0.08); }
.sec_white .service_list li { color: var(--text-mid); border-bottom-color: rgba(0,0,0,0.07); }
.sec_white .biz_list li     { color: var(--text-mid); border-bottom-color: rgba(0,0,0,0.07); }
.sec_white .biz_list li::before,
.sec_white .service_list li::before { color: var(--gold-dark); }
.sec_white a { color: var(--gold-dark); }

/* オフホワイトセクション */
.sec_offwhite {
  background: var(--white-off);
  color: var(--text-dark);
}
.sec_offwhite .sec_label { color: var(--gold-dark); }
.sec_offwhite .sec_label::before { background: var(--gold-dark); }
.sec_offwhite .sec_title { color: var(--text-dark); }
.sec_offwhite .sec_lead  { color: var(--text-mid); }
.sec_offwhite .strength_card { background: var(--white); border-top-color: var(--gold); }
.sec_offwhite .strength_card h4 { color: var(--gold-dark); }
.sec_offwhite .strength_card p  { color: var(--text-mid); }
.sec_offwhite .strength_num     { color: rgba(153,114,0,0.12); }
.sec_offwhite .info_table th { color: var(--gold-dark); }
.sec_offwhite .info_table td { color: var(--text-mid); }
.sec_offwhite .info_table th,
.sec_offwhite .info_table td { border-bottom-color: rgba(0,0,0,0.08); }
.sec_offwhite .service_list li { color: var(--text-mid); }
.sec_offwhite .biz_list li     { color: var(--text-mid); }

/* ─── page_content（contact用） ─── */
.page_content {
  background: var(--white);
  padding: 100px 8% 150px;
  width: 100%;
}
.page_content_inner {
  max-width: 1100px;
  margin: 0 auto;
}
.page_content .sec_label { color: var(--gold-dark); }
.page_content .sec_label::before { background: var(--gold-dark); }
.page_content .sec_title { color: var(--text-dark); }
.page_content .info_table th { color: var(--gold-dark); }
.page_content .info_table td { color: var(--text-mid); }
.page_content .info_table th,
.page_content .info_table td { border-bottom-color: rgba(0,0,0,0.08); }
.page_content a { color: var(--gold-dark); }

/* Contact相談リスト（白背景用に調整） */
.contact_list li {
  background: var(--white-off);
  border-left-color: var(--gold);
  color: var(--text-mid);
}
.contact_note { color: var(--text-mid); }

/* ─── セクションラベル ─── */
.sec_label {
  font-family: 'Roboto', sans-serif;
  font-size: 72%;
  letter-spacing: 0.35em;
  color: var(--gold);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.sec_label::before {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--gold);
}
.sec_title {
  font-family: 'Roboto', sans-serif;
  font-size: 225%;
  font-weight: 500;
  color: var(--white);
  line-height: 1.2;
  margin-bottom: 20px;
  letter-spacing: 0.04em;
}
.sec_lead {
  font-size: 93%;
  color: var(--text-dim);
  line-height: 2.1;
  max-width: 660px;
  margin-bottom: 60px;
}

/* ─── 2カラムレイアウト ─── */
.two_col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
  margin-top: 56px;
}
.two_col_center { align-items: center; }
.service_text_only {
  max-width: 720px;
  margin-top: 52px;
}
.service_text_only .sec_lead {
  margin-bottom: 0;
}

/* ─── カードグリッド ─── */
.card_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  margin-top: 56px;
}
.card_grid_2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3px;
  margin-top: 56px;
}

/* ─── 実績カード（常に黒） ─── */
.result_card {
  position: relative;
  overflow: hidden;
  background: #111;
}
.result_card img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
  filter: brightness(0.42);
  transition: filter 0.5s, transform 0.5s;
}
.result_card:hover img {
  filter: brightness(0.28);
  transform: scale(1.04);
}
.result_card_body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 28px 32px;
  background: linear-gradient(to top, rgba(0,0,0,0.92) 0%, transparent 100%);
}
.result_card_name {
  font-family: 'Roboto', sans-serif;
  font-size: 112%;
  font-weight: 500;
  color: var(--gold);
  margin-bottom: 8px;
}
.result_card_desc {
  font-size: 83%;
  color: rgba(255,255,255,0.72);
  line-height: 1.8;
}

/* ─── タレントカード ─── */
.talent_card {
  background: var(--white-off);
  border-top: 2px solid var(--gold);
  overflow: hidden;
}
.talent_card img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
  filter: brightness(0.92);
  transition: filter 0.4s, transform 0.4s;
}
.talent_card:hover img { filter: brightness(0.75); transform: scale(1.03); }
.talent_card_body { padding: 28px 28px 36px; }
.talent_card_name {
  font-family: 'Roboto', sans-serif;
  font-size: 125%;
  font-weight: 500;
  color: var(--text-dark);
  margin-bottom: 6px;
}
.talent_card_tag {
  font-size: 75%;
  color: var(--gold-dark);
  letter-spacing: 0.15em;
  margin-bottom: 16px;
}
.talent_card_desc {
  font-size: 83%;
  color: var(--text-mid);
  line-height: 2;
}
.talent_card_links { margin-top: 20px; display: flex; gap: 10px; flex-wrap: wrap; }
.talent_card_links a {
  font-size: 78%;
  color: var(--text-mid);
  border: 1px solid #ccc;
  padding: 6px 14px;
  letter-spacing: 0.08em;
  transition: all 0.3s;
}
.talent_card_links a:hover {
  color: var(--gold-dark);
  border-color: var(--gold);
  text-decoration: none;
  opacity: 1;
}

/* ─── Artist layout from client feedback ─── */
#artist .inner.artist_showcase {
  max-width: 1080px;
  word-break: normal;
}
.artist_showcase {
  text-align: center;
}
.artist_showcase_page {
  max-width: 1080px;
}
.artist_subtitle {
  color: rgba(0,0,0,0.72);
  font-size: 100%;
  line-height: 1.8;
  margin-top: -28px;
  margin-bottom: 44px;
}
.artist_profile_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 42px;
  align-items: start;
  margin-top: 44px;
}
.artist_profile {
  text-align: center;
}
.artist_profile_photo {
  width: 100%;
  aspect-ratio: 1.48 / 1;
  overflow: hidden;
  background: #eee;
}
.artist_profile_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.artist_profile_body {
  max-width: 340px;
  margin: 0 auto;
  padding-top: 18px;
}
.artist_profile_name {
  font-family: 'Roboto', sans-serif;
  font-size: 124%;
  font-weight: 500;
  color: var(--text-dark);
  line-height: 1.45;
  margin-bottom: 26px;
  letter-spacing: 0.02em;
}
.artist_profile_name span {
  display: block;
  font-family: inherit;
  font-size: 92%;
}
.artist_profile_text {
  text-align: left;
  font-size: 83%;
  color: rgba(0,0,0,0.68);
  line-height: 1.85;
}
.artist_profile_text p {
  margin-bottom: 14px;
}
.artist_profile_works_title {
  color: #111;
  font-weight: 500;
  margin-top: 20px;
  margin-bottom: 4px !important;
}
.artist_profile_works {
  list-style: none;
  padding: 0;
  margin: 0;
}
.artist_profile_works li {
  color: rgba(0,0,0,0.68);
  line-height: 1.8;
}
.artist_japan_window {
  margin-top: 78px;
}
.artist_section_title {
  font-family: 'Roboto', sans-serif;
  font-size: 118%;
  font-weight: 500;
  color: var(--text-dark);
  line-height: 1.5;
  margin-bottom: 28px;
}
.artist_jiwoo {
  max-width: 460px;
  margin: 0 auto;
  text-align: center;
}
.artist_jiwoo_photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-width: 330px;
  margin: 0 auto 18px;
}
.artist_jiwoo_photos img {
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  display: block;
}
.artist_jiwoo_name {
  font-family: 'Roboto', sans-serif;
  font-size: 124%;
  font-weight: 500;
  color: var(--text-dark);
  line-height: 1.45;
  margin-bottom: 20px;
}
.artist_works_link {
  display: block;
  width: 290px;
  max-width: 100%;
  margin: 24px auto 0;
  padding: 9px 18px;
  background: #e5e5e5;
  color: #111 !important;
  font-size: 92%;
  line-height: 1.4;
  text-align: center;
  text-decoration: none !important;
  transition: background 0.3s, color 0.3s;
}
.artist_works_link:hover {
  background: var(--gold);
  color: #000 !important;
  opacity: 1;
}
.artist_boys {
  margin-top: 78px;
}
.artist_boys_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 52px;
  align-items: start;
  text-align: left;
}
.artist_boys_card {
  background: #fff;
}
.artist_boys_photo {
  aspect-ratio: 1.5 / 1;
  overflow: hidden;
  background: #eee;
  margin-bottom: 18px;
}
.artist_boys_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.artist_boys_card h4,
.artist_boys_card h5 {
  font-family: 'Roboto', sans-serif;
  font-size: 118%;
  font-weight: 500;
  color: var(--text-dark);
  line-height: 1.5;
  text-align: center;
  margin-bottom: 28px;
}
.artist_boys_card p {
  font-size: 82%;
  color: rgba(0,0,0,0.62);
  line-height: 1.9;
  margin-bottom: 22px;
}
.artist_boys_card .info_table {
  font-size: 78%;
  margin-bottom: 28px;
}
.artist_boys_card .info_table th,
.artist_boys_card .info_table td {
  padding: 13px 0;
}
.artist_boys_card .info_table th {
  width: 95px;
  padding-right: 18px;
}
.artist_boys_card_dark {
  background: #0d0d0d;
  padding: 28px 30px 34px;
}
.artist_boys_card_dark h4,
.artist_boys_card_dark h5 {
  color: #fff;
}
.artist_boys_card_dark p {
  color: rgba(255,255,255,0.65);
}
.artist_boys_card_dark .info_table th {
  color: var(--gold);
}
.artist_boys_card_dark .info_table td {
  color: rgba(255,255,255,0.65);
}
.artist_boys_card_dark .info_table th,
.artist_boys_card_dark .info_table td {
  border-bottom-color: rgba(255,255,255,0.1);
}

/* ─── Works page ─── */
.works_profile_page {
  max-width: 980px;
}
.works_profile_header {
  margin: 54px 0 70px;
  text-align: center;
}
.works_profile_photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-width: 420px;
  margin: 0 auto 28px;
}
.works_profile_photos img {
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  display: block;
}
.works_profile_header h3 {
  font-family: 'Roboto', sans-serif;
  font-size: 185%;
  font-weight: 500;
  color: var(--text-dark);
  line-height: 1.5;
}
.works_year_list {
  max-width: 840px;
  margin: 0 auto;
}
.works_year {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 34px;
  padding: 42px 0 46px;
  border-top: 1px solid rgba(0,0,0,0.1);
  text-align: left;
}
.works_year:first-child {
  border-top: none;
  padding-top: 0;
}
.works_year h4 {
  font-family: 'Roboto', sans-serif;
  font-size: 142%;
  font-weight: 500;
  color: var(--gold-dark);
  line-height: 1.4;
  letter-spacing: 0.03em;
  margin: 0;
}
.works_year_body {
  padding-top: 2px;
}
.works_category {
  margin-top: 28px;
}
.works_category:first-child {
  margin-top: 0;
}
.works_category h5 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 84%;
  font-weight: 700;
  color: var(--text-dark);
  letter-spacing: 0.08em;
  line-height: 1.6;
  margin-bottom: 9px;
}
.works_category h5::before {
  content: '';
  width: 22px;
  height: 1px;
  background: var(--gold-dark);
}
.works_category ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.works_category li {
  position: relative;
  padding-left: 1.1em;
  font-size: 91%;
  color: rgba(0,0,0,0.72);
  line-height: 1.95;
}
.works_category li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: rgba(154,114,0,0.62);
}
.works_new {
  display: inline-block;
  margin-left: 0.45em;
  color: var(--gold-dark);
  font-family: 'Roboto', sans-serif;
  font-size: 90%;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .artist_subtitle {
    margin-top: -12px;
    margin-bottom: 30px;
  }
  .artist_profile_grid,
  .artist_boys_grid {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .artist_profile_body {
    max-width: 100%;
  }
  .artist_profile_name,
  .artist_jiwoo_name {
    font-size: 112%;
  }
  .artist_profile_text {
    font-size: 82%;
  }
  .artist_japan_window,
  .artist_boys {
    margin-top: 62px;
  }
  .artist_boys_card_dark {
    padding: 22px 18px 28px;
  }
  .artist_boys_card .info_table th {
    width: 84px;
    padding-right: 12px;
  }
  .works_profile_header {
    width: 88vw;
    max-width: 88vw;
    margin: 40px 0 48px;
    overflow: hidden;
  }
  .works_profile_photos {
    width: 100%;
    max-width: 320px;
  }
  .works_profile_header h3 {
    width: 88vw;
    max-width: 88vw;
    margin-left: auto;
    margin-right: auto;
    font-size: 130%;
    overflow-wrap: anywhere;
    word-break: break-all;
  }
  .works_year_list,
  .works_year_body {
    width: 88vw;
    max-width: 88vw;
    min-width: 0;
  }
  .works_year {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 34px 0 38px;
    min-width: 0;
    width: 88vw;
    max-width: 88vw;
  }
  .works_year h4 {
    font-size: 128%;
  }
  .works_category {
    margin-top: 24px;
  }
  .works_category h5 {
    font-size: 80%;
  }
  .works_category li {
    font-size: 86%;
    overflow-wrap: anywhere;
    word-break: break-all;
  }
}

/* ─── テーブル ─── */
.info_table {
  width: 100%;
  border-collapse: collapse;
  font-size: 90%;
}
.info_table th, .info_table td {
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  text-align: left;
  vertical-align: top;
}
.info_table th {
  width: 170px;
  color: var(--gold);
  font-weight: 400;
  letter-spacing: 0.05em;
  padding-right: 28px;
}
.info_table td { color: var(--text-dim); line-height: 1.9; }

/* ─── 取引先グリッド ─── */
.clients_grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  border: 1px solid rgba(0,0,0,0.1);
  margin-top: 56px;
}
.client_item {
  background: var(--white);
  padding: 24px 28px;
  font-family: 'Roboto', sans-serif;
  font-size: 88%;
  color: var(--text-mid);
  letter-spacing: 0.06em;
  flex: 1 1 170px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 76px;
  line-height: 1.7;
  transition: background 0.3s, color 0.3s;
  border-bottom: 2px solid transparent;
}
.client_item:hover {
  background: var(--white-off);
  color: var(--gold-dark);
  border-bottom-color: var(--gold);
}
/* 黒背景用 */
.clients_grid_dark { border-color: rgba(204,153,0,0.15); }
.clients_grid_dark .client_item {
  background: #111;
  color: rgba(255,255,255,0.85);
}
.clients_grid_dark .client_item:hover {
  background: #1e1e1e;
  color: var(--gold);
}

/* ─── 強みカード ─── */
.strength_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  margin-top: 56px;
}
.strength_card {
  background: var(--white-off);
  padding: 44px 36px;
  border-top: 2px solid var(--gold);
}
.strength_num {
  font-family: 'Roboto', sans-serif;
  font-size: 240%;
  font-weight: 500;
  color: rgba(153,114,0,0.12);
  line-height: 1;
  margin-bottom: 24px;
}
.strength_card h4 {
  font-family: 'Roboto', sans-serif;
  font-size: 92%;
  font-weight: 500;
  color: var(--gold-dark);
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}
.strength_card p { font-size: 84%; color: var(--text-mid); line-height: 2.1; }

/* 黒背景用 */
.strength_card_dark {
  background: #111;
  border-top-color: var(--gold);
}
.strength_card_dark h4 { color: var(--gold); }
.strength_card_dark p  { color: rgba(255,255,255,0.58); }
.strength_card_dark .strength_num { color: rgba(204,153,0,0.15); }

/* ─── サービスリスト ─── */
.service_list { list-style: none; padding: 0; margin-top: 28px; }
.service_list li {
  padding: 13px 0 13px 1.6em;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  font-size: 88%;
  color: var(--text-mid);
  line-height: 1.8;
  position: relative;
}
.service_list li::before { content: '—'; position: absolute; left: 0; color: var(--gold-dark); }

/* ─── 事業内容リスト ─── */
.biz_list { list-style: none; padding: 0; }
.biz_list li {
  padding: 16px 0 16px 1.6em;
  border-bottom: 1px solid rgba(0,0,0,0.07);
  font-size: 92%;
  color: var(--text-mid);
  line-height: 1.85;
  position: relative;
}
.biz_list li::before { content: '—'; position: absolute; left: 0; color: var(--gold-dark); font-family: 'Roboto', sans-serif; }

/* ─── LIVEリスト（黒カード内） ─── */
.live_list { list-style: none; padding: 0; }
.live_list li {
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  font-size: 90%;
  color: rgba(255,255,255,0.65);
}

/* ─── CTAバナー（常に黒） ─── */
.cta_band {
  background: #000;
  border-top: 1px solid rgba(204,153,0,0.2);
  border-bottom: 1px solid rgba(204,153,0,0.2);
  padding: 80px 8%;
  text-align: center;
}
.cta_band p {
  font-size: 95%;
  color: rgba(255,255,255,0.58);
  margin-bottom: 32px;
  line-height: 2;
}

/* ─── ボタン ─── */
.btn_gold {
  display: inline-block;
  padding: 16px 48px;
  background: var(--gold);
  color: #000 !important;
  font-family: 'Roboto', sans-serif;
  font-size: 90%;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: background 0.3s;
  text-decoration: none !important;
}
.btn_gold:hover { background: #e6b800; opacity: 1; }
.btn_outline {
  display: inline-block;
  padding: 15px 44px;
  border: 1px solid var(--gold);
  color: var(--gold) !important;
  font-family: 'Roboto', sans-serif;
  font-size: 90%;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: all 0.3s;
  text-decoration: none !important;
  margin-left: 16px;
}
.btn_outline:hover { background: var(--gold); color: #000 !important; opacity: 1; }

/* 白背景用アウトラインボタン */
.btn_outline_dark {
  display: inline-block;
  padding: 15px 44px;
  border: 1px solid #333;
  color: #333 !important;
  font-family: 'Roboto', sans-serif;
  font-size: 90%;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: all 0.3s;
  text-decoration: none !important;
  margin-left: 16px;
}
.btn_outline_dark:hover { background: #111; color: #fff !important; opacity: 1; }

/* ─── テキストリンク ─── */
.text_link {
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-size: 100%;
  color: var(--gold) !important;
  letter-spacing: 0.1em;
  margin-top: 40px;
  text-decoration: none !important;
  transition: opacity 0.3s;
}
.text_link::after { content: ' →'; }
.text_link:hover { opacity: 0.7; }
.text_link_dark {
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-size: 100%;
  color: var(--gold-dark) !important;
  letter-spacing: 0.1em;
  margin-top: 40px;
  text-decoration: none !important;
  transition: opacity 0.3s;
}
.text_link_dark::after { content: ' →'; }
.text_link_dark:hover { opacity: 0.7; }

/* ─── パンくず ─── */
.breadcrumb {
  padding: 18px 8%;
  background: #f0f0f0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.breadcrumb ul {
  display: flex;
  gap: 8px;
  list-style: none;
  font-size: 78%;
  color: #888;
  letter-spacing: 0.05em;
}
.breadcrumb li + li::before { content: '/'; margin-right: 8px; }
.breadcrumb a { color: #666; }
.breadcrumb a:hover { color: var(--gold-dark); opacity: 1; }

/* ─── フッターナビ ─── */
.footer_nav_list {
  display: flex;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  list-style: none;
  margin-bottom: 24px;
}
.footer_nav_list a {
  font-size: 82%;
  color: rgba(255,255,255,0.42);
  letter-spacing: 0.08em;
  transition: color 0.3s;
}
.footer_nav_list a:hover { color: var(--gold); opacity: 1; text-decoration: none; }

/* ─── フェードイン ─── */
.fadein {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fadein.scrollin { opacity: 1; transform: translateY(0); }
.fadein_d1 { transition-delay: 0.12s; }
.fadein_d2 { transition-delay: 0.24s; }
.fadein_d3 { transition-delay: 0.36s; }

/* ─── page_section_inner ─── */
.page_section_inner { max-width: 1100px; margin: 0 auto; }

/* ─── SP対応 ─── */
@media screen and (max-width: 767px) {
  .page_hero { padding: 150px 6% 70px; }
  .page_hero h2 { font-size: 260%; }
  .page_hero::before { display: none; }
  .page_section { padding: 70px 6%; }
  .page_section_inner {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }
  .page_content { padding: 70px 6% 100px; }
  .two_col { grid-template-columns: 1fr; gap: 40px; margin-top: 36px; }
  .service_text_only,
  .service_text_only .sec_lead,
  .service_text_only .service_list {
    width: 88vw;
    max-width: 88vw;
  }
  .sec_lead,
  .service_list,
  .service_list li {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-all;
  }
  .card_grid { grid-template-columns: 1fr; margin-top: 36px; }
  .card_grid_2 { grid-template-columns: 1fr; margin-top: 36px; }
  .strength_grid { grid-template-columns: 1fr; margin-top: 36px; }
  .result_card img { height: 220px; }
  .talent_card img { height: 240px; }
  .info_table { font-size: 84%; }
  .info_table th { width: 90px; padding-right: 12px; }
  .btn_outline, .btn_outline_dark { margin-left: 0; margin-top: 14px; display: inline-block; }
  .cta_band { padding: 60px 6%; }
  .clients_grid { margin-top: 36px; }
  .client_item { flex: 1 1 140px; }
  .sec_title { font-size: 175%; }
}
@media screen and (max-width: 400px) {
  .page_hero h2 { font-size: 180%; }
  .sec_title { font-size: 150%; }
  .btn_gold, .btn_outline { padding: 14px 28px; font-size: 82%; }
}

/* ─── 白背景セクション ─── */
.sec_white {
	background: #fff;
}
.sec_white .sec_label {
	color: #9a7a32;
}
.sec_white .sec_label::before {
	background: #9a7a32;
}
.sec_white .sec_title {
	color: #111;
}
.sec_white .sec_lead {
	color: rgba(0,0,0,0.6);
}
.sec_white .info_table th {
	color: #9a7a32;
}
.sec_white .info_table td {
	color: rgba(0,0,0,0.7);
}
.sec_white .info_table th,
.sec_white .info_table td {
	border-bottom-color: rgba(0,0,0,0.1);
}
.sec_white .service_list li {
	color: rgba(0,0,0,0.65);
	border-bottom-color: rgba(0,0,0,0.08);
}
.sec_white .service_list li::before {
	color: #9a7a32;
}
.sec_white .biz_list li {
	color: rgba(0,0,0,0.65);
	border-bottom-color: rgba(0,0,0,0.08);
}
.sec_white .biz_list li::before {
	color: #9a7a32;
}
.sec_white .talent_card {
	background: #f5f5f5;
	border-top-color: #cc9900;
}
.sec_white .talent_card_name {
	color: #111;
}
.sec_white .talent_card_desc {
	color: rgba(0,0,0,0.6);
}
.sec_white .talent_card_links a {
	color: rgba(0,0,0,0.45);
	border-color: rgba(0,0,0,0.2);
}
.sec_white .talent_card_links a:hover {
	color: #cc9900;
	border-color: #cc9900;
}
/* 白背景上のcard_grid内result_cardはそのまま暗く */
.sec_white .result_card img {
	filter: brightness(0.55);
}

/* page_hero 白背景バリアント（不要ならそのまま） */
.page_content_white {
	background: #fff;
	padding: 100px 8% 140px;
	width: 100%;
}
.page_content_white .sec_label { color: #9a7a32; }
.page_content_white .sec_label::before { background: #9a7a32; }
.page_content_white .sec_title { color: #111; }
.page_content_white .info_table th { color: #9a7a32; }
.page_content_white .info_table td { color: rgba(0,0,0,0.7); }
.page_content_white .info_table th,
.page_content_white .info_table td { border-bottom-color: rgba(0,0,0,0.1); }
.page_content_white p { color: rgba(0,0,0,0.65); }
.page_content_white .page_content_inner { max-width: 1100px; margin: 0 auto; }

/* 白背景上の取引先グリッド */
.sec_white .clients_grid {
	border-color: rgba(0,0,0,0.12);
}
.sec_white .client_item {
	background: #f8f8f8;
	color: rgba(0,0,0,0.75);
	border-bottom-color: transparent;
}
.sec_white .client_item:hover {
	background: #f0f0f0;
	color: #9a7a32;
	border-bottom-color: #cc9900;
}

/* 白背景上のstrength_card */
.sec_white .strength_card {
	background: #f5f5f5;
	border-top-color: #cc9900;
}
.sec_white .strength_num {
	color: rgba(204,153,0,0.2);
}
.sec_white .strength_card h4 {
	color: #9a7a32;
}
.sec_white .strength_card p {
	color: rgba(0,0,0,0.58);
}

/* 白背景上のinfo_table（about全体） */
.sec_white .info_table th { color: #9a7a32; }
.sec_white .info_table td { color: rgba(0,0,0,0.72); }
.sec_white .info_table th,
.sec_white .info_table td { border-bottom-color: rgba(0,0,0,0.1); }

/* 白背景上のsec_lead */
.sec_white p:not([class]) {
	color: rgba(0,0,0,0.65);
}
.sec_white .artist_showcase .artist_boys_card_dark p {
	color: rgba(255,255,255,0.65);
}
.sec_white .artist_showcase .artist_boys_card_dark .info_table th {
	color: #cc9900;
}
.sec_white .artist_showcase .artist_boys_card_dark .info_table td {
	color: rgba(255,255,255,0.65);
}
.sec_white .artist_showcase .artist_boys_card_dark .info_table th,
.sec_white .artist_showcase .artist_boys_card_dark .info_table td {
	border-bottom-color: rgba(255,255,255,0.1);
}

/* page_content_white 上のinfo_table */
.page_content_white .info_table th { color: #9a7a32; }
.page_content_white .info_table td { color: rgba(0,0,0,0.72); }
.page_content_white .info_table th,
.page_content_white .info_table td { border-bottom-color: rgba(0,0,0,0.1); }
.page_content_white .sec_label::before { background: #9a7a32; }

/* contact白背景上のリスト */
.page_content_white ul li[style*="background:#111"] {
	background: #f2f2f2 !important;
	color: rgba(0,0,0,0.72) !important;
}

/* index.html のsection用（layout.cssのsectionスタイルを上書き） */
section.sec_white {
	background: #fff;
}
section.sec_dark {
	background: #000;
}

/* sec_dark: 黒背景（page_section用） */
.page_section.sec_dark {
	background: #0d0d0d;
}
/* sec_offwhite: 薄いグレー（Clientsなど） */
.page_section.sec_offwhite,
section.sec_offwhite {
	background: #f7f7f7;
}
/* sec_darkのテキストは白系を維持（デフォルト） */
.page_section.sec_dark .sec_title { color: #fff; }
.page_section.sec_dark .sec_label { color: #cc9900; }
.page_section.sec_dark .sec_lead  { color: rgba(255,255,255,0.62); }

/* ─── TOPページ 事業内容セクション ─── */
#top_lead {
  padding: 80px 8%;
  background: #000;
}
.top_lead_inner {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

/* リスト */
.top_lead_list {
  list-style: none;
  padding: 0;
  margin: 40px auto 0;
  max-width: 640px;
  text-align: left;
}
.top_lead_list li {
  font-size: 88%;
  color: rgba(255,255,255,0.72);
  line-height: 1.85;
  padding: 13px 0 13px 1.4em;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  position: relative;
}
.top_lead_list li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: #cc9900;
  font-family: 'Roboto', sans-serif;
}
.top_lead_list li:first-child {
  border-top: 1px solid rgba(255,255,255,0.07);
}

/* SP対応 */
@media screen and (max-width: 767px) {
  #top_lead { padding: 60px 6%; }
  .top_lead_inner {
    grid-template-columns: 1fr;
    gap: 32px 0;
  }
  .top_lead_heading { position: static; }
  .top_lead_title { font-size: 160%; }
  .top_lead_list li { font-size: 84%; }
}

/* ═══════════════════════════════════════════════
   NEWS（WordPress化対象エリア）
   ─────────────────────────────────────────────
   WordPress化時に置き換える範囲：
   - #top_news内のul.news_index_list
   - news.html内のul.news_list
   - 各記事ページのdiv.news_article
   ═══════════════════════════════════════════════ */

/* ── TOP NEWS エリア ── */
#top_news {
  background: #000;
  padding: 80px 8% 100px;
}
.top_news_inner {
  max-width: 900px;
  margin: 0 auto;
}
.top_news_header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 40px;
}
.top_news_header .top_ti {
  margin-bottom: 0;
}

/* ── NEWS 共通リスト ── */
.news_index_list,
.news_list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.news_index_item,
.news_list_item {
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.news_index_item:first-child,
.news_list_item:first-child {
  border-top: 1px solid rgba(255,255,255,0.08);
}
.news_list_link {
  display: flex;
  align-items: baseline;
  gap: 20px;
  padding: 18px 0;
  color: inherit !important;
  text-decoration: none !important;
  transition: opacity 0.3s;
  flex-wrap: wrap;
}
.news_list_link:hover {
  opacity: 0.65;
}
.news_list_date {
  font-family: 'Roboto', sans-serif;
  font-size: 78%;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.08em;
  white-space: nowrap;
  flex-shrink: 0;
}
.news_list_cat {
  font-family: 'Roboto', sans-serif;
  font-size: 72%;
  color: #cc9900;
  letter-spacing: 0.12em;
  border: 1px solid rgba(204,153,0,0.4);
  padding: 2px 10px;
  white-space: nowrap;
  flex-shrink: 0;
}
.news_list_title {
  font-size: 88%;
  color: rgba(255,255,255,0.82);
  line-height: 1.7;
}

/* ── 一覧ページ（白背景）── */
.sec_white .news_list_item {
  border-bottom-color: rgba(0,0,0,0.09);
}
.sec_white .news_list_item:first-child {
  border-top-color: rgba(0,0,0,0.09);
}
.sec_white .news_list_date {
  color: rgba(0,0,0,0.4);
}
.sec_white .news_list_title {
  color: rgba(0,0,0,0.78);
}

/* ── 記事詳細 ── */
.news_article {
  max-width: 740px;
  margin: 0 auto;
  padding-bottom: 80px;
}
.news_article_meta {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 40px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
}
.news_article_meta .news_list_date {
  color: rgba(0,0,0,0.4);
}
.news_article_body {
  font-size: 92%;
  color: rgba(0,0,0,0.72);
  line-height: 2.1;
}
.news_article_body p {
  margin-bottom: 1.6em;
}

/* ── ページャー ── */
.news_pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-top: 48px;
  border-top: 1px solid rgba(0,0,0,0.1);
  flex-wrap: wrap;
}
.news_pager_link {
  font-size: 82%;
  color: rgba(0,0,0,0.55) !important;
  text-decoration: none !important;
  transition: color 0.3s;
  max-width: 280px;
  line-height: 1.6;
}
.news_pager_link:hover {
  color: #cc9900 !important;
  opacity: 1;
}
.news_pager_index {
  font-family: 'Roboto', sans-serif;
  font-size: 80%;
  letter-spacing: 0.1em;
  color: #cc9900 !important;
  border: 1px solid rgba(204,153,0,0.5);
  padding: 8px 24px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: all 0.3s;
}
.news_pager_index:hover {
  background: #cc9900;
  color: #000 !important;
  opacity: 1;
}

/* SP対応 */
@media screen and (max-width: 767px) {
  #top_news { padding: 60px 6% 80px; }
  .top_news_header { flex-direction: column; gap: 12px; }
  .news_list_link { gap: 10px; }
  .news_pager { flex-direction: column; align-items: center; text-align: center; }
  .news_pager_link { max-width: 100%; }
}

/* ════════════════════════════════════════════
   NEWS — トップページ
   ════════════════════════════════════════════ */
#top_news {
  background: #0a0a0a;
  padding: 100px 8%;
  text-align: center;
}
.top_news_inner {
  max-width: 760px;
  margin: 0 auto;
}
.top_news_heading {
  margin-bottom: 48px;
}
.top_news_list {
  display: flex;
  flex-direction: column;
  gap: 0;
  text-align: left;
}

/* ニュースリスト行（トップ） */
a.news_item {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  text-decoration: none !important;
  color: inherit;
  transition: opacity 0.3s;
}
a.news_item:first-child {
  border-top: 1px solid rgba(255,255,255,0.07);
}
a.news_item:hover { opacity: 0.65; }

.news_item_date {
  font-family: 'Roboto', sans-serif;
  font-size: 78%;
  color: rgba(255,255,255,0.4);
  letter-spacing: 0.08em;
  white-space: nowrap;
  min-width: 90px;
}
.news_item_title {
  font-size: 88%;
  color: rgba(255,255,255,0.82);
  line-height: 1.6;
}
.top_news_more {
  margin-top: 36px;
}

/* カテゴリバッジ */
.news_cat {
  font-family: 'Roboto', sans-serif;
  font-size: 68%;
  font-weight: 500;
  letter-spacing: 0.12em;
  padding: 3px 10px;
  white-space: nowrap;
  border: 1px solid;
}
.news_cat_news        { color: #cc9900; border-color: #cc9900; }
.news_cat_information { color: #7cb8d4; border-color: #7cb8d4; }
.news_cat_release     { color: #a882c8; border-color: #a882c8; }

/* ════════════════════════════════════════════
   NEWS — 一覧ページ（news.html）
   ════════════════════════════════════════════ */
.news_archive {
  max-width: 980px;
  margin: 48px auto 0;
}

.news_summary {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 36px;
  padding: 46px 0 50px;
  border-top: 1px solid rgba(0,0,0,0.09);
  text-align: left;
}
.news_summary:first-child {
  border-top: none;
  padding-top: 0;
}
.news_summary_thumb {
  align-self: start;
  overflow: hidden;
  background: #f6f6f6;
}
.news_summary_thumb img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  filter: brightness(0.96);
}
.news_summary_thumb_pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  background: transparent;
}
.news_summary_thumb_pair img {
  aspect-ratio: 2 / 3;
}
.news_summary_body {
  padding-top: 2px;
  min-width: 0;
  max-width: 100%;
}
.news_summary_meta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.news_summary_date {
  font-family: 'Roboto', sans-serif;
  font-size: 165%;
  font-weight: 400;
  color: #111;
  letter-spacing: 0.03em;
  line-height: 1.2;
}
.news_date {
  font-family: 'Roboto', sans-serif;
  font-size: 78%;
  color: #999;
  letter-spacing: 0.08em;
}
/* 一覧ページのカテゴリバッジは黒文字系 */
.sec_white .news_cat_news        { color: #9a7a32; border-color: #9a7a32; }
.sec_white .news_cat_information { color: #4a90b8; border-color: #4a90b8; }
.sec_white .news_cat_release     { color: #7a5a9a; border-color: #7a5a9a; }

.news_summary_title {
  font-family: 'Roboto', sans-serif;
  font-size: 108%;
  font-weight: 500;
  color: #111;
  line-height: 1.6;
  margin: 0 0 18px;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-all;
  line-break: anywhere;
}
.news_summary_text {
  font-size: 92%;
  color: rgba(0,0,0,0.72);
  line-height: 2.05;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-all;
  line-break: anywhere;
}
.news_summary_text p {
  margin-bottom: 1em;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-all;
  line-break: anywhere;
}
.news_summary_text p:last-child {
  margin-bottom: 0;
}

/* ════════════════════════════════════════════
   NEWS — 記事詳細ページ
   ════════════════════════════════════════════ */
.page_hero_news {
  padding-bottom: 60px;
}
.page_hero_post_title {
  font-family: 'Roboto', sans-serif;
  font-size: 200%;
  font-weight: 500;
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.03em;
  max-width: 760px;
}

.post_wrap {
  background: #fff;
  max-width: 820px;
  margin: 0 auto;
  padding: 80px 8% 100px;
}

.post_thumb {
  margin-bottom: 48px;
  overflow: hidden;
}
.post_thumb img {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  display: block;
}

.post_meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.post_meta .news_date { color: #999; }
.post_meta .news_cat_news        { color: #9a7a32; border-color: #9a7a32; }
.post_meta .news_cat_information { color: #4a90b8; border-color: #4a90b8; }
.post_meta .news_cat_release     { color: #7a5a9a; border-color: #7a5a9a; }

.post_title {
  font-family: 'Roboto', sans-serif;
  font-size: 150%;
  font-weight: 500;
  color: #111;
  line-height: 1.5;
  margin-bottom: 40px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e0e0e0;
}

/* 記事本文 */
.post_content {
  font-size: 92%;
  color: #444;
  line-height: 2.1;
}
.post_content p  { margin-bottom: 1.6em; }
.post_content h2 {
  font-family: 'Roboto', sans-serif;
  font-size: 110%;
  font-weight: 500;
  color: #111;
  margin: 2em 0 0.8em;
  padding-left: 12px;
  border-left: 3px solid #cc9900;
}
.post_content ul {
  padding-left: 1.4em;
  margin-bottom: 1.6em;
}
.post_content ul li { margin-bottom: 0.5em; }

/* ダミー注記 */
.post_content p:first-child {
  background: #fff8e1;
  border-left: 4px solid #cc9900;
  padding: 12px 16px;
  font-size: 85%;
  color: #9a7a32;
  margin-bottom: 2em;
}

/* 前後記事ナビ */
.post_nav {
  margin-top: 64px;
  padding-top: 32px;
  border-top: 1px solid #e8e8e8;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
}
.post_nav_prev { text-align: left; }
.post_nav_next { text-align: right; }
.post_nav_link {
  font-size: 82%;
  color: #555 !important;
  line-height: 1.5;
  display: inline-block;
  transition: color 0.3s;
  text-decoration: none !important;
}
.post_nav_link:hover { color: #cc9900 !important; opacity: 1; }
.post_nav_disabled { font-size: 82%; color: #ccc; }
.post_nav_list {
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-size: 78%;
  color: #cc9900 !important;
  border: 1px solid #cc9900;
  padding: 8px 20px;
  letter-spacing: 0.1em;
  white-space: nowrap;
  transition: all 0.3s;
  text-decoration: none !important;
}
.post_nav_list:hover {
  background: #cc9900;
  color: #000 !important;
  opacity: 1;
}

/* ─── SP 対応 ─── */
@media screen and (max-width: 767px) {
  #top_news { padding: 70px 6%; text-align: center; }
  .top_news_inner { max-width: 100%; }
  .top_news_heading { margin-bottom: 32px; }
  .top_news_list { text-align: left; }
  a.news_item { flex-wrap: wrap; gap: 8px; }
  .news_item_title { width: 100%; }

  .news_summary {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    padding: 34px 0 38px;
    min-width: 0;
  }
  .news_summary_thumb {
    width: 100%;
    max-width: 320px;
  }
  .news_summary_body {
    width: 100%;
    max-width: 88vw;
  }
  .news_summary_date {
    font-size: 132%;
  }
  .news_summary_title {
    font-size: 100%;
  }
  .news_summary_text {
    font-size: 86%;
  }

  .post_wrap { padding: 48px 6% 80px; }
  .page_hero_post_title { font-size: 150%; }
  .post_nav { grid-template-columns: 1fr; gap: 12px; }
  .post_nav_prev, .post_nav_next { text-align: center; }
  .post_nav_list { display: block; text-align: center; }
}
