/* Delight 修正（2026/11/09）：外注版のデザインに、代表の修正指示を重ねる。最後に読み込む。 */

/* 日本語の改行を文節単位にして、変な位置での改行を防ぐ（対応ブラウザのみ） */
body { word-break: auto-phrase; line-break: strict; }

/* ヘッダーの「代理店募集」ボタンを紫に */
.marquee-header .desktop-nav a[href="agency.html"] {
  background: linear-gradient(120deg, #7b5cc4, #4a3189);
  color: #f4ecff;
  border-color: #cdb8ff;
}
.marquee-header .desktop-nav a[href="agency.html"]:is(:hover, :focus-visible) { background: linear-gradient(120deg, #8d6fd6, #563a9c); color: #fff; }
.mobile-menu a[href="agency.html"] { color: #cdb8ff; }

/* 代理店ページ：ヒーローの数字とボタン */
.agency-perks { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 440px; }
.agency-perks div { background: #f1eaff; color: #2b1d55; border-color: #a58ce0; }
.agency-perks dd.perk-detail { font-size: clamp(18px, 2vw, 24px); color: #4a3189; }
.agency-cta.button, .button.agency-cta { background: linear-gradient(120deg, #7b5cc4, #4a3189) !important; color: #fff !important; border-color: #cdb8ff !important; }
.chapter-hero .agency-perks + .button-row { margin-top: 22px; }

/* 活動スタイルの注記：右側に余白ができないよう全幅に */
#styles .wrap > .note { max-width: none; width: 100%; box-sizing: border-box; }

/* 4つの強み：コミュニティのアイコン */
.community-facts dt { display: flex; align-items: center; gap: 10px; }
.community-icon { width: 34px; height: 34px; flex: none; color: #e6b660; padding: 5px; border: 1px solid currentColor; border-radius: 50%; box-sizing: border-box; }

/* 声だけ配信 */
.voice-callout { font-size: clamp(18px, 2vw, 23px); line-height: 1.6; margin-bottom: .6em; }
.voice-callout strong { background: linear-gradient(transparent 62%, #e6b66055 62%); }
.voice-switch { margin: 26px 0 0; line-height: 1.9; }

/* 応募資格：上段に資格、下段に応募できない可能性がある方 */
.requirements-stack { display: grid; gap: 26px; }
.requirements-block { padding: 26px 28px; border: 1px solid #d8c79d66; background: #ffffff0a; }
.requirements-welcome { font-weight: 800; font-size: 18px; margin: 0 0 14px; }
.requirements-pc { margin-top: 14px; }
.requirements-block h3 { margin-top: 0; }
.requirements-alert { margin: 18px 0 0; padding: 14px 18px; border: 2px solid #e8574a; background: #e8574a1f; color: inherit; font-size: 16px; line-height: 1.7; }

/* TikTok LIVE と ABOUT US を上下2段に */
.context-rows { display: grid; gap: 34px; margin-top: 30px; }
.context-row { max-width: none; padding-top: 26px; border-top: 1px dashed #d8c79d55; }
.agency-merit-link { display: inline-flex; margin: 18px 0 6px; }

/* 気になったら、まずは気軽に聞いてください（現行の形式） */
.contact-hub { display: grid; gap: 18px; margin-top: 18px; }
.contact-hub-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-hub-item { padding: 22px 24px; border: 1px solid #d8c79d66; background: #ffffff0d; display: grid; gap: 12px; align-content: start; }
.contact-hub-label { margin: 0; font-weight: 800; font-size: 15px; }
.contact-hub-main { font-size: 18px; font-weight: 700; word-break: break-all; }
.contact-hub-item .button { justify-self: start; }
.contact-hub-note { display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: auto auto; column-gap: 16px; row-gap: 4px; align-items: center; padding: 18px 22px; border: 1px solid #41c9b4; background: #41c9b414; color: inherit; text-decoration: none; }
.contact-hub-note-tag { grid-row: 1 / 3; font: 700 15px/1 "Barlow Condensed", sans-serif; letter-spacing: .08em; padding: 8px 12px; background: #41c9b4; color: #062a2a; }
.contact-hub-note strong { font-size: 16px; }
.contact-hub-note span:not(.contact-hub-note-tag) { grid-column: 2; font-size: 13px; opacity: .85; }
.contact-hub-note b { grid-row: 1 / 3; grid-column: 3; }
.contact-hub-sns { display: flex; flex-wrap: wrap; gap: 12px; }
.contact-hub-sns a { padding: 10px 16px; border: 1px solid #d8c79d66; text-decoration: none; color: inherit; font-size: 14px; }
@media (max-width: 760px) { .contact-hub-row { grid-template-columns: 1fr; } }

/* Vライバー：向いている人を 4個・3個 の2段に */
@media (min-width: 900px) {
  #your-voice .story-cards { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; }
  #your-voice .story-cards > article { grid-column: span 3; }
  #your-voice .story-cards > article:nth-child(n+5) { grid-column: span 4; }
}

/* Vライバー：デビューカードの項目名が変な位置で改行しないように */
.debut-terms dt { white-space: nowrap; }

/* 代理店：はじめの疑問を4つ横並びに */
@media (min-width: 1000px) {
  #partner-worries .story-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  #partner-worries .story-cards > article { grid-column: auto; }
}

/* 代理店：比較表を中央寄せ・大きめの文字に */
#partner-comparison .table-scroll { display: flex; justify-content: center; }
#partner-comparison .comparison-table { margin-inline: auto; font-size: 16px; }
#partner-comparison .comparison-table :is(th, td) { text-align: center; vertical-align: middle; font-size: 16px; line-height: 1.6; }
#partner-comparison .comparison-table tbody th { white-space: nowrap; }
#partner-comparison .comparison-table caption { font-size: 18px; }
#partner-comparison .source-note { text-align: center; }

/* 代理店：契約までの流れを中央寄せに */
@media (min-width: 761px) {
  #partner-flow .partner-route li { padding: 0 10px; text-align: center; }
  #partner-flow .partner-route li::before { margin-inline: auto; }
  #partner-flow .partner-route li:not(:last-child)::after { left: calc(50% + 22px); right: calc(-50% + 22px); }
  #partner-flow .partner-route h3 { word-break: keep-all; }
}

/* ごちゃまぜについて：代表メッセージ（左）と代表略歴（右） */
.founder-columns { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.founder-letter-title { font-size: clamp(22px, 2.3vw, 30px); line-height: 1.6; margin: 0 0 1.2em; }
.founder-sign { margin-top: 1.6em; }
.founder-history { position: sticky; top: 110px; padding: 28px 28px 22px; border: 1px solid #d8b77a; background: #08281bcc; color: #fff2d5; box-shadow: 10px 12px 0 #00130d55; }
.founder-history h3 { margin: 6px 0 2px; font-size: 24px; }
.founder-history-name { margin: 0 0 18px; color: #e6c98d; font-weight: 700; }
.founder-timeline { list-style: none; margin: 0; padding: 0; border-left: 1px solid #d8b77a88; }
.founder-timeline li { position: relative; display: grid; grid-template-columns: 58px 1fr; gap: 10px; padding: 0 0 18px 18px; }
.founder-timeline li::before { content: ''; position: absolute; left: -5px; top: 6px; width: 9px; height: 9px; border-radius: 50%; background: #e6b660; }
.founder-timeline span { font: 700 18px/1.3 "Barlow Condensed", sans-serif; color: #e6b660; letter-spacing: .04em; }
.founder-timeline strong { display: block; font-size: 15px; line-height: 1.5; }
.founder-timeline p { margin: 3px 0 0; font-size: 13px; line-height: 1.7; opacity: .85; }
@media (max-width: 900px) {
  .founder-columns { grid-template-columns: 1fr; }
  .founder-history { position: static; }
}

/* TikTok：利用者数の増加 */
.stat-comparison .stat-diff b { color: #f5c451; }

/* プライバシーポリシー：制定日 */
.policy-date { margin-top: 2em; text-align: right; }
.content-section .prose .voice-callout { font-size: clamp(18px, 2vw, 23px); line-height: 1.6; }
.content-section .prose.context-row { max-width: none; }
.requirements-block .requirements-alert, .requirements-block .note { max-width: none; }
[data-page="about"] #message .founder-letter .founder-letter-title { color: #3a2a17; }
.inq-sidebar h2 { font-size: clamp(26px, 2.5vw, 38px); word-break: keep-all; }

/* ヘッダー（ロゴ〜お問い合わせ）をスクロールしても上部に固定 */
:root { --night-header-offset: var(--site-header-height, 88px); }
.site-header, .site-header.marquee-header { position: fixed !important; top: 0; left: 0; right: 0; transition: background-color .25s ease, box-shadow .25s ease; }
.site-header.is-scrolled, .site-header.marquee-header.is-scrolled { background: #031712f2; box-shadow: 0 6px 18px #0006; backdrop-filter: blur(8px); }
.home-page .show-map { top: var(--site-header-height, 88px); }
html { scroll-padding-top: calc(var(--site-header-height, 88px) + 70px); }

/* V：「この一番波に〜」の改行 */
.topics-invite-lead span { display: inline-block; }

/* 募集ページの数字（0円・100％）をトップと同じ書体に */
.audition-perks dd { font: 600 clamp(36px, 4.2vw, 58px)/1.1 Barlow, sans-serif; letter-spacing: -.02em; }
.audition-perks dd span { font-family: Noto, sans-serif; font-size: .38em; margin-left: 4px; letter-spacing: 0; }
.audition-perks dd.perk-detail { font: 800 clamp(16px, 1.8vw, 24px)/1.5 Noto, sans-serif; letter-spacing: .02em; }
.audition-perks.perks-two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 520px; }
.audition-perks.perks-two + .audition-routes { margin-top: 20px; }


/* TikTokページ下部：Vライバー募集のカード画像を枠いっぱいに */
.invitation-links a:nth-child(2) img { object-fit: cover; object-position: center 45%; background: none; }

/* Vライバー：デビュー方法のイラスト（ネオンアイコンから差し替え） */
.debut-card .debut-sign { height: auto; aspect-ratio: 2 / 1; object-fit: cover; background: #081f20; }
@media (max-width: 600px) {
  .debut-card .debut-sign { height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 4px; }
}

/* ===== フッター上部：お問い合わせ・最新情報（全ページ共通・夜のサーカスの色味） ===== */
.site-footer{padding-top:0!important}
.site-footer>.wrap{padding-top:48px}
.home-page .home-footer>.wrap{padding-top:clamp(50px,7vw,98px)}
.footer-contact{position:relative;background:radial-gradient(ellipse at 50% 0,#164a46 0,#0b2a26 55%,#081f24 100%);color:#f9efd5;padding:clamp(48px,6vw,80px) 0;border-top:1px solid #ae905766;border-bottom:2px solid #ae9057}
.footer-contact .wrap{display:grid;gap:18px}
.footer-contact-eyebrow{margin:0;font:700 13px/1 "Barlow Condensed",Barlow,sans-serif;letter-spacing:.2em;color:#f4cc82;text-align:center}
.footer-contact h2{margin:8px 0 16px;text-align:center;font-family:MarqueeMincho,serif;font-size:clamp(24px,2.8vw,36px);color:#ffe9b9;text-shadow:0 0 18px #ffc05240}
.fc-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fc-card{background:#ffffff08;border:1px solid #ae905780;border-radius:14px;padding:26px 24px 30px;display:grid;justify-items:center;gap:20px;text-align:center;transition:border-color .2s,background .2s}
.fc-card:hover{border-color:#f4cc82;background:#ffffff0f}
.fc-label{margin:0;font-weight:800;font-size:16px;color:#ffe9b9}
.fc-icon{width:58px;height:58px;fill:none;stroke:#f4cc82;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px #ffc05255)}
.fc-link{font-weight:700;font-size:15px;color:#f9efd5;text-decoration:underline;text-decoration-color:#ae9057;text-underline-offset:5px;word-break:break-all}
.fc-link:hover{color:#70efdf}
.fc-line{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;padding:20px 28px 20px 20px;border-radius:14px;background:#ffffff08;border:1px solid #06c755aa;color:#f9efd5;text-decoration:none;box-shadow:inset 4px 0 0 #06c755;transition:background .2s,transform .2s}
.fc-line:hover{background:#06c75514;transform:translateY(-2px)}
.fc-line-qr{width:124px;height:124px;background:#fff;border-radius:10px;padding:7px;display:block}
.fc-line-text{display:grid;gap:8px}
.fc-line-tag{justify-self:start;font-size:12px;font-weight:800;letter-spacing:.06em;background:#06c755;color:#fff;border-radius:999px;padding:4px 12px}
.fc-line-text strong{font-size:clamp(18px,2vw,22px);line-height:1.55;color:#ffe9b9}
.fc-line-text>span:last-child{font-size:13px;color:#d9d2bd}
.fc-line-button{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;background:#06c755;color:#fff;font-weight:800;font-size:15px;border-radius:999px;padding:14px 24px}
.fc-row-sub{grid-template-columns:1.55fr 1fr;align-items:stretch}
.fc-note{display:flex;align-items:center;gap:22px;padding:22px 26px;border-radius:14px;background:#ffffff08;border:1px solid #ae905780;color:#f9efd5;text-decoration:none;transition:border-color .2s,transform .2s}
.fc-note:hover{border-color:#f4cc82;transform:translateY(-2px)}
.fc-note-logo{flex:none;width:84px;height:84px;border-radius:14px;background:#fff9ec;display:grid;place-items:center}
.fc-note-logo svg{width:54px;height:54px;fill:#111}
.fc-note-text{display:grid;gap:6px}
.fc-note-tag{font:700 14px/1 Barlow,sans-serif;color:#f4cc82;letter-spacing:.06em}
.fc-note-text strong{font-size:clamp(18px,1.9vw,21px);color:#ffe9b9}
.fc-note-text>span:last-child{font-size:13px;color:#d9d2bd}
.fc-sns{display:grid;gap:14px;align-content:center}
.fc-sns a{display:flex;align-items:center;gap:12px;padding:17px 24px;border:1px solid #ae9057;border-radius:999px;background:transparent;color:#f9efd5;font-weight:700;font-size:15px;text-decoration:none;transition:background .2s,color .2s}
.fc-sns a:hover{background:#ffe0a0;color:#123032;border-color:#ffe0a0}
.fc-sns svg{width:21px;height:21px;fill:currentColor;flex:none}
@media(max-width:860px){
  .fc-row,.fc-row-sub{grid-template-columns:1fr}
  .fc-line{grid-template-columns:1fr;justify-items:start;gap:16px;padding:22px}
  .fc-line-qr{display:none}
  .fc-line-button{justify-self:stretch;justify-content:center}
  .fc-br{display:none}
  .fc-note{padding:20px;gap:16px}
  .fc-note-logo{width:68px;height:68px}
  .fc-note-logo svg{width:44px;height:44px}
}

/* ===== ヘッダー常設「応募する」ボタン ===== */
.marquee-header .desktop-nav .nav-apply{background:linear-gradient(120deg,#ffe9b0,#e9b85c);color:#2a1a06;min-width:118px;padding-inline:20px!important;text-shadow:none}
.marquee-header .desktop-nav .nav-apply:before{border-color:#7a5520;box-shadow:inset 0 0 0 1px #fff3d0aa}
.marquee-header .desktop-nav .nav-apply:is(:hover,:focus-visible){background:linear-gradient(120deg,#fff3d0,#ffd27a);color:#2a1a06}
.mobile-menu .mobile-menu-apply{display:block;margin-top:14px;padding:14px 18px;text-align:center;background:#ffe0a0;color:#123032!important;font-weight:800;border-radius:2px}
@media(max-width:1200px){.marquee-header .desktop-nav .nav-apply{min-width:96px;padding-inline:12px!important}}
@media(min-width:851px) and (max-width:950px){.marquee-header .desktop-nav .nav-apply{min-width:80px;padding-inline:8px!important}}
/* 応募ボタン追加でナビが入りきらない幅（851〜1080px）は、スマホと同じMENUボタン式に切り替える */
@media(min-width:851px) and (max-width:1080px){
  .desktop-nav{display:none!important}
  .menu-toggle{display:block}
  .mobile-menu{position:fixed;inset:var(--site-header-height) 0 0;padding:35px var(--gutter) 100px;z-index:29;overflow:auto;display:flex;flex-direction:column;gap:0}
  .mobile-menu[hidden]{display:none}
  .mobile-menu a{padding:18px 0;border-bottom:1px solid var(--line);font-size:19px;font-weight:700;font-family:MarqueeMincho,Noto,serif;font-synthesis:none}
  .mobile-menu a[aria-current="page"]{color:#ffe0a3;border-bottom-color:#d4b374}
  .mobile-menu p{font-size:12px;color:var(--gold);margin-top:24px}
  .menu-open .site-header.marquee-header{background:#041c17}
}
.mobile-menu a.mobile-menu-apply{border-bottom:0}

/* カード背景の色ムラをなくす（上の線の色だけで区別する） */
.inner-page .option-card,.inner-page .option-card:nth-child(n){background:rgba(22,57,49,.6)}

/* 見出し用の明朝（MarqueeMincho）に足りなかった字を補う（応・【】・知・報・情・新・最・っ・と・ォ） */
@font-face{font-family:MarqueeMincho;src:url('fonts/marquee-mincho-extra.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+5FDC,U+3010,U+3011,U+77E5,U+5831,U+60C5,U+65B0,U+6700,U+3063,U+3068,U+30A9}
/* 「もっと知る」で、お問い合わせ欄ではなく「ごちゃまぜをもっと知る」の見出しの位置に止まるように */
.home-page #more{scroll-margin-top:calc(12px - clamp(50px,7vw,98px))}
/* ページ内メニュー（サポート〜よくある質問）を中央そろえに（入りきらない幅では従来どおり左から横スクロール） */
.inner-page .page-jump .wrap{justify-content:safe center}
/* トップ：「もっと知る」の見出しがメニューのすぐ下まで上がるよう、最後の区画に高さを確保 */

/* トップのフッター：「もっと知る」→ お問い合わせ・最新情報 → コピーライトの順 */
.home-page .home-footer>.wrap#more{padding-bottom:clamp(44px,6vw,72px)}
.home-page .home-footer .footer-contact{border-bottom:0}
.home-page .home-footer>.home-footer-bottom{padding-top:28px}
.home-page .home-footer>.home-footer-bottom .footer-bottom{margin-top:0}

/* 事業図（ごちゃまぜについて）：スマホでも3事業を横並びに */
@media(max-width:760px){
  [data-page="about"] #business .business-diagram{padding:8px 0 20px}
  [data-page="about"] #business .business-diagram>figcaption{width:auto;max-width:300px;padding:14px 18px;margin:0 auto 34px;font-size:18px}
  [data-page="about"] #business .business-diagram>figcaption::after{height:34px}
  [data-page="about"] #business .business-branches{grid-template-columns:1fr 1.22fr 1fr!important;gap:8px!important;align-items:stretch;border-top:1px solid #e7c98d9e!important;padding-top:26px!important}
  [data-page="about"] #business .business-branches article{padding:24px 7px 16px!important;--about-lean:0deg!important;box-shadow:4px 5px 0 #00191766,inset 0 0 0 3px #12322b,inset 0 0 0 4px #d6bd7e42}
  [data-page="about"] #business .business-branches .business-main{box-shadow:4px 5px 0 #00191766,inset 0 0 0 3px #f5e9ca,inset 0 0 0 4px #9b773766}
  [data-page="about"] #business .business-branches article::before{height:26px!important;top:-26px!important}
  [data-page="about"] #business .business-branches article::after{top:9px;width:5px;height:5px;left:calc(50% - 3px)}
  [data-page="about"] #business .business-branches .eyebrow{font-size:8px;letter-spacing:.04em;line-height:1.3;margin:0}
  [data-page="about"] #business .business-branches h3{font-size:13px;line-height:1.45;margin:8px 0}
  [data-page="about"] #business .business-main>strong{font-size:17px;margin:8px 0;white-space:nowrap}
  [data-page="about"] #business .business-branches p:not(.eyebrow){font-size:10px;line-height:1.6;margin:0}
}
@media(max-width:360px){
  [data-page="about"] #business .business-branches h3{font-size:12px}
  [data-page="about"] #business .business-main>strong{font-size:15px}
}
[data-page="about"] #business .business-intro{max-width:910px;margin:0 auto 44px}
[data-page="about"] #business .business-intro strong{color:#ffe0a0}
[data-page="about"] #business .business-diagram>figcaption small{display:block;margin-top:6px;font-size:12px;font-weight:700;letter-spacing:.04em;color:#5a4320}
@media(max-width:760px){
  [data-page="about"] #business .business-branches{grid-template-columns:minmax(0,1fr) minmax(0,1.22fr) minmax(0,1fr)!important}
  [data-page="about"] #business .business-branches article{min-width:0}
  [data-page="about"] #business .business-intro{margin-bottom:30px}
  [data-page="about"] #business .business-diagram>figcaption small{font-size:10.5px}
}
@media(max-width:760px){
  [data-page="about"] #business .business-branches :is(h3,p){word-break:keep-all;overflow-wrap:anywhere}
}

/* 今いるページをメニューではっきり示す */
.mobile-menu a[aria-current="page"]{position:relative;color:#ffe0a3!important;background:linear-gradient(90deg,#ffe0a024,#ffe0a008 70%,transparent);border-left:4px solid #ffe0a0;padding-left:14px!important;padding-right:84px!important}
.mobile-menu a[aria-current="page"]::after{content:'表示中';position:absolute;right:8px;top:50%;transform:translateY(-50%);font:700 11px/1 Noto,sans-serif;letter-spacing:.06em;color:#123032;background:#ffe0a0;border-radius:999px;padding:5px 10px}
.marquee-header .desktop-nav>a[aria-current="page"]{background:#1f4a3f;color:#ffe9b9}
.marquee-header .desktop-nav>a[aria-current="page"]{box-shadow:inset 0 -3px 0 #ffe0a0}
