/* =========================================
   UrakaTA HP ブラッシュアップ提案（2026-08-22）
   テーマ：「裏側を照らす」
   既存 style.css の上に重ねる追加レイヤー。既存の色・書体・余白は変えない。
   ========================================= */

:root{
  --bu-ease:cubic-bezier(.19,1,.22,1);
  --bu-ink:#151515;
  --bu-line:#d9d9d6;
  --bu-blue:#2f80ed;
}

/* ---------- 0. 全体の質感 ---------- */
html{scroll-behavior:smooth}
#bu-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:1200;pointer-events:none}
#bu-progress i{display:block;height:100%;width:100%;background:var(--color-accent);transform-origin:left;transform:scaleX(0)}

.site-header{transition:background .4s ease,border-color .4s ease,box-shadow .4s ease,backdrop-filter .4s ease}
.site-header.is-scrolled{background:rgba(255,255,255,.82);backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);box-shadow:0 1px 0 rgba(0,0,0,.04)}

/* 既存 .fade-in を少しだけ上品に（移動量↓・イージング変更・順番にずらす） */
.fade-in{transform:translateY(26px);transition:opacity 1s ease,transform 1.1s var(--bu-ease);transition-delay:var(--d,0s)}
.fade-in.is-visible{transition-delay:var(--d,0s)}

/* 見出しの行マスク出現（section-title） */
.bu-ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.bu-ln>span{display:block;transform:translateY(110%);transition:transform 1.1s var(--bu-ease)}
.is-visible .bu-ln>span,.bu-ln.is-visible>span{transform:translateY(0)}
.bu-ln:nth-child(2)>span{transition-delay:.08s}
.bu-ln:nth-child(3)>span{transition-delay:.16s}

/* 提案デモ表示 */
.bu-demo-badge{position:fixed;left:18px;bottom:18px;z-index:1100;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;
  background:rgba(21,21,21,.9);color:#fff;font-family:var(--font-en);font-size:10px;letter-spacing:.16em;font-weight:600;backdrop-filter:blur(8px);
  box-shadow:0 8px 24px rgba(0,0,0,.18)}
.bu-demo-badge i{width:8px;height:8px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 0 rgba(255,212,0,.6);animation:buPulse 2.4s ease-out infinite}
@keyframes buPulse{0%{box-shadow:0 0 0 0 rgba(255,212,0,.55)}100%{box-shadow:0 0 0 12px rgba(255,212,0,0)}}
.bu-demo-badge a{color:var(--color-accent);opacity:1;border-bottom:1px solid rgba(255,212,0,.5)}
@media(max-width:640px){.bu-demo-badge{left:12px;bottom:12px;padding:8px 12px;font-size:9px}}

/* ---------- 1. ヒーロー「裏側を照らす」 ---------- */
.hero{--mx:50%;--my:45%;--r:300px}
.hero-behind{position:absolute;inset:0;z-index:0;pointer-events:none;
  -webkit-mask-image:radial-gradient(circle var(--r) at var(--mx) var(--my),#000 0%,rgba(0,0,0,.7) 55%,transparent 100%);
  mask-image:radial-gradient(circle var(--r) at var(--mx) var(--my),#000 0%,rgba(0,0,0,.7) 55%,transparent 100%);
  opacity:0;transition:opacity .8s ease}
.hero.bu-lit .hero-behind{opacity:1}
.hero-behind .grid{position:absolute;inset:0;
  background-image:linear-gradient(rgba(21,21,21,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(21,21,21,.13) 1px,transparent 1px);
  background-size:48px 48px;background-position:center top}
.hero-behind .note{position:absolute;font-family:var(--font-en);font-size:11px;letter-spacing:.12em;font-weight:600;color:#6b6b6b;
  padding:6px 10px;border:1px dashed #7d7d7d;border-radius:4px;background:rgba(255,255,255,.9);white-space:nowrap;color:#444;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.hero-behind .note.jp{font-family:var(--font-jp);letter-spacing:.06em;font-weight:500}
.hero-behind .note.y{border-style:solid;border-color:var(--color-accent);background:rgba(255,212,0,.28);color:var(--bu-ink)}
.hero-behind .note.b{color:var(--bu-blue);border-color:var(--bu-blue)}
.hero-behind .line{position:absolute;height:1px;background:repeating-linear-gradient(90deg,#9a9a9a 0 6px,transparent 6px 11px);transform-origin:left}
.hero-behind .box{position:absolute;border:1px dashed #9a9a9a;border-radius:8px}
.hero-behind .box::after{content:attr(data-l);position:absolute;top:-9px;left:10px;font-family:var(--font-en);font-size:9px;letter-spacing:.18em;color:#8a8a8a;background:#fff;padding:0 6px}
.hero-behind .arrow{position:absolute;font-family:var(--font-en);font-size:18px;color:#9a9a9a}
.hero-hint{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;font-family:var(--font-jp);font-size:11px;letter-spacing:.14em;color:var(--color-text-sub);display:flex;align-items:center;gap:10px;opacity:0;transition:opacity 1s ease 1.6s}
.hero.bu-ready .hero-hint{opacity:1}
.hero-hint::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 4px rgba(255,212,0,.25)}
.hero-lamp{position:absolute;z-index:0;left:var(--mx);top:var(--my);width:calc(var(--r)*2.2);height:calc(var(--r)*2.2);transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,212,0,.28) 0%,rgba(255,212,0,.08) 45%,transparent 70%);opacity:0;transition:opacity .8s ease}
.hero.bu-lit .hero-lamp{opacity:1}
.hero .container{position:relative;z-index:1}
@media (hover:none),(pointer:coarse){.hero{--r:42vw}.hero-hint{display:none}}
@media(max-width:860px){.hero-behind .note,.hero-behind .box,.hero-behind .arrow,.hero-behind .line{display:none}.hero-behind .note.m{display:block}}

/* ヒーロー見出し：行マスク出現（読み込み時） */
.hero-en .bu-ln>span{transform:translateY(110%)}
.hero.bu-ready .hero-en .bu-ln>span{transform:translateY(0)}
.hero.bu-ready .hero-en .bu-ln:nth-child(1)>span{transition-delay:.15s}
.hero.bu-ready .hero-en .bu-ln:nth-child(2)>span{transition-delay:.27s}
.hero.bu-ready .hero-en .bu-ln:nth-child(3)>span{transition-delay:.39s}
.hero-en .accent{transition-delay:.9s}

/* 写真タグ：ゆっくり浮く＋マウス視差（JS） */
.hero-visual .tag{transition:transform .8s var(--bu-ease);will-change:transform;animation:buFloat 6s ease-in-out infinite}
.hero-visual .tag-2{animation-delay:-1.5s}.hero-visual .tag-3{animation-delay:-3s}.hero-visual .tag-4{animation-delay:-4.5s}
@keyframes buFloat{0%,100%{margin-top:0}50%{margin-top:-6px}}
.hero-visual{transition:transform .1s linear}
.hero-visual .img-cover{transition:transform 1.6s var(--bu-ease);transform:scale(1.04)}
.hero.bu-ready .hero-visual .img-cover{transform:scale(1)}

/* ---------- 2. マーキー帯（ゆっくり） ---------- */
.bu-marquee{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);padding:22px 0;overflow:hidden;white-space:nowrap;background:#fff}
.bu-marquee .track{display:inline-block;animation:buMarq 48s linear infinite}
.bu-marquee:hover .track{animation-play-state:paused}
.bu-marquee span{font-family:var(--font-en);font-weight:800;font-size:clamp(22px,2.6vw,34px);letter-spacing:.04em;margin-right:56px;color:transparent;-webkit-text-stroke:1px #bdbdb8;transition:color .4s,-webkit-text-stroke .4s}
.bu-marquee span.fill{color:var(--bu-ink);-webkit-text-stroke:0}
.bu-marquee span i{font-style:normal;color:var(--color-accent);-webkit-text-stroke:0;margin:0 18px 0 0}
@keyframes buMarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.bu-marquee .track{animation:none}}

/* ---------- 3. NUMBERS（実数カウントアップ） ---------- */
.bu-numbers{padding:90px 0;background:var(--bu-ink);color:#fff;position:relative;overflow:hidden}
.bu-numbers::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(255,212,0,.14),transparent 45%)}
.bu-numbers .container{position:relative;z-index:1}
.bu-numbers .head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.bu-numbers .en-label{color:var(--color-accent)}
.bu-numbers .en-label::before{background:var(--color-accent)}
.bu-numbers h2{font-family:var(--font-en);font-weight:800;font-size:clamp(30px,4vw,52px);letter-spacing:-.02em;line-height:1.05}
.bu-numbers .note{font-size:12px;color:rgba(255,255,255,.55);letter-spacing:.04em}
.bu-numbers .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.bu-numbers .cell{padding:28px 28px 28px 0;border-left:1px solid rgba(255,255,255,.14);padding-left:28px}
.bu-numbers .cell:first-child{border-left:0;padding-left:0}
.bu-numbers .val{font-family:var(--font-en);font-weight:800;font-size:clamp(40px,4.6vw,64px);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;color:#fff}
.bu-numbers .val small{font-family:var(--font-jp);font-size:.34em;font-weight:700;margin-left:6px;color:var(--color-accent);letter-spacing:.04em}
.bu-numbers .lbl{margin-top:14px;font-size:13px;color:rgba(255,255,255,.72);letter-spacing:.06em;line-height:1.7}
.bu-numbers .lbl b{display:block;font-family:var(--font-en);font-size:10px;letter-spacing:.2em;color:rgba(255,255,255,.45);margin-bottom:4px;font-weight:600}
.bu-numbers .btn-ghost{color:#fff}
@media(max-width:900px){.bu-numbers .grid{grid-template-columns:repeat(2,1fr);row-gap:20px}.bu-numbers .cell:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:480px){.bu-numbers{padding:70px 0}.bu-numbers .grid{grid-template-columns:1fr}.bu-numbers .cell{border-left:0;padding-left:0;padding:18px 0;border-top:1px solid rgba(255,255,255,.12)}.bu-numbers .cell:first-child{border-top:0}}

/* ---------- 4. カード：黄色の差し色がホバーで滲む ---------- */
.value-card,.service-card{overflow:hidden}
.value-card::before,.service-card::before{content:"";position:absolute;top:-60px;right:-60px;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,212,0,.35),transparent 65%);transform:scale(.4);opacity:0;transition:transform .8s var(--bu-ease),opacity .6s ease;pointer-events:none}
.value-card:hover::before,.service-card:hover::before{transform:scale(1.6);opacity:1}
.service-card .icon-deco{transition:transform .7s var(--bu-ease),box-shadow .5s ease;z-index:1}
.service-card:hover .icon-deco{transform:rotate(-8deg) scale(1.08);box-shadow:0 8px 24px rgba(255,212,0,.5)}
.value-card .value-num{transition:transform .6s var(--bu-ease)}
.value-card:hover .value-num{transform:rotate(-3deg)}
.service-card .desc{position:relative}
.service-card .bu-more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--font-en);font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--bu-ink);
  opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .6s var(--bu-ease)}
.service-card:hover .bu-more{opacity:1;transform:translateY(0)}
.service-card .bu-more i{font-style:normal;transition:transform .4s var(--bu-ease)}
.service-card:hover .bu-more i{transform:translateX(4px)}

/* ---------- 5. WORKS「裏側を見る」 ---------- */
.works-thumb{position:relative}
.works-thumb .img-cover{transition:transform 1.2s var(--bu-ease)}
.works-card:hover .works-thumb .img-cover{transform:scale(1.05)}
.bu-behind-tag{position:absolute;top:14px;left:14px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;
  background:rgba(21,21,21,.85);color:#fff;font-family:var(--font-en);font-size:10px;letter-spacing:.18em;font-weight:700;backdrop-filter:blur(6px);transition:background .4s,color .4s}
.bu-behind-tag i{width:6px;height:6px;border-radius:50%;background:var(--color-accent)}
.works-card:hover .bu-behind-tag,.works-card.is-open .bu-behind-tag{background:var(--color-accent);color:var(--bu-ink)}
.bu-behind{position:absolute;inset:0;z-index:2;background:rgba(21,21,21,.94);color:#fff;padding:52px 24px 24px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;
  transform:translateY(101%);transition:transform .8s var(--bu-ease)}
.works-card:hover .bu-behind,.works-card.is-open .bu-behind{transform:translateY(0)}
.bu-behind .k{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:start;font-size:12px;line-height:1.7;color:rgba(255,255,255,.88);
  opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .7s var(--bu-ease)}
.works-card:hover .bu-behind .k,.works-card.is-open .bu-behind .k{opacity:1;transform:translateY(0)}
.bu-behind .k:nth-child(2){transition-delay:.12s}.bu-behind .k:nth-child(3){transition-delay:.2s}.bu-behind .k:nth-child(4){transition-delay:.28s}
.bu-behind .k b{font-family:var(--font-en);font-size:10px;letter-spacing:.2em;color:var(--color-accent);padding-top:3px;font-weight:700}
.bu-behind .t{position:absolute;top:20px;right:18px;font-family:var(--font-en);font-size:10px;letter-spacing:.22em;color:rgba(255,255,255,.5);font-weight:700;opacity:0;transition:opacity .5s ease}
.works-card:hover .bu-behind .t,.works-card.is-open .bu-behind .t{opacity:1}
@media (hover:none){.bu-behind-tag::after{content:"TAP";opacity:.6}}

/* ---------- 6. NEWS：矢印が滑る ---------- */
.news-item .news-arrow{transition:transform .5s var(--bu-ease),color .4s}
.news-item:hover .news-arrow{transform:translateX(6px);color:var(--bu-ink)}
.news-item .news-title{transition:transform .5s var(--bu-ease)}
.news-item:hover .news-title{transform:translateX(4px)}

/* ---------- 7. CTA：光が寄ってくる・ボタンが吸い付く ---------- */
.cta-section{--cx:50%;--cy:50%}
.cta-section .bu-cta-glow{position:absolute;left:var(--cx);top:var(--cy);width:640px;height:640px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(255,212,0,.22),rgba(255,212,0,.06) 40%,transparent 68%);opacity:0;transition:opacity 1s ease}
.cta-section.bu-lit .bu-cta-glow{opacity:1}
.cta-section .container{position:relative;z-index:1}
.btn.bu-magnet{will-change:transform}
.btn.bu-magnet .arrow{transition:transform .4s var(--bu-ease)}
.btn.bu-magnet:hover .arrow{transform:translateX(4px)}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .hero-visual .tag{animation:none}
  .bu-ln>span,.hero-en .bu-ln>span{transform:none!important;transition:none}
  .fade-in{transition:none}
}

/* =========================================================
   ▼ 全ページ版（2026-08-22 追加）
   ========================================================= */

/* ---------- 8. ページ遷移：黄色のワイプ ---------- */
.bu-wipe{position:fixed;inset:0;z-index:9000;background:var(--color-accent);transform:scaleX(0);transform-origin:left;pointer-events:none}
.bu-wipe.in{transform:scaleX(1);transition:transform .4s cubic-bezier(.77,0,.18,1)}
body.bu-fade{opacity:0;transition:opacity .16s ease}
.bu-wipe.out{transform-origin:right;transform:scaleX(0);transition:transform .55s cubic-bezier(.77,0,.18,1) .05s}
.bu-wipe.hold{transform:scaleX(1);transform-origin:right;transition:none}
@media (prefers-reduced-motion:reduce){.bu-wipe{display:none}}

/* ---------- 9. サブページ見出し：黄色のグローがカーソルに追従 ---------- */
.page-hero{--gx:85%;--gy:20%}
.page-hero::before{left:auto;right:auto;top:auto;transform:translate(-50%,-50%);left:var(--gx);top:var(--gy);transition:none}
.page-en .bu-ln{padding-bottom:.12em;margin-bottom:-.12em}
.page-hero .breadcrumbs a{position:relative}
.page-hero .breadcrumbs a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--bu-ink);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--bu-ease)}
.page-hero .breadcrumbs a:hover::after{transform:scaleX(1);transform-origin:left}

/* ---------- 10. SERVICE：黄色のベール＋現在地レール ---------- */
.bu-veil{position:relative}
.bu-veil::before{content:"";position:absolute;inset:0;z-index:3;background:var(--color-accent);transform-origin:right;transform:scaleX(1);transition:transform 1.1s cubic-bezier(.77,0,.18,1) .1s;pointer-events:none}
.is-visible .bu-veil::before,.bu-veil.is-visible::before{transform:scaleX(0)}
.bu-veil img{transform:scale(1.12);transition:transform 1.6s var(--bu-ease) .1s}
.is-visible .bu-veil img,.bu-veil.is-visible img{transform:scale(1)}
.service-block-visual.bu-veil:hover img{transform:scale(1.04)}
.bu-rail{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:900;display:flex;flex-direction:column;gap:14px;align-items:flex-end;opacity:0;transition:opacity .5s ease;pointer-events:none}
.bu-rail.show{opacity:1;pointer-events:auto}
.bu-rail a{display:flex;align-items:center;gap:10px;font-family:var(--font-en);font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--color-text-mute);opacity:1;transition:color .3s}
.bu-rail a span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .5s var(--bu-ease);font-size:10px}
.bu-rail a i{width:6px;height:6px;border-radius:50%;background:#c9c9c4;transition:transform .4s var(--bu-ease),background .3s;flex:0 0 auto}
.bu-rail a.on{color:var(--bu-ink)}
.bu-rail a.on i{background:var(--color-accent);transform:scale(1.9)}
.bu-rail a.on span,.bu-rail:hover a span{max-width:160px}
.bu-rail a.on b{font-size:13px}
@media(max-width:1100px){.bu-rail{display:none}}
.service-tags li{transition:background .3s,color .3s,transform .4s var(--bu-ease)}
.service-tags li:hover{background:var(--color-accent);transform:translateY(-2px)}
.service-overview-item .num{transition:transform .4s var(--bu-ease)}
.service-overview-item:hover .num{transform:rotate(-6deg) scale(1.1)}

/* ---------- 11. CORPORATE：行が順番に流れ込む・署名の下線 ---------- */
.bu-rows tr,.bu-rows li{opacity:0;transform:translateX(-14px)}
.is-visible .bu-rows tr,.is-visible .bu-rows li,.bu-rows.is-visible tr,.bu-rows.is-visible li{animation:buRow .9s var(--bu-ease) forwards;animation-delay:calc(var(--i,0)*.08s)}
@keyframes buRow{to{opacity:1;transform:translateX(0)}}
.bg-card-list li .bg-year{transition:color .3s}
.bg-card-list li:hover .bg-year{color:var(--bu-ink)}
.bg-card-list li:hover .bg-role{padding-left:4px}
.bg-card-list li .bg-role{transition:padding .4s var(--bu-ease)}
.bu-sign strong{position:relative;display:inline-block}
.bu-sign strong::after{content:"";position:absolute;left:-2px;right:-2px;bottom:-4px;height:6px;background:var(--color-accent);z-index:-1;transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.65,0,.35,1) .6s}
.is-visible .bu-sign strong::after{transform:scaleX(1)}
.profile-table tr{transition:background .3s}
.profile-table tr:hover{background:rgba(255,212,0,.06)}

/* ---------- 12. MEMBER：タイムラインが伸びる・写真チルト ---------- */
.bu-timeline{position:relative}
.bu-timeline .bu-tl-line{position:absolute;left:140px;top:12px;bottom:12px;width:2px;background:var(--color-accent);transform-origin:top;transform:scaleY(var(--p,0));z-index:1;pointer-events:none}
.bu-timeline .career-item.bu-passed::before{border-color:var(--color-accent);background:var(--color-accent)}
.bu-timeline .career-item.bu-passed .career-year{color:var(--bu-ink)}
.bu-timeline .career-item::before{transition:all .5s var(--bu-ease)}
@media(max-width:760px){.bu-timeline .bu-tl-line{left:auto}}
.bu-tilt{transform-style:preserve-3d;transition:transform .5s var(--bu-ease),box-shadow .5s}
.bu-tilt img{transition:transform .8s var(--bu-ease)}
.member-card:hover .bu-tilt img{transform:scale(1.04)}
.member-featured .member-photo{overflow:hidden}
.member-featured .member-photo img{will-change:transform}

/* ---------- 13. WORKS：数字カウントアップ・サムネ光沢 ---------- */
.ch-stats strong{font-variant-numeric:tabular-nums;display:inline-block;min-width:2.2em;text-align:right}
.bu-shine a{position:relative;overflow:hidden}
.bu-shine a::before{content:"";position:absolute;top:0;left:-90%;width:55%;height:100%;z-index:2;background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .9s ease;pointer-events:none}
.bu-shine a:hover::before{left:140%}
.ch-hero a{overflow:hidden;position:relative;display:block}
.ch-hero a img{transition:transform 1.2s var(--bu-ease)}
.ch-hero a:hover img{transform:scale(1.04)}
.ch-play{transition:transform .5s var(--bu-ease),background .3s}
.ch-hero a:hover .ch-play,.ch-thumbs a:hover .ch-play{transform:translate(-50%,-50%) scale(1.12)}

/* ---------- 14. RECRUIT：語ごと出現・スローズーム・ENTRY ---------- */
.bu-words .w{display:inline-block;opacity:0;transform:translateY(.45em);filter:blur(5px);transition:opacity .8s ease,transform .9s var(--bu-ease),filter .8s ease}
.bu-words.is-visible .w{opacity:1;transform:none;filter:none}
.bu-words.is-visible .w:nth-child(1){transition-delay:.05s}.bu-words.is-visible .w:nth-child(2){transition-delay:.18s}.bu-words.is-visible .w:nth-child(4){transition-delay:.42s}.bu-words.is-visible .w:nth-child(5){transition-delay:.55s}.bu-words.is-visible .w:nth-child(6){transition-delay:.68s}
.bu-kenburns img{transition:transform 7s linear!important}
.bu-kenburns.is-visible img{transform:scale(1.06)!important}
.culture-card{overflow:hidden;position:relative}
.culture-card::before{content:"";position:absolute;top:-60px;right:-60px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,212,0,.35),transparent 65%);transform:scale(.4);opacity:0;transition:transform .8s var(--bu-ease),opacity .6s ease;pointer-events:none}
.culture-card:hover::before{transform:scale(1.6);opacity:1}
.culture-card .culture-num{transition:transform .5s var(--bu-ease)}
.culture-card:hover .culture-num{transform:rotate(-6deg)}
.job-card{position:relative}
.job-card.bu-clickable{cursor:pointer}
.job-card .bu-more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:10px 18px;border:1px solid var(--bu-ink);border-radius:999px;font-family:var(--font-en);font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--bu-ink);opacity:1;transition:background .3s,color .3s,border-color .3s,transform .5s var(--bu-ease)}
.job-card:hover .bu-more{background:var(--color-accent);border-color:var(--color-accent);color:var(--bu-ink);transform:translateY(-2px)}
.job-card .bu-more:hover{opacity:1}
.job-card .bu-more i{font-style:normal;transition:transform .4s var(--bu-ease)}
.job-card:hover .bu-more i{transform:translateX(4px)}

/* ---------- 15. NEWS：行の左に黄色のバー ---------- */
.news-item{position:relative}
.news-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-accent);transform:scaleY(0);transform-origin:top;transition:transform .4s var(--bu-ease)}
.news-item:hover::before{transform:scaleY(1)}
.news-list li{--d:calc(var(--i,0)*.06s)}

/* ---------- 16. CONTACT：入力中のラベルにマーカー ---------- */
.form-row .label-text{display:inline-block;background-image:linear-gradient(var(--color-accent),var(--color-accent));background-repeat:no-repeat;background-position:left center;background-size:0% 100%;transition:background-size .5s cubic-bezier(.65,0,.35,1);padding:0 .2em;margin-left:-.2em;border-radius:3px}
.form-row:focus-within .label-text{background-size:100% 100%}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{box-shadow:0 0 0 4px rgba(255,212,0,.22)}
.bu-toast{position:fixed;left:50%;bottom:80px;transform:translate(-50%,20px);z-index:9500;background:var(--bu-ink);color:#fff;padding:14px 22px;border-radius:999px;font-size:13px;letter-spacing:.04em;opacity:0;transition:opacity .4s,transform .5s var(--bu-ease);pointer-events:none;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.bu-toast.show{opacity:1;transform:translate(-50%,0)}
.bu-toast b{color:var(--color-accent);font-weight:700}

/* ---------- 17. NEWS詳細ページ ---------- */
.bu-news-hero .bu-news-meta{display:flex;align-items:center;gap:14px;margin:18px 0 18px}
.bu-news-hero .news-date{font-family:var(--font-en);font-weight:600;font-size:15px;letter-spacing:.05em;color:var(--color-text-sub)}
.bu-news-title{font-size:clamp(24px,3.4vw,42px);font-weight:700;line-height:1.5;letter-spacing:.02em;margin-bottom:28px;max-width:22em}
.bu-news-title .bu-ln{padding-bottom:.15em;margin-bottom:-.15em}
.bu-article{max-width:760px;margin:0 auto}
.bu-article-lead{font-size:17px;font-weight:700;line-height:2;letter-spacing:.02em;margin-bottom:44px;padding-left:20px;border-left:3px solid var(--color-accent)}
.bu-article h2{font-size:22px;font-weight:700;line-height:1.6;margin:52px 0 18px;padding-bottom:12px;border-bottom:1px solid var(--color-line);position:relative}
.bu-article h2::after{content:"";position:absolute;left:0;bottom:-1px;width:48px;height:2px;background:var(--color-accent)}
.bu-article p{font-size:16px;line-height:2.1;color:var(--color-text);margin-bottom:20px}
.bu-article ul,.bu-article ol{margin:0 0 24px 1.4em;font-size:16px;line-height:2}
.bu-article li{margin-bottom:6px}
.bu-article ul li::marker{color:var(--color-accent)}
.bu-article a{border-bottom:1px solid var(--color-accent);transition:background .3s}
.bu-article a:hover{background:rgba(255,212,0,.3);opacity:1}
.bu-memo{position:relative;margin:56px 0 10px;padding:28px 28px 26px;background:#fff6cc;border-radius:4px;transform:rotate(-.6deg);box-shadow:0 14px 30px rgba(0,0,0,.07)}
.bu-memo::before{content:"";position:absolute;top:-10px;left:50%;width:70px;height:20px;background:rgba(255,212,0,.85);transform:translateX(-50%) rotate(-2deg);border-radius:2px;opacity:.9}
.bu-memo-label{display:inline-block;font-family:var(--font-en);font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--bu-ink);margin-bottom:10px}
.bu-memo-label::before{content:"✎ ";color:var(--bu-ink)}
.bu-memo p{font-size:14.5px;line-height:1.9;margin:0;color:var(--tx,#2a2a2a)}
.bu-article-nav{max-width:760px;margin:64px auto 0;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;border-top:1px solid var(--color-line);padding-top:32px}
.bu-article-nav a{font-size:13px;line-height:1.6;transition:color .3s}
.bu-article-nav a small{display:block;font-family:var(--font-en);font-size:10px;letter-spacing:.2em;color:var(--color-text-mute);margin-bottom:6px;font-weight:700}
.bu-article-prev{text-align:left}.bu-article-next{text-align:right}
.bu-article-back{font-family:var(--font-en);font-size:12px;font-weight:700;letter-spacing:.16em;padding:12px 22px;border:1px solid var(--bu-ink);border-radius:999px;white-space:nowrap;transition:background .3s,color .3s}
.bu-article-back:hover{background:var(--bu-ink);color:#fff;opacity:1}
@media(max-width:640px){.bu-article-nav{grid-template-columns:1fr;text-align:left}.bu-article-next{text-align:left}.bu-article-back{justify-self:start}}

/* ---------- 18. CONTACT：フォーム文字の視認性（2026-08-22 指摘） ---------- */
.form-row input[type="text"],.form-row input[type="email"],.form-row input[type="tel"],.form-row select,.form-row textarea{color:var(--bu-ink);font-size:16px;font-weight:500;background:#fff;border-color:#cfcfca}
.form-row input::placeholder,.form-row textarea::placeholder{color:#8a8a8a;opacity:1;font-weight:400}
.form-row select{color:var(--bu-ink)}
.form-row select:invalid,.form-row select option[value=""]{color:#8a8a8a}
.form-row .label-text{font-size:15px;color:var(--bu-ink)}
.checkbox-row{font-size:15px;color:var(--bu-ink)}
.checkbox-row a{border-bottom:1px solid var(--bu-ink)}
.form-note,.contact-note{color:var(--color-text-sub)}

.bu-entry-hint{margin:0 0 28px;padding:16px 20px;border-left:3px solid var(--color-accent);background:#fff6cc;font-size:14px;line-height:1.8;border-radius:4px}
.bu-entry-hint b{font-family:var(--font-en);letter-spacing:.16em;margin-right:10px}
