

/* ================================================================
   ドット・白黒オーバーレイ（プレビュー）
   既存のスタイルの後に読み込んで、見た目だけ差し替えます
   ================================================================ */
:root{
  --bg:#070707; --bg-2:#0E0E0E;
  --ink:#F0F0F0; --ink-mid:#A8A8A8; --ink-thin:#8C8C8C;
  --line:#F0F0F0; --accent:#FFA12B; --accent-pale:#141414;
  --ac:#FFA12B;
  --mincho:"DotGothic16","Osaka-Mono","ＭＳ ゴシック",monospace;
  --gothic:"DotGothic16","Osaka-Mono","ＭＳ ゴシック",monospace;
  --cur:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAf0lEQVR42u2V4QrAIAiE7469/yu7HzOIrTZZ+q8DwVL8rIQAwNxKJAAwM1RB1JwqiPpFBUT3jWyIRpuZEM0CWRC9BTMg+kpYhSiStAI5ZgGSQxYALp2gFfau4QV7+39Fk65zpsiL83KZO0Vd8bIT8PkUTBvTks6jKv2MtrZiOgEJQzQPTnvN0gAAAABJRU5ErkJggg==") 0 0, auto;
  --cur-p:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAeElEQVR42u2UUQrAIAxDm7L7Xzn7mBsynLZaQZgBQT+a11hRpC6m1S2tmZMUkjICUZmsfwG6Bn6Y3a9hC4AcAg/AXFiAwXRFX8/yNnzvszMtAAAomrSSeIbshiz5TJ8USyRIzcALCEuhM7tvAUJSwPD/jNRvbQXoBLgLMByVIo7sAAAAAElFTkSuQmCC") 7 0, pointer;
}
html,body{background:#070707 !important;color:var(--ink) !important;}
body{font-family:var(--gothic) !important;cursor:var(--cur);}
a,button,.work,.link-card,.more,.mail,.vclose,.varrow{cursor:var(--cur-p) !important;}
@media (prefers-color-scheme:dark){
  html,body{background:#070707 !important;color:#F0F0F0 !important;}
  .site-head{background:#0E0E0E !important;}
  .viewer{background:rgba(7,7,7,.985) !important;}
}

/* --- ヘッダー --- */
.site-head{background:#0E0E0E !important;border-bottom:3px solid var(--line) !important;backdrop-filter:none !important;}
.logo{letter-spacing:.1em;}
.logo-icon{border:0 !important;border-radius:0 !important;}
.logo-text span{display:none !important;}
.site-head nav a{color:var(--ink-thin) !important;border-bottom:0 !important;letter-spacing:.06em;padding:4px 7px;}
.site-head nav a::before{content:"[ ";}
.site-head nav a::after{content:" ]";}
.site-head nav a:hover,.site-head nav a.on{color:#000 !important;background:var(--ink);}
.menu-btn span{background:var(--ink) !important;}

/* --- 見出し --- */
.page-head{border-bottom:0 !important;}
.page-head .en{color:var(--ac) !important;}
.page-head .lead{color:var(--ink-mid) !important;}
.page-head .lead .now{color:var(--ac) !important;}
.hero-meta{border-bottom:3px solid var(--line) !important;}
.hero-meta .en{color:var(--ac) !important;}
.hero-meta .tag{color:var(--ink-mid) !important;}

/* 章見出しは「窓のタイトルバー」に --- */
.sec-label{
  border-left:0 !important;padding:6px 12px !important;background:var(--ink) !important;
  align-items:center !important;gap:10px !important;margin-bottom:22px !important;
}
.sec-label::before{
  content:"";width:11px;height:11px;border:2px solid #000;background:var(--ac);
  display:block;flex:0 0 11px;
}
.sec-label h2{color:#000 !important;font-size:14px !important;letter-spacing:.08em !important;}
.sec-label .en{color:#444 !important;font-size:10px !important;}

/* --- 画像の枠 --- */
.hero-plate,.band,.work .thumb,.about-header{
  border:3px solid var(--line) !important;border-radius:0 !important;
  background:#0E0E0E !important;box-shadow:5px 5px 0 var(--line);
  transition:transform .08s steps(2,end),box-shadow .08s steps(2,end),border-color .08s steps(2,end);
}
.work:hover .thumb{
  border-color:var(--ac) !important;box-shadow:2px 2px 0 var(--ac);transform:translate(3px,3px);
}
.work .cap .t{font-family:var(--gothic) !important;color:var(--ink) !important;font-size:13.5px !important;}
.work .cap .m{color:var(--ink-thin) !important;}
.work .count{
  background:#000 !important;border:2px solid var(--ac) !important;color:var(--ac) !important;
  border-radius:0 !important;
}
.work .empty,.work .empty span{color:var(--ink-thin) !important;}

/* --- カード --- */
.link-card{
  background:#0E0E0E !important;border:3px solid var(--line) !important;border-radius:0 !important;
  box-shadow:5px 5px 0 var(--line);
  transition:transform .08s steps(2,end),box-shadow .08s steps(2,end),border-color .08s steps(2,end);
}
.link-card:hover{
  background:#0E0E0E !important;border-color:var(--ac) !important;
  transform:translate(3px,3px) !important;box-shadow:2px 2px 0 var(--ac);
}
.link-card .en{color:var(--ac) !important;}
.link-card .jp{font-family:var(--gothic) !important;color:var(--ink) !important;}
.link-card .note{color:var(--ink-thin) !important;}

/* --- 受付状況・依頼欄 --- */
.status{border-left:3px solid var(--ac) !important;color:var(--ink-thin) !important;}
.status b{color:var(--ink) !important;}
.accept{
  background:#0E0E0E !important;border:3px solid var(--line) !important;
  border-left:3px solid var(--ac) !important;border-radius:0 !important;color:var(--ink) !important;
}
.accept-sub{color:var(--ink-thin) !important;}
.contact h3{color:var(--ac) !important;font-family:var(--gothic) !important;}
.contact ul li{border-bottom:2px dotted rgba(240,240,240,.25);padding-bottom:7px;}

/* --- ボタン --- */
.more,.mail{
  border:3px solid var(--line) !important;border-radius:0 !important;
  padding:8px 18px !important;color:var(--ink) !important;
  box-shadow:4px 4px 0 var(--line);font-family:var(--gothic) !important;
  transition:transform .08s steps(2,end),box-shadow .08s steps(2,end);
}
.more:hover,.mail:hover{
  background:var(--ac) !important;color:#000 !important;border-color:var(--ac) !important;
  transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ac);
}

/* --- 来歴・プロフィール --- */
.svc h3{
  font-family:var(--gothic) !important;color:var(--ink) !important;
  border-bottom:3px solid var(--line) !important;padding-bottom:6px;
}
.svc .lead{color:var(--ink-thin) !important;}
.svc .pub{color:var(--ac) !important;}
.svc .detail{color:var(--ink-thin) !important;}
.svc li{border-bottom:2px dotted rgba(240,240,240,.22);padding-bottom:8px;}
.history{color:var(--ink-mid) !important;}
.history b{font-family:var(--gothic) !important;color:var(--ink) !important;}
.spec dt{color:var(--ac) !important;}
.en-block{border-left:3px solid var(--line) !important;padding-left:26px !important;}
.en-block.plain{border-left:0 !important;padding-left:0 !important;}
.en-block h4{color:var(--ac) !important;font-family:var(--gothic) !important;}
.en-block .en-note{color:var(--ink-thin) !important;}

/* --- 拡大表示 --- */
.viewer{background:rgba(7,7,7,.985) !important;}
.viewer img{border:3px solid var(--line) !important;border-radius:0 !important;}
.vclose,.varrow,.vcount{color:var(--ink) !important;}
.vcap{color:var(--ink-thin) !important;}
.vcap b{color:var(--ink) !important;font-family:var(--gothic) !important;}

/* --- 奥付 --- */
footer{border-top:3px solid var(--line) !important;background:#0E0E0E !important;}
.foot-inner{
  display:flex !important;justify-content:space-between !important;align-items:flex-end !important;
  gap:20px !important;flex-wrap:wrap !important;max-width:980px !important;margin:0 auto !important;
  padding:0 20px !important;text-align:left !important;
}
.foot-inner .notice{max-width:560px !important;font-size:10.5px !important;line-height:1.85 !important;margin:0 !important;}
.foot-inner .foot-links{display:flex !important;gap:6px !important;margin:0 !important;}
.foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:9px;}
.foot-inner .copy{margin:0 !important;font-size:10.5px !important;letter-spacing:.1em !important;color:var(--ink-thin) !important;}
@media (max-width:980px){ .foot-inner{padding:0 16px !important;} }
.foot-links a{color:var(--ink-thin) !important;}
.foot-links a::before{content:"[ ";}
.foot-links a::after{content:" ]";}
.foot-links a:hover{color:#000 !important;background:var(--ink);}
.notice,.copy{color:var(--ink-thin) !important;}


/* --- 横幅と左右の余白を Top に合わせる --- */
.inner,.foot-inner{max-width:980px !important;padding:0 20px !important;}
.site-head{padding:0 !important;}
.site-head .in{
  max-width:980px;margin:0 auto;width:100%;padding:11px 20px;
  display:flex;align-items:center;justify-content:space-between;
  gap:12px 20px;flex-wrap:wrap;
}
@media (max-width:980px){
  .inner,.foot-inner{padding:0 16px !important;}
  .site-head .in{padding:12px 16px;}
}


/* --- 下層ページも Top と同じ「窓」にする --- */
.dotwin{
  border:3px solid var(--line);background:#0E0E0E;
  box-shadow:7px 7px 0 var(--line);margin:0 0 13px;
}
.dottl{
  display:flex;align-items:center;gap:18px;background:var(--ink);color:#000;
  border-bottom:3px solid var(--line);padding:5px 10px;
  font-family:var(--gothic);font-size:13px;letter-spacing:.08em;
}
.dottl i{width:11px;height:11px;border:2px solid #000;background:var(--ac);display:block;flex:0 0 11px;}
.dottl .sp{width:11px;height:11px;flex:0 0 11px;display:block;}
.dottl s{flex:1;height:9px;text-decoration:none;
  background:repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 3px);}
.dotbd{padding:16px;}
main > section.inner{padding-bottom:13px !important;}
main > br{display:none !important;}

/* --- AIっぽさを抜く --- */
.page-head .en,.sec-label .en,.link-card .en{display:none !important;}
.page-head{padding-top:40px !important;padding-bottom:22px !important;margin-bottom:40px !important;}
.page-head h1{letter-spacing:.06em !important;}
.page-head .lead{max-width:none !important;}
.logo{letter-spacing:.1em !important;font-size:17px !important;font-weight:400 !important;gap:11px !important;}
.logo-icon{width:38px !important;height:38px !important;flex:0 0 38px !important;}
.site-head nav a{letter-spacing:.04em !important;}
.link-card .jp{letter-spacing:.03em !important;}
.svc h3{letter-spacing:.05em !important;}
.work .cap .t{letter-spacing:.02em !important;}
.more,.mail{letter-spacing:.06em !important;}

/* テキストリンク（下層でも使えるように） */
.tlink{
  display:inline-block;font-family:var(--gothic);font-size:14px;letter-spacing:.08em;
  color:var(--ink);border-bottom:2px solid var(--line);padding-bottom:4px;
}
.tlink::before{content:"\25B6 ";color:var(--ac);}
.tlink:hover{color:var(--ac);border-bottom-color:var(--ac);}

/* ================= 演出 ================= */
#crt{
  position:fixed;inset:0;height:100vh;height:100dvh;z-index:9000;pointer-events:none;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 3px),
    radial-gradient(ellipse at center,transparent 74%,rgba(0,0,0,.42) 100%);
}
#noise{
  position:fixed;inset:0;height:100vh;height:100dvh;z-index:9100;pointer-events:none;opacity:0;mix-blend-mode:screen;
  transition:opacity .06s steps(1,end);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>");
}
#tear{position:fixed;left:0;right:0;z-index:9150;pointer-events:none;background:#fff;opacity:0;height:3px;mix-blend-mode:difference;}
@keyframes shk{0%{transform:translate(0,0)}33%{transform:translate(-2px,0)}66%{transform:translate(1px,-1px)}100%{transform:translate(0,0)}}
body.gl #page{animation:shk .12s steps(2,end) 1;}
@media (prefers-reduced-motion:reduce){body.gl #page{animation:none;}}

#ld{
  position:fixed;inset:0;height:100vh;height:100dvh;z-index:9500;background:#000;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .2s steps(3,end);cursor:var(--cur-p);
}
#ld::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.055) 0 1px,transparent 1px 3px);}
#ld.off{opacity:0;pointer-events:none;}
#ld.hold .in{visibility:hidden;}
@keyframes flk{0%,100%{opacity:1}18%{opacity:.35}22%{opacity:1}55%{opacity:.6}60%{opacity:1}}
#ld.flk .in{animation:flk .42s steps(1,end);}
#ld .in{text-align:center;width:260px;}
#ld .t{font-family:var(--gothic);font-size:15px;letter-spacing:.22em;margin:0 0 18px;color:#F0F0F0;}
#ld .t::after{content:"_";animation:bl .6s steps(1,end) infinite;}
#ld .bar{border:3px solid #F0F0F0;height:20px;padding:3px;}
#ld .bar span{display:block;height:100%;width:0;background:#F0F0F0;}
#ld .pct{font-family:var(--gothic);font-size:12px;color:var(--ac);margin:10px 0 0;letter-spacing:.14em;}
#ld .sk{font-family:var(--gothic);font-size:10.5px;color:#555;margin:22px 0 0;letter-spacing:.1em;}
@keyframes bl{50%{opacity:0;}}


/* --- スマホのナビを Top と同じ常時表示1行に揃える --- */
@media (max-width:980px){
  .menu-btn{display:none !important;}
  .site-head nav{
    display:flex !important;flex-direction:row !important;width:100%;
    gap:1px !important;flex-wrap:nowrap !important;justify-content:flex-start !important;
    overflow:hidden;
    padding-top:0 !important;margin-top:0 !important;border-top:0 !important;
  }
  .site-head nav a{
    font-size:clamp(10px,3.4vw,13px) !important;
    padding:3px 4px !important;letter-spacing:0 !important;white-space:nowrap;
  }
  .site-head nav a::before{content:"[";}
  .site-head nav a::after{content:"]";}
}
@media (max-width:760px){
  .site-head .in{padding:9px 14px !important;}
  .inner,.foot-inner{padding:0 14px !important;}
}
