.home-story-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.68}.story-visual>span{z-index:2}.story-visual:after{z-index:1}.story-row .thumb{overflow:hidden}.story-row .thumb img{width:100%;height:100%;object-fit:cover}.latest .story-body h3,.latest .story-row h3{overflow-wrap:anywhere}

.achievements-section{padding:90px clamp(20px,5vw,76px);background:linear-gradient(180deg,#080d14,#0d131d);border-top:1px solid rgba(143,222,230,.12)}
.achievements-heading{max-width:1400px;margin:0 auto 34px;display:flex;align-items:flex-end;justify-content:space-between}
.achievements-heading h2{margin:8px 0 0;font-family:var(--serif);font-size:clamp(30px,3.5vw,48px);letter-spacing:.08em}
.achievements-controls{display:flex;gap:10px}
.achievements-controls button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(130,232,239,.28);background:rgba(18,27,38,.78);color:#eaf4f6;cursor:pointer;transition:.2s}
.achievements-controls button:hover{border-color:#82e8ef;background:rgba(46,119,130,.3)}
.achievements-slider{max-width:1400px;margin:auto;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 64px)/5);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 1px 18px}
.achievements-slider::-webkit-scrollbar{display:none}
.achievement-card{scroll-snap-align:start;min-width:0;border:1px solid rgba(143,222,230,.16);border-radius:16px;overflow:hidden;background:rgba(18,27,38,.74);transition:.25s transform,.25s border-color}
.achievement-card:hover{transform:translateY(-4px);border-color:rgba(130,232,239,.55)}
.achievement-image{aspect-ratio:16/10;overflow:hidden;background:#101923;display:grid;place-items:center}
.achievement-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.achievement-card:hover .achievement-image img{transform:scale(1.035)}
.achievement-placeholder{font-size:.68rem;letter-spacing:.22em;color:#82e8ef}
.achievement-body{padding:17px}
.achievement-meta{display:flex;flex-wrap:wrap;gap:7px 10px;color:#99a9b0;font-size:.66rem}
.achievement-meta span{color:#82e8ef}
.achievement-body h3{margin:10px 0 0;font-family:var(--serif);font-size:.92rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.achievements-loading{grid-column:1/-1;color:#9cabb1}
.achievements-more{width:max-content;margin:22px auto 0;display:flex;gap:18px;align-items:center;border-bottom:1px solid rgba(130,232,239,.3);padding:8px 2px;font-size:.78rem}
.achievements-more span{color:#82e8ef}
@media(max-width:900px){.achievements-slider{grid-auto-columns:calc((100% - 48px)/4)}}
@media(max-width:600px){.achievements-section{padding:70px 16px}.achievements-slider{grid-auto-columns:calc((100% - 12px)/2);gap:12px}.achievements-heading{margin-bottom:26px}.achievements-controls button{width:40px;height:40px}.achievement-body{padding:13px}.achievement-body h3{font-size:.82rem}}


.hero-side-copy{position:absolute;z-index:4;top:50%;margin:0;writing-mode:vertical-rl;text-orientation:upright;transform:translateY(-50%);color:rgba(220,235,239,.72);font-family:var(--serif);font-size:clamp(.72rem,.9vw,.9rem);letter-spacing:.3em;text-shadow:0 2px 18px rgba(0,0,0,.8);pointer-events:none}
.hero-side-copy-left{left:clamp(24px,4vw,66px)}
.hero-side-copy-right{right:clamp(24px,4vw,66px)}
@media(max-width:700px){.hero-side-copy{top:48%;font-size:.66rem;letter-spacing:.22em}.hero-side-copy-left{left:12px}.hero-side-copy-right{right:12px}}


.notices-section{padding:78px clamp(20px,5vw,76px);background:#090e15;border-top:1px solid rgba(143,222,230,.12)}
.notices-heading{max-width:1400px;margin:0 auto 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.notices-heading h2{margin:8px 0 0;font-family:var(--serif);font-size:clamp(30px,3.5vw,48px);letter-spacing:.08em}
.notices-heading>a{font-size:.76rem;border-bottom:1px solid rgba(130,232,239,.3);padding:8px 1px;white-space:nowrap}
.notices-heading>a span{color:#82e8ef;margin-left:12px}
.notices-list{max-width:1400px;margin:auto;border-top:1px solid rgba(143,222,230,.16)}
.notice-item>a{display:grid;grid-template-columns:115px 110px minmax(0,1fr) 24px;gap:18px;align-items:center;padding:22px 8px;border-bottom:1px solid rgba(143,222,230,.13);transition:.2s background,.2s padding}
.notice-item>a:hover{padding-inline:16px;background:rgba(130,232,239,.035)}
.notice-item time{color:#94a4aa;font-size:.72rem}
.notice-item span{width:max-content;color:#82e8ef;border:1px solid rgba(130,232,239,.25);border-radius:999px;padding:5px 10px;font-size:.66rem}
.notice-item h3{margin:0;font-family:var(--serif);font-size:.94rem;line-height:1.65}
.notice-item b{color:#82e8ef;font-weight:400}
.notices-loading{color:#94a4aa}
.theme-card{display:block;text-decoration:none}
@media(max-width:600px){.notices-section{padding:62px 16px}.notices-heading{align-items:center}.notice-item>a{grid-template-columns:82px minmax(0,1fr) 18px;gap:10px;padding:17px 4px}.notice-item span{display:none}.notice-item h3{font-size:.8rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}

/* テーマから探す：PC・スマホとも2カラム＋アイコン */
#themes .theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#themes .theme-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"num num" "icon label" "title title" "text text" "more more";column-gap:16px;align-items:center;min-height:0;padding:30px 28px}
#themes .theme-card>span{grid-area:num}
#themes .theme-card i{grid-area:icon;width:64px;height:64px;margin:22px 0 18px;box-shadow:0 0 22px rgba(123,229,233,.18),inset 0 0 18px rgba(123,229,233,.08)}
#themes .theme-card i svg{display:block}
#themes .theme-card .theme-label{grid-area:label;font-size:10px;font-weight:700;letter-spacing:.28em;color:#7be5e9}
#themes .theme-card h3{grid-area:title;margin:0 0 8px}
#themes .theme-card p{grid-area:text;min-height:0;margin:0 0 14px}
#themes .theme-card b{grid-area:more}
@media(max-width:600px){
  #themes .theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #themes .theme-card{grid-template-columns:1fr;grid-template-areas:"num" "icon" "label" "title" "text" "more";padding:22px 16px}
  #themes .theme-card i{width:52px;height:52px;margin:14px 0 10px}
  #themes .theme-card i svg{width:24px;height:24px}
  #themes .theme-card h3{font-size:16px;line-height:1.5}
  #themes .theme-card p{font-size:11.5px;line-height:1.75}
  #themes .theme-card .theme-label{font-size:8.5px;letter-spacing:.2em;margin-bottom:6px}
}

/* 実績一覧：矢印をスライダーの左右に配置 */
.achievements-stage{position:relative;max-width:1400px;margin:0 auto}
.achievements-stage .achievements-slider{max-width:none}
.achievements-arrow{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(130,232,239,.35);border-radius:50%;background:rgba(8,13,20,.82);color:#eaf4f6;font:300 30px/1 Georgia,serif;cursor:pointer;transform:translateY(-50%);backdrop-filter:blur(8px);box-shadow:0 10px 28px rgba(0,0,0,.4);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.achievements-arrow span{margin-top:-4px}
.achievements-arrow:hover{border-color:#82e8ef;background:rgba(46,119,130,.55);transform:translateY(-50%) scale(1.06)}
.achievement-prev.achievements-arrow{left:-24px}
.achievement-next.achievements-arrow{right:-24px}
@media(max-width:1480px){.achievement-prev.achievements-arrow{left:-8px}.achievement-next.achievements-arrow{right:-8px}}
@media(max-width:600px){.achievements-arrow{width:38px;height:38px;font-size:24px}.achievement-prev.achievements-arrow{left:-6px}.achievement-next.achievements-arrow{right:-6px}}
/* ニュースレター：準備中表示 */
.newsletter .coming-soon{display:inline-block;margin-left:14px;padding:4px 12px;border:1px solid rgba(255,95,210,.7);border-radius:999px;color:#ffb6ea;font-size:9px;letter-spacing:.3em;text-shadow:0 0 8px rgba(255,95,210,.7);box-shadow:0 0 12px rgba(255,95,210,.25);animation:coming-blink 2.4s ease-in-out infinite;vertical-align:middle}
.newsletter-form button[disabled]{letter-spacing:.12em;color:#ffb6ea;border-color:rgba(255,95,210,.45)}
@keyframes coming-blink{50%{opacity:.45}}
@media(prefers-reduced-motion:reduce){.newsletter .coming-soon{animation:none}}

/* ===== NOW EXPLORING ニュースティッカー ===== */
.ticker--news>span{position:relative;z-index:2;background:inherit;gap:8px}
.ticker--news>span::before{content:"";width:6px;height:6px;border-radius:50%;background:#ff4f7a;box-shadow:0 0 8px #ff4f7a;animation:kv-live 1.4s ease-in-out infinite}
.ticker__view{flex:1;min-width:0;overflow:hidden;padding:0!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ticker__track{display:flex;width:max-content;margin:0;animation:kv-ticker 26s linear infinite}
.ticker__view:hover .ticker__track{animation-play-state:paused}
.ticker__set{display:flex;align-items:center;gap:22px;padding-right:22px;white-space:nowrap;font-size:13px;color:#b8c6c3}
.ticker__set b{font-weight:600;color:#e6f4f5;letter-spacing:.06em}
.ticker__set em{font-style:normal;color:#87999f}
.ticker__set i{width:4px;height:4px;background:#4ed8e5;border-radius:50%;box-shadow:0 0 6px #4ed8e5}
.ticker__set i.sep{width:28px;height:1px;border-radius:0;background:linear-gradient(90deg,transparent,#4ed8e5,transparent);margin-left:14px}
@keyframes kv-ticker{to{transform:translateX(-50%)}}
@keyframes kv-live{50%{opacity:.25}}
@media(max-width:600px){.ticker__set{font-size:11px;gap:14px;padding-right:14px}.ticker__track{animation-duration:20s}}
@media(prefers-reduced-motion:reduce){.ticker__track{animation:none}.ticker__view{overflow-x:auto}}

/* ===== テーマから探す：ホログラム／グリッチ背景 ===== */
#themes .theme-card{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(120% 90% at 50% 0%,rgba(40,70,110,.35),transparent 60%),linear-gradient(160deg,#0b1220 0%,#070b14 100%);box-shadow:inset 2px 0 0 rgba(77,220,235,.55),inset -2px 0 0 rgba(255,60,170,.45),inset 0 0 40px rgba(77,220,235,.06);transition:transform .3s,box-shadow .3s}
#themes .theme-card>*{position:relative;z-index:2}
/* グリッチの横線（シアン／マゼンタ） */
#themes .theme-card::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.85;
 background:
  linear-gradient(90deg,transparent 6%,rgba(77,220,235,.55) 6% 18%,transparent 18%) 0 12%/100% 3px no-repeat,
  linear-gradient(90deg,transparent 60%,rgba(77,220,235,.35) 60% 86%,transparent 86%) 0 22%/100% 2px no-repeat,
  linear-gradient(90deg,transparent 72%,rgba(255,60,170,.7) 72% 84%,transparent 84%) 0 34%/100% 3px no-repeat,
  linear-gradient(90deg,transparent 4%,rgba(77,220,235,.3) 4% 30%,transparent 30%) 0 47%/100% 2px no-repeat,
  linear-gradient(90deg,transparent 10%,rgba(255,60,170,.6) 10% 20%,transparent 20%) 0 63%/100% 3px no-repeat,
  linear-gradient(90deg,transparent 66%,rgba(77,220,235,.5) 66% 92%,transparent 92%) 0 74%/100% 2px no-repeat,
  linear-gradient(90deg,transparent 22%,rgba(77,220,235,.28) 22% 44%,transparent 44%) 0 88%/100% 2px no-repeat;
 animation:kv-glitch 5.5s steps(1) infinite}
/* 走査線＋ホログラムの光沢＋星 */
#themes .theme-card::after{content:"✦";position:absolute;inset:0;z-index:1;pointer-events:none;padding:14px 18px;text-align:right;font-size:14px;color:rgba(220,235,255,.7);text-shadow:0 0 8px rgba(160,220,255,.9);
 background:
  linear-gradient(115deg,transparent 30%,rgba(120,230,255,.10) 45%,rgba(255,90,200,.08) 52%,transparent 66%) -100% 0/250% 100% no-repeat,
  repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);
 animation:kv-holo 7s ease-in-out infinite}
#themes .theme-card:nth-child(2)::before{animation-delay:-1.4s;transform:scaleX(-1)}
#themes .theme-card:nth-child(3)::before{animation-delay:-2.8s;transform:scaleY(-1)}
#themes .theme-card:nth-child(4)::before{animation-delay:-4.1s;transform:scale(-1)}
#themes .theme-card h3{text-shadow:-1px 0 rgba(255,60,170,.45),1px 0 rgba(77,220,235,.45)}
#themes .theme-card:hover{transform:translateY(-5px);box-shadow:inset 3px 0 0 rgba(77,220,235,.9),inset -3px 0 0 rgba(255,60,170,.8),0 0 28px rgba(77,220,235,.18),0 0 40px rgba(255,60,170,.1)}
#themes .theme-card:hover::before{animation-duration:.9s}
#themes .theme-card:hover h3{animation:kv-rgb .5s steps(2) 2}
@keyframes kv-glitch{0%,100%{translate:0 0;opacity:.85}31%{translate:6px 0;opacity:.55}33%{translate:-4px 1px;opacity:1}35%{translate:0 0}72%{translate:-7px 0;opacity:.6}74%{translate:0 0;opacity:.85}}
@keyframes kv-holo{0%,100%{background-position:-100% 0,0 0}50%{background-position:200% 0,0 0}}
@keyframes kv-rgb{50%{text-shadow:-3px 0 rgba(255,60,170,.8),3px 0 rgba(77,220,235,.8);transform:translateX(1px)}}
@media(prefers-reduced-motion:reduce){#themes .theme-card::before,#themes .theme-card::after,#themes .theme-card:hover h3{animation:none}}
#themes .theme-card::before{opacity:.5}
#themes .theme-card p,#themes .theme-card h3{text-shadow:0 0 6px #070b14,0 0 2px #070b14}
#themes .theme-card h3{text-shadow:-1px 0 rgba(255,60,170,.45),1px 0 rgba(77,220,235,.45),0 0 6px #070b14}
.area-copy h2 .nb{white-space:nowrap}
@media(max-width:600px){.area-copy h2{font-size:clamp(24px,7.6vw,32px)}}

/* ===== 1セクション＝1画面（トップページ） ===== */
@media (min-width:901px) and (min-height:640px){
 html:has(main#top){scroll-snap-type:y proximity}
 #top>.hero{height:calc(100svh - 68px);min-height:600px;max-height:none;scroll-snap-align:start}
 #top>.latest,#top>.themes-wrap,#top>.area-section,#top>.about-section,#top>.notices-section,#top>.achievements-section{min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start;padding-block:clamp(64px,9vh,104px)}
 #top>.latest .story-visual{height:clamp(220px,30vh,330px)}
 #top>.latest .section-heading{margin-bottom:clamp(28px,4vh,54px)}
 #top>.about-band{scroll-snap-align:start}
}
@media (max-width:900px){
 #top>.hero{min-height:calc(100svh - 68px)}
 #top>.area-section,#top>.about-section,#top>.notices-section,#top>.achievements-section{min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}
}
@media (min-width:901px) and (min-height:640px){
 #top>.themes-wrap{padding-block:0}
 #top>.themes-wrap>.content-section{width:100%;padding-block:clamp(56px,8vh,96px)}
 #top>.themes-wrap .section-heading{margin-bottom:clamp(26px,4vh,54px)}
 #top>.about-section{display:grid;align-content:center}
}
@media (max-width:900px){#top>.about-section{display:grid;align-content:center}}

/* ===== ティッカー統一（固定ページのマーキーと同じ見た目） ===== */
.ticker.ticker--news{height:68px;background:#071116;border-block:1px solid rgba(158,201,208,.11)}
.ticker--news .ticker__view{-webkit-mask-image:none;mask-image:none}
.ticker--news .ticker__set{gap:0;padding:0;font:700 clamp(20px,2.3vw,30px)/1 "Noto Serif JP",serif;letter-spacing:.04em;color:rgba(120,158,165,.62)}
.ticker--news .ticker__track{animation-duration:60s}
@media(max-width:600px){.ticker.ticker--news{height:56px}.ticker--news .ticker__set{font-size:18px}.ticker--news .ticker__track{animation-duration:45s}}
.about-copy .about-links{display:flex;flex-wrap:wrap;gap:12px 32px}
#about h2 .nb{white-space:nowrap}
@media(min-width:901px){#top>.about-section{grid-template-columns:140px 1.25fr 1fr}#about h2{font-size:clamp(30px,3.1vw,46px);line-height:1.6}}
@media(max-width:600px){#about h2{font-size:clamp(24px,7.4vw,32px)}}

/* 理念・お知らせは中身が短いので、1画面に引き伸ばさず上下の余白をそろえる */
#top>#about,#top>#notices{min-height:0}
@media (min-width:901px){#top>#about,#top>#notices{padding-block:clamp(96px,13vh,136px)}}
@media (max-width:900px){#top>#about,#top>#notices{padding-block:80px}}

/* ===== 理念セクション：画像＋アニメーション ===== */
#top>.about-story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(36px,6vw,88px);align-items:center;position:relative;overflow:hidden}
.about-story .about-mark{position:absolute;left:-1%;top:50%;transform:translateY(-50%);font-size:clamp(220px,28vw,420px);opacity:.18;z-index:0;pointer-events:none;line-height:1}
.about-story>*{position:relative;z-index:1}
.about-story .about-copy{border-left:0;padding-left:0;margin-top:clamp(18px,3vh,30px)}
.about-story .about-copy p{font-size:13.5px}
#about .about-title{margin:12px 0 0;font-size:clamp(28px,2.9vw,44px);line-height:1.6}

.about-visual{margin:0;position:relative}
.about-visual__frame{position:relative;overflow:hidden;border-radius:6px;aspect-ratio:1202/836;background:#0b1118;
  box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 1px rgba(123,229,233,.18);clip-path:inset(0 100% 0 0);transition:clip-path 1.2s cubic-bezier(.77,0,.18,1)}
.about-visual__frame img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) brightness(.9);
  transform:translate3d(0,var(--ap,0px),0) scale(1.2);transition:transform 2.6s cubic-bezier(.2,.7,.2,1)}
/* シアン×マゼンタのデュオトーン */
.about-visual__frame::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  background:linear-gradient(135deg,rgba(78,216,229,.28),rgba(9,14,22,0) 45%,rgba(255,95,210,.22));}
.about-visual__frame::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px)}
/* 走査線 */
.about-visual__scan{position:absolute;left:0;right:0;top:-20%;height:18%;z-index:3;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,transparent,rgba(123,229,233,.22) 70%,rgba(200,250,255,.6) 98%,transparent);mix-blend-mode:screen}
/* ときどき走るグリッチ */
.about-visual__glitch{position:absolute;left:0;right:0;top:38%;height:7%;z-index:3;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,rgba(255,60,170,.45),rgba(77,220,235,.45));mix-blend-mode:screen}
/* 四隅のブラケット */
.about-visual::before,.about-visual::after{content:"";position:absolute;width:34px;height:34px;z-index:4;pointer-events:none;opacity:0;transition:opacity .6s 1s,transform .8s 1s}
.about-visual::before{top:-12px;left:-12px;border-top:2px solid #4ed8e5;border-left:2px solid #4ed8e5;transform:translate(10px,10px)}
.about-visual::after{bottom:28px;right:-12px;border-bottom:2px solid #ff5fd2;border-right:2px solid #ff5fd2;transform:translate(-10px,-10px)}
.about-visual figcaption{margin-top:14px;font:600 11px/1 var(--sans,sans-serif);letter-spacing:.42em;color:#7f949a;opacity:0;transform:translateX(-12px);transition:opacity .8s 1.1s,transform .8s 1.1s}
.about-visual figcaption span{color:#4ed8e5}

/* 文字の登場 */
.about-story .eyebrow,.about-story .about-title .nb,.about-story .about-copy{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.about-story .about-title .nb{display:inline-block}
.about-story.is-visible .eyebrow{opacity:1;transform:none;transition-delay:.35s}
.about-story.is-visible .about-title .nb:nth-of-type(1){opacity:1;transform:none;transition-delay:.55s}
.about-story.is-visible .about-title .nb:nth-of-type(2){opacity:1;transform:none;transition-delay:.75s}
.about-story.is-visible .about-copy{opacity:1;transform:none;transition-delay:1s}

/* 表示されたら */
.about-story.is-visible .about-visual__frame{clip-path:inset(0 0 0 0)}
.about-story.is-visible .about-visual__frame img{transform:translate3d(0,var(--ap,0px),0) scale(1.06)}
.about-story.is-visible .about-visual::before,.about-story.is-visible .about-visual::after{opacity:1;transform:none}
.about-story.is-visible .about-visual figcaption{opacity:1;transform:none}
.about-story.is-visible .about-visual__scan{animation:about-scan 6.5s linear 1.4s infinite}
.about-story.is-visible .about-visual__glitch{animation:about-glitch 7s steps(1) 2.2s infinite}
.about-story.is-visible .about-mark{animation:about-mark 9s ease-in-out infinite}
@keyframes about-scan{0%{top:-20%;opacity:0}8%{opacity:1}55%{top:105%;opacity:.9}56%,100%{top:105%;opacity:0}}
@keyframes about-glitch{0%,100%{opacity:0}62%{opacity:.9;top:31%;transform:translateX(-6px)}63%{opacity:.7;top:58%;height:4%;transform:translateX(8px)}64%{opacity:0}86%{opacity:.6;top:72%;height:3%;transform:translateX(-4px)}87%{opacity:0}}
@keyframes about-mark{0%,100%{opacity:.14;transform:translateY(-50%)}50%{opacity:.26;transform:translateY(calc(-50% - 14px))}}

@media(max-width:900px){
  #top>.about-story{grid-template-columns:1fr;gap:36px}
  .about-story .about-mark{left:auto;right:-6%;top:22%;font-size:52vw}
  .about-visual::after{bottom:24px}
}
@media(prefers-reduced-motion:reduce){
  .about-visual__frame{clip-path:none;transition:none}
  .about-visual__frame img{transform:scale(1.04);transition:none}
  .about-story .eyebrow,.about-story .about-title .nb,.about-story .about-copy,.about-visual figcaption,.about-visual::before,.about-visual::after{opacity:1;transform:none;transition:none}
  .about-visual__scan,.about-visual__glitch{display:none}
  .about-story .about-mark{animation:none}
}

/* ===== ティッカー配色（BREAKING NEWS風：赤→紺のグラデーション） ===== */
.ticker.ticker--news,.corp .marquee{background:linear-gradient(90deg,#3a0c16 0%,#1d0f17 32%,#121621 62%,#0c1620 100%);border-top:1px solid rgba(255,45,85,.75);border-bottom:1px solid rgba(78,216,229,.55);box-shadow:inset 0 1px 18px rgba(255,40,80,.12)}
.ticker--news .ticker__set,.corp .marquee span{color:#eef3f5;text-shadow:0 0 12px rgba(255,255,255,.08)}
.ticker--news .tk-sep,.corp .marquee .tk-sep{font-style:normal;color:#ff2d55;text-shadow:0 0 10px rgba(255,45,85,.7)}

/* 実績一覧も中身に合わせた高さ・均等な余白に */
#top>#achievements{min-height:0}
@media (min-width:901px){#top>#achievements{padding-block:clamp(96px,13vh,136px)}}
@media (max-width:900px){#top>#achievements{padding-block:80px}}

/* ===== トップページの見出し（h2）：スクロールで登場 ===== */
.h2fx #top h2.h2-anim{clip-path:inset(-20% 100% -20% 0);opacity:.15;filter:blur(8px);transform:translateY(16px);
  transition:clip-path 1.1s cubic-bezier(.77,0,.18,1),opacity .7s ease,filter 1s .15s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.h2fx #top h2.h2-anim.is-in{clip-path:inset(-20% -10% -20% 0);opacity:1;filter:none;transform:none;animation:h2-glow 1.8s .5s ease-out}
@keyframes h2-glow{0%{text-shadow:0 0 0 rgba(78,216,229,0)}30%{text-shadow:0 0 18px rgba(78,216,229,.85),-2px 0 rgba(255,45,85,.55),2px 0 rgba(78,216,229,.55)}100%{text-shadow:0 0 0 rgba(78,216,229,0)}}
/* 理念セクションの見出しは1行ずつの演出に光を足す */
.about-story.is-visible .about-title{animation:h2-glow 1.8s 1s ease-out}
@media(prefers-reduced-motion:reduce){.h2fx #top h2.h2-anim{clip-path:none;opacity:1;filter:none;transform:none;transition:none;animation:none}}
.ticker--news .ticker__set{display:inline-block;white-space:nowrap}
.ticker--news .ticker__set i.tk-sep{display:inline;width:auto;height:auto;background:none;border-radius:0;box-shadow:none;margin:0;align-self:auto}

/* お知らせ：見出しは左揃え、一覧リンクはセクションの一番下へ */
#notices .notices-heading,#notices .notices-list,#notices .notices-more{width:100%;max-width:1400px;margin-left:auto;margin-right:auto}
#notices .notices-heading{justify-content:flex-start;text-align:left}
#notices .notices-more{display:flex;justify-content:flex-end;margin-top:32px}
#notices .notices-more a{font-size:.76rem;border-bottom:1px solid rgba(130,232,239,.3);padding:8px 1px;white-space:nowrap}
#notices .notices-more a span{color:#82e8ef;margin-left:12px}

/* 実績一覧（スマホ）：1枚を中央に大きく、左右に前後の実績を小さくのぞかせる */
@media(max-width:600px){
  #achievements .achievements-slider{grid-auto-columns:74%;gap:10px;padding:6px 13% 20px;scroll-padding-inline:13%;scroll-snap-type:x mandatory}
  #achievements .achievement-card{scroll-snap-align:center;transform:scale(.86);opacity:.5;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s ease,border-color .3s}
  #achievements .achievement-card.is-center{transform:none;opacity:1;border-color:rgba(130,232,239,.5);box-shadow:0 18px 40px rgba(0,0,0,.45)}
  #achievements .achievement-card:hover{transform:scale(.86)}
  #achievements .achievement-card.is-center:hover{transform:none}
  #achievements .achievements-arrow{width:34px;height:34px;opacity:.85}
}
.area-copy .area-note{margin-top:14px;font-size:11.5px!important;line-height:1.8;color:#7fc9cf!important;letter-spacing:.04em}
.latest .latest-more{grid-column:1/-1;display:flex;justify-content:flex-end;width:100%;margin-top:32px}.latest .latest-more a{font-size:.76rem;color:inherit;text-decoration:none;border-bottom:1px solid rgba(130,232,239,.3);padding:8px 1px;letter-spacing:.08em}.latest .latest-more a span{color:#1aa9b5;margin-left:12px}
.feature-story .story-title-link{color:inherit;text-decoration:none}
.ad-disclosure{position:absolute;left:0;right:0;bottom:8px;z-index:3;margin:0;padding:0 20px;color:rgba(214,232,235,.6);font-size:11px;line-height:1.6;letter-spacing:.04em;text-align:center;white-space:nowrap;pointer-events:none}
/* スマホ：1行・中央揃え（AI CHATボタンと重なってもよい） */
@media(max-width:600px){.ad-disclosure{padding:0 4px;font-size:10px;letter-spacing:0}}
@media(max-width:380px){.ad-disclosure{font-size:9.5px}}
@media(max-width:340px){.ad-disclosure{font-size:9px}}
