/* ============================================================
   KAGVYA v2 — theme-kagvya.css
   HANA構造(base.css)を「作り完コピ」した上に被せるダーク化レイヤー。
   HANAの白基調(#fff) → KAGVYA漆黒+赤+金 トンマナ。base.css の後に読み込む。
   ============================================================ */
:root{
  --kg-bg:#070809; --kg-bg2:#0c0d11; --kg-ink:#ECE7DD; --kg-mute:#8a857a;
  --kg-line:rgba(236,231,221,.14); --kg-red:#c41a2e; --kg-red-bright:#ff2030; --kg-gold:#d4a542;
}
/* ---- base surfaces ---- */
html,body{background:var(--kg-bg)!important;color:var(--kg-ink)!important;}
.page{background:var(--kg-bg)!important;color:var(--kg-ink)!important;}
.container-main,.page-main,.main-scroll,.scroll-container{background:transparent!important;}
.main-section,.section-main,.section-header,.main-video,.main-meta,.slide-main,.main-items,.swiper-slide{background:transparent!important;}
body,p,span,small,strong,em,a,h1,h2,h3,h4,li,figcaption,time,mark{color:var(--kg-ink);}
a{color:var(--kg-ink);} a:hover{color:var(--kg-gold);}
/* ---- loading / intro / bg watermark ---- */
/* ★HANA イントロ(金ロゴ被膜)を無効化(ボス指示・レビュー高速化)。本番復帰は display を戻す。 */
.page-loading{background:var(--kg-bg)!important;display:none!important;}
.page-intro{background:var(--kg-bg)!important;display:none!important;}
.page-hana img{opacity:.05;filter:brightness(0) invert(.9);}
/* ---- header ---- */
.page-header{background:transparent!important;mix-blend-mode:normal!important;}
/* gray背景バー(faketype方式)。header は子要素が全 absolute で自身の高さ0 のため
   background-color は見えない → 実体ある ::before バーを敷く。通常は非表示、scroll で fade-in */
.page-header::before{content:"";position:absolute;left:0;top:0;width:100%;
  height:calc(108 * var(--pv));background:#242529!important;
  opacity:0;transition:opacity .35s ease;pointer-events:none;
  box-shadow:0 2px 22px 0 rgba(0,0,0,.5);}
.page-header::after{display:none!important;}
.header-nav a,.header-aside a,.header-link a{color:var(--kg-ink)!important;}
.header-nav a.is-active{color:var(--kg-red)!important;}

/* ---- header: compact sizing (boss指示「もっと小さくコンパクト」) ---- */
/* base.css PC値: nav font 47*pv, li 87*pv, top 50*pv, gap 60*pv (1920で約半分px) を圧縮。
   初期位置(top)は下げめ(52*pv)にして、scroll時に灰色バー中央へ掃ける動きを自然に。 */
.page-header .header-nav{top:calc(52 * var(--pv))!important;transition:top .35s cubic-bezier(.215,.61,.355,1)!important;}
.page-header .header-nav ul{gap:calc(44 * var(--pv))!important;}
.page-header .header-nav ul li{height:calc(60 * var(--pv))!important;transition:height .35s cubic-bezier(.215,.61,.355,1)!important;}
.page-header .header-nav ul li a{font-size:calc(32 * var(--pv))!important;}
.page-header .header-aside{top:calc(52 * var(--pv))!important;transition:top .35s cubic-bezier(.215,.61,.355,1)!important;}
.page-header .header-aside ul li{height:calc(60 * var(--pv))!important;transition:height .35s cubic-bezier(.215,.61,.355,1)!important;}
/* SNS を右端へ寄せる (右上 DEUCEロゴ削除に伴い、 base の right:300*pv → 右端 50*pv) */
@media (min-width:961px){.page-header .header-aside{right:calc(50 * var(--pv))!important;}}

/* ---- header: scroll behavior (faketype.net 移植: 灰色背景バーが付く + 文字/ロゴがバー中央へ掃ける) ---- */
/* faketype 実コード: scrollTop>10 → body.window-scroll → .header{padding-top:1.5em} + background:#252525 + box-shadow
   バー高さ 108*pv(54px@1920) の上下中央に揃える: nav/aside li=48*pv(24px)→top 30*pv で center 27px=バー中央。
   logo は視覚高さ約40px→top 13*pv で center ≈27px。 */
.page-header.is-scrolled::before{opacity:1;}
.page-header.is-scrolled .header-logo{top:calc(13 * var(--pv))!important;scale:.30 .30!important;}
.page-header.is-scrolled .header-nav{top:calc(30 * var(--pv))!important;}
.page-header.is-scrolled .header-nav ul li{height:calc(48 * var(--pv))!important;}
.page-header.is-scrolled .header-aside{top:calc(30 * var(--pv))!important;}
.page-header.is-scrolled .header-aside ul li{height:calc(48 * var(--pv))!important;}
/* SP: バー高さは 828 基準 */
@media (max-width:960px){.page-header::before{height:calc(130 * (100vw / 828));}}
/* ---- global nav overlay (hamburger) ---- */
.page-nav .nav-main{background:var(--kg-bg)!important;}
.page-nav .nav-main::before,.page-nav .nav-main::after{background:var(--kg-bg)!important;}
.page-nav .nav-main a{color:var(--kg-ink)!important;}
.page-nav .nav-main a.is-active{color:var(--kg-red)!important;}
.page-nav .nav-main small{color:var(--kg-mute)!important;}
.nav-button button span{background:var(--kg-ink)!important;}
.nav-button.is-active button span{background:var(--kg-red)!important;}
/* ---- section headings ---- */
.section-header h2 strong,.header-title strong{color:var(--kg-ink)!important;}
.header-view a strong{color:var(--kg-ink)!important;}
.header-view a small,.header-view a em{color:var(--kg-red)!important;}
/* ---- HERO (001.png) ---- */
.main-video{background:var(--kg-bg)!important;}
.video-main{position:relative;overflow:hidden;background:#000!important;}
.video-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;}
.main-video::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 80% at 50% 18%,rgba(7,8,9,0) 40%,rgba(7,8,9,.55) 100%),
             linear-gradient(180deg,rgba(7,8,9,.25),rgba(7,8,9,0) 30%,rgba(7,8,9,.6) 100%);}
.video-info{position:relative;z-index:3;}
.video-info .t{color:var(--kg-ink)!important;letter-spacing:.08em;}
.video-info a{color:var(--kg-gold)!important;border-color:var(--kg-gold)!important;}
/* ---- NEWS ---- */
.section-main--news .items-item{border-color:var(--kg-line)!important;}
.section-main--news .items-item a{color:var(--kg-ink)!important;}
.section-main--news .item-date span{color:var(--kg-mute)!important;}
.section-main--news .item-date span:last-child,
.section-main--news .item-type span{color:var(--kg-red)!important;border-color:var(--kg-red)!important;}
.section-main--news .item-title p{color:var(--kg-ink)!important;}
.section-main--news .items-item:hover{background:rgba(196,26,46,.06)!important;}
/* ---- PROFILE ---- */
.section-main--profile .text-main p{color:var(--kg-ink)!important;}
.section-main--profile figcaption strong,.section-main--profile figcaption span{color:var(--kg-ink)!important;}
/* 背景は figure 要素でなく div に置く。figure要素に置くと、ホバーで figure2のdivが0.33に縮んでも
   figure2要素の背景が背後の figure1(両脇の名前ticker)を覆って隠してしまうため (HANAの肝を阻害) */
.section-main--profile .items-item figure>div{background:var(--kg-bg2)!important;}
.section-main--profile a:hover figcaption strong{color:var(--kg-red)!important;}
/* ---- DISCOGRAPHY ---- */
.section-main--discography figure{background:transparent!important;}
.section-main--discography strong span{color:var(--kg-ink)!important;}
.section-main--discography strong span:nth-child(2){color:var(--kg-gold)!important;}
.section-main--discography figcaption span{color:var(--kg-ink)!important;}
.section-main--discography ul a{color:var(--kg-ink)!important;border-color:var(--kg-line)!important;}
.section-main--discography ul a:hover{color:var(--kg-gold)!important;border-color:var(--kg-gold)!important;}
.section-main--discography ul a em{color:var(--kg-red)!important;}
/* ---- MOVIE ---- */
.section-main--movie figcaption span{color:var(--kg-ink)!important;}
.section-main--movie mark{background:transparent!important;}
/* swiper nav */
.swiper-button-next,.swiper-button-prev{color:var(--kg-red)!important;}
.swiper-button-next::after,.swiper-button-prev::after{color:var(--kg-red)!important;}
/* ---- META ---- */
.main-meta{background:transparent!important;}
.main-date strong{color:var(--kg-ink)!important;} .main-date span{color:var(--kg-gold)!important;}
.main-pagetop a small{color:var(--kg-mute)!important;} .main-pagetop a strong{color:var(--kg-ink)!important;}
/* ---- FOOTER ---- */
.page-footer{background:var(--kg-bg2)!important;border-top:1px solid var(--kg-line);}
.page-footer a{color:var(--kg-ink)!important;} .page-footer a.is-active{color:var(--kg-red)!important;}
.footer-copyright small{color:var(--kg-mute)!important;}
/* ---- film grain ---- */
.page::after{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;
  background-image:url("../img/bg-noise.png");background-size:160px 160px;opacity:.05;mix-blend-mode:overlay;}
.header-aside img{width:18px;height:18px;}
.footer-aside img{width:22px;height:22px;}
.section-main--movie mark img{width:54px;height:54px;}

/* ============================================================
   chanmina.com 式レイアウト (news / video セクション)
   参照: chanmina official-service.css 実値 (html 62.5% = 1rem 10px)
   - section-tit 4.6rem=46px / list margin-left 30% / padding 80px
   - NEWS: 行 padding15px + border-bottom1px / date幅130px15px / tit15px
   - VIDEO: li 45%×2列 gap25px / サムネにtitleオーバーレイ(bold)
   - MORE: 1.5rem=15px / border-bottom 2px
   テキストサイズは chanmina 実値を固定px で踏襲。配置のみ chanmina 式。
   文字アニメは HANA の data-span(タイトル文字割り) + data-intersection(is-insert reveal) を維持。
   ============================================================ */
.cm-section{position:relative!important;padding:80px 0!important;background:var(--kg-bg)!important;}
.cm-section .section-header{position:static!important;display:block!important;width:auto!important;height:auto!important;}
/* 左上の大見出し (data-span 文字アニメ維持)。
   ※HANA base.css の .header-title は padding-left:60px(120*pv) を持つため、left:5% に+60pxされ
     右にズレていた → padding:0 で除去して本家同様ぴったり 5%(96px@1920) に。 */
.cm-section .header-title{position:absolute!important;left:5%!important;top:80px!important;width:22%!important;padding:0!important;z-index:2;}
/* chanmina 実値: font 46px / line-height 25.2px(=コンパクト行box, 行1上揃え) / letter-spacing 1.4px */
.cm-section .header-title h2 strong{font-size:46px!important;line-height:25.2px!important;color:var(--kg-ink)!important;letter-spacing:1.4px;}
/* 左下の MORE */
.cm-section .header-view{position:absolute!important;left:5%!important;right:auto!important;top:auto!important;bottom:80px!important;width:auto!important;padding:0!important;z-index:2;}
.cm-section .header-view a{display:inline-block!important;}
/* chanmina .list__more 実値: font 15px / letter-spacing 1.4px / border-bottom 2px solid(本文色) */
.cm-section .header-view a strong{font-size:15px!important;line-height:1.0!important;color:var(--kg-ink)!important;border-bottom:2px solid var(--kg-ink);padding-bottom:4px;letter-spacing:1.4px;}
.cm-section .header-view a:hover strong{color:var(--kg-gold)!important;border-bottom-color:var(--kg-gold);}
/* 右側コンテンツ */
.cm-section .section-main{margin-left:30%!important;padding-right:5%!important;width:auto!important;min-height:0!important;}
.cm-list{list-style:none;margin:0;padding:0;}

/* ---- NEWS list (date | title | tag, 罫線区切り) ---- */
.cm-list--news .cm-item a{display:flex;flex-wrap:wrap;align-items:baseline;position:relative;overflow:hidden;
  padding:15px 0;border-bottom:1px solid rgba(236,231,221,.16);text-decoration:none;}
.cm-list--news .cm-item:first-child a{padding-top:0;}
/* NEWS hover = HANA 踏襲: ::before グレーオーバーレイ(opacity .1) + date 右スライド + title 太字 */
.cm-list--news .cm-item a::before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;
  background:#626162;opacity:0;transition:opacity .125s linear 0s;pointer-events:none;z-index:0;}
.cm-list--news .cm-item a>span{position:relative;z-index:1;transition:padding .125s cubic-bezier(.215,.61,.355,1) 0s;}
.cm-list--news .cm-item a:hover::before{opacity:.1;}
.cm-list--news .cm-item a:hover .cm-date{padding-left:calc(60 * var(--pv));}
.cm-list--news .cm-item a:hover .cm-tit{font-weight:500;}
/* chanmina NEWS は date + title の2カラム (tag なし) を踏襲 */
.cm-list--news .cm-date{flex:0 0 130px;width:130px;font-size:15px;line-height:1.6;color:var(--kg-mute);letter-spacing:.06em;font-family:"Inter","Roboto Mono",monospace;}
.cm-list--news .cm-tit{flex:1 1 auto;width:calc(100% - 130px);font-size:15px;line-height:1.6;color:var(--kg-ink);}
.cm-list--news .cm-tag{display:none!important;}

/* ---- VIDEO (chanmina 特殊型を Swiper で丸ごと再現: slidesToShow2 / 16:9 / 左右矢印 / ドラッグ / スクロールバー無し) ---- */
/* chanmina section--video: padding-top 0(NEWS直後に密着) / title は list 上端と揃う / slide 612x344=16:9 */
#video.cm-section{padding-top:0!important;}
#video .header-title{top:0!important;}
.cm-vswiper{position:relative;}
.cm-vswiper .swiper-container{overflow:hidden;}
.cm-vswiper .swiper-wrapper{align-items:stretch;}
.cm-vslide{height:auto;}
.cm-vslide a{position:relative;display:block;background:#000;text-decoration:none;overflow:hidden;}
.cm-thumb{position:relative;line-height:0;margin:0;aspect-ratio:16/9;overflow:hidden;}
.cm-thumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.62;transition:opacity .3s ease,transform .6s ease;}
.cm-vslide a:hover .cm-thumb img{opacity:.85;transform:scale(1.03);}
.cm-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:50%;z-index:2;pointer-events:none;}
.cm-play img{width:15px;height:15px;}
.cm-vtit{position:absolute;left:0;bottom:0;width:100%;margin:0;padding:1.2em 1.5em;z-index:2;font-weight:700;font-size:14px;line-height:1.5;color:#fff;}
/* 前後の丸い矢印 (chanmina slick-arrow: 50x50, list 左右端で縦中央) */
.cm-arrow{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;margin:0;padding:0;border:1px solid var(--kg-ink);border-radius:50%;background:rgba(7,8,9,.45);cursor:pointer;z-index:5;display:grid;place-items:center;transition:background .2s ease,opacity .2s ease;}
.cm-arrow:hover{background:var(--kg-red);border-color:var(--kg-red);}
.cm-arrow::before{content:"";width:9px;height:9px;border-top:2px solid var(--kg-ink);border-right:2px solid var(--kg-ink);}
.cm-arrow--prev{left:-25px;}
.cm-arrow--prev::before{transform:rotate(-135deg);margin-left:5px;}
.cm-arrow--next{right:-25px;}
.cm-arrow--next::before{transform:rotate(45deg);margin-right:5px;}
.cm-arrow.swiper-button-disabled{opacity:.25;cursor:default;}

/* ---- SP (<=960): chanmina も SP は縦積み。title 上 → list 全幅 ---- */
@media (max-width:960px){
  .cm-section{padding:calc(80*(100vw/828)) 0!important;}
  .cm-section .header-title{position:static!important;width:auto!important;margin:0 0 calc(40*(100vw/828)) 0;padding:0 6%;}
  .cm-section .header-title h2 strong{font-size:calc(64*(100vw/828))!important;}
  .cm-section .header-view{position:static!important;margin:calc(40*(100vw/828)) 0 0 0;padding:0 6%;}
  .cm-section .section-main{margin-left:0!important;padding:0 6%!important;}
  .cm-list--news .cm-date{flex-basis:88px;width:88px;}
  .cm-list--news .cm-tit{width:calc(100% - 88px);}
  .cm-list--news .cm-tag{display:none;}
  #video .header-title{position:static!important;top:auto!important;}
  .cm-arrow--prev{left:4px;}
  .cm-arrow--next{right:4px;}
  .cm-arrow{width:40px;height:40px;background:rgba(7,8,9,.6);}
}

/* ============================================================
   最下部のフリーズ解消 + footer 再設計 (2026-05-30)
   - 原因: .meta-main{height:100dvh} + .main-logo div(620x620固定) で
     最下部に全画面の空白(死にゾーン)が出来、過剰スクロールで黒画面化=「固まった」。
     page-hana(透かし)が重なって見える演出も含め、ボス許可で削除。
   - footer は scroll-container 内へ移動済 → 在フローのコンパクト中央揃えバーに。
   ============================================================ */
/* page-hana 透かし(ロゴ重なり演出)削除 */
.page-hana{display:none!important;}
.cm-play{display:none!important;}   /* VIDEO 再生マーク ▶ 削除 */

/* meta-main を内容高さに (死にゾーン除去)。main-logo は relative + 実ロゴ比で詰める */
.main-meta{background:transparent!important;}
.meta-main{height:auto!important;min-height:0!important;padding:calc(120 * var(--pv)) 0 calc(70 * var(--pv))!important;}
.main-logo{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;}
.main-logo div{width:clamp(260px,30vw,460px)!important;height:auto!important;aspect-ratio:1274 / 443!important;margin:0 auto!important;}
.main-date{position:absolute!important;left:5%!important;top:calc(40 * var(--pv))!important;}
.main-pagetop{position:absolute!important;right:5%!important;top:calc(40 * var(--pv))!important;display:block!important;}

/* footer: 在フロー・コンパクト・中央高さ揃え (要素を SNS ロゴ程度まで縮小) */
.page-footer{position:relative!important;left:auto!important;bottom:auto!important;width:100%!important;z-index:auto!important;
  mix-blend-mode:normal!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:24px;padding:calc(34 * var(--pv)) 5%!important;background:var(--kg-bg2)!important;border-top:1px solid var(--kg-line)!important;}
.page-footer>div,.page-footer>nav,.page-footer>aside{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;margin:0!important;display:flex!important;align-items:center!important;}
.footer-copyright small{font-size:12px!important;color:var(--kg-mute)!important;letter-spacing:.06em;line-height:1;}
.footer-nav{pointer-events:auto!important;flex:1;justify-content:center!important;}
.footer-nav ul{display:flex!important;gap:clamp(16px,1.6vw,30px)!important;justify-content:center!important;align-items:center!important;}
.footer-nav ul li{height:auto!important;display:block!important;}
.footer-nav ul li a{font-size:14px!important;line-height:1!important;}
.footer-aside ul{display:flex!important;gap:16px!important;align-items:center!important;}
.footer-aside ul li{height:auto!important;display:block!important;}
.footer-aside img{width:18px!important;height:18px!important;}

/* PROFILE を chanmina 配置(cm-section)に: 見出し左 + 本文/メンバー右(margin-left 30%) */
#profile .section-main--profile{margin-left:30%!important;padding-right:5%!important;}
#profile .main-text{position:relative!important;left:auto!important;top:auto!important;width:auto!important;margin:0 0 calc(40*var(--pv)) 0!important;}
#profile .main-text .text-main p{font-size:15px!important;line-height:1.9!important;color:var(--kg-ink)!important;}
#profile .main-list{position:relative!important;left:auto!important;top:auto!important;width:auto!important;}

@media (max-width:960px){
  .page-footer{flex-direction:column!important;gap:16px;padding:28px 6%!important;}
  .footer-nav{flex:none;}
  #profile .section-main--profile{margin-left:0!important;padding:0 6%!important;}
}

/* ============================================================
   2026-05-30(夜) 追加調整
   ============================================================ */
/* ブロック間隔を約2倍に (NEWS↔VIDEO 80→160 / VIDEO↔PROFILE 160→320) */
#video.cm-section{margin-top:80px!important;}
#profile.cm-section{margin-top:160px!important;}

/* PROFILE: bio 文章をメンバーの「下」へ移動 (タイトル左 / 右=メンバー→本文の順) */
#profile .section-main--profile{display:flex!important;flex-direction:column!important;}
#profile .main-list{order:1!important;}
#profile .main-text{order:2!important;margin:calc(48 * var(--pv)) 0 0 0!important;}

/* ===== MORE 遷移先ページ (chanmina news/1・news/11 風, ダーク版) ===== */
.container-main--common{min-height:100vh;}
.cm-page{padding:0 0 calc(120 * var(--pv));}
.cm-page-head{padding:calc(220 * var(--pv)) 5% calc(50 * var(--pv));}
.cm-page-tit{margin:0;font-size:35px;line-height:1.1;letter-spacing:1.4px;color:var(--kg-ink)!important;font-weight:900;}
.cm-page-tit strong span{display:inline-block;}
/* NEWS list page: 全幅行 (date中央 + 太字title), 1px区切り, hover反転 */
.cm-pagelist{list-style:none;margin:0;padding:0;border-top:1px solid var(--kg-line);}
.cm-pagelist .cm-pli{border-bottom:1px solid var(--kg-line);}
.cm-pagelist .cm-pli a{display:flex;align-items:center;padding:2em 5%;text-decoration:none;color:var(--kg-ink);transition:background .2s ease,color .2s ease;}
.cm-pagelist .cm-pli a:hover{background:var(--kg-red);color:#fff;}
.cm-pdate{flex:0 0 14em;text-align:center;font-size:15px;color:var(--kg-mute);font-family:"Inter","Roboto Mono",monospace;letter-spacing:.06em;}
.cm-pagelist .cm-pli a:hover .cm-pdate,.cm-pagelist .cm-pli a:hover .cm-ptag{color:#fff;}
.cm-ptit{flex:1;font-size:16px;font-weight:700;line-height:1.5;}
.cm-ptag{flex:0 0 7em;text-align:right;font-size:11px;color:var(--kg-red);letter-spacing:.12em;}
/* VIDEO list page: 3列 16:9 グリッド */
.cm-pagegrid{list-style:none;margin:0;padding:0 5%;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.cm-pagegrid li a{display:block;position:relative;background:#000;text-decoration:none;overflow:hidden;}
.cm-pagegrid .cm-thumb{position:relative;margin:0;line-height:0;aspect-ratio:16/9;overflow:hidden;}
.cm-pagegrid .cm-thumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.62;transition:opacity .3s ease,transform .6s ease;}
.cm-pagegrid li a:hover .cm-thumb img{opacity:.85;transform:scale(1.03);}
.cm-pagegrid .cm-vtit{position:absolute;left:0;bottom:0;width:100%;margin:0;padding:1.2em 1.4em;font-weight:700;font-size:14px;color:#fff;z-index:2;}
.cm-back{padding:calc(60 * var(--pv)) 5% 0;margin:0;}
.cm-back a{font-size:15px;letter-spacing:1.4px;border-bottom:2px solid var(--kg-ink);padding-bottom:4px;color:var(--kg-ink)!important;text-decoration:none;}
.cm-back a:hover{color:var(--kg-gold)!important;border-bottom-color:var(--kg-gold);}
@media (max-width:960px){
  .cm-page-tit{font-size:calc(60 * (100vw / 828));}
  .cm-page-head{padding-top:calc(200 * (100vw / 828));}
  .cm-pdate{flex-basis:6.5em;text-align:left;}
  .cm-ptag{display:none;}
  .cm-pagelist .cm-pli a{padding:1.4em 6%;}
  .cm-pagegrid{grid-template-columns:1fr;padding:0 6%;}
}

/* ============================================================
   2026-05-30(深夜) 調整
   ============================================================ */
/* ★preloader: .page-loading は base が position:absolute のため scroll で上にずれ、
   ロード中コンテンツが露出していた(=「ロード前に開く/引っかかる」)。fixed で全画面固定covering に。 */
.page-loading{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;z-index:100000!important;}
.page-loading.is-inactive{left:0!important;}

/* NEWS: 日付と文章が近いので文章(title)を少し右へ */
.cm-list--news .cm-item a{column-gap:calc(56 * var(--pv));}
.cm-list--news .cm-tit{width:auto!important;}

/* MORE の下線を細く (2px → 1px) */
.cm-section .header-view a strong{border-bottom-width:1px!important;}

/* NEWS↔VIDEO の間隔を VIDEO↔PROFILE と同等(約320px)に */
#video.cm-section{margin-top:240px!important;}

/* PROFILE: bio文章を「PROFILE見出しの下・メンバー画像の左」へ。謎の縦空白を除去 */
#profile .section-main--profile{display:flex!important;flex-direction:row!important;align-items:flex-start!important;
  margin-left:0!important;padding:0 5%!important;gap:calc(56 * var(--pv))!important;}
#profile .main-text{order:1!important;flex:0 0 24%!important;margin:calc(130 * var(--pv)) 0 0 0!important;position:relative!important;left:auto!important;top:auto!important;width:auto!important;}
#profile .main-text .text-main p{font-size:15px!important;line-height:1.9!important;color:var(--kg-ink)!important;margin:0 0 1em 0;}
#profile .main-list{order:2!important;flex:1 1 auto!important;margin:0!important;position:relative!important;left:auto!important;top:auto!important;width:auto!important;}

/* ============================================================
   2026-05-30(深夜2) 調整
   ============================================================ */
/* PROFILE bio: base の 2段組(grid 1fr 1fr)で狭く改行多発 → 縦積み(単一列)+ 列幅拡大 */
#profile .main-text{flex:0 0 40%!important;}
#profile .text-main{display:block!important;grid-template-columns:1fr!important;max-width:none!important;padding:0!important;margin:0!important;}
#profile .text-main p{margin:0 0 1.2em 0!important;}
/* MORE: 一回り細いフォント(900→400) + 最小単位(1px)だけ縮小(15→14px) */
.cm-section .header-view a strong{font-weight:400!important;font-size:14px!important;}

/* PROFILE bio: 左端を PROFILE 見出しに揃える(base の padding-left 60px を除去) + 少し下げる */
#profile .main-text{padding:0!important;margin:calc(180 * var(--pv)) 0 0 0!important;}
#profile .text-main,#profile .text-main p{padding-left:0!important;margin-left:0!important;text-indent:0!important;}

/* ============================================================
   最下部 = Elle Teresa 式 中央寄せ縦積み (位置関係のみ踏襲)
   logo(中央) → nav(中央) → BACK TO TOP(中央) → SNS(中央) → copyright(中央)
   ============================================================ */
.main-date{display:none!important;}                 /* KOBE/TOKYO+時計 削除(時計JS用にDOMは残置) */
.main-meta{padding:0!important;}
.meta-main{padding:calc(150 * var(--pv)) 0 calc(28 * var(--pv))!important;text-align:center!important;}
.main-logo{margin:0 auto!important;}
.page-footer{flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:calc(38 * var(--pv))!important;padding:calc(18 * var(--pv)) 5% calc(90 * var(--pv))!important;}
.page-footer .footer-nav{order:1!important;flex:none!important;}
.page-footer .footer-pagetop{order:2!important;}
.page-footer .footer-aside{order:3!important;}
.page-footer .footer-copyright{order:4!important;}
.footer-nav ul{justify-content:center!important;}
.footer-aside ul{justify-content:center!important;}
.footer-pagetop a{font-size:13px;letter-spacing:.16em;color:var(--kg-ink)!important;text-decoration:none;border-bottom:1px solid var(--kg-line);padding-bottom:4px;}
.footer-pagetop a:hover{color:var(--kg-gold)!important;border-bottom-color:var(--kg-gold);}

/* ============================================================
   2026-05-30(深夜3) 調整
   ============================================================ */
/* footer の「にゅっと出てくる」reveal 停止 (base: translate 40px→is-active で 0 のアニメを固定) */
.page-footer{translate:0 0!important;transition:none!important;}
.page-footer *{transition:none!important;}

/* TOP を他の nav 項目と同じ色・字形に (is-active の 赤+斜体 → ink+通常) */
.header-nav a.is-active,
.page-nav .nav-main a.is-active,
.page-footer .footer-nav a.is-active{color:var(--kg-ink)!important;font-style:normal!important;}
/* TOP(is-active) も他項目と同様 hover で斜体に。上の normal!important が base の a:hover{italic} を
   打ち消して TOP だけ無反応だったのを復帰 (header/footer のみ。SP hamburger は siblings に hover 無し) */
.header-nav a.is-active:hover,
.page-footer .footer-nav a.is-active:hover{font-style:italic!important;}

/* VIDEO クリック時の着地が header に隠れる問題 → padding-top/title を他section同様 80px に
   (gap は margin-top で維持: news padb80 + video margin160 + video padt80 = 320) */
#video.cm-section{padding-top:80px!important;margin-top:160px!important;}
#video .header-title{top:80px!important;}

/* footer を別領域に見せない: 背景をページ本体と同色 + 区切り線除去 (地続きに) */
.page-footer{background:transparent!important;border-top:none!important;}

/* PROFILE メンバー下端〜ロゴ(meta) の間隔を他ブロック(≈320px)に短縮
   原因: base の .main-list{padding-bottom:600*pv=300px} → 80px に。meta上余白で合計≈320に調整
   (gap = main-list pad 80 + profile pad 80 + meta pad-top 160 = 320) */
#profile .main-list{padding-bottom:calc(160 * var(--pv))!important;}
.meta-main{padding-top:calc(420 * var(--pv))!important;}

/* メンバー画像 上端の白線対策: スクロール transform のサブピクセル継ぎ目(レイヤー問題)。
   画像を僅かにオーバースキャン + div で clip + backface 安定化で継ぎ目を隠す */
.section-main--profile .items-item a figure:nth-of-type(2) div{overflow:hidden!important;}
.section-main--profile .items-item a figure:nth-of-type(2) div img{transform:scale(1.02);transform-origin:center center;backface-visibility:hidden;}

/* PROFILE 両脇ticker の流れる文字を少し小さく (HANA 145 → 120, 約-17%) */
.section-main--profile .items-item a figure:nth-of-type(1) figcaption p strong span{font-size:calc(120 * (100vw / 3840))!important;}

/* ============================================================
   2026-06-21 v3 移植 — セクション順 Hero→News→Profile→Video→Fanclub
   ============================================================ */
/* Profile→Video の間隔: profile main-list pad-bottom 160 + video margin-top 160 ≈ 320。
   reorder で profile が video の前に来ても ID 基準ルールはそのまま効く。 */

/* ---- FANCLUB (chanmina .section--footer_bnr 式: 中央寄せ黒地バナー) ----
   黒地ボックス中央に 金KAGVYAロゴ + 大きな白FANCLUB。hover で opacity .8。
   chanmina 実値: width 40% / margin auto / hover opacity .8 を踏襲。 */
.kg-fc-section{padding:0 5%!important;margin-top:240px!important;background:var(--kg-bg)!important;}
.kg-fc{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(20px,2.4vw,40px);
  width:min(40%,760px);margin:0 auto;
  aspect-ratio:16/10;
  background:#000;border:2px solid #272727;
  position:relative;overflow:visible;
  text-decoration:none;
}
/* ---- lorenzobocchi.com 式 枠線 + ドロー演出 — EXACT 値移植 (実CSS変数 + GSAP実装から抽出) ----
   border 2px #272727 (dark neutral) / corner 2px #fff (on-color, inset -2px) /
   highlight bar 2px = KAGVYA gold var(--kg-gold) / 4辺「同時」ドロー 300ms Expo.easeOut(≈cubic-bezier(.16,1,.3,1)) /
   hover解除で同 transition が逆再生。コーナーは静止。★枠線色は #ed8008→KAGVYA gold に変更(2026-07-03 ボス指示: メンバーhoverの下線色と統一)。 */
.kg-fc__corner{position:absolute;z-index:3;width:2px;height:2px;background:#ffffff;}
.kg-fc__corner--tl{inset:-2px auto auto -2px;}
.kg-fc__corner--tr{inset:-2px -2px auto auto;}
.kg-fc__corner--bl{inset:auto auto -2px -2px;}
.kg-fc__corner--br{inset:auto -2px -2px auto;}
.kg-fc__hl{position:absolute;z-index:4;background:var(--kg-gold);pointer-events:none;
  transition:transform 300ms cubic-bezier(.16,1,.3,1);}
.kg-fc__hl--top{top:-2px;left:0;width:100%;height:2px;transform-origin:left;transform:scaleX(0);}
.kg-fc__hl--bottom{bottom:-2px;left:0;width:100%;height:2px;transform-origin:right;transform:scaleX(0);}
.kg-fc__hl--left{top:0;left:-2px;width:2px;height:100%;transform-origin:top;transform:scaleY(0);}
.kg-fc__hl--right{top:0;right:-2px;width:2px;height:100%;transform-origin:bottom;transform:scaleY(0);}
.kg-fc:hover .kg-fc__hl--top,.kg-fc:hover .kg-fc__hl--bottom{transform:scaleX(1);}
.kg-fc:hover .kg-fc__hl--left,.kg-fc:hover .kg-fc__hl--right{transform:scaleY(1);}
.kg-fc__logo{display:block;width:46%;line-height:0;}
.kg-fc__logo img{width:100%;height:auto;display:block;}
/* FANCLUB ワードマーク: chanmina は Futura PT Bold(Adobe・有料/画像焼き込み)。
   無料で最も近い Futura 復刻 = Jost 700 を採用 (字形比較で Montserrat/Poppins より近い)。 */
.kg-fc__label{font-family:"Jost","Noto Sans JP",sans-serif;font-weight:700;
  font-size:clamp(26px,2.6vw,46px);letter-spacing:.14em;color:#fff;line-height:1;}
@media (max-width:960px){
  .kg-fc-section{padding:0 6%!important;margin-top:calc(160*(100vw/828))!important;}
  .kg-fc{width:min(82%,560px);gap:24px;}
  .kg-fc__logo{width:54%;}
  .kg-fc__label{font-size:clamp(22px,6vw,34px);}
}

/* ============================================================
   2026-06-21 v3 — ページ最下部を chanmina 式すっきりに
   特大ゴールドロゴ(meta)を撤去。footer = SNS + copyright のみのコンパクト中央寄せ。
   (nav / BACK TO TOP は header に在るため footer からは省略)
   ============================================================ */
.main-meta{display:none!important;}   /* 特大ロゴ + 余白の塊を撤去。内部の .main-date は DOM 残置(時計JS参照) */
.page-footer .footer-nav{display:none!important;}
.page-footer .footer-pagetop{display:none!important;}
.page-footer{padding:calc(160 * var(--pv)) 5% calc(70 * var(--pv))!important;gap:calc(18 * var(--pv))!important;}
.page-footer .footer-aside{display:none!important;}   /* SNSアイコンも撤去 = 完全ちゃんみな仕様(copyrightのみ) */
.page-footer .footer-copyright{order:2!important;}
.footer-copyright small{font-size:12px!important;color:var(--kg-mute)!important;letter-spacing:.08em;}
@media (max-width:960px){
  .page-footer{padding:calc(130*(100vw/828)) 6% calc(90*(100vw/828))!important;}
}

/* VIDEO の COMING SOON は仮サムネを当てず真っ黒に (COMING SOON の文字はそのまま) */
.cm-thumb{background:#000;}
