/* 超カワイイ三銃士 HP v2 ストリート・ジン（コラージュ）
   色: アクセント #009ECA / 黒 #282835 / 薄い面 #E6E6E2 / 紙 #F4F4F2
   生成パーツ（assets/gen/）が無くても単色で崩れない */
:root{
  --blue:#282835; --ink:#282835; --pale:#E6E6E2; --paper:#F4F4F2; --line:#06C755; --mute:#5A5A66;
  --f-tag:'Dela Gothic One','Noto Sans JP',sans-serif;
  --f-hand:'Yusei Magic','Noto Sans JP',sans-serif;
  --f-body:'Noto Sans JP',sans-serif;
  --hh:72px;
  --pu:min(1vw,calc(100svh / 72));
  --card:linear-gradient(rgba(255,255,255,.66),rgba(255,255,255,.66)),url(/v2/assets/gen/paper_card.webp) center/cover,#fff;
  --eh:calc(max(100vw,720px) * .0822);   /* 破れ縁画像（1824x150）の高さ */
  --jag:polygon(0 3%,5% 0,11% 2.5%,18% 0.5%,26% 3%,33% 0,41% 2%,49% 0.5%,57% 3%,64% 0,72% 2.5%,80% 0.5%,88% 3%,95% 0,100% 2%,100% 100%,0 100%);
}
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hh) + 8px)}
html.menu-open,html.menu-open body{overflow:hidden}
body{margin:0;background:var(--ink);color:var(--ink);font-family:var(--f-body);font-weight:500;line-height:1.7;-webkit-text-size-adjust:100%;word-break:keep-all;overflow-wrap:anywhere}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
ul,ol,dl,dd,h1,h2,h3,h4,h5,p{margin:0;padding:0}
ul,ol{list-style:none}
.ico{width:1.2em;height:1.2em;fill:currentColor;flex:none}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.sec--dark :focus-visible,.fv :focus-visible,.hd :focus-visible,.ft :focus-visible{outline-color:#fff}

/* 「ふわっと入る」対象は JS が html.fx を付けた時だけ最初から非表示（GSAPが無ければ外れる） */
.fx [data-fx]{opacity:0}

/* ---------- ボタン（全部同じ規則：紙をずらす動き） ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.75em 1.4em;border-radius:6px;font-weight:900;font-size:15px;line-height:1.3;text-decoration:none;color:#fff;border:2px solid transparent;box-shadow:3px 3px 0 rgba(40,40,53,.9);transition:transform .18s ease,box-shadow .18s ease;min-width:0;text-align:center}
.btn:hover,.btn:focus-visible{transform:translate(-2px,-2px) rotate(-.6deg);box-shadow:6px 6px 0 rgba(40,40,53,.9)}
.btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 rgba(40,40,53,.9)}
.btn--line{background:var(--line)}
.btn--black{background:var(--ink);border-color:#fff;box-shadow:3px 3px 0 var(--blue)}
.btn--white{background:var(--paper);color:var(--ink);border-color:var(--ink)}
.btn--sm{padding:.5em 1em;font-size:14px;box-shadow:2px 2px 0 #fff}
.btn--lg{padding:.9em 1.6em;font-size:clamp(14px,1.3vw,17px)}
.btn--icon{padding:.8em .95em}
.btn--icon .ico{width:1.4em;height:1.4em}
.fv .btn{box-shadow:3px 3px 0 #000}
.sec--dark .btn{box-shadow:3px 3px 0 var(--blue)}
.sec--dark .btn:hover,.sec--dark .btn:focus-visible{box-shadow:6px 6px 0 var(--blue)}
.btnrow{display:flex;flex-wrap:wrap;gap:14px 16px;margin-top:28px}

/* ---------- ヘッダー（FVの上では透明、スクロールしたら紺の帯） ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:60;height:var(--hh);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 clamp(16px,3vw,40px);background:transparent;border-bottom:3px solid transparent;transition:background-color .25s,border-color .25s}
.hd.is-scrolled{background:var(--ink);border-bottom-color:var(--blue)}
.hd__logo{display:block;width:clamp(150px,15vw,210px);flex:none;position:relative;z-index:2}
.logo-w{display:none}
.hd.is-scrolled .logo-w{display:block}
.logo-plate{display:block;background:var(--paper);padding:5px 10px 7px;clip-path:polygon(0 8%,10% 0,50% 5%,92% 0,100% 10%,98% 55%,100% 95%,60% 100%,8% 96%,0 100%,2% 50%);transform:rotate(-1.5deg)}
.hd.is-scrolled .logo-plate{display:none}
.hd:not(.is-scrolled) .hd__nav{background:rgba(40,40,53,.9);padding:6px 16px}
.hd__nav{display:flex;align-items:center;gap:clamp(12px,1.6vw,26px);min-width:0}
.hd__nav a:not(.btn){color:#fff;text-decoration:none;font-weight:700;font-size:clamp(12px,1.05vw,14px);white-space:nowrap;padding:6px 2px;background:linear-gradient(var(--blue),var(--blue)) 0 100%/0 3px no-repeat;transition:background-size .2s}
.hd__nav a:not(.btn):hover{background-size:100% 3px}
.hd__menu{display:none}

/* ---------- 共通：セクション ---------- */
.sec{position:relative;z-index:1;overflow:hidden;padding:calc(var(--eh) * .4 + clamp(20px,3vw,48px)) 0 calc(var(--eh) * .55 + clamp(24px,3.5vw,56px));margin-top:-24px;clip-path:var(--jag);background-size:cover;background-position:center}
.sec--light{background-color:var(--paper);background-image:url(/v2/assets/gen/paper_light.webp);color:var(--ink)}
.sec--dark{background-color:var(--ink);background-image:url(assets/gen/paper_dark.webp);color:#fff}
/* 破れ縁画像が読めた時だけ：画像の破れた縁を上端に敷き、紙の面はその下から */
.sec.has-edge{clip-path:none;margin-top:calc(var(--eh) * -.55);background:none}
.sec.has-edge::before{content:"";position:absolute;inset:calc(var(--eh) * .34) 0 0 0;z-index:0;background-size:cover;background-position:center}
.sec--light.has-edge::before{background-color:var(--paper);background-image:url(/v2/assets/gen/paper_light.webp)}
.sec--dark.has-edge::before{background-color:var(--ink);background-image:url(assets/gen/paper_dark.webp)}
.sec--last.has-edge::before{bottom:calc(var(--eh) * .34)}
.sec--last{padding-bottom:calc(var(--eh) * .55 + clamp(24px,3.5vw,56px))}
.edge{position:absolute;left:50%;top:0;width:max(100%,720px);max-width:none;height:auto;transform:translateX(-50%);z-index:3;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 52%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 52%,transparent 100%)}
.edge--bottom{top:auto;bottom:0;-webkit-mask-image:linear-gradient(to top,#000 0,#000 52%,transparent 100%);mask-image:linear-gradient(to top,#000 0,#000 52%,transparent 100%)}
.wrap{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 clamp(18px,4vw,48px)}

/* ---------- 札・見出し ---------- */
.tag{display:inline-block;font-family:var(--f-tag);font-weight:400;font-size:clamp(20px,2.4vw,32px);line-height:1.2;color:#fff;background-color:var(--blue);background-size:100% 100%;background-repeat:no-repeat;padding:.35em 1em .4em;margin-bottom:22px;transform:rotate(-1.5deg);clip-path:polygon(0 8%,4% 0,96% 4%,100% 0,99% 92%,95% 100%,4% 96%,0 100%)}
.tag[data-gen-ok],.stat[data-gen-ok],.act[data-gen-ok],.plan__tag[data-gen-ok]{clip-path:none}
.big{font-family:var(--f-tag);font-weight:400;font-size:min(3.8vw,56px);line-height:1.35;letter-spacing:0}
.ln{display:block;white-space:nowrap}
#concept .big{font-size:min(4.2vw,60px)}
#mission .big{font-size:min(4.4vw,62px)}
#hidane .big{font-size:min(3.8vw,56px)}
#hidane .big .sm{font-size:.72em;margin-top:.15em}
#komon .big{font-size:min(3.8vw,56px)}
#contact .big{font-size:min(3.4vw,50px)}
.big .x{color:var(--blue)}
.big--w{color:#fff}
.lead{margin-top:18px;font-weight:700;font-size:min(1.7vw,21px);line-height:1.9}
.lead--w{color:#fff}
.em{margin-top:18px;white-space:nowrap;font-family:var(--f-hand);font-size:min(2.4vw,30px);color:#fff;background:linear-gradient(transparent 62%,var(--blue) 62%) 0 0/100% 100% no-repeat;display:inline;padding:0 .2em;line-height:1.9}
.sub{font-family:var(--f-tag);font-weight:400;font-size:clamp(16px,1.8vw,22px);margin:44px 0 16px;color:#fff;display:inline-block;border-bottom:4px solid var(--blue)}

/* 色紙・破れ紙の写真 */
.scrap{position:absolute;inset:0;transform:translate(26px,20px) rotate(3deg);z-index:0;background-color:var(--blue);background-size:100% 100%;background-repeat:no-repeat;clip-path:polygon(2% 4%,30% 0,60% 3%,98% 1%,100% 40%,97% 98%,60% 100%,25% 97%,0 100%,1% 50%)}
.scrap--green{background-color:#3BB273}
.scrap--yellow{background-color:#F2C230}
.scrap[data-gen-ok]{clip-path:none}
.paperphoto{position:relative;z-index:1;background:#fff;clip-path:polygon(1% 2%,12% 0,30% 2%,52% 0,74% 2%,90% 0,99% 3%,100% 30%,98% 62%,100% 94%,86% 100%,60% 98%,34% 100%,10% 98%,0 96%,2% 60%,0 28%)}
.paperphoto img{width:100%;height:100%;object-fit:cover}
.paperphoto[data-mask]{clip-path:none;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat}

/* 装飾画像（本文より後ろ・端だけ）。位置・大きさ・角度は各 <img> の style の変数で指定 */
.deco{position:absolute;pointer-events:none;max-width:none;z-index:1}
.sd{width:var(--w);height:auto;transform:rotate(var(--r,0deg))}

/* ---------- 1. FV ---------- */
.fv{position:relative;overflow:hidden;background:var(--ink);min-height:max(620px,calc(72 * var(--pu)));padding-bottom:calc(var(--eh) * .55);isolation:isolate}
.fv__bg{position:absolute;inset:0;z-index:-1;background:var(--ink) url(assets/gen/fv_bg_pc.webp) center/cover no-repeat}
.fv__copy{position:relative;z-index:3;width:min(52vw,720px);margin-left:max(0px,calc((100vw - 1200px)/2));padding:calc(var(--hh) + clamp(20px,3.4vw,56px)) 0 clamp(40px,5vw,80px) clamp(18px,4vw,48px)}
.fv__title{font-family:var(--f-tag);font-weight:400;color:#fff;font-size:min(6vw,92px);line-height:1.22}
.fv__plate{display:inline-block;background:#000;padding:.12em .4em .2em;transform:rotate(-2.5deg);clip-path:polygon(0 6%,3% 0,40% 3%,75% 0,100% 5%,98% 50%,100% 94%,70% 100%,35% 97%,4% 100%,1% 55%)}
.fv__line{display:inline-block;white-space:nowrap}
.fv__sub{margin-top:clamp(16px,2vw,28px);display:block;width:fit-content;background:var(--paper);color:var(--ink);font-weight:900;font-size:min(1.8vw,24px);line-height:1.6;padding:.4em .9em;transform:rotate(-1deg)}
.fv__btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(18px,2.4vw,32px)}
.fv__stamp span{display:block}
.fv__stamp{position:static;display:block;width:fit-content;margin:clamp(24px,2.6vw,40px) 0 0 clamp(6px,.8vw,12px);font-family:var(--f-hand);font-size:clamp(13px,1.3vw,19px);color:#fff;border:2px solid #fff;padding:.2em .7em;transform:rotate(-4deg);line-height:1.35;letter-spacing:.08em}
.fv-splat{z-index:1;left:-10vw;top:15%;width:15vw}
.fv-half{z-index:1;left:-3vw;bottom:-13vw;width:20vw}
.fv-c5{z-index:1;left:33vw;bottom:calc(var(--eh) * .55 + 1.5vw);width:11vw;transform:rotate(-5deg)}
.fv-c4{z-index:1;left:43vw;bottom:calc(var(--eh) * .55 + .5vw);width:6.5vw;transform:rotate(6deg)}
.fv-tape{z-index:2;left:31.2vw;bottom:calc(var(--eh) * .55 + 7.2vw);width:5vw;transform:rotate(-24deg)}

/* ---------- 2. コンセプト ---------- */
.concept{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"body photo" "stats stats";gap:clamp(24px,3vw,48px) clamp(24px,4vw,64px);align-items:center}
.concept__body{grid-area:body;min-width:0}
.concept__photo{grid-area:photo;position:relative;aspect-ratio:1310/1030;min-width:0}
.concept__d1{width:28%;left:-4%;top:-6%;transform:rotate(-8deg)}
.concept__d2{width:26%;right:-27%;bottom:-6%}
.stats{grid-area:stats;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,28px)}
.stat{background-color:#000;background-size:100% 100%;background-repeat:no-repeat;color:#fff;text-align:center;padding:clamp(14px,1.6vw,22px) 12px clamp(12px,1.4vw,18px);clip-path:polygon(0 4%,8% 0,50% 3%,92% 0,100% 5%,98% 50%,100% 95%,60% 100%,10% 97%,0 100%,2% 50%);display:flex;flex-direction:column;min-width:0}
.stat__n{font-family:var(--f-tag);color:var(--blue);font-size:clamp(32px,3.6vw,52px);line-height:1.2;white-space:nowrap}
.stat__l{font-weight:900;font-size:clamp(12px,1.2vw,15px);margin-top:4px}

/* ---------- 3. ミッション：新レイアウトは末尾の「第3回」ブロック ---------- */
/* ---------- 4. メンバー ---------- */
.members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,3vw,48px);margin-top:10px}
.mcard{position:relative;min-width:0}
.mcard__photo{position:relative;aspect-ratio:4/5}
.mcard__photo .paperphoto{position:absolute;inset:0}
.mcard__photo .scrap{transform:translate(-24px,18px) rotate(-4deg)}
.mcard__info{position:relative;z-index:5;margin:-14% 6% 0}
.badge{position:absolute;z-index:6;right:-14px;top:calc(clamp(72px,8vw,112px) * -.85);width:clamp(72px,8vw,112px);aspect-ratio:1;border-radius:50%;object-fit:cover;border:4px solid #fff;background:#fff;box-shadow:3px 3px 0 var(--ink)}
.mcard__plate{background:#fff;padding:16px 18px 18px;transform:rotate(-1.2deg);box-shadow:3px 3px 0 var(--ink);clip-path:polygon(0 4%,10% 0,50% 3%,92% 0,100% 5%,99% 95%,60% 100%,10% 97%,0 100%);text-align:left}
.mcard__name{font-family:var(--f-tag);font-weight:400;font-size:clamp(24px,3.2vw,48px);line-height:1.15;white-space:nowrap}
.mcard__rule{display:block;height:6px;background:var(--mc);width:70%;margin:6px 0 10px;transform:rotate(-.8deg)}
.mcard__alias{font-weight:900;font-size:clamp(15px,1.5vw,19px)}
.mcard__org{margin-top:4px;font-size:clamp(12px,1.15vw,14px);line-height:1.6;font-weight:700}
.mcard__org span{display:block;white-space:nowrap}
.mcard__x{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-top:10px;background:var(--ink);color:#fff;border-radius:4px;transition:transform .18s,box-shadow .18s;box-shadow:2px 2px 0 var(--mc)}
.mcard__x:hover,.mcard__x:focus-visible{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--mc)}

/* ---------- 5. 火種 ---------- */
.hidane__body{position:relative;z-index:2;max-width:760px}
.tagrow{display:flex;align-items:center;gap:14px}
.flame{width:clamp(40px,5vw,64px);height:auto}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.act{font-family:var(--f-tag);font-size:clamp(16px,1.9vw,24px);padding:.45em 1.2em;color:#fff;background-color:var(--blue);background-size:100% 100%;background-repeat:no-repeat;transform:rotate(-1deg);clip-path:polygon(0 8%,4% 0,96% 4%,100% 0,99% 92%,95% 100%,4% 96%,0 100%)}
.act:nth-child(even){transform:rotate(1deg)}
.btnrow .hidane__arrow{position:static;align-self:center;margin-left:6px;filter:brightness(0) invert(1);transform:scaleX(-1) rotate(var(--r))}
.fist{position:absolute;z-index:1;right:0;bottom:-20px;width:clamp(150px,26vw,340px);max-width:none}

/* ---------- 6. 三銃士顧問（価格札） ---------- */
.plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,26px);margin-top:30px}
.plan{min-width:0;display:flex;flex-direction:column}
.plan__tag{background-color:var(--ink);background-size:100% 100%;background-repeat:no-repeat;color:#fff;padding:clamp(16px,1.8vw,26px) clamp(14px,1.4vw,22px);transform:rotate(-1.4deg);display:flex;flex-direction:column;gap:6px;clip-path:polygon(0 5%,6% 0,50% 3%,94% 0,100% 6%,98% 50%,100% 94%,60% 100%,8% 97%,0 100%,2% 50%)}
.plan:nth-child(even) .plan__tag{transform:rotate(1.2deg)}
.pn{font-weight:900;font-size:max(13px,min(1.15vw,15px));white-space:nowrap}
.pp{font-family:var(--f-tag);color:var(--blue);font-size:min(2.2vw,32px);line-height:1.25;white-space:nowrap}
.plan__perk{margin:-6px 8px 0;background:#fff;border:2px solid var(--ink);padding:20px 14px 14px;display:flex;flex-direction:column;gap:4px;flex:1;transform:rotate(.6deg);clip-path:polygon(0 0,100% 0,99% 94%,70% 100%,40% 97%,8% 100%,0 96%)}
.pk{font-weight:900;font-size:13px}
.pend{color:var(--mute);font-weight:500;font-size:13px}
.apply{margin-top:26px;font-weight:900;font-size:clamp(14px,1.4vw,17px)}
.btnrow--tight{margin-top:12px}

/* ---------- 7. 太客・VIP ---------- */
.entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.entry{background:var(--paper);color:var(--ink);padding:22px 20px 24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;transform:rotate(-.8deg);clip-path:polygon(0 3%,10% 0,50% 2%,92% 0,100% 4%,99% 96%,60% 100%,10% 98%,0 100%);min-width:0}
.entry:nth-child(2){transform:rotate(.8deg)}
.entry__t{font-family:var(--f-tag);font-weight:400;font-size:clamp(17px,1.8vw,22px);line-height:1.4}
.entry__d{font-weight:700;font-size:14px}
.entry .btn{margin-top:auto;box-shadow:3px 3px 0 var(--ink)}
.vips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px);align-items:center}
.vips li{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--blue);background:#000;min-width:0}
.vips img{width:100%;height:auto}
.marquee{overflow:hidden;background:#fff;padding:14px 0;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.marquee__track{display:flex;width:max-content;animation:scroll 48s linear infinite;align-items:center}
.marquee:hover .marquee__track,.marquee:focus-within .marquee__track{animation-play-state:paused}
.marquee li{flex:none;width:clamp(110px,12vw,160px);height:clamp(60px,7vw,88px);margin-right:40px;display:flex;align-items:center;justify-content:center}
.marquee img{max-height:100%;width:auto;max-width:100%;object-fit:contain}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- 8. 案件動画：末尾の「第3回」ブロック ---------- */
/* ---------- 9. 企業・メディア ---------- */
.desk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px);margin-top:28px}
.deskc{background:var(--paper);color:var(--ink);padding:22px 22px 24px;transform:rotate(-.7deg);clip-path:polygon(0 3%,10% 0,50% 2%,92% 0,100% 4%,99% 96%,60% 100%,10% 98%,0 100%);min-width:0}
.deskc:nth-child(2){transform:rotate(.7deg)}
.deskc h3{font-family:var(--f-tag);font-weight:400;font-size:clamp(17px,1.8vw,22px);line-height:1.4}
.deskc p{margin-top:6px;font-weight:700;font-size:14px}

/* ---------- 10. 会社概要 ---------- */
.company{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(24px,4vw,64px);align-items:center}
.company__body{min-width:0}
.company__photo{position:relative;aspect-ratio:1300/1050;min-width:0}
.co{margin-top:6px;border-top:3px solid var(--ink)}
.co>div{display:grid;grid-template-columns:7em minmax(0,1fr);gap:16px;padding:16px 4px;border-bottom:1px solid rgba(40,40,53,.35);align-items:center}
.co dt{justify-self:start;background:var(--ink);color:#fff;font-weight:900;font-size:14px;padding:.2em .9em}
.co dd{font-weight:700}
.co a{text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:3px}

/* ---------- 11. フッター ---------- */
.ft{position:relative;z-index:0;background:#000;color:#fff;padding:calc(var(--eh) * .55 + clamp(40px,5vw,80px)) clamp(18px,4vw,48px) 28px;overflow:hidden;margin-top:calc(var(--eh) * -.55)}
.ft__bg{position:absolute;inset:0;background:#000 url(assets/gen/city_strip.webp) center bottom/cover no-repeat;opacity:.9}
.ft__in{position:relative;max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap}
.ft__logo{width:clamp(180px,22vw,300px)}
.ft__copy{font-size:13px;font-weight:700}
.ft__sns{display:flex;gap:18px}
.ft__sns a{display:flex;width:44px;height:44px;align-items:center;justify-content:center;color:#fff;transition:transform .18s}
.ft__sns a:hover{transform:translate(-2px,-2px) rotate(-4deg)}
.ft__sns .ico{width:30px;height:30px}

/* ---------- 第2回レビュー対応（メンバー並び・紙の札・飾りの留め位置） ---------- */
/* メンバー：DOM は 関口→ドバシー→にしけん。PC だけ order で 左ドバシー・中央関口・右にしけん（スマホは DOM 順） */
.mcard--d{order:1}
.mcard--k{order:2}
.mcard--n{order:3}
.mcard__d1,.mcard__d2{position:absolute;z-index:3}
.mcard__d1{left:-7%;top:0%;width:26%;transform:rotate(-34deg)}
.mcard__d2{right:-10%;top:-6%;width:28%;transform:rotate(7deg)}

/* コンセプト：テープは数字札の角を留める */
.stat{position:relative}
.stat .deco{top:-1.1vw}

/* 紙の札：紙の質感（paper_light.webp）を敷き、形は破れ紙。影は filter で形に沿わせる（clip-path で切れない） */
.mcard__plate,.plan__perk,.entry,.fv__sub{position:relative;isolation:isolate;background:none;clip-path:none;box-shadow:none;border:0;filter:drop-shadow(3px 3px 0 var(--ink))}
.mcard__plate::before,.plan__perk::before,.entry::before,.fv__sub::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--card)}
.mcard__plate::before{clip-path:polygon(0 4%,10% 0,50% 3%,92% 0,100% 5%,99% 95%,60% 100%,10% 97%,0 100%)}
.plan__perk::before{clip-path:polygon(0 0,100% 0,99% 94%,70% 100%,40% 97%,8% 100%,0 96%)}
.entry::before{clip-path:polygon(0 3%,10% 0,50% 2%,92% 0,100% 4%,99% 96%,60% 100%,10% 98%,0 100%)}
.fv__sub::before{clip-path:polygon(0 6%,3% 0,40% 3%,75% 0,100% 5%,98% 50%,100% 94%,70% 100%,35% 97%,4% 100%,1% 55%)}
.mcard__plate[data-mask]::before,.plan__perk[data-mask]::before,.entry[data-mask]::before,.fv__sub[data-mask]::before{clip-path:none;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat}
.sec--dark .entry,.fv .fv__sub{filter:drop-shadow(4px 4px 0 var(--blue))}

/* 三銃士顧問：テープはプラン札の角を留める */
.plan{position:relative}
.plan__d1{position:absolute;z-index:3;right:-1.5%;top:-19px;width:clamp(40px,3.4vw,50px);transform:rotate(var(--r))}

/* 太客・VIP：テープは最初の札の角、青い紙は右の札の下からのぞかせる */
.entries{position:relative}
.entries__d1{position:absolute;z-index:3;right:-1%;top:-34px;width:clamp(56px,5vw,72px);transform:rotate(var(--r))}
.entries__d2{position:absolute;z-index:0;right:0;bottom:-26px;width:10%;transform:rotate(var(--r))}
.vips li{height:clamp(84px,8.6vw,120px);padding:10px 16px;display:flex;align-items:center;justify-content:center;background:var(--card)}
.vips img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.vips li:first-child{padding-top:19px;padding-bottom:19px}
#vip.has-edge::before{transform:scaleX(-1)}

/* 案件動画：テープは最初の動画の左上の角、矢印は2本目の動画を指す */
#videos .wrap{z-index:3}

/* 企業・メディア：窓口カードは「テープで留めた手書きメモ」。傾きも交互にしない */
.deskc{position:relative;background:var(--card);clip-path:none;padding:30px 24px 26px;box-shadow:4px 5px 0 rgba(0,0,0,.5);transform:rotate(-1.5deg)}
.deskc:nth-child(2){transform:rotate(1.2deg) translateY(12px)}
.deskc:nth-child(3){transform:rotate(-.7deg) translateY(-4px)}
.deskc h3{font-family:var(--f-hand);font-weight:400;font-size:clamp(20px,2.2vw,28px);line-height:1.35}
.deskc p{font-family:var(--f-hand);font-weight:400;font-size:clamp(15px,1.45vw,18px)}
.deskc::before{content:"";position:absolute;pointer-events:none;background:center/contain no-repeat}
.deskc:nth-child(1)::before{left:calc(50% - 44px);top:-20px;width:88px;height:40px;background-image:url(assets/gen/deco/tape_blue_2.png);transform:rotate(-3deg)}
.deskc:nth-child(2)::before{left:14px;top:-26px;width:38px;height:48px;background-image:url(/v2/assets/gen/deco/tape_3.png);transform:rotate(-22deg)}
.deskc:nth-child(3)::before{right:12px;top:-18px;width:80px;height:56px;background-image:url(/v2/assets/gen/deco/tape_6.png);transform:rotate(8deg)}
#contact.has-edge::before{left:-8%;right:-8%;background-position:30% 100%}

.vcard__title::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--card);clip-path:polygon(0 8%,6% 0,50% 4%,94% 0,100% 7%,99% 52%,100% 94%,60% 100%,8% 96%,0 100%,1% 50%)}

/* 超太客ロゴ帯：紙の質感＋上下の縁を破れ形に。ロゴは紙になじませる（背景はアニメする track にも敷く＝multiply の相手にするため） */
.marquee{background:var(--card);border:0;padding:20px 0 22px;clip-path:polygon(0 4%,4% 0,10% 3%,18% 0,27% 4%,36% 0,45% 3%,55% 0,64% 4%,73% 0,82% 3%,91% 0,100% 4%,100% 96%,92% 100%,83% 96%,74% 100%,65% 97%,55% 100%,46% 96%,36% 100%,27% 97%,18% 100%,9% 96%,0 100%)}
.marquee__track{background:linear-gradient(rgba(255,255,255,.66),rgba(255,255,255,.66)),url(/v2/assets/gen/paper_card.webp) 0 0/640px auto repeat,#fff}
.marquee img{mix-blend-mode:multiply}

/* 会社概要：テープは写真の右上の角（顔にかからない） */
.company__d1{position:absolute;z-index:3;right:-4%;top:-3%;width:20%;transform:rotate(var(--r))}

/* ---------- 動きの抑制 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .marquee{overflow:visible}
  .marquee__track{animation:none;width:auto;display:flex;flex-wrap:wrap;justify-content:center;row-gap:10px;background:none}
  .marquee li{margin-right:0;width:calc(100% / 7);padding:0 6px}
  .marquee li[aria-hidden="true"]{display:none}
  .btn,.mcard__x,.vcard__thumb,.ft__sns a,.hd,.hd__nav{transition:none}
}

/* ---------- スマホ（920px以下・ここだけで切り替える） ---------- */
@media (max-width:920px){
  :root{--hh:60px}
  .sd{width:var(--wm,var(--w))}
  .sd.hm{display:none}
  /* ヘッダー：ロゴは白い破れ紙の札の上（札の形は内側の要素に付け、リンクの枠は切れない） */
  .hd{padding:8px 12px;pointer-events:none}
  .hd>*{pointer-events:auto}
  .hd.is-scrolled{background:var(--ink);border-bottom-color:var(--blue)}
  .hd.is-scrolled .logo-w{display:block}
  .hd.is-scrolled .logo-plate{display:none}
  .hd__logo{width:min(150px,40vw);margin:-2px 0 0}
  .hd:not(.is-scrolled) .hd__nav{background:var(--ink);padding:80px 28px 40px}
  .hd:not(.is-scrolled) .logo-w{display:none}
  .logo-plate{display:block;background:var(--paper);padding:6px 10px 8px;clip-path:polygon(0 8%,10% 0,50% 5%,92% 0,100% 10%,98% 55%,100% 95%,60% 100%,8% 96%,0 100%,2% 50%);transform:rotate(-1.5deg)}
  .hd__menu{display:block;position:relative;z-index:2;font-family:var(--f-tag);font-size:14px;background:var(--blue);color:#fff;border:2px solid #fff;padding:.55em 1em;box-shadow:2px 2px 0 var(--ink);cursor:pointer}
  .hd__nav{position:fixed;inset:0;z-index:1;background:var(--ink);flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:80px 28px 40px;transform:translateX(100%);visibility:hidden;transition:transform .28s ease,visibility 0s .28s}
  .hd__nav.is-open{transform:none;visibility:visible;transition:transform .28s ease}
  .hd__nav a:not(.btn){font-size:20px;padding:10px 0}
  .hd__nav .btn{margin-top:14px}

  .sec{padding-top:calc(var(--eh) * .4 + 24px)}
  .wrap{padding:0 18px}
  .big{font-size:min(7vw,40px)}
  #concept .big{font-size:min(9.6vw,44px)}
  #mission .big{font-size:min(6.6vw,40px)}
  #hidane .big{font-size:min(6.8vw,38px)}
  #komon .big{font-size:min(7.4vw,40px)}
  #contact .big{font-size:min(6.2vw,40px)}
  .lead,.mission__lead{font-size:min(4.2vw,19px)}
  .em{font-size:min(5.6vw,26px)}

  .concept{grid-template-columns:minmax(0,1fr);grid-template-areas:"body" "photo" "stats";gap:28px}
  .concept__photo{width:92%;margin:0 auto}
  .stats{grid-template-columns:minmax(0,1fr);gap:12px}
  .stat{align-items:flex-start;text-align:left;padding:12px 20px 12px}
  .stat__n{font-size:min(11vw,48px)}
  .stat__l{font-size:13px}

  .mcard--d,.mcard--k,.mcard--n{order:0}
  #mission.has-edge::before,#hidane.has-edge::before{left:0;right:0}
  #hidane .big .sm{font-size:clamp(20px,5.8vw,26px)}
  #hidane .btn--icon{width:auto}
  .plan__d1{top:-30px;right:-5%}
  .entries__d2{width:26%;right:4%;bottom:-16px}
  #company .deco[src$="stroke_blue.png"]{--lx:60%;--bb:auto;--tt:1.5%}
  #hidane .deco[src$="collage_3.png"]{--lx:-3%}
  #hidane .deco[src$="tape_blue_2.png"]{--tx:16.5vw;--ty:4%;z-index:2}
  #mission{padding-bottom:calc(var(--eh) * .55 + 140px)}
  #mission .deco[src$="collage_6.png"]{--wm2:38vw;--bb:calc(var(--eh) * .55 + 6px)}

  /* FV：ロゴ〜最初のボタンを1画面に。顔は上、文字は脚の位置に重ねる */
  :root{--pu:min(1vw,calc((100svh - 200px) / 84))}
  .fv{min-height:0;display:flex;flex-direction:column;align-items:center;padding-top:calc(var(--hh) + 4px);padding-bottom:calc(var(--eh) * .55 + 42px)}
  .fv__bg{background-image:url(assets/gen/fv_bg_sp.webp)}
  .fv__copy{width:100%;margin:calc(-38 * var(--pu)) 0 0;padding:0 18px;display:flex;flex-direction:column;align-items:center;text-align:center}
  .fv__title{font-size:min(11vw,60px)}
  .fv__sub{font-size:min(4.6vw,20px);transform:none;text-align:left}
  .fv__btns{flex-direction:column;align-items:stretch;width:100%;max-width:340px}
  .fv__btns .btn{width:100%;font-size:15px}
  .fv__stamp{position:absolute;margin:0;left:auto;right:12px;bottom:-32px;font-size:12px;font-weight:700;border-width:2px;padding:.15em .5em}
  .fv-splat{left:-8vw;top:45%;width:36vw}
  .fv-half{left:-8vw;bottom:-20vw;width:38vw}
  .fv-c5,.fv-c4,.fv-tape{display:none}
  .fv__stamp span{display:inline}

  .members{grid-template-columns:minmax(0,1fr);gap:48px;max-width:440px;margin-inline:auto}
  .mcard__photo{aspect-ratio:1/1}
  .mcard__photo .paperphoto img{object-position:center 18%}
  .mcard__name{font-size:min(9vw,40px)}
  .badge{width:84px;top:-70px}

  .hidane__body{max-width:none}
  .acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .act{text-align:center}
  .fist{position:relative;right:auto;bottom:auto;display:block;width:34vw;margin:22px 0 -26px auto}

  .plans{grid-template-columns:minmax(0,1fr);gap:22px;max-width:480px}
  .plan__tag{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 18px}
  .pn{font-size:min(3.8vw,16px)}
  .pp{font-size:min(6.4vw,30px)}
  .plan__perk{padding:18px 16px 12px}
  .btnrow .btn{width:100%;max-width:420px}

  .entries,.desk{grid-template-columns:minmax(0,1fr)}
  .vips{grid-template-columns:minmax(0,1fr);max-width:380px}
  .vips li:first-child{padding-top:6px;padding-bottom:6px}
  .company{grid-template-columns:minmax(0,1fr)}
  .company__photo{width:92%;margin:0 auto}
  .co>div{grid-template-columns:minmax(0,1fr);gap:6px}
  .ft__in{flex-direction:column;align-items:flex-start}
  .marquee li{width:110px;height:64px;margin-right:28px}
}
@media (max-width:920px) and (prefers-reduced-motion:reduce){
  .hd__nav{transition:none}
  .marquee li{width:25%;margin-right:0;padding:0 8px}
}

/* ======================================================================
   第3回（先方フィードバック対応）
   ====================================================================== */
:root{--glow:.6}

/* YouTubeの赤ボタン／青ボタン（形・影は他のボタンと同じ） */
.btn--blue{background:var(--blue);border-color:#fff}
.btnrow--center{justify-content:center}

/* ---------- 3. ミッション（見出し→写真と、紙の札に入れた一文＋ボタン） ---------- */
.mission{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-areas:"head head" "photo side";gap:clamp(16px,2.2vw,32px) clamp(24px,4vw,60px);align-items:center}
.mission__head{grid-area:head;min-width:0}
#mission .tag{margin-bottom:18px}
#mission .big{font-size:min(4.8vw,68px)}
.mission__hbtn{display:block;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;line-height:inherit}
.mission__hbtn .ln{display:block;width:fit-content;background:linear-gradient(var(--blue),var(--blue)) 0 92%/0 .1em no-repeat;transition:background-size .25s}
.mission__hbtn:hover .ln,.mission__hbtn:focus-visible .ln{background-size:100% .1em}
#mission.has-edge::before{left:-22%;right:-22%}
.mission__photo{grid-area:photo;position:relative;aspect-ratio:1600/1100;min-width:0}
.mission__side{grid-area:side;position:relative;min-width:0}
.mission__plate{position:relative;isolation:isolate;filter:drop-shadow(5px 5px 0 var(--blue));padding:clamp(22px,2.6vw,36px) clamp(22px,2.6vw,36px) clamp(24px,2.8vw,38px);color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(14px,1.6vw,22px)}
.mission__plate::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--card);clip-path:polygon(0 3%,10% 0,50% 2%,92% 0,100% 4%,99% 96%,60% 100%,10% 98%,0 100%)}
.mission__plate[data-mask]::before{clip-path:none;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat}
.mission__lead{margin:0;font-size:clamp(18px,1.9vw,28px);color:var(--ink)}
.mission .mission__arrow{left:14%;top:-86px;z-index:3;filter:brightness(0) invert(1);transform:rotate(var(--r))}
.mission__d1{width:20%;left:-1%;top:15%;transform:rotate(-10deg)}

/* ---------- 3人の写真：紙の枠は後ろ・人物は前。上・左・右は紙から飛び出し、下だけ紙の中で切る ---------- */
.paperphoto--out,.paperphoto--out[data-mask]{position:absolute;inset:0;z-index:1;background:none;clip-path:none;-webkit-mask:none;mask:none}
.pp__paper{position:absolute;left:5%;right:5%;top:var(--pt,22%);bottom:0;background:#fff;clip-path:polygon(1% 2%,12% 0,30% 2%,52% 0,74% 2%,90% 0,99% 3%,100% 30%,98% 62%,100% 94%,86% 100%,60% 98%,34% 100%,10% 98%,0 96%,2% 60%,0 28%)}
.paperphoto--out[data-mask] .pp__paper{clip-path:none;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat}
.paperphoto--out .pp__img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;clip-path:inset(-40% -20% 3.5% -20%)}
.scrap--out{inset:var(--pt,22%) 5% 0 5%}
.concept__photo{--pt:20%}
.mission__photo{--pt:24%}

/* ---------- 4. メンバー：光彩・カードを押すと詳細 ---------- */
.mcard{cursor:pointer}
.mcard__glow{position:absolute;inset:0;z-index:1;filter:
  drop-shadow(0 0 calc(3px * var(--glow)) rgba(255,255,255,calc(var(--glow) * 1.3)))
  drop-shadow(0 0 calc(12px * var(--glow)) rgba(255,255,255,calc(var(--glow) * 1.2)))
  drop-shadow(0 0 calc(30px * var(--glow)) rgba(255,255,255,calc(var(--glow) * 1)))}
.mcard__row{display:flex;align-items:center;gap:12px;margin-top:10px}
.mcard__row .mcard__x{margin-top:0;position:relative;z-index:2}
.mcard__open{font-family:var(--f-tag);font-size:clamp(13px,1.2vw,15px);line-height:1.2;color:#fff;background:var(--blue);border:0;padding:.65em 1.3em .7em;cursor:pointer;clip-path:polygon(0 10%,4% 0,96% 5%,100% 0,99% 92%,95% 100%,4% 96%,0 100%);transition:transform .18s}
.mcard:hover .mcard__open,.mcard__open:focus-visible{transform:translate(-2px,-2px) rotate(-1deg)}

/* ---------- 5. 火種：強調の1行（青い紙片にテープで留める） ---------- */
.em{display:inline-block;position:relative;margin-top:24px;padding:.2em .75em .3em;font-size:min(3.6vw,48px);line-height:1.5;color:#fff;background:var(--blue);transform:rotate(-1.5deg);clip-path:polygon(0 8%,3% 0,50% 3%,97% 0,100% 7%,99% 55%,100% 94%,60% 100%,4% 96%,0 100%,1% 50%)}
.em::before{content:"";position:absolute;left:-8px;top:-12px;width:64px;height:30px;background:url(/v2/assets/gen/deco/tape_2.png) center/contain no-repeat;transform:rotate(-26deg)}
.hidane__body .lead{margin-top:20px}

/* ---------- 6. 三銃士顧問：飾りを減らし、価格札・特典の枠をはっきり。右にドバシーさんの切り抜きの空き ---------- */
.komon{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,clamp(240px,28vw,360px));gap:clamp(20px,3vw,44px);align-items:start;margin-top:30px}
.komon .plans{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;gap:clamp(18px,2.2vw,30px)}
.komon__talk{min-height:clamp(300px,34vw,440px);min-width:0}
#komon .plan__tag,#komon .plan:nth-child(even) .plan__tag{background-image:none!important;background-color:var(--ink)!important;clip-path:none;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--blue);transform:none}
#komon .plan__perk{filter:none;background:#fff;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);clip-path:none;margin:16px 0 0;padding:16px 16px 14px;transform:none;min-height:96px}
#komon .plan__perk::before{display:none}
#komon .pn{font-size:clamp(13px,1.2vw,16px)}
#komon .pp{font-size:clamp(24px,2.6vw,36px)}

/* ---------- 7.5 YouTube（最新動画） ---------- */
.ytgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,38px) clamp(18px,2.4vw,34px)}
.ytgrid:empty{display:none}
.ytcard{position:relative;display:block;text-decoration:none;min-width:0}
.ytcard__thumb{position:relative;aspect-ratio:16/9;background:var(--ink);overflow:hidden;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--blue);transition:transform .18s,box-shadow .18s}
.ytcard:hover .ytcard__thumb,.ytcard:focus-visible .ytcard__thumb{transform:translate(-2px,-2px) rotate(-.5deg);box-shadow:8px 8px 0 var(--blue)}
.ytcard__thumb>img:first-child{width:100%;height:100%;object-fit:cover}
.ytcard__thumb .ytcard__play{position:absolute;left:50%;top:50%;width:clamp(48px,6vw,76px);height:auto;aspect-ratio:1;transform:translate(-50%,-50%);object-fit:contain}
.ytcard__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:14px;font-weight:900;font-size:clamp(14px,1.3vw,16px);line-height:1.55}
.ytcard__date{display:block;margin-top:4px;font-size:13px;font-weight:700;color:var(--mute)}
.ytrow{margin-top:clamp(22px,2.6vw,36px)}
.ytgrid:empty+.ytrow{margin-top:6px}

/* ---------- 8. 案件動画（小さいカード・隣がのぞく・ループ） ---------- */
.vhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.vnav{display:flex;gap:12px;margin-top:4px}
.vnav__b{width:64px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--ink);border:2px solid #fff;box-shadow:3px 3px 0 var(--blue);cursor:pointer;padding:0;transition:transform .18s,box-shadow .18s}
.vnav__b:hover,.vnav__b:focus-visible{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--blue)}
.vnav__b img{width:70%;height:auto;filter:invert(1)}
.vnav__b--prev img{transform:scaleX(-1)}
.vscroll{--g:clamp(16px,2vw,28px);--vp:max(clamp(18px,4vw,48px),calc((100vw - 1200px)/2 + 48px));--cw:min(480px,calc((100vw - var(--vp) - 2 * var(--g)) / 2.5));position:relative;z-index:2;display:flex;gap:var(--g);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:18px var(--vp) 30px;scroll-padding-inline:var(--vp);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.vscroll::-webkit-scrollbar{display:none}
.vcard{flex:none;width:var(--cw);scroll-snap-align:start;text-decoration:none;position:relative;display:block;min-width:0}
.vcard::before{content:"";position:absolute;z-index:3;left:-12px;top:-14px;width:58px;height:42px;background:url(/v2/assets/gen/deco/tape_4.png) center/contain no-repeat;transform:rotate(-32deg);pointer-events:none}
.vcard__thumb{position:relative;aspect-ratio:16/9;background:var(--ink);overflow:hidden;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--blue);transition:transform .18s,box-shadow .18s}
.vcard:hover .vcard__thumb,.vcard:focus-visible .vcard__thumb{transform:translate(-2px,-2px) rotate(-.5deg);box-shadow:8px 8px 0 var(--blue)}
.vcard__thumb img{width:100%;height:100%;object-fit:cover}
.vcard__thumb .vcard__play{position:absolute;left:50%;top:50%;width:clamp(56px,7vw,84px);height:auto;aspect-ratio:1;transform:translate(-50%,-50%);object-fit:contain}
.vcard__title{display:inline-block;margin:-18px 0 0 14px;position:relative;z-index:2;isolation:isolate;background:none;border:0;filter:drop-shadow(3px 3px 0 var(--ink));padding:.4em 1em .45em;font-family:var(--f-tag);font-size:clamp(14px,1.4vw,18px);line-height:1.4;transform:rotate(-1deg)}

/* ---------- 9. 企業・メディア：建物の絵が見出しにかぶらないよう左右を暗く落とす ---------- */
#contact.has-edge::before{background-image:linear-gradient(90deg,var(--ink) 0,var(--ink) 7%,rgba(40,40,53,0) 22%,rgba(40,40,53,0) 78%,var(--ink) 93%,var(--ink) 100%),url(assets/gen/paper_dark.webp);background-size:100% 100%,cover;background-position:0 0,30% 100%}

/* ---------- モーダル（メンバー・ミッション共通） ---------- */
html.modal-open,html.modal-open body{overflow:hidden}
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:clamp(10px,3vw,32px)}
.modal[hidden]{display:none}
.modal__back{position:absolute;inset:0;background:rgba(40,40,53,.88)}
.modal__panel{position:relative;z-index:1;width:min(980px,100%);max-height:calc(100svh - 2 * clamp(10px,3vw,32px));overflow-y:auto;overscroll-behavior:contain;background:var(--card);color:var(--ink);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--blue);padding:clamp(26px,3.4vw,46px) clamp(18px,3.4vw,46px) clamp(22px,3vw,40px)}
.modal__panel:focus{outline:none}
.modal__close{position:sticky;top:0;float:right;z-index:5;margin:-14px -8px 8px 12px;font-family:var(--f-tag);font-size:14px;color:#fff;background:var(--ink);border:2px solid #fff;box-shadow:3px 3px 0 var(--blue);padding:.55em 1.1em;cursor:pointer}
.modal__close:hover{transform:translate(-1px,-1px)}
.modal__panel :focus-visible{outline-color:var(--blue)}
.mm__body{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(18px,3vw,40px);align-items:start;clear:both}
.mm__body[hidden]{display:none}
.mm__hero{aspect-ratio:3/4;background:#000;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--mc);overflow:hidden}
.mm__main{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.mm__thumbs{display:flex;gap:10px;margin-top:18px}
.mm__thumb{width:62px;height:78px;padding:0;border:3px solid transparent;background:#000;cursor:pointer;opacity:.55;transition:opacity .15s}
.mm__thumb.is-cur,.mm__thumb:hover{opacity:1;border-color:var(--mc)}
.mm__thumb img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
.mm__text{min-width:0}
.mm__tiger{display:inline-block;background:var(--blue);color:#fff;font-family:var(--f-tag);font-size:14px;line-height:1.3;padding:.4em 1em .45em;transform:rotate(-1deg)}
.mm__name{font-family:var(--f-tag);font-weight:400;font-size:clamp(30px,4vw,52px);line-height:1.2;margin-top:12px}
.mm__rule{display:block;height:6px;width:min(60%,260px);background:var(--mc);margin:8px 0 14px}
.mm__corp{font-weight:700;font-size:15px;line-height:1.7}
.mm__facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.mm__fact{background:#fff;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--mc);padding:.25em .75em;font-size:13px;font-weight:500;line-height:1.6}
.mm__fact b{font-weight:900}
.mm__h{display:inline-block;margin-top:24px;font-family:var(--f-tag);font-weight:400;font-size:16px;border-bottom:4px solid var(--mc)}
.mm__desc{margin-top:10px;font-size:15px;line-height:1.95}
.mm__quote{margin-top:16px;font-family:var(--f-hand);font-size:clamp(17px,1.8vw,20px);line-height:1.8;border-left:6px solid var(--mc);padding-left:14px}
.mm .btn{margin-top:22px}

.ms__title{clear:both;max-width:820px;font-family:var(--f-tag);font-weight:400;font-size:clamp(24px,3.4vw,40px);line-height:1.3}
.msteps{position:relative;margin-top:36px;display:flex;flex-direction:column;gap:clamp(34px,4.4vw,58px)}
.msteps::before{content:"";position:absolute;left:calc(50% - 2px);top:8px;bottom:8px;width:4px;background:var(--ink)}
.mstep{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;min-width:0}
.mstep__no{grid-column:2;grid-row:1;justify-self:center;z-index:2;display:grid;place-items:center;width:58px;height:44px;color:#fff;font-family:var(--f-tag);font-size:18px;background:var(--ink) url(assets/gen/deco/tag_black_1.png) center/100% 100% no-repeat}
.mstep:nth-child(3n+2) .mstep__no{background-image:url(assets/gen/deco/tag_black_2.png)}
.mstep:nth-child(3n) .mstep__no{background-image:url(assets/gen/deco/tag_black_3.png)}
.mstep__paper{grid-row:1;grid-column:1;position:relative;isolation:isolate;filter:drop-shadow(4px 4px 0 var(--blue));padding:24px 26px 26px;min-width:0}
.mstep__paper::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--card);clip-path:polygon(0 3%,10% 0,50% 2%,92% 0,100% 4%,99% 96%,60% 100%,10% 98%,0 100%)}
.mstep__paper[data-mask]::before{clip-path:none;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat}
.mstep__paper::after{content:"";position:absolute;left:14px;top:-16px;width:80px;height:34px;background:var(--tp) center/contain no-repeat;transform:rotate(-6deg);pointer-events:none}
.mstep:nth-child(even) .mstep__paper{grid-column:3}
.mstep__h{font-family:var(--f-tag);font-weight:400;font-size:clamp(16px,1.7vw,20px);line-height:1.5}
.mstep__p{margin-top:8px;font-size:14.5px;line-height:1.95;font-weight:500}
.mstep__jump{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:14px;padding:8px 12px;color:var(--ink);background:#fff;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--blue);font-size:13px;font-weight:900;text-decoration:none}
.mstep__jump span{font-size:17px;line-height:1}
.mstep__photo{grid-row:1;grid-column:3;justify-self:center;position:relative;width:min(310px,86%);margin:0;filter:drop-shadow(6px 7px 0 rgba(0,0,0,.42));transform:rotate(1.8deg)}
.mstep:nth-child(even) .mstep__photo{grid-column:1;transform:rotate(-1.8deg)}
.mstep__photo::after{content:"";position:absolute;left:50%;top:-15px;width:78px;height:34px;background:url(assets/gen/deco/tape_blue_2.png) center/contain no-repeat;transform:translateX(-50%) rotate(4deg);pointer-events:none}
.mstep:nth-child(even) .mstep__photo::after{transform:translateX(-50%) rotate(-5deg)}
.mstep__photo img{display:block;width:100%;height:auto}
.mstep--goal{grid-template-rows:auto auto;row-gap:12px;margin-top:14px}
.mstep--goal .mstep__no{grid-column:2;grid-row:1}
.mstep__goal{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.62fr);align-items:end;min-width:0;overflow:hidden;background:#111;color:#fff;border:6px solid #f2c230;box-shadow:10px 10px 0 var(--blue);padding:clamp(26px,4vw,48px) clamp(22px,4vw,50px) 0;position:relative;isolation:isolate}
.mstep__goal::before{content:"";position:absolute;inset:0;z-index:-1;background:url(assets/gen/paper_dark.webp) center/cover;opacity:.35}
.mstep__goalcopy{align-self:center;padding-bottom:clamp(26px,4vw,48px);min-width:0}
.mstep__goal .mstep__h{display:inline-block;color:#111;background:#f2c230;padding:.38em .68em .44em;transform:rotate(-1deg)}
.mstep__mission{margin-top:18px;font-family:var(--f-tag);font-size:clamp(26px,4.2vw,46px);font-weight:400;line-height:1.45;letter-spacing:.01em}
.mstep__goal .mstep__p{max-width:520px;color:#fff}
.mstep__xbtn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:64px;margin-top:20px;padding:10px 18px;color:#111;background:#fff;border:3px solid #fff;box-shadow:5px 5px 0 #f2c230;font-size:13px;font-weight:900;line-height:1.45;text-align:left;text-decoration:none}
.mstep__xbtn:hover,.mstep__xbtn:focus-visible{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #f2c230}
.mstep__xbtn svg{flex:none;width:24px;height:24px;fill:currentColor}
.mstep__person{align-self:end;justify-self:center;display:block;width:min(100%,280px);line-height:0;transition:transform .18s}
.mstep__person:hover,.mstep__person:focus-visible{transform:translateY(-5px)}
.mstep__person img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;object-position:center bottom}

@media (prefers-reduced-motion:reduce){
  .mcard__open,.vnav__b,.ytcard__thumb,.mission__hbtn .ln{transition:none}
}

/* ---------- スマホ（920px以下） ---------- */
@media (max-width:920px){
  .mission{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "photo" "side";gap:20px}
  #mission .big{font-size:min(6.6vw,40px)}
  .mission__photo{width:100%}
  .mission__lead{font-size:min(4.4vw,20px)}
  .mission__lead .ln{display:inline}
  #mission.has-edge::before{left:0;right:0}
  .mission__d1{left:0;top:14%}
  .em{font-size:min(6.2vw,28px);margin-top:20px}
  .komon{grid-template-columns:minmax(0,1fr);gap:22px}
  .komon .plans{grid-template-columns:minmax(0,1fr);max-width:480px}
  .komon__talk{min-height:0}
  .ytgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
  .ytcard__title{font-size:13px}
  .vnav{display:none}
  .vscroll{--vp:18px;--cw:70vw}
  .mm__body{grid-template-columns:minmax(0,1fr)}
  .mm__hero{max-width:min(100%,calc(44svh * .75));margin-inline:auto}
  .mm__thumbs{justify-content:center}
  .msteps::before{left:27px}
  .mstep{grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:12px;align-items:start}
  .mstep__no{grid-column:1;grid-row:1/span 2;justify-self:start;width:54px}
  .mstep__paper,.mstep:nth-child(even) .mstep__paper{grid-column:2}
  .mstep__photo,.mstep:nth-child(even) .mstep__photo{grid-column:2;grid-row:2;display:block;justify-self:start;width:min(100%,280px);transform:rotate(1deg)}
  .mstep:nth-child(even) .mstep__photo{justify-self:end;transform:rotate(-1deg)}
  .mstep--goal{grid-template-columns:1fr;grid-template-rows:auto auto;row-gap:10px;margin-top:8px}
  .mstep--goal .mstep__no{grid-column:1;grid-row:1;justify-self:start}
  .mstep__goal{grid-column:1;grid-row:2;grid-template-columns:1fr;padding:24px 18px 0;border-width:5px;box-shadow:6px 6px 0 var(--blue)}
  .mstep__goalcopy{padding-bottom:22px}
  .mstep__mission{font-size:clamp(25px,8.3vw,34px)}
  .mstep__xbtn{display:flex;width:100%;min-height:66px;padding-inline:12px}
  .mstep__person{width:min(78%,250px)}
}

/* モーダルの読みやすさ：長い文は禁則つきの通常改行（keep-all だと句読点でしか折れず、行がガタつく） */
.mm__desc,.mm__quote,.mstep__p{word-break:normal;overflow-wrap:break-word;line-break:strict}
/* ミッションの物語：暗い紙の上に白い紙片を載せて段を見せる */
.ms{background:var(--ink) url(assets/gen/paper_dark.webp) center/cover;color:#fff}
.ms .ms__title{color:#fff}
.ms .msteps::before{background:#fff}
.ms .mstep__paper{color:var(--ink)}
.ms :focus-visible{outline-color:#fff}

/* 各セクションは1画面以上（内容は縦の真ん中に置く＝余白が上下に分かれる）。YouTube は取得できない時に空の大きな面にならないよう対象外 */
@media (max-width:920px){#videos{min-height:520px}}
.sec:not(#youtube):not(#hidane){display:block}   /* 火種は pin のスペーサーが flex だと縮むため、中央寄せしない */
.sec>.wrap{width:100%}

/* ======================================================================
   バッチB（先方フィードバック追加）
   ====================================================================== */

/* ---------- 4/5. メンバー：透過の切り抜き＋輪郭の光彩。3人の顔の大きさ・位置をそろえる ---------- */
.mcard__photo{--pt:16%}
.paperphoto--stage .pp__paper{background:var(--ink)}
.mcard__clip{position:absolute;inset:0;z-index:2;clip-path:inset(-35% -16% 3.5% -16%)}
.mcard__cut{position:absolute;left:50%;top:0;width:var(--iw);max-width:none;height:auto;margin-top:var(--mt,0);transform:translateX(-50%);filter:
  drop-shadow(0 0 calc(2px * var(--glow)) rgba(255,255,255,calc(var(--glow) * 1.4)))
  drop-shadow(0 0 calc(10px * var(--glow)) rgba(255,255,255,calc(var(--glow) * 1.3)))
  drop-shadow(0 0 calc(26px * var(--glow)) rgba(255,255,255,calc(var(--glow) * 1.1)))}
.mcard__role{margin-top:6px;font-size:clamp(12px,1.1vw,13px);font-weight:700;color:var(--mute);line-height:1.5}
.mcard__catch{margin-top:8px;font-weight:900;font-size:clamp(13px,1.2vw,15px);line-height:1.55}
.mcard__chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.mcard__chips li{font-size:11.5px;line-height:1.5;padding:.1em .55em;border:1.5px solid var(--ink);background:#fff;font-weight:500}
.mcard__chips b{font-weight:900}

/* モーダル：詳細ページの全文 */
.mm__media{position:sticky;top:0}
.mm__lt{display:inline-block;margin-top:8px;font-weight:900;font-size:13px;border:2px solid var(--ink);padding:.1em .7em;background:#fff}
.mm__corp--sub{margin-top:0;color:var(--mute)}
.mm__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px;margin-top:16px}
.mm__stat{background:var(--ink);color:#fff;padding:12px 10px;text-align:center;box-shadow:3px 3px 0 var(--mc)}
.mm__stat b{display:block;font-family:var(--f-tag);font-weight:400;font-size:clamp(22px,2.4vw,30px);line-height:1.2;color:#fff;white-space:nowrap}
.mm__stat small{font-size:.5em;margin-left:2px;color:var(--pale)}
.mm__stat span{display:block;margin-top:4px;font-size:12px;font-weight:700;line-height:1.5}
.mm__lead{margin-top:10px;font-weight:700;line-height:1.95;font-size:15px;word-break:normal;overflow-wrap:break-word;line-break:strict}
.mm__tl{margin-top:16px;display:flex;flex-direction:column;gap:16px;border-left:4px solid var(--mc);padding-left:16px}
.mm__yr{display:inline-block;background:var(--ink);color:#fff;font-weight:900;font-size:12px;padding:.1em .8em}
.mm__tli h5{margin-top:6px;font-family:var(--f-tag);font-weight:400;font-size:clamp(15px,1.5vw,17px);line-height:1.5}
.mm__tli p{margin-top:4px;font-size:14.5px;line-height:1.95;word-break:normal;overflow-wrap:break-word;line-break:strict}
.mm__q{margin:22px 0 0;padding:16px 18px;background:#fff;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--mc)}
.mm__q p{font-family:var(--f-hand);font-size:clamp(18px,1.9vw,22px);line-height:1.7}
.mm__q footer{margin-top:6px;font-weight:700;font-size:13px}
.mm__biz{margin-top:10px;border:3px solid var(--ink);background:#fff;padding:16px 18px 18px}
.mm__biz h5{font-family:var(--f-tag);font-weight:400;font-size:clamp(16px,1.7vw,19px);line-height:1.4}
.mm__tag2{margin-top:4px;font-weight:900;font-size:14px}
.mm__biz p+p{margin-top:8px;font-size:14.5px;line-height:1.95;word-break:normal;overflow-wrap:break-word;line-break:strict}
.mm__biz .btn,.mm__text>.btn{margin-top:14px;margin-right:10px}

/* ---------- 2. 三銃士顧問：4つ横1列・グレードごとの飾り ---------- */
.komon__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.komon__title{min-width:0}
.komon__talk{flex:0 1 clamp(220px,30vw,400px);min-width:0;min-height:clamp(150px,16vw,230px)}
.plans{gap:clamp(22px,2.6vw,36px);margin:124px 0 110px}
.plan{display:flex;flex-direction:column}
#komon .plan__perk{flex:1}
.plan{position:relative;isolation:isolate}
#komon .plan__tag,#komon .plan__perk{position:relative;z-index:1}
#komon .plan__tag{overflow:hidden}
#komon .pn{position:relative;z-index:1;font-size:clamp(13px,1.2vw,16px)}
#komon .pp{position:relative;z-index:1;font-size:clamp(14px,1.6vw,24px)}
.plan__badge{position:absolute;right:-14px;top:-30px;width:var(--bw,60px);height:auto;z-index:3;pointer-events:none;max-width:none}
.plan__badge:not([src]){display:none}
.plan__orn{position:absolute;inset:0;z-index:0;pointer-events:none}
.orn__ring{position:absolute;inset:-9px;overflow:hidden;display:none}
.plan__orn img{position:absolute;max-width:none;height:auto;pointer-events:none;transform:rotate(var(--r,0deg))}
.plan--futo .orn__ring,.plan--chou .orn__ring,.plan--vip .orn__ring{display:block}
.orn__ring::before,.orn__ring::after{content:"";position:absolute;left:50%;top:50%;width:340%;height:340%;transform:translate(-50%,-50%)}
/* 太客：キラキラ（淡い光の筋がゆっくり周る＋星のきらめき） */
.plan--futo .orn__ring::before{background:conic-gradient(from 0deg,rgba(190,232,250,0) 0 72%,rgba(190,232,250,.8) 86%,rgba(190,232,250,0) 100%);opacity:.5}
/* 超太客：光の環が周り、強い光彩がゆっくり脈打つ */
.plan--chou .orn__ring{inset:-10px}
.plan--chou .orn__ring::before{background:conic-gradient(from 0deg,rgba(255,255,255,0) 0 40%,rgba(255,255,255,.95) 52%,rgba(190,232,250,0) 62% 78%,rgba(255,255,255,.95) 90%,rgba(190,232,250,0) 100%);opacity:.85}
.plan--chou{filter:drop-shadow(0 0 9px rgba(190,232,250,.75))}
/* VIP：金と白の光が二重に周り、後光が差す */
.plan--vip .orn__ring{inset:-12px}
.plan--vip .orn__ring::before{background:conic-gradient(from 0deg,rgba(255,255,255,0) 0 30%,rgba(255,255,255,1) 42%,rgba(246,215,122,0) 52% 70%,rgba(255,246,200,1) 82%,rgba(255,255,255,0) 100%);opacity:1}
.plan--vip .orn__ring::after{background:conic-gradient(from 90deg,rgba(255,255,255,0) 0 55%,rgba(190,232,250,.9) 70%,rgba(255,255,255,0) 85% 100%);opacity:.8}
.plan--vip{filter:drop-shadow(0 0 16px rgba(255,236,170,.9))}
/* きらめき（星）と光の筋（シーン）：太客＜超太客＜VIP */
.plan--futo .plan__tag::before,.plan--chou .plan__tag::before,.plan--vip .plan__tag::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.7;background:
  radial-gradient(circle at 12% 28%,#fff 0 1.6px,transparent 3px),
  radial-gradient(circle at 78% 22%,#fff 0 1.2px,transparent 2.6px),
  radial-gradient(circle at 56% 74%,#fff 0 1.8px,transparent 3.4px),
  radial-gradient(circle at 90% 80%,#fff 0 1.2px,transparent 2.6px),
  radial-gradient(circle at 30% 86%,#fff 0 1.4px,transparent 3px)}
.plan--futo .plan__tag::after,.plan--chou .plan__tag::after,.plan--vip .plan__tag::after,
.plan--chou .plan__perk::after,.plan--vip .plan__perk::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-45%;width:34%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:translateX(0) skewX(-18deg);opacity:.55}
.plan--chou .plan__perk,.plan--vip .plan__perk{overflow:hidden}
.plan--vip .plan__tag::after,.plan--vip .plan__perk::after{background:linear-gradient(100deg,transparent,rgba(255,244,200,.85),transparent);opacity:.8}

@media (prefers-reduced-motion:no-preference){
  @keyframes plan-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
  @keyframes plan-spin-r{to{transform:translate(-50%,-50%) rotate(-360deg)}}
  @keyframes plan-twinkle{0%,100%{opacity:.25}50%{opacity:.95}}
  @keyframes plan-sheen{0%{transform:translateX(0) skewX(-18deg)}60%,100%{transform:translateX(520%) skewX(-18deg)}}
  @keyframes plan-halo-c{0%,100%{filter:drop-shadow(0 0 6px rgba(190,232,250,.55))}50%{filter:drop-shadow(0 0 17px rgba(220,242,252,.95))}}
  @keyframes plan-halo-v{0%,100%{filter:drop-shadow(0 0 10px rgba(255,236,170,.7))}50%{filter:drop-shadow(0 0 30px rgba(255,246,200,1))}}
  .plan--futo .orn__ring::before{animation:plan-spin 16s linear infinite}
  .plan--chou .orn__ring::before{animation:plan-spin 9s linear infinite}
  .plan--vip .orn__ring::before{animation:plan-spin 6s linear infinite}
  .plan--vip .orn__ring::after{animation:plan-spin-r 10s linear infinite}
  .plan--futo .plan__tag::before{animation:plan-twinkle 4.2s ease-in-out infinite}
  .plan--chou .plan__tag::before{animation:plan-twinkle 3.4s ease-in-out infinite}
  .plan--vip .plan__tag::before{animation:plan-twinkle 2.8s ease-in-out infinite}
  .plan--futo .plan__tag::after{animation:plan-sheen 8s ease-in-out infinite}
  .plan--chou .plan__tag::after,.plan--chou .plan__perk::after{animation:plan-sheen 5s ease-in-out infinite}
  .plan--vip .plan__tag::after,.plan--vip .plan__perk::after{animation:plan-sheen 3.4s ease-in-out infinite}
  .plan--chou{animation:plan-halo-c 5s ease-in-out infinite}
  .plan--vip{animation:plan-halo-v 4.4s ease-in-out infinite}
}

/* ---------- 3. YouTube（旧トップの構成：説明文・数字・人気動画・最新動画） ---------- */
.ytlead{max-width:36em;word-break:normal;overflow-wrap:break-word;line-break:strict}
.ytstats{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px}
.ytstats:empty{display:none}
.ytstat{flex:1 1 240px;min-width:0;position:relative;isolation:isolate;padding:20px 24px 22px;filter:drop-shadow(4px 4px 0 var(--blue))}
.ytstat::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--card);border:3px solid var(--ink)}
.ytstat__v{font-family:var(--f-tag);font-size:clamp(30px,3.6vw,52px);line-height:1.15;white-space:nowrap}
.ytstat__v small{font-size:.45em;margin-left:2px;color:var(--blue)}
.ytstat__k{margin-top:6px;font-size:13px;font-weight:700;color:var(--mute)}
.ytbar{margin-top:14px;height:14px;border:2px solid var(--ink);background:#fff;overflow:hidden}
.ytbar>div{height:100%;width:100%;background:var(--blue);transform-origin:left center;transform:scaleX(0);transition:transform 1.1s cubic-bezier(.2,.6,.2,1)}
.ytblock{margin-top:clamp(28px,3.4vw,48px)}
.ytblock[hidden]{display:none}
.sub--ink{color:var(--ink);margin-top:0}
.ytstrip{display:flex;gap:clamp(16px,2vw,26px);overflow-x:auto;scroll-snap-type:x proximity;padding:10px 8px 24px;scrollbar-width:thin;scrollbar-color:var(--blue) transparent;-webkit-overflow-scrolling:touch}
.ytstrip>li{flex:0 0 clamp(260px,24vw,340px);scroll-snap-align:start;min-width:0}
.ytcard__badge{position:absolute;left:8px;top:8px;z-index:3;background:var(--blue);color:#fff;font-family:var(--f-tag);font-size:12px;line-height:1.3;padding:.35em .9em .4em;transform:rotate(-1deg)}
.ytcard__meta{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font-size:13px;font-weight:700;color:var(--mute)}
.ytcard__meta b{color:var(--blue);font-weight:900;font-size:15px}
.ytrow .btn{width:auto}
.ico--yt{width:1.5em;height:1.5em}

/* ---------- スマホ ---------- */
@media (max-width:920px){
  .mcard__photo{--pt:20%}
  .mm__media{position:static}
  .komon__head{flex-direction:column;align-items:stretch;gap:14px}
  .komon__talk{flex:none;min-height:0}
  .plans{display:flex;grid-template-columns:none;max-width:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:64px;margin:0 -18px;padding:112px 40px 112px;scrollbar-width:none;overscroll-behavior-x:contain}
  .plans::-webkit-scrollbar{display:none}
  .plans>.plan{flex:0 0 64vw;scroll-snap-align:center}
  .plan__tag{flex-direction:column;align-items:flex-start;gap:6px;padding:14px 14px}
  #komon .pn{font-size:15px}
  #komon .pp{font-size:22px}
  #komon .plan__perk{padding:14px 12px 12px;min-height:84px}
  .ytstrip>li{flex:0 0 80%}
  .ytstat{flex-basis:100%}
}

/* グレード飾り（画像）：量と大きさ・動きの強さは 火種＜太客＜超太客＜VIP */
.plan--vip .plan__tag,.plan--vip .plan__perk{transform:scale(1.05)}
.plan--vip .plan__perk{transform-origin:top center}
.plan--vip .plan__tag{transform-origin:bottom center}
.plan--vip .plan__orn{transform:scale(1.05);transform-origin:center}
@media (prefers-reduced-motion:no-preference){
  @keyframes o-shimmer{0%,100%{opacity:.7;transform:rotate(var(--r,0deg)) scale(1)}50%{opacity:1;transform:rotate(var(--r,0deg)) scale(1.07)}}
  @keyframes o-float{0%,100%{transform:rotate(var(--r,0deg)) translateY(0)}50%{transform:rotate(var(--r,0deg)) translateY(-5px)}}
  @keyframes o-glow{0%,100%{filter:brightness(1) saturate(1);opacity:.85}50%{filter:brightness(1.35) saturate(1.2);opacity:1}}
  @keyframes o-flame{0%,100%{transform:rotate(var(--r,0deg)) scaleY(1)}50%{transform:rotate(var(--r,0deg)) scaleY(1.07)}}
  @keyframes o-wing-l{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-4deg)}}
  @keyframes o-wing-r{0%,100%{transform:rotate(0deg)}50%{transform:rotate(4deg)}}
  @keyframes o-beam{0%,100%{opacity:.55}50%{opacity:1}}
  .plan--futo .plan__orn img[src*="sparks"],.plan--futo .plan__orn img[src*="tape"]{animation:o-shimmer 4.6s ease-in-out infinite}
  .plan--futo .plan__orn img[src*="confetti"]{animation:o-float 6.5s ease-in-out infinite}
  .plan--chou .plan__orn img[src*="bolt"]{animation:o-glow 3.4s ease-in-out infinite}
  .plan--chou .plan__orn img[src*="burst"]{animation:o-glow 4.2s ease-in-out infinite}
  .plan--chou .plan__orn img[src*="flame"]{animation:o-flame 2.8s ease-in-out infinite;transform-origin:bottom center}
  .plan--chou .plan__orn img[src*="sparks"]{animation:o-shimmer 3.4s ease-in-out infinite}
  .plan--vip .plan__orn img[src*="beam"]{animation:o-beam 5s ease-in-out infinite}
  .plan--vip .plan__orn img[src*="halo"]{animation:o-glow 3.6s ease-in-out infinite,o-float 6s ease-in-out infinite}
  .plan--vip .plan__orn img[src*="wing_l"]{animation:o-wing-l 5.5s ease-in-out infinite;transform-origin:right bottom}
  .plan--vip .plan__orn img[src*="wing_r"]{animation:o-wing-r 5.5s ease-in-out infinite;transform-origin:left bottom}
  .plan--vip .plan__orn img[src*="laurel"],.plan--vip .plan__badge{animation:o-glow 3.8s ease-in-out infinite}
  .plan--vip .plan__orn img[src*="stars"]{animation:o-shimmer 2.8s ease-in-out infinite}
  .plan--basic .plan__orn img[src*="spark"]{animation:o-shimmer 7s ease-in-out infinite}
  .plan--futo .plan__badge{animation:o-shimmer 5s ease-in-out infinite}
  .plan--chou .plan__badge{animation:o-glow 3.6s ease-in-out infinite}
}
@media (max-width:920px){
  .plan__badge{width:calc(var(--bw,60px) * .78);right:-8px;top:-22px}
}
.plan--vip .plan__orn img[src*="beam"]{-webkit-mask-image:linear-gradient(to top,#000 45%,transparent 100%);mask-image:linear-gradient(to top,#000 45%,transparent 100%)}

/* ======================================================================
   バッチC：切り抜き＋吹き出し（寸法は .talk の幅＝100cqw を基準。吹き出し画像は比率を保つ）
   ====================================================================== */
.talk{container-type:inline-size;position:relative;width:100%;aspect-ratio:100/40;pointer-events:none}
.talk__who{position:absolute;bottom:0;width:38cqw;height:27cqw;overflow:hidden}
.talk--l .talk__who{left:0}
.talk--r .talk__who{right:0}
.talk__who img{position:absolute;top:0;left:calc((100% - var(--iw,120%)) / 2);width:var(--iw,120%);max-width:none;height:auto;margin-top:var(--mt,-1.8%)}
.talk__bub{container-type:inline-size;position:absolute;top:2cqw;width:66cqw}
.talk--l .talk__bub{right:0;transform-origin:0 70%}
.talk--r .talk__bub{left:0;transform-origin:100% 70%}
.talk__bub img{display:block;width:100%;height:auto;max-width:none}
.talk__t{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:var(--ink);font-weight:900;line-height:1.45;font-size:6cqw;text-align:left}
.talk__t .ln{display:block;white-space:nowrap}
.talk__bub--01 .talk__t{left:25%;right:11%;top:22%;bottom:25%}
.talk__bub--02 .talk__t{left:13%;right:21%;top:22%;bottom:24%;font-size:5.6cqw}
.talk__bub--05 .talk__t,.talk__bub--06 .talk__t{color:#fff}

/* 顧問：見出しの右（PC）／下（スマホ）。切り抜きは胸から上だけ見せる */
.komon__talk{flex:0 1 clamp(240px,30vw,400px);min-width:0;min-height:0;align-self:flex-end}
.komon__talk .talk{--mt:-1.8%}

/* 太客・VIP：カードの上に立つ。人物はカードの紙の後ろ（下半身は紙に隠れる）、吹き出しはカードの上 */
.entries{margin-top:clamp(150px,13vw,190px)}
.entry .talk{position:absolute;left:0;right:0;bottom:calc(100% - 6px);width:auto;z-index:-2}
.entry .talk__who img{height:auto}

@media (max-width:920px){
  .komon__talk{flex:none;width:100%;max-width:420px}
  .entries{margin-top:170px;gap:170px}
}

/* ======================================================================
   バッチD
   ====================================================================== */
/* 価格札：（税別）は小さめ。高さは4枚そろえたまま（札は同じ行の高さを共有） */
#komon .pp .zk{font-family:var(--f-body);font-size:.48em;font-weight:700;margin-left:.3em;white-space:nowrap}

/* A. 顧問：縦を詰める。文字（見出し・プラン名・価格・特典・下の導線）は常に飾りより手前 */
.plans{margin:100px 0 24px}
.komon__head{position:relative;z-index:2}
#komon .apply,#komon .btnrow{position:relative;z-index:2}
#komon .pk,#komon .pend{position:relative;z-index:2}
#komon .plan__tag::before,#komon .plan__tag::after,#komon .plan__perk::after{z-index:1}
#komon .pn,#komon .pp{z-index:2}
.plan--vip .plan__orn img[src*="futo_badge"]{transform:rotate(var(--r,0deg))}
@keyframes o-wing-l2{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(-10deg)}}
@keyframes o-wing-r2{0%,100%{transform:rotate(6deg)}50%{transform:rotate(10deg)}}
.plan--vip .plan__orn img[src*="wing_l"]{transform:rotate(-6deg);transform-origin:right bottom}
.plan--vip .plan__orn img[src*="wing_r"]{transform:rotate(6deg);transform-origin:left bottom}
@media (prefers-reduced-motion:no-preference){
  .plan--vip .plan__orn img[src*="wing_l"]{animation:o-wing-l2 5.5s ease-in-out infinite}
  .plan--vip .plan__orn img[src*="wing_r"]{animation:o-wing-r2 5.5s ease-in-out infinite}
  .plan--vip .plan__orn img[src*="futo_badge"]{animation:o-shimmer 5s ease-in-out infinite}
  .plan--futo .plan__orn img[src*="flame"]{animation:o-flame 2.8s ease-in-out infinite;transform-origin:bottom center}
  .plan--chou .plan__orn img[src*="bolt"]{animation:o-glow 3.4s ease-in-out infinite}
}
.plan--futo .plan__badge{--bw:78px}

/* B. 文字をイラストに */
.fv__title{font-size:0;line-height:0}
.fv__typemain{width:min(40vw,480px);height:auto;max-width:none}
.fv__sub--img{background:none;padding:0;transform:none;filter:none!important;margin-top:clamp(10px,1.2vw,18px)}
.fv__sub--img::before{display:none}
.fv__typesub{width:min(30vw,360px);height:auto;max-width:none}
.big--img{font-size:0;line-height:0}
.typecon{width:min(100%,640px);height:auto}
.typemis{display:block;width:min(64vw,700px);height:auto;max-width:100%;transition:transform .2s}
.mission__hbtn:hover .typemis,.mission__hbtn:focus-visible .typemis{transform:translate(-2px,-2px) rotate(-.6deg)}

/* C. ミッションの物語：動画（紙とテープの枠） */
.ms__video{position:relative;margin:22px 0 6px;max-width:760px;clear:both;filter:drop-shadow(4px 4px 0 var(--blue));transform:rotate(-.6deg)}
.ms__video::before{content:"";position:absolute;left:18px;top:-16px;width:90px;height:36px;background:url(assets/gen/deco/tape_blue_2.png) center/contain no-repeat;transform:rotate(-6deg);z-index:2;pointer-events:none}
.ms__frame{background:var(--card);padding:10px}
.ms__frame iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}

@media (max-width:920px){
  .fv__typemain{width:min(60vw,300px)}
  .fv__typesub{width:min(62vw,300px)}
  .typemis{width:100%}
  .plans{margin:0 -18px;padding:112px 40px 60px}
}
@media (min-width:1700px){.fv__copy{padding-top:calc(var(--hh) + 6px)}}

/* ======================================================================
   バッチE
   ====================================================================== */
/* 顧問：飾り（粒・光の筋を含む）は全部、文字より後ろ */
#komon .plan__tag::before,#komon .plan__tag::after,#komon .plan__perk::after{z-index:0!important}
#komon .pn,#komon .pp,#komon .pk,#komon .pend{position:relative;z-index:5}
#komon .plan__tag,#komon .plan__perk{isolation:isolate}
#komon .pp .zk{font-size:max(11px,.48em)}
.plan--futo .plan__orn img[src*="flame"]{transform-origin:bottom center}

/* 吹き出し：bub_01 を左右反転して使う（台詞は反転しない・白い面の中央） */
.talk__bub--flip>img{transform:scaleX(-1)}
.talk__bub--01 .talk__t{left:25%;right:11%;top:20%;bottom:24%;align-items:center;text-align:center}
.talk--r .talk__bub--01 .talk__t{left:11%;right:25%}
.talk--l .talk__bub--01 .talk__t{left:25%;right:11%}

/* YouTube：タイトルの短い行を作らない。縦型サムネは中央を大きく */
.ytcard__title{text-wrap:pretty;overflow-wrap:break-word}
.ytcard__thumb.is-vert>img:first-child{transform:scale(1.7)}

/* 案件動画：3本以下はループしない */
.vscroll.no-loop{justify-content:center;scroll-snap-type:none;overflow-x:visible}
@media (min-width:921px){#videos{min-height:0!important}}
@media (max-width:920px){
  .vscroll.no-loop{justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:calc((100vw - var(--cw)) / 2);scroll-padding-inline:calc((100vw - var(--cw)) / 2)}
  .vscroll.no-loop .vcard{scroll-snap-align:center}
}

#komon .plan--chou .plan__orn,#komon .plan--futo .plan__orn{z-index:auto}
#komon .plan--chou .plan__orn img[src*="bolt"],#komon .plan--futo .plan__orn img[src*="flame"]{z-index:4}
#komon .plan--futo .plan__orn img[src*="flame"]{z-index:4}

/* バッチE（上書き配置）：超太客=右上に稲妻＋キラキラ（キラキラは稲妻の少し後ろ）／VIP=王冠を一番手前・羽は王冠の後ろ */
#komon .plan--chou .plan__orn img[src*="futo_sparks"]{z-index:3}
#komon .plan--chou .plan__orn img[src*="bolt"]{z-index:4}
#komon .plan--chou .plan__orn img[src*="burst"]{z-index:0}
#komon .plan--vip .plan__orn{z-index:auto}
#komon .plan--vip .plan__orn img[src*="wing"]{z-index:2}
#komon .plan--vip .plan__orn img[src*="halo"],#komon .plan--vip .plan__orn img[src*="beam"]{z-index:1}
#komon .plan--vip .plan__orn img[src*="sparks"],#komon .plan--vip .plan__orn img[src*="stars"]{z-index:3}
#komon .plan__badge{right:-14px!important;left:auto!important;top:-34px!important;z-index:6}
.plan--vip .plan__badge{transform:none}
.vnav__b[hidden]{display:none}

/* ---------- バッチF：FVの3人を1人ずつ別レイヤーに（ステッカー風・視差・順に登場） ---------- */
.fv__people{position:absolute;z-index:2;top:0;bottom:0;right:0;width:calc(100 * var(--pu));pointer-events:none}
.fv__p{position:absolute;rotate:var(--rot,0deg)}
.fv__pa,.fv__pa img{display:block;width:100%;height:auto}
.fv__pa img{max-width:none;transform-origin:50% 100%}
.fv__p--d{left:calc(48.8 * var(--pu));top:calc(25 * var(--pu));width:calc(24.4 * var(--pu));--rot:-3deg;z-index:1}
.fv__p--k{left:calc(62 * var(--pu));top:calc(19 * var(--pu));width:calc(26 * var(--pu));--rot:2deg;z-index:3}
.fv__p--n{left:calc(77.1 * var(--pu));top:calc(11 * var(--pu));width:calc(22.9 * var(--pu));--rot:3deg;z-index:2}
.fx .fv__pa img{opacity:0}
.fv__p img{filter:drop-shadow(3px 4px 0 rgba(0,0,0,.45))}
@media (max-width:920px){
  .fv__people{position:relative;right:auto;top:auto;bottom:auto;width:100%;height:calc(78 * var(--pu));flex:none}
  .fv__p--d{left:calc(50% - 47 * var(--pu));top:calc(14 * var(--pu));width:calc(31 * var(--pu))}
  .fv__p--k{left:calc(50% - 17.5 * var(--pu));top:calc(6 * var(--pu));width:calc(35 * var(--pu))}
  .fv__p--n{left:calc(50% + 17 * var(--pu));top:calc(9 * var(--pu));width:calc(29 * var(--pu))}
}

/* ---------- バッチF 2〜4：ミッション・コンセプトの写真の下は破れた紙の縁で終える（直線で切らない） ---------- */
.paperphoto--out .pp__img{clip-path:inset(-40% -20% 0 -20%)}
/* 下の端：上の82%は全部見せ、下の18%だけ破れた紙の形（frame_*.png のアルファ）で終わる。人物と紙を同じマスクで切る */
.paperphoto--out .pp__img{clip-path:none;-webkit-mask:linear-gradient(#000,#000) top/100% 82% no-repeat,var(--tm) bottom/100% 100% no-repeat;mask:linear-gradient(#000,#000) top/100% 82% no-repeat,var(--tm) bottom/100% 100% no-repeat}
.paperphoto--out .pp__img{-webkit-mask-composite:source-over;mask-composite:add}
.paperphoto--out[data-frame="1"]{--tm:url(/v2/assets/gen/deco/frame_1.png)}
.paperphoto--out[data-frame="2"]{--tm:url(/v2/assets/gen/deco/frame_2.png)}
.paperphoto--out[data-frame="3"]{--tm:url(/v2/assets/gen/deco/frame_3.png)}
.scrap--out{bottom:3%}
/* ミッション：見出し・写真・一文・ボタンを詰める。一文は Dela Gothic One の白・大きめ・青い紙片（後で画像に差し替えやすい p.mission__lead） */
.mission{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:0 clamp(14px,2vw,30px)}
#mission .mission__head{margin-bottom:-2%}
.mission__plate::before{background:var(--blue)}
.mission__plate{filter:drop-shadow(5px 5px 0 #000);margin-left:-6%;z-index:3}
.mission__lead{font-family:var(--f-tag);font-weight:400;color:#fff;font-size:clamp(20px,2.05vw,30px);line-height:1.5}
.mission__lead img{width:100%;height:auto}
.mission__d1{top:20%}
@media (max-width:920px){
  .mission{gap:0}
  #mission .mission__head{margin-bottom:0}
  .mission__plate{margin:-6% 0 0;filter:drop-shadow(4px 4px 0 #000)}
  .mission__lead{font-size:min(6.4vw,28px)}
  #mission{padding-bottom:calc(var(--eh) * .55 + 70px)}
}
.mission__lead{letter-spacing:.02em}
@media (max-width:1200px){.fv-c4{display:none}}

/* ======================================================================
   バッチH：前の案の文章を戻す（本文は Noto Sans JP・左揃え。行は意味の切れ目）
   ====================================================================== */
.txt{font-family:var(--f-body);font-weight:500;font-size:clamp(14px,1.15vw,16px);line-height:1.95;text-align:left;word-break:normal;overflow-wrap:break-word;line-break:strict}
.txt .ln{display:block;white-space:normal}
.txt--w{color:#fff}
.concept__catch{font-family:var(--f-tag);font-size:clamp(20px,2.5vw,36px);line-height:1.4;margin-bottom:12px}
.concept__sub{margin-top:14px;font-weight:700}
.concept__quote{margin-top:18px}
.concept__chain{margin-top:14px;font-weight:900;font-size:clamp(15px,1.35vw,18px)}
.concept__body .lead{margin-top:14px}
.mission{grid-template-areas:"head head" "photo side" "body body"}
.mission__body{grid-area:body;max-width:760px;margin-top:clamp(20px,2.4vw,32px)}
.mission__body .txt{color:#fff}
.mission__body .txt+.txt{margin-top:12px}
.mission__body .mission__strong{font-weight:900;font-size:clamp(16px,1.5vw,20px)}
.mlead{margin:2px 0 clamp(22px,2.6vw,36px);max-width:44em}
.mlead__t{font-family:var(--f-tag);font-weight:400;font-size:clamp(24px,3.2vw,44px);line-height:1.35}
.mlead__t .x{color:var(--blue)}
.mlead .txt{margin-top:8px;font-weight:700}
.hidane__t1,.hidane__t2{max-width:44em;margin-top:14px}
.komon__lead{margin-top:10px;font-weight:700}
.pl{margin-top:6px;display:flex;flex-direction:column;gap:3px}
.pl li{font-size:13px;line-height:1.6;padding-left:1.1em;position:relative;font-weight:500}
.pl li::before{content:"";position:absolute;left:.1em;top:.62em;width:.5em;height:.5em;background:var(--blue)}
.plan .lim{font-size:max(11px,.72em);font-weight:700;color:var(--pale);margin-left:.4em;white-space:nowrap}
.apply__note{margin-top:6px;font-size:12.5px;font-weight:500;color:var(--mute);line-height:1.8}
.komon__about{margin-top:clamp(26px,3.2vw,44px);max-width:860px}
.komon__ah{font-family:var(--f-tag);font-weight:400;font-size:clamp(20px,2.2vw,30px);line-height:1.4}
.komon__about .txt{margin-top:8px}
.komon__pinch{margin-top:18px;background:var(--ink);color:#fff;padding:16px 20px;border-left:8px solid var(--blue)}
.komon__pinch .q{font-family:var(--f-tag);font-size:clamp(18px,1.9vw,26px);line-height:1.5}
.komon__pinch .a{margin-top:6px;font-size:14px;font-weight:700}
.komon__faq{margin-top:18px;background:#fff;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--blue)}
.komon__faq summary{cursor:pointer;padding:12px 18px;font-family:var(--f-tag);font-size:16px;list-style:none}
.komon__faq summary::-webkit-details-marker{display:none}
.komon__faq summary::after{content:"＋";float:right}
.komon__faq[open] summary::after{content:"－"}
.komon__faq ul{padding:2px 18px 16px;display:flex;flex-direction:column;gap:8px}
.komon__faq li{font-size:14px;line-height:1.8;padding-left:1.1em;position:relative}
.komon__faq li::before{content:"";position:absolute;left:.1em;top:.7em;width:.5em;height:.5em;background:var(--blue)}
.contact__lead{margin-top:12px;max-width:40em;font-weight:700}
.ft__legal{display:flex;gap:18px;font-size:13px;font-weight:700}
.ft__legal a,.ft__made a{text-decoration:underline;text-underline-offset:3px}
.ft__made{flex-basis:100%;font-size:12.5px;font-weight:500;opacity:.85}
.mstep__dl{margin-top:8px}
.mstep__dl dt{margin-top:12px;font-weight:900;font-size:14.5px;border-left:5px solid var(--blue);padding-left:8px}
.mstep__dl dd{margin-top:3px;font-size:14px;line-height:1.9;word-break:normal;overflow-wrap:break-word;line-break:strict}
@media (max-width:920px){
  .txt .ln{display:inline}
  .mission{grid-template-areas:"head" "photo" "side" "body"}
  .concept__chain .ln,.concept__sub .ln{display:inline}
}
.mission__body{max-width:min(760px,calc(100% - 20vw))}@media (max-width:920px){.mission__body{max-width:none}}

/* 1〜2文字だけの改行を作らない（語のまとまりを折り返さない） */
.nw{white-space:nowrap}

/* ---------- バッチI：折り返し。語・文節の途中で切らない（auto-phrase 非対応のブラウザは従来どおり）。1〜2文字の行を作らない ---------- */
.txt,.lead,.mm__desc,.mm__lead,.mm__tli p,.mm__biz p,.mstep__p,.mstep__dl dd,.komon__faq li,.pl li,.apply__note,.ytlead,.mission__lead,.komon__lead,.mcard__catch,.mcard__chips li,.mm__fact,.mm__corp,.stat__l,.pend{word-break:auto-phrase;text-wrap:pretty}
.txt .ln,.lead .ln{white-space:normal}
.nw{white-space:nowrap}
@media (max-width:920px){.mission{grid-template-columns:minmax(0,1fr)}}
@media (max-width:920px){#mission{padding-bottom:calc(var(--eh) * .55 + 150px)}}

/* ======================================================================
   Lucian UX/UI Prompt tokens · MIT License (c) 2026 Seokwoooo · https://lucianlabs.dev/uxui-prompt/
   --ux-* を v2 の色に当てる（明るい側だけ。ピンク・オレンジは使わない）
   ====================================================================== */
:root{
  --ux-page:#F4F4F2; --ux-surface:#FFFFFF; --ux-surface-2:#EEF1F3; --ux-surface-3:#DCE3E8;
  --ux-ink:#282835; --ux-ink-2:#5A5A66; --ux-ink-3:#7B7B88;
  --ux-line:rgba(40,40,53,.12); --ux-line-2:rgba(40,40,53,.22);
  --ux-accent:#282835; --ux-accent-2:#282835; --ux-accent-soft:rgba(40,40,53,.12); --ux-accent-ink:#FFFFFF;
  --ux-mint:#119C72; --ux-warn:#282835; --ux-danger:#D32F2F;
  --ux-glass:rgba(255,255,255,.58); --ux-glass-line:rgba(255,255,255,.85);
  --ux-shadow:rgba(40,40,53,.14); --ux-shadow-strong:rgba(40,40,53,.3);
  --ux-grad:linear-gradient(120deg,#282835,#282835);
  --ux-ease:cubic-bezier(.2,.8,.2,1); --ux-spring:cubic-bezier(.34,1.45,.64,1);
}
.ux,.ux *,.ux *::before,.ux *::after{box-sizing:border-box}
.ux{font-family:inherit;color:var(--ux-ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;word-break:keep-all;overflow-wrap:break-word}
:where(.ux) :is(button,input,textarea,select){font:inherit;color:inherit}
:where(.ux) button{cursor:pointer}
.ux :focus-visible{outline:2px solid var(--ux-accent);outline-offset:3px}
.ux [hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){
  .ux,.ux *,.ux *::before,.ux *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* Lucian UX/UI Prompt #045 · MIT License (c) 2026 Seokwoooo */
.u045{position:relative;width:340px;height:520px;border-radius:34px;overflow:hidden;isolation:isolate;background:var(--ux-surface);box-shadow:0 0 0 1px var(--ux-line),0 30px 60px -36px var(--ux-shadow-strong)}
.u045-page{position:absolute;inset:0;padding:78px 20px 20px;transform-origin:50% 0;transition:transform .7s var(--ux-ease),filter .7s var(--ux-ease)}
.u045.is-open .u045-page{transform:scale(.92) translateY(14px);filter:blur(3px)}
.u045-hero{position:relative;height:200px;border-radius:24px;overflow:hidden;background:#101b2b}
.u045-hero::before{content:"";position:absolute;width:190px;height:190px;right:-40px;top:-50px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.6),transparent 65%)}
.u045-hero::after{content:"";position:absolute;left:-30px;right:-30px;bottom:-60px;height:130px;border-radius:50%;background:rgba(20,10,40,.28);filter:blur(10px)}
.u045-hero b{position:absolute;left:18px;bottom:16px;z-index:1;font-size:12px;font-weight:800;letter-spacing:.08em;color:#fff}
.u045-page h3{margin:18px 0 6px;font-size:25px;line-height:1.18;font-weight:800;letter-spacing:-.045em}
.u045-page p{margin:0;font-size:13.5px;line-height:1.55;color:var(--ux-ink-3)}
.u045-row{display:flex;gap:8px;margin-top:16px}
.u045-row i{flex:1;height:64px;border-radius:16px;background:var(--ux-surface-2)}
.u045-top{position:absolute;left:0;right:0;top:0;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 22px;z-index:3;color:var(--ux-ink);transition:color .4s}
.u045.is-open .u045-top{color:#F4F0E8}
.u045-logo{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800;letter-spacing:-.03em}
.u045-logo i{width:20px;height:20px;border-radius:7px;background:var(--ux-grad)}
.u045-ham{position:relative;width:46px;height:46px;border:0;padding:0;border-radius:50%;background:var(--ux-surface-2);color:inherit;transition:transform .4s var(--ux-spring),background-color .4s}
.u045.is-open .u045-ham{background:rgba(255,255,255,.12)}
.u045-ham:hover{transform:scale(1.06)}
.u045-ham:active{transform:scale(.9)}
.u045-ham:focus-visible{outline:2px solid var(--ux-accent);outline-offset:3px}
.u045-ham i{position:absolute;left:50%;top:50%;width:18px;height:2px;margin:-1px 0 0 -9px;border-radius:2px;background:currentColor;transition:transform .55s var(--ux-spring),opacity .25s,width .4s var(--ux-ease)}
.u045-ham i:nth-child(1){transform:translateY(-6px)}
.u045-ham i:nth-child(2){width:12px;margin-left:-3px}
.u045-ham i:nth-child(3){transform:translateY(6px)}
.u045.is-open .u045-ham i:nth-child(1){transform:rotate(45deg)}
.u045.is-open .u045-ham i:nth-child(2){opacity:0;transform:translateX(8px)}
.u045.is-open .u045-ham i:nth-child(3){transform:rotate(-45deg)}
.u045-sheet{position:absolute;inset:0;z-index:2;padding:96px 26px 26px;display:flex;flex-direction:column;background:radial-gradient(120% 70% at 100% 0%,#3A2A8C,transparent 60%),radial-gradient(90% 60% at 0% 100%,#0E5E63,transparent 65%),#0E0D16;color:#F4F0E8;clip-path:circle(0 at var(--cx,300px) var(--cy,34px));visibility:hidden;transition:clip-path .7s var(--ux-ease),visibility 0s .7s}
.u045.is-open .u045-sheet{clip-path:circle(640px at var(--cx,300px) var(--cy,34px));visibility:visible;transition:clip-path .8s var(--ux-ease),visibility 0s}
.u045-sheet small{font-size:11.5px;font-weight:700;letter-spacing:.14em;color:rgba(244,240,232,.45)}
.u045-nav{margin:12px 0 0;padding:0;list-style:none}
.u045-ln{display:flex;align-items:baseline;gap:12px;padding:7px 0;font-size:34px;font-weight:800;letter-spacing:-.05em;color:inherit;text-decoration:none;opacity:0;transform:translateY(26px);transition:opacity .25s,transform .3s var(--ux-ease)}
.u045-ln em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:0;color:rgba(244,240,232,.4);font-variant-numeric:tabular-nums}
.u045-ln span{background:linear-gradient(90deg,#B7A4FF,#7DB4FF 55%,#A5F2D3) no-repeat 0 100%/0 3px;padding-bottom:2px;transition:background-size .45s var(--ux-ease)}
.u045-ln:hover span,.u045-ln:focus-visible span{background-size:100% 3px}
.u045-ln:focus-visible{outline:none}
.u045-ln[aria-current="page"] em{color:#A5F2D3}
.u045.is-open .u045-ln{opacity:1;transform:none;transition:opacity .4s var(--ux-ease) calc(.22s + var(--i) * 60ms),transform .7s var(--ux-spring) calc(.22s + var(--i) * 60ms)}
.u045-foot{margin-top:auto;display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(14px);transition:opacity .25s,transform .3s}
.u045.is-open .u045-foot{opacity:1;transform:none;transition:opacity .4s .5s,transform .6s var(--ux-spring) .5s}
.u045-foot a{height:44px;padding:0 16px;border-radius:999px;display:inline-flex;align-items:center;font-size:13.5px;font-weight:700;color:inherit;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);transition:background-color .3s}
.u045-foot a:hover{background:rgba(255,255,255,.08)}
.u045-foot a.go{margin-left:auto;background:#F4F0E8;color:#0E0D16;box-shadow:none}
.u045-foot a:focus-visible{outline:2px solid #B7A4FF;outline-offset:2px}
/* #045 v2 への当て込み：ヘッダー自体を根にし、シートは画面いっぱい（fixed）。色は v2 の青・紺 */
.hd.u045{position:fixed;width:auto;height:var(--hh);border-radius:0;overflow:visible;isolation:auto;background:transparent;box-shadow:none;color:var(--ux-ink)}
.hd.is-scrolled.u045{background:var(--ink)}
.hd .hd__logo,.hd .u045-ham{position:relative;z-index:3}
.u045-ham{flex:none}
.u045-sheet{position:fixed;inset:0;clip-path:circle(0 at var(--cx,300px) var(--cy,34px));background:radial-gradient(120% 70% at 100% 0%,#0B5E7C,transparent 60%),radial-gradient(90% 60% at 0% 100%,#0F3F57,transparent 65%),#282835}
.u045.is-open .u045-sheet{clip-path:circle(max(160vh,160vw) at var(--cx,300px) var(--cy,34px))}
.u045.is-open .u045-ham{color:#F4F4F2}
.u045-ln{font-family:var(--f-tag);font-weight:400;letter-spacing:0;font-size:clamp(24px,7.6vw,34px)}
.u045-ln span{background:linear-gradient(90deg,#E6E6E2,#009ECA 70%) no-repeat 0 100%/0 3px}
.u045-ln:hover span,.u045-ln:focus-visible span{background-size:100% 3px}
.u045-foot a.go{background:#F4F4F2;color:#282835}
.u045-foot a:focus-visible{outline-color:#E6E6E2}
.u045-sheet small{letter-spacing:.14em}
@media (min-width:921px){.u045-ham,.u045-sheet{display:none}}
@media (max-width:920px){.hd .hd__nav{display:none!important}.hd.u045{padding:8px 12px}}

/* Lucian UX/UI Prompt #048 · MIT License (c) 2026 Seokwoooo */
.u048{position:relative;width:350px;height:420px;display:flex;flex-direction:column;border-radius:28px;background:var(--ux-surface);box-shadow:0 0 0 1px var(--ux-line),0 30px 60px -38px var(--ux-shadow-strong);overflow:hidden}
.u048-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 6px}
.u048-top b{font-size:21px;font-weight:800;letter-spacing:-.04em}
.u048-top small{font-size:12px;font-weight:700;color:var(--ux-ink-3)}
.u048-tw{position:relative;border-bottom:1px solid var(--ux-line)}
.u048-tw::before,.u048-tw::after{content:"";position:absolute;top:0;bottom:0;width:36px;z-index:1;pointer-events:none;transition:opacity .3s}
.u048-tw::before{left:0;background:linear-gradient(90deg,var(--ux-surface),transparent);opacity:var(--fl,0)}
.u048-tw::after{right:0;background:linear-gradient(-90deg,var(--ux-surface),transparent);opacity:var(--fr,1)}
.u048-tabs{position:relative;display:flex;gap:4px;padding:0 14px;overflow-x:auto;scrollbar-width:none}
.u048-tabs::-webkit-scrollbar{display:none}
.u048-tab{position:relative;flex:none;height:46px;padding:0 10px;border:0;background:none;font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--ux-ink-3);white-space:nowrap;transition:color .3s}
.u048-tab:hover{color:var(--ux-ink-2)}
.u048-tab[aria-selected="true"]{color:var(--ux-ink)}
.u048-tab:focus-visible{outline:2px solid var(--ux-accent);outline-offset:-6px;border-radius:12px}
.u048-line{position:absolute;left:0;bottom:0;width:40px;height:3px;border-radius:3px 3px 0 0;background:var(--ux-grad);pointer-events:none}
.u048-pages{flex:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;touch-action:pan-x pan-y}
.u048-pages::-webkit-scrollbar{display:none}
.u048-pages.drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.u048-pg{flex:none;width:100%;padding:14px 16px 16px;scroll-snap-align:start;display:flex;flex-direction:column;gap:10px}
.u048-hero{position:relative;flex:none;height:170px;border-radius:20px;overflow:hidden;background:var(--g);padding:16px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.u048-hero::before{content:"";position:absolute;width:180px;height:180px;right:-50px;top:-70px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5),transparent 65%)}
.u048-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,8,25,.45))}
.u048-hero small{position:relative;z-index:1;font-size:11px;font-weight:800;letter-spacing:.08em;opacity:.85}
.u048-hero b{position:relative;z-index:1;margin-top:4px;font-size:18px;line-height:1.3;font-weight:800;letter-spacing:-.035em}
.u048-it{display:flex;align-items:center;gap:12px}
.u048-it i{width:48px;height:48px;flex:none;border-radius:13px;background:var(--g);opacity:.85}
.u048-it span{font-size:14px;font-weight:650;line-height:1.35;letter-spacing:-.02em}
.u048-it small{display:block;margin-top:2px;font-size:11.5px;font-weight:600;color:var(--ux-ink-3)}
/* #048 当て込み：カード枠は外し、幅いっぱい・高さは中身。色は v2 */
.u048{--ux-surface:#ECECE9;width:100%;height:auto;border-radius:0;background:none;box-shadow:none;overflow:visible;margin-top:clamp(26px,3vw,40px)}
.u048-tab{font-family:var(--f-tag);font-weight:400;font-size:clamp(16px,1.6vw,20px);height:54px;letter-spacing:0}
.u048-tw{border-bottom:3px solid var(--ink)}
.u048-line{height:5px;border-radius:0}
.u048-pages{align-items:flex-start;flex:none}
.u048-pg{display:block;padding:22px 6px 6px}
.u048-pg[inert]{visibility:hidden}

/* Lucian UX/UI Prompt #044 · MIT License (c) 2026 Seokwoooo */
.u044{position:relative;width:350px;height:400px;display:flex;flex-direction:column;gap:8px}
.u044-it{position:relative;border-radius:20px;background:var(--ux-surface);box-shadow:0 0 0 1px var(--ux-line);transition:background-color .4s var(--ux-ease),box-shadow .5s var(--ux-ease),transform .5s var(--ux-spring)}
.u044-it.open{box-shadow:0 0 0 1px var(--ux-line-2),0 22px 40px -22px var(--ux-shadow-strong);transform:translateY(-2px)}
.u044-q{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:0 14px 0 16px;border:0;border-radius:20px;background:none;font-size:14.5px;font-weight:680;letter-spacing:-.02em;color:var(--ux-ink);text-align:left}
.u044-q:focus-visible{outline:2px solid var(--ux-accent);outline-offset:2px}
.u044-n{font-size:12px;font-weight:800;color:var(--ux-ink-3);font-variant-numeric:tabular-nums;transition:color .3s}
.u044-it.open .u044-n{color:var(--ux-accent)}
.u044-t{flex:1}
.u044-pm{position:relative;width:30px;height:30px;flex:none;border-radius:50%;background:var(--ux-surface-2);box-shadow:none;transition:background-color .35s var(--ux-ease),box-shadow .35s,transform .45s var(--ux-spring)}
.u044-q:hover .u044-pm{transform:scale(1.1)}
.u044-q:active .u044-pm{transform:scale(.9)}
.u044-pm::before,.u044-pm::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;margin:-1px 0 0 -5.5px;border-radius:2px;background:var(--ux-ink);transition:transform .5s var(--ux-spring),background-color .3s}
.u044-pm::after{transform:rotate(90deg)}
.u044-it.open .u044-pm{background:var(--ux-ink);box-shadow:none}
.u044-it.open .u044-pm::before,.u044-it.open .u044-pm::after{background:var(--ux-page)}
.u044-it.open .u044-pm::after{transform:rotate(180deg)}
.u044-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ux-ease)}
.u044-it.open .u044-body{grid-template-rows:1fr}
.u044-body>div{overflow:hidden;min-height:0}
.u044-a{padding:0 18px 16px 42px;opacity:0;transform:translateY(-8px);transition:opacity .25s var(--ux-ease),transform .45s var(--ux-spring)}
.u044-it.open .u044-a{opacity:1;transform:none;transition-delay:.12s}
.u044-a p{margin:0;font-size:13.5px;line-height:1.62;color:var(--ux-ink-2)}
.u044-a a{display:inline-flex;align-items:center;gap:4px;margin-top:10px;font-size:13px;font-weight:700;color:var(--ux-accent);text-decoration:none}
.u044-a a:focus-visible{outline:2px solid var(--ux-accent);outline-offset:2px;border-radius:4px}
.u044-a a i{font-style:normal;transition:transform .3s var(--ux-spring)}
.u044-a a:hover i{transform:translateX(3px)}
/* #044 当て込み：幅いっぱい・高さは中身。本文は日本語 */
.u044{width:100%;max-width:860px;height:auto;margin-top:12px}
.u044-q{font-size:16px;font-weight:700;letter-spacing:0}
.u044-t{font-family:var(--f-tag);font-weight:400}
.u044-a p{font-size:14.5px;line-height:1.85;word-break:auto-phrase;text-wrap:pretty}
.komon__faqh{margin-top:clamp(22px,2.6vw,34px)}

/* Lucian UX/UI Prompt #009 · MIT License (c) 2026 Seokwoooo （転がる文字と押した時の動きだけ。.u009 → .lx009 に改名。根は .btn 自身） */
.lx009{--ux-roll:1.3em}
.lx009 .lx009-word{position:relative;display:flex;height:var(--ux-roll);overflow:hidden;line-height:var(--ux-roll)}
.lx009 .lx009-face{display:flex;transition:transform .6s var(--ux-spring),opacity .3s var(--ux-ease)}
.lx009 .lx009-face>span{display:flex;flex-direction:column;transition:transform .55s var(--ux-ease);transition-delay:calc(var(--i) * 22ms)}
.lx009 .lx009-face>span::after{content:attr(data-c);display:block}
@media (hover:hover){
  .lx009:hover .lx009-face>span,.lx009:focus-visible .lx009-face>span{transform:translateY(calc(var(--ux-roll) * -1))}
}
.lx009{transition:transform .5s var(--ux-spring),box-shadow .18s ease,color .45s var(--ux-ease)}
.lx009:active{transform:scale(.96)}
.lx009-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Lucian UX/UI Prompt #090 · MIT License (c) 2026 Seokwoooo */
.u090{position:relative;width:340px;height:410px;display:flex;flex-direction:column;padding:18px;border-radius:30px;background:var(--ux-surface);box-shadow:0 0 0 1px var(--ux-line),0 30px 60px -36px var(--ux-shadow-strong);overflow:hidden}
.u090-h{display:flex;align-items:center;gap:10px;height:38px}
.u090-h i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--ux-surface-2);color:var(--ux-ink-2)}
.u090-h i svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.u090-h b{font-size:16px;font-weight:850;letter-spacing:-.03em}
.u090-pill{margin-left:auto;height:26px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c);font-size:12px;font-weight:800;white-space:nowrap;transition:color .35s,background-color .35s}
.u090-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.u090-stage{position:relative;flex:1;margin:6px 0 12px}
.u090-err,.u090-ok{position:absolute;inset:0;display:flex;flex-direction:column;transition:opacity .35s,transform .45s var(--ux-ease),visibility 0s}
.u090-err{align-items:center;justify-content:center;text-align:center}
.u090.show .u090-err{opacity:0;transform:scale(.94);visibility:hidden;transition:opacity .25s,transform .35s var(--ux-ease),visibility 0s .35s}
.u090-ok{opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .35s,visibility 0s .35s}
.u090.show .u090-ok{opacity:1;visibility:visible;transform:none;transition:opacity .35s .15s,transform .5s var(--ux-ease) .15s}
.u090-plug{width:220px;height:70px;overflow:visible}
.u090-cord{fill:none;stroke:var(--ux-ink-3);stroke-width:4;stroke-linecap:round}
.u090-pr{stroke:var(--ux-ink-2);stroke-width:4.5;stroke-linecap:round}
.u090-bd{fill:var(--ux-ink)}
.u090-hole{stroke:var(--ux-surface);stroke-width:3;stroke-linecap:round}
.u090-led{fill:var(--ux-danger);transition:fill .3s}
.u090-L,.u090-R{transition:transform .55s var(--ux-spring)}
.u090-L{transform:translateX(-10px)}
.u090-R{transform:translateX(8px)}
.u090[data-s="try"] .u090-L{transform:translateX(9px);animation:u090-jig .28s .5s ease-in-out infinite}
.u090[data-s="try"] .u090-R{transform:translateX(-2px)}
.u090[data-s="try"] .u090-led{fill:var(--ux-warn);animation:u090-blink .5s steps(1) infinite}
.u090[data-s="ok"] .u090-L{transform:translateX(16px)}
.u090[data-s="ok"] .u090-R{transform:translateX(-4px)}
.u090[data-s="ok"] .u090-led{fill:var(--ux-mint)}
@keyframes u090-jig{50%{transform:translateX(6px)}}
@keyframes u090-blink{50%{fill:var(--ux-surface-3)}}
.u090-spark{stroke:var(--ux-warn);stroke-width:2.6;stroke-linecap:round;opacity:0}
.u090.zap .u090-spark{animation:u090-zap .55s var(--ux-ease)}
@keyframes u090-zap{0%{opacity:1;transform:scale(.4)}60%{opacity:1}100%{opacity:0;transform:scale(1.25)}}
.u090-spark{transform-box:fill-box;transform-origin:50% 50%}
.u090-t{margin:16px 0 0;font-size:17px;font-weight:850;letter-spacing:-.035em}
.u090-s{margin:5px 0 0;font-size:13px;font-weight:600;line-height:1.5;color:var(--ux-ink-3)}
.u090-at{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12.5px;font-weight:750;color:var(--ux-ink-2);font-variant-numeric:tabular-nums}
.u090-dots{display:flex;gap:4px}
.u090-dots i{width:18px;height:6px;border-radius:3px;background:var(--ux-surface-3);transition:background-color .3s}
.u090-dots i.f{background:var(--ux-danger)}
.u090-dots i.cur{background:var(--ux-warn);animation:u090-cur .7s ease-in-out infinite}
.u090-dots i.ok{background:var(--ux-mint)}
@keyframes u090-cur{50%{opacity:.4}}
.u090-more{display:inline-flex;align-items:center;gap:4px;height:28px;margin-top:10px;padding:0 8px;border:0;border-radius:8px;background:transparent;font-size:12px;font-weight:750;color:var(--ux-ink-3)}
.u090-more:hover{color:var(--ux-ink);background:var(--ux-surface-2)}
.u090-more svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ux-ease)}
.u090-more[aria-expanded="true"] svg{transform:rotate(180deg)}
.u090-det{display:grid;grid-template-rows:0fr;width:100%;transition:grid-template-rows .35s var(--ux-ease)}
.u090-more[aria-expanded="true"]+.u090-det{grid-template-rows:1fr}
.u090-det>div{min-height:0;overflow:hidden}
.u090-det code{display:block;margin-top:6px;padding:10px 12px;border-radius:12px;background:var(--ux-surface-2);text-align:left;font:600 11.5px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ux-ink-2);white-space:pre}
.u090-sum{display:flex;align-items:baseline;gap:8px;margin-top:6px}
.u090-sum small{font-size:12.5px;font-weight:700;color:var(--ux-ink-3)}
.u090-sum b{font-size:30px;font-weight:850;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.u090-sum em{font-style:normal;font-size:12.5px;font-weight:800;color:var(--ux-mint)}
.u090-bars{flex:1;display:flex;align-items:flex-end;gap:10px;margin-top:14px;padding-bottom:22px}
.u090-bars span{position:relative;flex:1;height:100%;display:flex;align-items:flex-end}
.u090-bars i{width:100%;height:calc(var(--h) * 100%);border-radius:8px 8px 4px 4px;background:var(--ux-surface-3);transform-origin:50% 100%;transform:scaleY(0);transition:transform .7s var(--ux-spring),background-color .2s;transition-delay:calc(var(--d) * 60ms + .2s),0s}
.u090.show .u090-bars i{transform:none}
.u090-bars span:last-child i{background:var(--ux-grad)}
.u090-bars span:hover i{background:var(--ux-accent)}
.u090-bars em{position:absolute;left:0;right:0;bottom:-22px;text-align:center;font-style:normal;font-size:11.5px;font-weight:700;color:var(--ux-ink-3)}
.u090-go{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;height:50px;border:0;border-radius:16px;background:var(--ux-ink);color:var(--ux-page);font-size:14.5px;font-weight:760;transition:transform .3s var(--ux-spring),opacity .3s}
.u090-go:active{transform:scale(.97)}
.u090-go[aria-disabled="true"]{opacity:.55}
.u090-ring{width:20px;height:20px;transform:rotate(-90deg);transition:width .3s,margin .3s}
.u090-ring circle{fill:none;stroke-width:2.6;stroke-linecap:round}
.u090-ring circle:first-child{stroke:color-mix(in srgb,var(--ux-page) 25%,transparent)}
.u090-ring circle+circle{stroke:var(--ux-page);stroke-dasharray:100}
.u090[data-s="try"] .u090-ring{animation:u090-spin .8s linear infinite}
.u090[data-s="try"] .u090-ring circle+circle{stroke-dasharray:28 72;stroke-dashoffset:0!important;transition:none!important}
.u090[data-s="ok"] .u090-ring{width:0;margin-right:-9px}
@keyframes u090-spin{to{transform:rotate(270deg)}}
.u090-go:focus-visible{outline:2px solid var(--ux-accent);outline-offset:2px}
/* #090 当て込み：幅は親に合わせる。成功時は実際の動画一覧に差し替えるので chart は持ち込まない */
.u090{width:340px;max-width:100%;height:auto;min-height:0;margin-top:clamp(22px,2.6vw,34px)}
.u090[hidden]{display:none}
.u090-stage{min-height:200px;margin:6px 0 12px}
.u090-t{font-family:var(--f-tag);font-weight:400;letter-spacing:0;font-size:18px}
.u090-pill{letter-spacing:0}
.u090-h b{letter-spacing:0}
.u048[hidden],.u090[hidden]{display:none!important}

/* ================= v3：青を「ちょろっと」に。黒・白・紙で組む ================= */
html,body{overflow-x:clip}
#ytTabs{display:none!important}
.sec--dark .big .x,.sec--dark .mlead__t .x,.stat__n,.sec--dark .pp{color:#fff}
.sec--light .big .x{color:var(--ink)}
.sec--dark .tag{box-shadow:none;outline:0}
.sec--dark .sub{border-bottom-color:#fff}
.sec--dark .btn{box-shadow:3px 3px 0 #fff}
.sec--dark .btn:hover,.sec--dark .btn:focus-visible{box-shadow:6px 6px 0 #fff}
.sec--dark .vips li{box-shadow:4px 4px 0 #fff}
.sec--dark .entry,.fv .fv__sub{filter:drop-shadow(4px 4px 0 #000)}
.hd.is-scrolled{border-bottom-color:#fff}
.hd__nav a:not(.btn){background-image:linear-gradient(#fff,#fff)}
.hd__menu{background:var(--ink)}
.em{background:var(--ink)}
.mm__tiger,.mcard__open,.act,.ytcard__badge{background:var(--ink)}
.mission__plate{filter:drop-shadow(5px 5px 0 #000)}
.mission__plate::before{background:#cfcfcc}
.scrap{background-color:#d8d8d4}
/* 画像に焼き込まれた青は彩度を落とす */
img[src*="scrap_blue"],img[src*="tape_blue"],img[src*="stroke_blue"],img[src*="tag_blue"],img[src*="play_blue"]{filter:grayscale(1) contrast(1.05)}
.ms__video,.mstep__paper{filter:drop-shadow(4px 4px 0 var(--ink))}
.ytstat__v small,.ytcard__meta b{color:var(--ink)}
.ytbar>div{background:var(--ink)}
/* 差し色は各所に1つだけ、小さく */
.fv .fv__sub::after,#concept .tag::after{content:none}
#youtube .ytrow .btn--black:first-child{box-shadow:4px 4px 0 #009ECA}

#komon .pp,.plan .pp{color:#fff}
.mission__plate::before{background:#3a3a46}
.mission__plate{filter:drop-shadow(5px 5px 0 #fff)}

/* ---------- FV組み直し（2026-11-02 手本 V2_up の構図：紙の地＋帯の前に大きく3人＋コピー帯を腰の上に） ---------- */
.fv{background:#cfcfcb;min-height:calc(72 * var(--pu));padding-bottom:calc(var(--eh) * .55)}
.fv__bg{background:#cfcfcb url(assets/gen/fv2_bg_pc.webp) center/cover no-repeat}
.fv .hd__x{display:none}
.fv-splat,.fv-half,.fv-c5,.fv-c4,.fv-tape{display:none!important}
.fv-arrow{position:absolute;z-index:4;left:calc(50% - 18 * var(--pu));top:calc(16 * var(--pu));width:calc(9 * var(--pu));height:auto;rotate:18deg}
.fv__people{position:absolute;z-index:2;top:0;bottom:0;right:0;width:calc(100 * var(--pu));overflow:hidden}
.fv__p--d{left:calc(20 * var(--pu));top:calc(22 * var(--pu));width:calc(30 * var(--pu));--rot:-2deg;z-index:1}
.fv__p--k{left:calc(40 * var(--pu));top:calc(8 * var(--pu));width:calc(36 * var(--pu));--rot:1deg;z-index:3}
.fv__p--n{left:calc(66 * var(--pu));top:calc(10 * var(--pu));width:calc(30 * var(--pu));--rot:2deg;z-index:2}
.fv__copy{position:absolute;z-index:4;left:0;top:50%;transform:translateY(-44%);width:min(46vw,560px);margin-left:max(0px,calc((100vw - 1500px)/2));padding:0 0 0 clamp(18px,4vw,56px)}
.fv__typemain{width:min(36vw,500px)}
.fv__typesub{width:min(26vw,360px)}
.fv__stamp{display:none}
.fv__btns{margin-top:clamp(14px,1.6vw,24px)}
.fv__btns .btn{font-size:clamp(13px,1.1vw,16px)}
@media (max-width:920px){
  .fv{min-height:0;display:block;padding-top:calc(var(--hh) + 4px);padding-bottom:calc(var(--eh) * .55 + 30px);background:#cfcfcb}
  .fv__bg{background:#cfcfcb url(assets/gen/fv2_bg_sp.webp) 50% 100%/118% auto no-repeat}
  .fv__people{position:relative;top:auto;bottom:auto;right:auto;width:100%;height:116vw;overflow:hidden;flex:none;-webkit-mask-image:linear-gradient(#000 calc(100% - 12vw),transparent);mask-image:linear-gradient(#000 calc(100% - 12vw),transparent)}
  .fv__p--d{left:-6vw;top:25vw;width:50vw}
  .fv__p--k{left:24.5vw;top:2vw;width:51vw}
  .fv__p--n{left:59vw;top:8vw;width:43vw}
  .fv-arrow{left:6vw;top:calc(var(--hh) + 6vw);width:17vw}
  .fv__copy{position:relative;left:auto;top:auto;transform:none;width:100%;margin:-36vw 0 0;padding:0 18px;align-items:center;text-align:center;display:flex;flex-direction:column}
  .fv__typemain{width:66vw;max-width:300px}
  .fv__typesub{width:60vw;max-width:280px}
  .fv__btns{margin-top:10px;max-width:300px}
  .fv__btns .btn{font-size:14px;padding-top:11px;padding-bottom:11px}
}

/* FV コラージュ層（人物の頭〜肩の後ろに既存部品を重ねる） */
.fv-cl{position:absolute;z-index:1;height:auto;max-width:none;pointer-events:none;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.35))}
.fv-cl1{left:calc(30 * var(--pu));top:calc(14 * var(--pu));width:calc(24 * var(--pu));rotate:-7deg}
.fv-cl2{right:calc(0 * var(--pu));top:calc(4 * var(--pu));width:calc(20 * var(--pu));rotate:6deg}
.fv-cl3{left:calc(56 * var(--pu));top:calc(-2 * var(--pu));width:calc(22 * var(--pu));rotate:3deg}
.fv-cl4{left:calc(44 * var(--pu));top:calc(34 * var(--pu));width:calc(18 * var(--pu));opacity:.8}
.fv-cl5{left:calc(36 * var(--pu));top:calc(12 * var(--pu));width:calc(5 * var(--pu));rotate:-24deg;z-index:2;filter:none}
@media (max-width:920px){
  .fv-cl1{left:-8vw;top:34vw;width:62vw}
  .fv-cl2{right:-10vw;top:20vw;width:46vw}
  .fv-cl3{left:20vw;top:10vw;width:58vw}
  .fv-cl4{left:32vw;top:60vw;width:40vw}
  .fv-cl5{left:19vw;top:20vw;width:12vw}
  .fv__people{height:130vw;-webkit-mask-image:linear-gradient(#000 calc(100% - 10vw),transparent);mask-image:linear-gradient(#000 calc(100% - 10vw),transparent)}
  .fv__p--k{left:19vw;top:14vw;width:62vw}
  .fv__p--d{left:-11vw;top:32vw;width:56vw}
  .fv__p--n{left:58vw;top:23vw;width:52vw}
  .fv__copy{margin-top:-34vw}
}
@media (max-width:920px){
  .fv__people{height:122vw}
  .fv__p--k{top:5vw}.fv__p--d{top:24vw}.fv__p--n{top:15vw}
  .fv-cl1{top:26vw}.fv-cl2{top:12vw}.fv-cl3{top:3vw}.fv-cl4{top:52vw}.fv-cl5{top:13vw}
  .fv-arrow{top:calc(var(--hh) + 2vw)}
  .fv__copy{margin-top:-33vw}
}



/* ======================================================================
   v3 page rebuild 2026-11-03 — 1枚FV / 見出し青 / コラージュと綺麗めの呼吸
   ====================================================================== */
:root{--heading-blue:#009ECA}

/* FV：画像は picture の1枚だけ。焼き込みコピーと重ならない透明リンクを重ねる。 */
.fv{min-height:0;padding:0;background:#111;clip-path:none}
.fv>:not(.fv__visual):not(.fv__access){display:none!important}
.fv__visual{display:block;position:relative;z-index:1;width:100%;line-height:0}
.fv__visual img{display:block;width:100%;height:auto;max-width:none}
.fv__access{position:absolute;inset:0;z-index:2;pointer-events:none}
.fv__access h1,.fv__access p,.fv__hotspot--youtube{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fv__hotspot--line{position:absolute;left:30%;right:30%;bottom:4.5%;height:9%;overflow:hidden;color:transparent;text-decoration:none;border-radius:14px;pointer-events:auto}
.fv__hotspot--line:focus-visible{outline:4px solid #fff;outline-offset:4px}

/* 見出しの青は要所だけ。面や通常ボタンには広げない。 */
.section--collage .tag,.section--clean .tag{background-image:none!important;background-color:var(--heading-blue)!important;color:#fff}
.section--clean .big .x,.section--collage .big .x,.section--clean .pp{color:var(--heading-blue)}

/* 綺麗め：高さで模様が伸縮しない単色レイヤー。装飾は既存画像を端に少量だけ残す。 */
.section--clean,.section--clean.has-edge{background:none!important}
.section--clean.has-edge::before,.section--clean::before{background-image:none!important;background-size:auto!important;background-position:0 0!important}
.section--clean-paper.has-edge::before,.section--clean-paper:not(.has-edge){background-color:#f3f0e8!important}
.section--clean-gray.has-edge::before,.section--clean-gray:not(.has-edge){background-color:#e9ecec!important}
.section--clean-dark.has-edge::before,.section--clean-dark:not(.has-edge){background-color:#20212a!important}
.section--clean-navy.has-edge::before,.section--clean-navy:not(.has-edge){background-color:#101b2b!important}
.section--clean>.sd:nth-of-type(n+3){display:none}
.section--clean .wrap{position:relative}
.section--clean .txt,.section--clean .lead,.section--clean .contact__lead{text-align:left}

/* 三銃士顧問：生成りの面に料金札とグレード部品だけを置く。 */
#komon{color:var(--ink)}
#komon .big,#komon .komon__ah{color:var(--ink)}
#komon .plans{gap:clamp(18px,2vw,28px)}
#komon .plan{filter:none!important}
#komon .plan__tag{background:#20212a!important;border:0!important;box-shadow:0 8px 22px rgba(20,24,32,.13)!important}
#komon .plan__perk{background:#fff!important;border:1px solid #d8d5cd!important;box-shadow:0 10px 28px rgba(20,24,32,.08)!important}
#komon .plan__orn img{animation:none!important}
#komon .plan__orn img[src*="beam"],#komon .plan__orn img[src*="halo"]{opacity:.38}
#komon .komon__about{max-width:900px}

/* FAQ：背景は高さに依存する画像を持たず、開閉中も固定色。 */
#komon .u044{overflow-anchor:none;isolation:isolate}
#komon .u044-it{background:#fff;border:1px solid #dad7cf;box-shadow:none;border-radius:14px;overflow:hidden}
#komon .u044-it.open{background:#fff;box-shadow:0 14px 28px rgba(20,24,32,.09);transform:none}
#komon .u044-q{min-height:62px;border-radius:14px}
#komon .u044-n{color:var(--heading-blue)}
#komon .u044-pm{background:#eef7fa}
#komon .u044-it.open .u044-pm{background:var(--heading-blue)}
#komon .u044-body{will-change:grid-template-rows;transition:grid-template-rows .42s cubic-bezier(.22,1,.36,1)}
#komon .u044-a{transition:opacity .22s ease,transform .36s cubic-bezier(.22,1,.36,1)}

/* 企業・メディア：濃紺の静かな面＋白い窓口カード。 */
#contact.has-edge::before{background:#101b2b!important}
#contact .desk{gap:16px;margin-top:clamp(28px,4vw,48px)}
#contact .deskc{background:#fff;color:var(--ink);border:1px solid rgba(255,255,255,.65);box-shadow:0 12px 30px rgba(0,0,0,.16);transform:none}
#contact .deskc h3{color:var(--heading-blue)}
#contact .btnrow{justify-content:flex-start!important}

/* 綺麗めセクションの境目も既存の破れ縁画像を維持。 */
.section--clean>.edge{filter:none}
.section--clean-dark>.edge,.section--clean-navy>.edge{filter:brightness(.58) saturate(.75)}

@media (max-width:720px){
  .fv__hotspot--line{left:9%;right:9%;bottom:3.5%;height:9.5%}
  .section--clean>.sd{max-width:26vw;opacity:.65}
  #contact .btnrow{justify-content:stretch!important}
  #contact .btnrow .btn{width:100%}
  #komon .u044-q{padding-inline:14px;min-height:58px}
  #komon .u044-a{padding-left:16px}
}

/* ======================================================================
   FV layered rebuild 2026-11-03 — background / people / copy / logo / CTA
   ====================================================================== */
.fv{
  position:relative;
  z-index:2;
  min-height:max(820px,100svh);
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:#efede6;
  clip-path:none;
}
.fv>.fv-layer.fv-layer{display:block!important}
.fv-layer{position:absolute;margin:0}
.fv-layer--background{inset:0;z-index:0;line-height:0}
.fv-layer--background img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.fv-layer--logo{z-index:4;left:clamp(24px,3.2vw,62px);top:calc(var(--hh) + clamp(10px,1.2vw,18px));width:clamp(300px,24vw,460px);line-height:0;filter:drop-shadow(3px 4px 0 rgba(0,0,0,.2))}
.fv-layer--logo img{width:100%;height:auto}
.fv-layer--people{z-index:2;left:50%;top:calc(var(--hh) + 20px);width:min(78vw,1180px);transform:translateX(-50%);line-height:0;pointer-events:none}
.fv-layer--people img{width:100%;height:auto;max-width:none}
.fv-layer--copy{inset:0;z-index:5;pointer-events:none}
.fv-copy-main,.fv-copy-sub{position:absolute;display:block;height:auto;max-width:none;left:50%;transform:translateX(-50%);line-height:0;filter:drop-shadow(3px 5px 0 rgba(0,0,0,.2))}
.fv-copy-main img,.fv-copy-sub img{display:block;width:100%;height:auto;max-width:none}
.fv-copy-main{top:55%;width:min(68vw,1190px,111vh)}
.fv-copy-sub{top:74%;width:min(67vw,1050px)}
.fv>.fv-layer.fv-layer--actions{
  display:flex!important;
  z-index:7;
  left:50%;
  bottom:8px;
  width:min(92vw,880px);
  transform:translateX(-50%);
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.fv-actions-primary{display:grid;grid-template-columns:400fr 470fr;gap:14px;width:100%;align-items:center}
.fv-button{height:72px;min-width:0}
.fv-button>a{transition:transform .18s ease,box-shadow .18s ease}
.fv-button>a:hover,.fv-button>a:focus-visible{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #000!important}
.fv-button--openchat{height:78px;transform:scale(1.035);transform-origin:center}
.fv-button--youtube{width:330px;height:56px}
.hd:not(.is-scrolled) .hd__logo{visibility:hidden}
.hd:not(.is-scrolled) .hd__nav{margin-left:auto}

/* The walking-town photo stays outside the central copy/member column. */


@media (max-width:920px){
  .fv{min-height:max(844px,100svh);padding:0;background:#efede6}
  .fv-layer--background img{object-position:center top}
  .fv-layer--logo{left:16px;top:calc(var(--hh) + 12px);width:min(57vw,224px)}
  .fv-layer--people{left:50%;top:145px;width:122vw;transform:translateX(-50%)}
  .fv-copy-main{top:390px;width:min(98vw,382px)}
  .fv-copy-sub{top:600px;width:min(94vw,366px)}
  .fv>.fv-layer.fv-layer--actions{bottom:10px;width:calc(100% - 24px);gap:9px}
  .fv-actions-primary{grid-template-columns:1fr 1.18fr;gap:8px}
  .fv-button,.fv-button--openchat{height:68px;transform:none}
  .fv-button a{padding:4px!important;gap:3px!important;font-size:10px!important;letter-spacing:-.04em!important;white-space:nowrap!important;word-break:keep-all!important;text-align:center!important;line-height:1.2!important;box-shadow:3px 3px 0 #000!important}
  .fv-button a svg{width:19px!important;height:19px!important;flex:0 0 auto!important}
  .fv-button--youtube{width:min(72vw,280px);height:48px}
  .fv-button--youtube a{font-size:13px!important;letter-spacing:0!important}
  
}

@media (max-width:370px){
  .fv-layer--people{top:138px;width:130vw}
  .fv-copy-main{top:372px;width:98vw}
  .fv-copy-sub{top:566px;width:94vw}
  .fv-actions-primary{grid-template-columns:1fr;gap:7px}
  .fv-button,.fv-button--openchat{height:52px}
  .fv-button--youtube{height:46px}
}

.fv>.fv-tear.fv-tear{display:block!important;position:absolute;left:50%;bottom:-2px;width:max(100%,720px);max-width:none;height:auto;transform:translateX(-50%);z-index:6;pointer-events:none;filter:brightness(.14) saturate(0)}
/* ===== 超カワイイ三銃士とは（#about・紫のオーラのロゴを中央に固定／説明・数字・破れ写真が下から流れて、通り過ぎたらコンセプトへ）2026-11-04 ===== */
#about.ab6{--ab-yellow:#fff000;--ab-blue:#34c0ea;--ab-text:#f4f1fa;position:relative;z-index:1;margin-top:0;background:#07050b;isolation:isolate;color:var(--ab-text)}
#about .ab6__sticky{position:sticky;top:0;height:100vh;overflow:hidden;z-index:0}
#about .ab6__bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 62% at 50% 54%,#2a0d4a 0%,#14071f 52%,#07050b 100%)}
#about .ab6__en{position:absolute;left:50%;top:max(9vh,76px);width:100%;margin:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.06em;color:#fff;opacity:.09;font-family:"Anton","Noto Sans JP",sans-serif;line-height:.92;letter-spacing:.01em;white-space:nowrap;pointer-events:none;z-index:1}
#about .ab6__en span:first-child{font-size:clamp(84px,12vw,210px)}
#about .ab6__en span:last-child{font-size:clamp(34px,5.4vw,96px);letter-spacing:.04em}
#about{--a1:#4a3466;--a2:#9a86bd;--abg:#1d1428}
html[data-aura="2"] #about{--a1:#55476a;--a2:#ab9dc4;--abg:#1c1822}
html[data-aura="3"] #about{--a1:#4a1f86;--a2:#a074ee;--abg:#1c0b38}
html[data-aura="4"] #about{--a1:#382347;--a2:#76568c;--abg:#150d1b}
html[data-aura="5"] #about{--a1:#5c4c7a;--a2:#bcaed9;--abg:#1e1a29}
html[data-aura="6"] #about{--a1:#5a2a96;--a2:#a27ae2;--abg:#1f0b35}
#about .ab6__bg{background:radial-gradient(ellipse 70% 62% at 50% 54%,var(--abg) 0%,#110c17 55%,#07050b 100%)}
#about .ab6__orb{position:absolute;left:50%;top:54%;width:min(92vh,64vw,1100px);aspect-ratio:1/1;transform:translate(-50%,-50%);z-index:2;pointer-events:none}
#about .ab6__swirl{position:absolute;inset:0;transform:scale(calc(1 + var(--about-progress,0) * .42)) rotate(calc(var(--about-progress,0) * 16deg));opacity:calc(1 - var(--about-progress,0) * .55)}
#about .ab6__glow,#about .ab6__aura{position:absolute;inset:0;-webkit-mask:url(assets/about/aura-mask.webp) center/100% 100% no-repeat;mask:url(assets/about/aura-mask.webp) center/100% 100% no-repeat}
#about .ab6__glow{-webkit-mask-image:url(assets/about/aura-glow-mask.webp);mask-image:url(assets/about/aura-glow-mask.webp);background:var(--a1);opacity:.75}
#about .ab6__aura{background:radial-gradient(circle at 50% 50%,var(--a2) 0%,var(--a1) 62%);animation:ab6-breathe 7s ease-in-out infinite}
@keyframes ab6-breathe{0%,100%{transform:scale(1) rotate(0deg);filter:brightness(1)}50%{transform:scale(1.05) rotate(-2.5deg);filter:brightness(1.18)}}
#about .ab6__mark{position:absolute;inset:0;width:100%;height:100%;max-width:none;transform:scale(calc(1 - var(--about-logo-progress,0) * .1));opacity:calc(1 - var(--about-logo-progress,0) * .66);filter:drop-shadow(0 0 22px rgba(0,0,0,.45))}
#about .ab6__shade{position:absolute;inset:0;z-index:3;background:radial-gradient(ellipse 40% 50% at 50% 52%,rgba(7,5,11,.5),rgba(7,5,11,0) 100%),linear-gradient(rgba(7,5,11,0),rgba(7,5,11,.6));opacity:calc(var(--about-progress,0) * 1.4);pointer-events:none}
#about .ab6__sticky::after{content:"";position:absolute;left:0;right:0;top:0;height:22vh;z-index:4;pointer-events:none;background:linear-gradient(#0b0b0b,rgba(11,11,11,0));opacity:calc(1 - var(--about-progress,0) * 6)}
#about .ab6__flow{position:relative;z-index:1;margin-top:-100vh;padding:88vh 0 10vh}
#about .ab6__stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(860px,60vw)) minmax(0,1fr);gap:clamp(20px,2.6vw,48px);width:min(100% - 40px,1600px);margin:0 auto;align-items:start}
#about .ab6__col{display:flex;flex-direction:column;gap:clamp(90px,16vh,190px);min-width:0}
#about .ab6__col--l{padding-top:16vh}
#about .ab6__col--r{padding-top:48vh}
#about .ab6__text{padding:clamp(30px,3vw,52px) clamp(26px,3vw,56px) clamp(34px,3vw,52px);background:rgba(7,5,11,.62);border-top:3px solid var(--ab-blue);box-shadow:0 18px 60px rgba(0,0,0,.45)}
#about .ab6__text h2{margin:0 0 .5em;font-family:var(--f-tag,"Dela Gothic One"),"Noto Sans JP",sans-serif;font-weight:400;font-size:clamp(40px,4.7vw,74px);line-height:1.15;color:#fff;white-space:nowrap;text-align:center;letter-spacing:.02em}
#about .ab6__text p{margin:0 0 1.5em;font-size:clamp(17px,1.32vw,21px);line-height:2.05;letter-spacing:.05em;color:var(--ab-text);font-weight:700}
#about .ab6__text p i{font-style:normal;display:inline-block}
#about .ab6__catch{margin:2.4em 0 .6em!important;font:400 clamp(26px,2.6vw,44px)/1.45 var(--f-tag,"Dela Gothic One"),"Noto Sans JP",sans-serif!important;color:#fff!important;text-align:center;letter-spacing:.02em!important}
#about .ab6__type{margin:0 auto 1.6em;max-width:100%}
#about .ab6__type img{display:block;width:100%;height:auto;transform:rotate(-1.2deg)}
#about .ab6__quote{padding-left:1em;border-left:4px solid var(--ab-blue)}
#about .ab6__chain{font-size:clamp(20px,1.75vw,28px)!important;font-weight:900!important;color:#fff!important;line-height:1.8!important}
#about .ab6__close{font-size:clamp(19px,1.5vw,24px)!important;font-weight:900!important;color:var(--ab-yellow)!important}
#about .ab6__text .ab6__lead{margin-bottom:1.3em;font-size:clamp(22px,2vw,32px);line-height:1.7;letter-spacing:.03em;font-weight:900;color:#fff;text-align:center}
#about .ab6__text [data-reveal]{opacity:0;transform:translateY(48px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
#about .ab6__text [data-reveal].is-visible{opacity:1;transform:none}
#about .ab6__ph{position:relative;margin:0;width:min(100%,360px);transform:translateX(var(--x,0)) rotate(var(--r,0deg));filter:drop-shadow(6px 10px 0 rgba(0,0,0,.45))}
#about .ab6__col--l .ab6__ph{align-self:flex-end}
#about .ab6__col--r .ab6__ph{align-self:flex-start}
#about .ab6__ph>img:first-child{display:block;width:100%;height:auto}
#about .ab6__tape{position:absolute;top:-20px;left:-11%;bottom:auto;width:28%;height:auto;transform:rotate(-34deg);pointer-events:none}
#about .ab6__tape--r{left:auto;right:-11%;transform:rotate(34deg)}
#about .ab6__ph figcaption{margin:14px 6px 0;font-size:13px;line-height:1.55;color:#ddd7e5;font-weight:700}
#about .ab6__ph figcaption b{display:block;font-size:15px;font-weight:900;color:var(--ab-blue);letter-spacing:.02em}
#about [data-photo]{opacity:0;transition:opacity .5s ease,transform .6s cubic-bezier(.2,.9,.25,1.25)}
#about [data-photo]:not(.is-visible){transform:translateX(var(--x,0)) translateY(40px) rotate(var(--r,0deg)) scale(.9)}
#about [data-photo].is-visible{opacity:1}
#about .ab6__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:3em 0 0;padding:0;border-top:3px solid var(--ab-blue);background:rgba(7,5,11,.7)}
#about .ab6__stats div{min-width:0;padding:clamp(22px,2.2vw,36px) clamp(8px,1.2vw,20px);text-align:center}
#about .ab6__stats div+div{border-left:1px solid rgba(255,255,255,.14)}
#about .ab6__stats dt{color:var(--ab-yellow);font:400 clamp(40px,4.2vw,72px)/1 "Anton","Noto Sans JP",sans-serif;white-space:nowrap}
#about .ab6__stats dd{margin:12px 0 0;color:#fff;font-size:16px;font-weight:900;line-height:1.45}
#about .ab6__stats dd span{display:inline-block}
@media(max-width:900px){
  #about .ab6__en{top:76px}
  #about .ab6__orb{top:52%;width:min(96vw,70vh)}
  #about .ab6__flow{padding:80vh 0 8vh}
  #about .ab6__stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px;width:calc(100% - 32px)}
  #about .ab6__text,#about .ab6__col{display:contents}
  #about .ab6__text>*{grid-column:1/-1}
  #about .ab6__text h2{order:1;font-size:7.9vw;margin:0 0 .5em}
  #about .ab6__text .ab6__lead{order:2;font-size:clamp(19px,5.2vw,23px)}
  #about .ab6__text p{font-size:16px;line-height:2;padding:14px 16px;background:rgba(7,5,11,.62);margin:0 0 28px}
  #about .ab6__text .ab6__lead{background:none;padding:0}
  #about .ab6__col .ab6__ph{width:100%;align-self:auto;margin:6px 0 46px;--x:0!important;transform:rotate(var(--r,0deg))}
  #about [data-photo]:not(.is-visible){transform:translateY(28px) rotate(var(--r,0deg)) scale(.9)}
  #about .ab6__col--r .ab6__ph{margin-top:40px}
  #about .ab6__col .ab6__ph:nth-child(1){order:3}
  #about .ab6__text p:nth-of-type(2),#about .ab6__text p:nth-of-type(3){order:4}
  #about .ab6__col .ab6__ph:nth-child(2){order:5}
  #about .ab6__text p:nth-of-type(4),#about .ab6__text p:nth-of-type(5){order:6}
  #about .ab6__col .ab6__ph:nth-child(3){order:7}
  #about .ab6__text p:nth-of-type(n+6),#about .ab6__type{order:8}
  #about .ab6__catch{margin-top:12px!important;background:none!important;padding:0!important}
  #about .ab6__type{margin:0 0 24px}
  #about .ab6__stats{order:9;margin-top:8px}
  #about .ab6__ph figcaption{margin-top:12px;font-size:12px}
  #about .ab6__ph figcaption b{white-space:nowrap;font-size:12px}
  #about .ab6__ph figcaption span{display:block;white-space:nowrap;font-size:11px}
  #about .ab6__stats div{padding:20px 4px}
  #about .ab6__stats dt{font-size:clamp(24px,7.4vw,34px)}
  #about .ab6__stats dd{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  #about [data-photo],#about .ab6__text [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  #about .ab6__mark{opacity:.4}
  #about .ab6__aura{animation:none}
  #about .ab6__swirl{transform:none}
}
/* ===== /#about ===== */

/* ======================================================================
   FV r4 — separate people, height-based framing, stable copy/CTA stack
   ====================================================================== */
.fv{
  --people-top:calc(var(--hh) + 4px);
  min-height:max(667px,100svh);
  overflow:visible;
}
.fv-layer--background{overflow:hidden}
.fv-layer--logo{
  left:clamp(18px,2.4vw,46px);
  top:calc(var(--hh) + 8px);
  width:clamp(200px,13vw,250px);
  aspect-ratio:1/1;
  filter:drop-shadow(4px 5px 0 rgba(0,0,0,.26));
}
.fv-layer--logo .fv-logo-paper{position:absolute;inset:4% -9%;width:118%;height:92%;object-fit:cover;max-width:none;transform:rotate(-2deg)}
.fv-layer--logo .fv-logo-mark{position:absolute;inset:7%;width:86%;height:86%;object-fit:contain;max-width:none;transform:rotate(1deg)}
.fv-layer--people{
  z-index:2;
  inset:0;
  width:100%;
  height:100%;
  transform:none;
  overflow:hidden;
  line-height:0;
  pointer-events:none;
}
.fv-layer--people .fv-person{
  position:absolute;
  display:block;
  width:auto;
  max-width:none;
  transform:translateX(-50%);
  filter:drop-shadow(3px 4px 0 rgba(0,0,0,.3));
}
.fv{--u:min(1svh,.9vw);--kent-top:max(var(--people-top),calc(100% - var(--u) * 100))}
.fv-layer--people .fv-person--kent{z-index:1;left:50%;top:var(--kent-top);height:calc(var(--u) * 114);}
.fv-layer--people .fv-person--dobashi{z-index:2;left:calc(50% - var(--u) * 32);top:calc(var(--kent-top) + var(--u) * 18.11);height:calc(var(--u) * 101.9);}
.fv-layer--people .fv-person--nishiken{z-index:2;left:calc(50% + var(--u) * 32);top:calc(var(--kent-top) + var(--u) * 10.96);height:calc(var(--u) * 114);}
.fv>.fv-layer.fv-layer--copy{
  inset:auto 0 96px;
  z-index:5;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  gap:8px;
  pointer-events:none;
}
.fv-copy-main,.fv-copy-sub{
  position:static;
  left:auto;
  top:auto;
  display:block;
  transform:none;
  margin:0;
}
.fv-copy-main{width:min(86vw,1600px);filter:drop-shadow(3px 5px 0 rgba(0,0,0,.2))}
.fv-copy-sub{
  width:auto;
  max-width:94vw;
  color:#fff;
  font:900 clamp(19px,1.75vw,32px)/1.3 "Noto Sans JP","Yu Gothic",sans-serif;
  letter-spacing:.04em;
  white-space:nowrap;
  -webkit-text-stroke:.3em #111;
  paint-order:stroke fill;
  filter:drop-shadow(3px 4px 0 rgba(0,0,0,.28));
}
.fv-copy-sub span{display:inline-block;padding:0;background:none}
.fv>.fv-layer.fv-layer--actions{
  display:flex!important;
  z-index:7;
  left:50%;
  bottom:24px;
  width:min(94vw,748px);
  transform:translateX(-50%);
  flex-direction:row;
  justify-content:center;
  align-items:center;
  gap:14px;
}
.fv-actions-primary{display:contents}
.fv-button--line{display:none!important}
.fv-button,.fv-button--openchat,.fv-button--youtube{height:56px;transform:none}
.fv-button--openchat{width:400px}
.fv-button--youtube{width:330px}
.fv-button--openchat>a{
  color:#fff!important;
  border:3px solid #fff!important;
  border-radius:8px!important;
  box-shadow:4px 4px 0 #000!important;
  background:#06C755!important;
  font:900 17px/1.2 "Noto Sans JP","Yu Gothic",sans-serif!important;
}
.fv>.fv-tear.fv-tear{
  display:block!important;
  left:50%;
  bottom:-100px;
  width:100%;
  height:190px;
  object-fit:fill;
  transform:translateX(-50%);
  z-index:4;
  filter:none;
}

@media (max-width:920px){
  .fv{--people-top:calc(var(--hh) + 2px);min-height:max(667px,100svh)}
  .fv-layer--logo{left:9px;top:calc(var(--hh) + 5px);width:clamp(120px,36vw,145px)}
  .fv-layer--people .fv-person--kent{left:50%;top:var(--people-top);height:114svh}
  .fv-layer--people .fv-person--dobashi{left:27%;top:calc(var(--people-top) + 18.11svh);height:101.9svh}
  .fv-layer--people .fv-person--nishiken{left:73%;top:calc(var(--people-top) + 10.96svh);height:114svh}
  .fv>.fv-layer.fv-layer--copy{inset:auto 0 112px;gap:6px}
  .fv-copy-main{width:min(98vw,430px)}
  .fv-copy-sub{max-width:98vw;font-size:clamp(11px,3.25vw,14px);line-height:1.08;white-space:normal;text-align:center}
  .fv-copy-sub span{display:block;width:max-content;max-width:96vw;margin:0 auto!important;padding:0}
  .fv-copy-sub{font-size:clamp(15px,4.3vw,19px);line-height:1.35}
  .fv>.fv-layer.fv-layer--actions{bottom:12px;width:calc(100% - 20px);flex-direction:column;gap:6px}
  .fv-button--openchat,.fv-button--youtube{width:min(330px,100%);height:44px}
  .fv-button a{font-size:12px!important;letter-spacing:0!important;padding:2px 8px!important}
  .fv-button a svg{width:20px!important;height:20px!important}
  .fv>.fv-tear.fv-tear{bottom:-68px;height:125px}
}

@media (max-width:370px){
  .fv-layer--logo{width:116px}
  .fv>.fv-layer.fv-layer--copy{bottom:108px}
  .fv-copy-sub{font-size:11px}
  .fv-button--openchat,.fv-button--youtube{height:42px}
}

/* ======================================================================
   FV r6（2026-11-04）— 3人は YUJI のレイアウトスタジオの組み方（にしけん後ろ・ドバシー・関口前）。素材もスタジオと同じ F2 の白フチ（_stk）。?people=b でドバシーとにしけんを前に
   ロゴはロゴ11、サブコピーは黒い破れ紙の帯に白文字
   ====================================================================== */
.fv{--pu:min(1svh,.95vw)}
.fv-layer--people .fv-person{display:none}
.fv-p6{position:absolute;left:50%;top:max(calc(var(--hh) - var(--pu) * 3),calc(100% - var(--pu) * 90));width:calc(var(--pu) * 113);height:calc(var(--pu) * 131.4);transform:translateX(-50%)}
.fv-layer--people .fv-p6__p{position:absolute;top:auto;width:auto;max-width:none;transform:translateX(-50%);filter:none}
.fv-layer--people .fv-p6__p--nishiken{z-index:1;left:79%;top:8.42%;height:88.83%}
.fv-layer--people .fv-p6__p--dobashi{z-index:2;left:20.8%;top:13.92%;height:86.08%}
.fv-layer--people .fv-p6__p--kent{z-index:3;left:50%;top:0;height:74.05%}
html[data-people="b"] .fv-layer--people .fv-p6__p--kent{z-index:1}
html[data-people="b"] .fv-layer--people .fv-p6__p--dobashi{z-index:3;left:23.5%}
html[data-people="b"] .fv-layer--people .fv-p6__p--nishiken{z-index:3;left:76.5%}
.fv-layer--logo{width:clamp(220px,15.5vw,300px);aspect-ratio:1.55/1}
.fv-layer--logo .fv-logo-paper{inset:-4% -8%;width:116%;height:108%}
.fv-layer--logo .fv-logo-mark{inset:6% 7%;width:86%;height:88%}
.fv-copy-sub{color:#fff;font:900 clamp(15px,1.22vw,21px)/1.35 "Noto Sans JP","Yu Gothic",sans-serif;letter-spacing:.06em;-webkit-text-stroke:0;filter:none;padding:.72em 1.9em .78em;background:url(assets/gen/deco/tag_black_1.png) center/100% 100% no-repeat;transform:rotate(-.8deg)}
.fv-copy-sub span{display:inline;padding:0;background:none}
@media (max-width:920px){
  .fv{--pu:1.75vw}
  .fv-p6{top:calc(var(--hh) + 30px)}
  .fv-layer--people .fv-p6__p--dobashi{left:29%}
  .fv-layer--people .fv-p6__p--nishiken{left:71%}
  html[data-people="b"] .fv-layer--people .fv-p6__p--dobashi{left:30%}
  html[data-people="b"] .fv-layer--people .fv-p6__p--nishiken{left:70%}
  .fv-layer--logo{width:clamp(130px,38vw,170px)}
  .fv-copy-sub{font-size:clamp(12px,3.4vw,15px);padding:.7em 1.4em .76em}
  .fv-copy-sub span{display:block}
}


/* ミッションの一文：ZINE の切り抜き文字（1字ずつ破れた紙片・本物の文字）2026-11-04 */
#mission .mission__head{text-align:left}
#mission .mz-wrap{margin:clamp(14px,2vw,28px) 0 clamp(28px,3.4vw,52px);font-size:clamp(34px,5.6vw,104px);line-height:1;font-weight:400}
#mission .mz-line{display:flex;flex-wrap:nowrap;align-items:center;gap:.02em;margin:0 0 .12em}
#mission .mz-line+.mz-line{margin-left:clamp(20px,6vw,120px)}
#mission .mz{display:inline-grid;place-items:center;width:1.12em;height:1.18em;padding:.06em;font-style:normal;background:var(--t) center/100% 100% no-repeat;transform:translateY(var(--y,0)) rotate(var(--r,0deg)) scale(var(--s,1));filter:drop-shadow(3px 4px 0 rgba(0,0,0,.45));line-height:1}
#mission .mz--w{color:#111}
#mission .mz--b,#mission .mz--n,#mission .mz--k{color:#fff}
#mission .mz--f1{font-family:var(--f-tag,"Dela Gothic One"),sans-serif}
#mission .mz--f2{font-family:"Noto Sans JP",sans-serif;font-weight:900}
#mission .mz--f3{font-family:"Noto Serif JP","Yu Mincho",serif;font-weight:900}
@media(max-width:900px){
  #mission .mz-wrap{font-size:6.3vw}
  #mission .mz-line+.mz-line{margin-left:0}
}

/* 火種：左に炎の書体を大きく（朱赤の地に黒）、右に説明。背景は朱赤→黒のグラデーション 2026-11-04 */
#hidane,#hidane.has-edge::before{background:linear-gradient(100deg,#e0262b 0%,#c41a20 26%,#5a0d10 52%,#141012 76%,#0d0c0e 100%)!important}
#hidane .hidane{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(24px,4vw,72px);align-items:center}
#hidane .hidane__type{margin:0;line-height:0;justify-self:center}
#hidane .hidane__type img{display:block;width:auto;height:min(78vh,760px);max-width:100%;object-fit:contain;transform:none;box-shadow:none;filter:drop-shadow(6px 8px 0 rgba(0,0,0,.25))}
#hidane .hidane__body{min-width:0}
@media(max-width:900px){
  #hidane,#hidane.has-edge::before{background:linear-gradient(180deg,#e0262b 0%,#c41a20 22%,#5a0d10 40%,#141012 58%,#0d0c0e 100%)!important}
  #hidane .hidane{grid-template-columns:minmax(0,1fr);gap:18px}
  #hidane .hidane__type img{height:auto;width:min(66vw,300px)}
}
#hidane .fist{left:auto!important;right:-3%!important;top:auto!important;bottom:-16%!important;width:clamp(140px,13vw,220px)!important;z-index:0!important;opacity:.9}
#hidane .hidane__body{position:relative;z-index:1}
@media(max-width:900px){#hidane .fist{width:30vw!important;bottom:-2%!important}}

/* ======================================================================
   FV r7（2026-11-04）— 下端は About の黒が破れた縁で立ち上がる帯。サブコピーとボタンはその中。
   ロゴ：A＝別の破れ方の黒い紙で大きく／B（?logo=b）＝さらに大きな破れ紙＋テープ
   ====================================================================== */
.fv{--band-h:212px}
.fv>.fv-tear.fv-tear.fv-tear{display:block!important;position:absolute;left:0;right:0;bottom:-1px;width:100%;height:var(--band-h);max-width:none;object-fit:fill;transform:none;z-index:4;filter:none;pointer-events:none}
.fv>.fv-layer.fv-layer--copy{inset:auto 0 84px}
.fv-copy-sub{background:none!important;padding:0!important;transform:none!important;color:#fff;font:900 clamp(15px,1.12vw,20px)/1.4 "Noto Sans JP","Yu Gothic",sans-serif;letter-spacing:.1em}
.fv>.fv-layer.fv-layer--actions{bottom:20px}
.fv-layer--logo{width:clamp(260px,19vw,380px);aspect-ratio:1.53/1;top:calc(var(--hh) + 10px)}
.fv-layer--logo .fv-logo-paper{position:absolute;max-width:none;object-fit:fill}
.fv-layer--logo .fv-logo-paper--a{inset:-12% -9% -10% -9%;width:118%;height:122%;transform:rotate(-2deg)}
.fv-layer--logo .fv-logo-paper--b,.fv-layer--logo .fv-logo-tape{display:none}
.fv-layer--logo .fv-logo-mark{inset:2% 4%;width:92%;height:96%}
html[data-logo="b"] .fv-layer--logo .fv-logo-paper--a{display:none}
html[data-logo="b"] .fv-layer--logo .fv-logo-paper--b{display:block;inset:-30% -22% -28% -18%;width:140%;height:158%;transform:rotate(-4deg)}
html[data-logo="b"] .fv-layer--logo .fv-logo-tape{display:block;position:absolute;right:-20%;top:-30%;width:34%;height:auto;transform:rotate(28deg);z-index:2}
html[data-logo="b"] .fv-layer--logo{width:clamp(280px,21vw,420px);left:clamp(28px,3.4vw,64px);top:calc(var(--hh) + 26px)}
@media (max-width:920px){
  .fv{--band-h:300px;--pu:1.9vw}
  .fv-layer--background img{height:auto!important;object-fit:contain!important;object-position:center top!important}
  .fv-p6{top:calc(var(--hh) + 6px)}
  .fv-layer--people .fv-p6__p--dobashi{left:33%}
  .fv-layer--people .fv-p6__p--nishiken{left:67%}
  html[data-people="b"] .fv-layer--people .fv-p6__p--dobashi{left:34%}
  html[data-people="b"] .fv-layer--people .fv-p6__p--nishiken{left:66%}
  .fv>.fv-layer.fv-layer--copy{inset:auto 0 118px}
  .fv-copy-sub{font-size:clamp(13px,3.7vw,16px);letter-spacing:.06em}
  .fv>.fv-layer.fv-layer--actions{bottom:12px}
  .fv-layer--logo{width:clamp(150px,44vw,190px);top:calc(var(--hh) + 8px)}
  html[data-logo="b"] .fv-layer--logo{width:clamp(160px,46vw,200px);left:22px;top:calc(var(--hh) + 22px)}
}
@media (max-width:920px){
  .fv{--pu:1.6vw;min-height:max(100svh,190vw)}
  .fv-p6{top:calc(var(--hh) + 18vw)}
  .fv-layer--people .fv-p6__p--dobashi{left:29%}
  .fv-layer--people .fv-p6__p--nishiken{left:71%}
  html[data-people="b"] .fv-layer--people .fv-p6__p--dobashi{left:30%}
  html[data-people="b"] .fv-layer--people .fv-p6__p--nishiken{left:70%}
  .fv-layer--logo{width:clamp(130px,38vw,170px)}
  html[data-logo="b"] .fv-layer--logo{width:clamp(140px,40vw,180px)}
}

/* ===== About v9（2026-11-04）：色3を初期・背景を暗くしすぎない・本文の幅を詰めて大きく・見出しに青・素材の当てはめ（?ab=1〜4） ===== */
#about .ab6__shade{opacity:calc(var(--about-progress,0) * .7)}
#about .ab6__swirl{opacity:calc(1 - var(--about-progress,0) * .3)}
#about .ab6__mark{opacity:calc(1 - var(--about-logo-progress,0) * .45)}
#about .ab6__stage{grid-template-columns:minmax(0,1fr) minmax(0,min(720px,50vw)) minmax(0,1fr)}
#about .ab6__text{position:relative;overflow:hidden;background:rgba(7,5,11,.5);backdrop-filter:blur(3px)}
#about .ab6__text>*:not(.ab6__b17){position:relative;z-index:1}
#about .ab6__text p{font-size:clamp(18px,1.5vw,23px);line-height:2;text-shadow:0 2px 10px rgba(0,0,0,.6)}
#about .ab6__text .ab6__lead{font-size:clamp(24px,2.3vw,36px)}
#about .ab6__text h2{display:table;margin:0 auto .6em;padding:.12em .5em .18em;background:#009ECA;color:#fff;transform:rotate(-1.2deg);box-shadow:5px 5px 0 #000;font-size:clamp(36px,4vw,64px)}
#about .ab6__stype,#about .ab6__btype{margin:0 auto 1.4em;max-width:100%}
#about .ab6__stype img,#about .ab6__btype img{display:block;width:100%;height:auto}
#about .ab6__stype img{transform:rotate(-1.4deg)}
#about .ab6__btype{width:84%}
#about .ab6__btype img{transform:rotate(1.2deg)}
#about .ab6__b17{display:none;position:absolute;left:-6%;top:42%;width:112%;height:auto;max-width:none;opacity:.2;transform:rotate(-8deg);pointer-events:none;z-index:0}
html[data-ab="2"] #about .ab6__btype{display:none}
html[data-ab="2"] #about .ab6__b17{display:block}
/* パターン4：proto J の出方（一言ずつ画面の真ん中・写真を2〜3枚ずつ） */
#about .ab7{display:none}
html[data-ab="4"] #about .ab6__flow{display:none}
html[data-ab="4"] #about .ab7{display:block;position:relative;z-index:1;margin-top:-100vh;height:calc(var(--n) * 85vh + 200vh)}
#about .ab7__stage{position:sticky;top:0;height:100vh;overflow:hidden}
#about .ab7__step{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
#about .ab7__msg{position:relative;z-index:2;width:min(860px,88vw);text-align:center;opacity:0;transform:translateY(40px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
#about .ab7__step.is-on .ab7__msg{opacity:1;transform:none}
#about .ab7__step.is-past .ab7__msg{transform:translateY(-40px)}
#about .ab7__h{display:inline-block;margin:0 0 .5em;padding:.12em .5em .18em;background:#009ECA;color:#fff;font:400 clamp(40px,5vw,80px)/1.15 var(--f-tag,"Dela Gothic One"),sans-serif;transform:rotate(-1.2deg);box-shadow:6px 6px 0 #000}
#about .ab7__k{margin:0 0 .5em;color:#fff;font:400 clamp(36px,4.6vw,76px)/1.3 var(--f-tag,"Dela Gothic One"),sans-serif;text-shadow:0 4px 20px rgba(0,0,0,.7)}
#about .ab7__k em{font-style:normal;color:var(--ab-yellow,#fff000)}
#about .ab7__exp{margin:0 auto;max-width:640px;color:#f4f1fa;font-size:clamp(17px,1.4vw,21px);line-height:2;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.8);text-align:left}
#about .ab7__type{display:block;width:min(480px,40vw);margin:0 auto;position:absolute;left:50%;bottom:8vh;transform:translateX(-50%) rotate(1.5deg);opacity:0;transition:opacity .6s .25s}
#about .ab7__stype{display:block;width:min(760px,80vw);height:auto;margin:0 auto .8em;transform:rotate(-1.5deg)}
#about .ab7__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto .9em;max-width:820px;border-top:3px solid #009ECA;background:rgba(7,5,11,.7)}
#about .ab7__stats div{padding:26px 10px;text-align:center}
#about .ab7__stats dt{color:var(--ab-yellow,#fff000);font:400 clamp(40px,4.6vw,76px)/1 "Anton",sans-serif}
#about .ab7__stats dd{margin:10px 0 0;color:#fff;font-weight:900}
#about .ab7__ph{position:absolute;z-index:1;width:clamp(200px,20vw,330px);margin:0;opacity:0;transform:translateY(50px) scale(.88) rotate(var(--r,0deg));transition:opacity .55s ease,transform .7s cubic-bezier(.2,.9,.25,1.25);filter:drop-shadow(6px 10px 0 rgba(0,0,0,.45))}
#about .ab7__ph img{display:block;width:100%;height:auto}
#about .ab7__ph figcaption{margin-top:10px;color:#ddd7e5;font-size:13px;font-weight:700}
#about .ab7__ph figcaption b{display:block;color:#34c0ea;font-size:15px}
#about .ab7__ph.p-l{left:4vw;top:16vh;--r:-5deg}
#about .ab7__ph.p-r{right:4vw;top:44vh;--r:4deg}
#about .ab7__ph.p-l2{left:8vw;bottom:6vh;top:auto;--r:3deg}
#about .ab7__step.is-on .ab7__ph{opacity:1;transform:rotate(var(--r,0deg))}
#about .ab7__step.is-on .ab7__ph:nth-of-type(2){transition-delay:.18s}
#about .ab7__step.is-on .ab7__ph:nth-of-type(3){transition-delay:.36s}
#about .ab7__step.is-on .ab7__type{opacity:1}
#about .ab7__dots{position:absolute;right:22px;top:50%;transform:translateY(-50%);margin:0;padding:0;list-style:none;display:grid;gap:10px;z-index:3}
#about .ab7__dots li{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3)}
#about .ab7__dots li.is-on{background:#009ECA}
@media(max-width:900px){
  #about .ab6__stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  #about .ab6__text h2{font-size:7.4vw}
  #about .ab6__text p{font-size:16px}
  #about .ab6__btype{width:100%}
  #about .ab7__k{font-size:8vw}
  #about .ab7__exp{font-size:15px;padding:0 6px}
  #about .ab7__ph{width:40vw}
  #about .ab7__ph.p-l{left:3vw;top:9vh}
  #about .ab7__ph.p-r{right:3vw;top:auto;bottom:7vh}
  #about .ab7__ph.p-l2{display:none}
  #about .ab7__type{width:70vw;bottom:5vh}
  #about .ab7__step:has(.ab7__ph) .ab7__msg{margin-top:-4vh}
}
@media(prefers-reduced-motion:reduce){#about .ab7__msg,#about .ab7__ph{transition:none}}
@media(max-width:900px){
  #about .ab7__h{font-size:7.1vw;white-space:nowrap}
  #about .ab7__stats dt{font-size:7.4vw;white-space:nowrap}
  #about .ab7__stats dd{font-size:11px}
  #about .ab7__stats div{padding:18px 4px}
  #about .ab7__ph figcaption b,#about .ab7__ph figcaption span{display:block;white-space:nowrap;font-size:11px}
  #about .ab7__step:has(.ab7__type) .ab7__ph{display:none}
}

/* ===== About v10（2026-11-04）：文章を整理・最後に「ビジネス100%×エンタメ100%」がパッと出る ===== */
#about .ab6__text p{margin:0 0 2.1em}
#about .ab6__catch{margin:2.2em 0 1.1em!important;font-size:clamp(36px,3.9vw,64px)!important;line-height:1.35!important}
#about .ab6__catch i{display:inline-block}
#about .ab6__finale{position:relative;margin:2.6em auto .4em;width:88%}
#about .ab6__finale::before{content:"";position:absolute;inset:-60% -40%;z-index:-1;background:radial-gradient(ellipse at center,rgba(0,0,0,.9) 0%,rgba(0,0,0,.7) 38%,rgba(0,0,0,0) 72%);pointer-events:none}
#about .ab6__finale img{display:block;width:100%;height:auto}
#about .ab6__text .ab6__finale[data-reveal]{opacity:0;transform:scale(1.55) rotate(-7deg);transition:opacity .25s ease,transform .55s cubic-bezier(.2,1.6,.4,1)}
#about .ab6__text .ab6__finale[data-reveal].is-visible{opacity:1;transform:scale(1) rotate(-1.5deg);animation:ab6-hit .5s .5s ease-out 1}
@keyframes ab6-hit{0%{transform:scale(1) rotate(-1.5deg)}30%{transform:scale(1.06) rotate(-2.5deg)}60%{transform:scale(.98) rotate(-1deg)}100%{transform:scale(1) rotate(-1.5deg)}}
#about .ab6__text{overflow:visible}
#about .ab6__b17{overflow:hidden}
.mstats{margin:clamp(18px,2.4vw,32px) 0 clamp(26px,3.2vw,44px)}
#mission .mission__body{margin-top:clamp(36px,4vw,64px)}
#mission .mission__body .txt+.txt{margin-top:20px}
@media(max-width:900px){
  #about .ab6__catch{font-size:8.6vw!important}
  #about .ab6__text p:nth-of-type(n+4),#about .ab6__finale{order:8}
  #about .ab6__finale{width:100%}
}
@media(prefers-reduced-motion:reduce){#about .ab6__text .ab6__finale[data-reveal]{opacity:1;transform:none;animation:none}}
/* ===== FV ロゴ：破れ紙をやめて4つの見せ方（?logo=1〜4）・もっと左上へ ===== */
.fv-layer--logo{left:clamp(12px,1.4vw,26px)!important;top:calc(var(--hh) + 2px)!important;width:clamp(260px,19vw,370px)!important}
.fv-layer--logo .fv-logo-dots,.fv-layer--logo .fv-logo-stroke{display:none;position:absolute;max-width:none;pointer-events:none}
.fv-layer--logo .fv-logo-mark{inset:0!important;width:100%!important;height:100%!important;z-index:2}
html[data-logo="1"] .fv-layer--logo::before{content:"";position:absolute;inset:-30% -24%;background:radial-gradient(ellipse at center,rgba(10,10,12,.9) 0%,rgba(10,10,12,.6) 42%,rgba(10,10,12,0) 70%);z-index:0}
html[data-logo="2"] .fv-layer--logo::before{content:"";position:absolute;inset:-6% -5%;background:#111;border:4px solid #fff;box-shadow:6px 7px 0 rgba(0,0,0,.35);transform:rotate(-2.5deg);z-index:0}
html[data-logo="3"] .fv-layer--logo .fv-logo-dots{display:block;left:-6%;top:-26%;width:76%;height:auto;z-index:0;filter:none;opacity:.95}
html[data-logo="3"] .fv-layer--logo::before{content:"";position:absolute;inset:-14% -10%;background:radial-gradient(ellipse at center,rgba(10,10,12,.82) 0%,rgba(10,10,12,.5) 50%,rgba(10,10,12,0) 74%);z-index:1}
html[data-logo="4"] .fv-layer--logo .fv-logo-stroke{display:block;left:-12%;top:18%;width:124%;height:64%;object-fit:fill;z-index:0;filter:brightness(0) saturate(100%)!important;opacity:.92;transform:rotate(-4deg)}
html[data-logo="4"] .fv-layer--logo::before{content:"";position:absolute;left:-8%;right:-6%;top:44%;height:30%;background:#009ECA;transform:rotate(-4deg);z-index:0;opacity:.0}
@media (max-width:920px){.fv-layer--logo{width:clamp(140px,40vw,180px)!important;left:10px!important}}

/* ===== About v11（2026-11-04）：「結局、エンタメでしょ（笑）」を大きく・最後に B17 をドンと（演出つき） ===== */
#about .ab6__said{margin:1.6em 0 .9em!important;font:400 clamp(30px,3.2vw,52px)/1.35 var(--f-tag,"Dela Gothic One"),"Noto Sans JP",sans-serif!important;color:#fff!important;text-align:center;letter-spacing:.02em!important}
#about .ab6__said br.sp{display:none}
#about .ab6__finale{width:104%;margin:2.4em -2% .2em}
#about .ab6__finale::before{inset:-45% -30%;background:radial-gradient(ellipse at center,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 40%,rgba(0,0,0,0) 72%)}
#about .ab6__finale::after{content:"";position:absolute;left:50%;top:50%;width:40%;aspect-ratio:1;border-radius:50%;border:6px solid #009ECA;transform:translate(-50%,-50%) scale(.2);opacity:0;pointer-events:none;z-index:-1}
#about .ab6__text .ab6__finale[data-reveal]{opacity:0;transform:scale(1.9) rotate(-9deg);filter:blur(6px);transition:opacity .2s ease,transform .5s cubic-bezier(.2,1.7,.35,1),filter .35s ease}
#about .ab6__text .ab6__finale[data-reveal].is-visible{opacity:1;transform:scale(1) rotate(-2deg);filter:none;animation:ab6-hit .45s .45s ease-out 1}
#about .ab6__finale.is-visible::after{animation:ab6-ring .9s .35s ease-out 1}
@keyframes ab6-ring{0%{transform:translate(-50%,-50%) scale(.2);opacity:.9}100%{transform:translate(-50%,-50%) scale(2.6);opacity:0}}
#mission .mission__close{margin:0 0 clamp(18px,2vw,28px);color:#fff;font:400 clamp(20px,1.9vw,30px)/1.6 var(--f-tag,"Dela Gothic One"),"Noto Sans JP",sans-serif}
#mission .mission__close span{display:inline-block;margin-right:.6em}
#mission .mission__close span:last-child{color:#fff000}
@media(max-width:900px){
  #about .ab6__said{font-size:8vw!important}
  #about .ab6__said br.sp{display:inline}
  #about .ab6__finale{width:100%;margin:2em 0 .2em}
  #mission .mission__close{font-size:5vw}
}
@media(prefers-reduced-motion:reduce){#about .ab6__finale.is-visible::after{animation:none}}

/* ===== FV r8（2026-11-04）：ロゴをもっと左上・大きく、3人を大きく ===== */
@media (min-width:921px){
  .fv{--pu:min(1.1svh,1.02vw)}
  .fv-p6{top:max(calc(var(--hh) + 8px - var(--pu) * 4.7),calc(100% - var(--pu) * 90))}
  .fv-layer--logo{left:10px!important;top:10px!important;width:clamp(300px,24vw,470px)!important}
}
/* ===== FV タブレット（541〜920px）：高さは画面の高さ、人物は高さと幅の小さい方で。ボタンは横並び ===== */
@media (min-width:541px) and (max-width:920px){
  .fv{--pu:min(.8svh,1.3vw);--band-h:230px;min-height:max(640px,100svh)!important}
  .fv-p6{top:calc(var(--hh) + 40px)!important}
  .fv-copy-main{width:min(76vw,620px)!important}
  .fv>.fv-layer.fv-layer--copy{inset:auto 0 92px!important}
  .fv-copy-sub span{display:inline!important}
  .fv-copy-sub{font-size:clamp(15px,2.3vw,19px)!important}
  .fv>.fv-layer.fv-layer--actions{flex-direction:row!important;bottom:20px!important;width:min(94vw,720px)!important;gap:12px!important}
  .fv-button--openchat,.fv-button--youtube{width:min(46vw,340px)!important;height:52px!important}
  .fv-button a{font-size:clamp(12px,1.9vw,16px)!important}
  .fv-layer--logo{width:clamp(180px,30vw,260px)!important}
}
/* ===== FV r9（2026-11-04）：サブコピーとボタンを FV の紙の上（境目より上）へ・人物を上へ ===== */
.fv{--band-h:120px}
.fv-copy-sub{padding:.62em 1.8em .68em!important;background:url(assets/gen/deco/tag_black_1.png) center/100% 100% no-repeat!important;transform:rotate(-.8deg)!important}
@media (min-width:921px){
  .fv>.fv-layer.fv-layer--actions{bottom:92px!important}
  .fv>.fv-layer.fv-layer--copy{inset:auto 0 162px!important}
}
@media (min-width:541px) and (max-width:920px){
  .fv{--band-h:120px}
  .fv>.fv-layer.fv-layer--actions{bottom:90px!important}
  .fv>.fv-layer.fv-layer--copy{inset:auto 0 156px!important}
  .fv-p6{top:calc(var(--hh) + 16px)!important}
}
@media (max-width:540px){
  .fv{--band-h:110px}
  .fv>.fv-layer.fv-layer--actions{bottom:84px!important}
  .fv>.fv-layer.fv-layer--copy{inset:auto 0 186px!important}
  .fv-p6{top:calc(var(--hh) + 9vw)!important}
  .fv-layer--logo{width:clamp(130px,36vw,160px)!important}
  .fv-copy-sub{padding:.6em 1.3em .66em!important}
}
@media (min-width:921px){
  .fv>.fv-layer.fv-layer--actions{bottom:68px!important}
  .fv>.fv-layer.fv-layer--copy{inset:auto 0 136px!important}
  .fv-copy-main{width:min(74vw,1320px)!important}
}
@media(max-width:900px){#about .ab6__said{font-size:6.9vw!important;white-space:nowrap}}

/* FV のボタン：YouTube → X（最新情報の発信）／Members の数字はスマホで横3列 */
.fv-button--x{width:400px!important}
@media (min-width:541px) and (max-width:920px){.fv-button--x{width:min(46vw,360px)!important}}
@media (max-width:540px){.fv-button--x{width:min(330px,100%)!important}}
@media (max-width:900px){
  .mstats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .mstats .stat{padding:12px 4px 10px!important}
  .mstats .stat__n{font-size:clamp(18px,5.4vw,26px)!important}
  .mstats .stat__l{font-size:10px!important}
}

/* ===== FV r10（2026-11-04）：ロゴの後ろの黒い筆の帯・ちぎり絵の境目・テンプレ型の生成版 ===== */
.fv-layer--logo::before{content:none!important}
.fv-layer--logo .fv-logo-dots,.fv-layer--logo .fv-logo-stroke{display:none!important}
.fv-layer--logo .fv-logo-brush{position:absolute;left:-14%;top:-6%;width:128%;height:112%;max-width:none;object-fit:fill;z-index:0;pointer-events:none}
.fv{--band-h:150px}
.fv>.fv-tear.fv-tear.fv-tear{height:var(--band-h)!important;object-fit:fill!important}
@media (min-width:921px){
  .fv>.fv-layer.fv-layer--actions{bottom:92px!important}
  .fv>.fv-layer.fv-layer--copy{inset:auto 0 160px!important}
}
@media (min-width:541px) and (max-width:920px){
  .fv{--band-h:140px}
  .fv>.fv-layer.fv-layer--actions{bottom:88px!important}
  .fv>.fv-layer.fv-layer--copy{inset:auto 0 152px!important}
}
@media (max-width:540px){.fv{--band-h:130px}}
/* 生成版（?fv=gen）：一枚絵の上に、真ん中の大きなロゴ→メインコピー→サブコピー→ボタン */
.fv>.fv-gen,.fv>.fv-genlogo{display:none!important}
html[data-fv="gen"] .fv>.fv-gen{display:block!important;position:absolute;inset:0;z-index:1;line-height:0}
html[data-fv="gen"] .fv>.fv-gen img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
html[data-fv="gen"] .fv-layer--background,html[data-fv="gen"] .fv-layer--people,html[data-fv="gen"] .fv>.fv-tear{display:none!important}
html[data-fv="gen"] .fv>.fv-genlogo{display:block!important;position:absolute;left:50%;top:40%;width:min(40vw,72vh,700px);height:auto;transform:translate(-50%,-50%) rotate(-3deg);z-index:5;filter:drop-shadow(0 0 30px rgba(0,0,0,.75)) drop-shadow(6px 8px 0 rgba(0,0,0,.4))}
html[data-fv="gen"] .fv-copy-main{width:min(46vw,820px)!important}
@media (max-width:920px){
  html[data-fv="gen"] .fv>.fv-genlogo{width:76vw;top:44%}
  html[data-fv="gen"] .fv-copy-main{width:min(74vw,520px)!important}
}
.fv>.fv-layer.fv-gen.fv-gen,.fv>.fv-layer.fv-genlogo.fv-genlogo{display:none!important}
html[data-fv="gen"] .fv>.fv-layer.fv-gen.fv-gen,html[data-fv="gen"] .fv>.fv-layer.fv-genlogo.fv-genlogo{display:block!important}
html[data-fv="gen"] .fv>.fv-layer.fv-layer.fv-layer--background,html[data-fv="gen"] .fv>.fv-layer.fv-layer.fv-layer--people,html[data-fv="gen"] .fv>.fv-tear.fv-tear.fv-tear{display:none!important}
@media (min-width:921px){
  html[data-fv="gen"] .fv>.fv-layer.fv-genlogo.fv-genlogo{top:52%;width:min(32vw,58vh,560px)}
  html[data-fv="gen"] .fv-copy-main{width:min(40vw,700px)!important}
}

/* ミッション：YUJI 指定の S39 の文字素材 */
#mission .ms-type{margin:clamp(14px,2vw,28px) 0 clamp(16px,2vw,26px);line-height:0}
#mission .ms-type img{display:block;width:min(100%,980px);height:auto;transform:rotate(-1.5deg);filter:drop-shadow(5px 6px 0 rgba(0,0,0,.4))}


/* 生成版2（?fv=gen）：ロゴ・コピーまで絵の中。HTML は CTA の2つだけ。絵の下の黒は FV の外へ */
html[data-fv="gen"] .fv>.fv-layer.fv-gen.fv-gen img{height:112%;object-fit:cover;object-position:center top}
html[data-fv="gen"] .fv>.fv-layer.fv-genlogo.fv-genlogo,html[data-fv="gen"] .fv>.fv-layer.fv-layer.fv-layer--copy,html[data-fv="gen"] .fv>.fv-layer.fv-layer.fv-layer--logo{display:none!important}
html[data-fv="gen"] .fv>.fv-layer.fv-layer--actions{bottom:5.5%!important}
@media (max-width:920px){html[data-fv="gen"] .fv>.fv-layer.fv-layer--actions{bottom:4%!important}}
html[data-fv="gen"] .fv>.fv-layer.fv-gen.fv-gen img{height:100%;object-position:center top}
html[data-fv="gen"] .fv>.fv-layer.fv-layer--actions{bottom:8.5%!important}
@media (min-width:541px) and (max-width:920px){
  html[data-fv="gen"] .fv>.fv-layer.fv-gen.fv-gen img{height:100%;object-position:center 58%}
  html[data-fv="gen"] .fv>.fv-layer.fv-layer--actions{bottom:12%!important}
}
@media (max-width:540px){
  html[data-fv="gen"] .fv>.fv-layer.fv-gen.fv-gen img{height:118%;object-position:center top}
  html[data-fv="gen"] .fv>.fv-layer.fv-layer--actions{bottom:7%!important}
}
@media (min-width:541px) and (max-width:920px){
  html[data-fv="gen"] .fv>.fv-layer.fv-gen.fv-gen img{object-position:center 30%}
  html[data-fv="gen"] .fv>.fv-layer.fv-layer--actions{bottom:6%!important}
}
@media (max-width:540px){
  html[data-fv="gen"] .fv>.fv-layer.fv-gen.fv-gen img{height:114%}
  html[data-fv="gen"] .fv>.fv-layer.fv-layer--actions{bottom:3.5%!important}
}
/* 火種：2回目 H3（YUJI 指定）を締まった黒で大きく 2026-11-04 */
#hidane .hidane__type img{height:min(84vh,820px);filter:brightness(0) drop-shadow(8px 10px 0 rgba(0,0,0,.18))!important}
@media(max-width:900px){#hidane .hidane__type img{height:auto;width:min(70vw,320px)}}
/* 火種：指定の文字をそのまま（塗りつぶさない）＋周りに控えめな炎のゆらめき 2026-11-04 */
#hidane .hidane__type{position:relative;isolation:isolate}
#hidane .hidane__type img{filter:drop-shadow(6px 8px 0 rgba(0,0,0,.2))!important;position:relative;z-index:1}
#hidane .hidane__type::before{content:"";position:absolute;left:50%;top:50%;width:150%;aspect-ratio:1;transform:translate(-50%,-52%);z-index:0;pointer-events:none;
  background:radial-gradient(circle at 50% 55%,rgba(255,214,90,.95) 0%,rgba(255,138,40,.85) 34%,rgba(255,70,20,.55) 58%,rgba(255,40,10,0) 76%);
  -webkit-mask:url(assets/about/aura-mask.webp) center/100% 100% no-repeat;mask:url(assets/about/aura-mask.webp) center/100% 100% no-repeat;
  opacity:.5;mix-blend-mode:screen;animation:hidane-fire 4.5s ease-in-out infinite alternate}
@keyframes hidane-fire{0%{transform:translate(-50%,-52%) scale(1) rotate(0deg);opacity:.42}100%{transform:translate(-50%,-54%) scale(1.05) rotate(-2deg);opacity:.58}}
@media(prefers-reduced-motion:reduce){#hidane .hidane__type::before{animation:none}}
#hidane .hidane__type::before{background:radial-gradient(circle at 50% 56%,rgba(255,236,140,1) 0%,rgba(255,170,60,.95) 30%,rgba(255,96,24,.7) 56%,rgba(255,50,10,0) 78%);opacity:.78}
@keyframes hidane-fire{0%{transform:translate(-50%,-52%) scale(1) rotate(0deg);opacity:.68}100%{transform:translate(-50%,-54%) scale(1.05) rotate(-2deg);opacity:.86}}
#hidane .hidane__type::before{-webkit-mask-image:url(assets/about/fire-ring-mask.webp);mask-image:url(assets/about/fire-ring-mask.webp);width:165%}
#hidane .hidane__type::after{content:"";position:absolute;inset:-6% -12%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,rgba(255,190,70,.5) 0%,rgba(255,120,30,.28) 35%,rgba(255,80,20,0) 65%);mix-blend-mode:screen;animation:hidane-glow 3.8s ease-in-out infinite alternate}
@keyframes hidane-glow{0%{opacity:.75;transform:scale(1)}100%{opacity:1;transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){#hidane .hidane__type::after{animation:none}}

/* ===== What's 三銃士 J 型（?ab=j）：画面を止めて一言ずつバンと出す 2026-11-04 ===== */
#about .ab7__msg{transform:scale(1.35);filter:blur(4px);transition:opacity .35s ease,transform .45s cubic-bezier(.2,1.5,.4,1),filter .3s ease}
#about .ab7__step.is-on .ab7__msg{transform:scale(1);filter:none}
#about .ab7__step.is-past .ab7__msg{transform:scale(.92);filter:blur(2px)}
#about .ab7__exp{text-align:left;margin-top:.4em}
#about .ab7__k br.sp{display:none}
#about .ab7__b17{display:block;width:min(900px,86vw);height:auto;margin:0 auto;filter:drop-shadow(0 0 40px rgba(0,0,0,.9))}
#about .ab7__step:last-of-type .ab7__msg::before{content:"";position:absolute;inset:-40% -30%;z-index:-1;background:radial-gradient(ellipse at center,rgba(0,0,0,.9),rgba(0,0,0,0) 70%)}
@media(max-width:900px){#about .ab7__k br.sp{display:inline}#about .ab7__k{font-size:7.6vw}}
#about .ab7__said{white-space:nowrap;font-size:clamp(30px,4vw,64px)}
@media(max-width:900px){#about .ab7__said{white-space:normal;font-size:7.6vw}}

/* ===== FV parts3（2026-11-04・本番）：3人・真ん中のロゴ・コピーを別生成の部品で、歌舞伎町入りの背景に重ねる ===== */
.fv>.fv-layer.fv-p3{display:none!important}
html[data-fv="parts"] .fv>.fv-layer.fv-p3{display:block!important;position:absolute;inset:0;z-index:3;pointer-events:none}
html[data-fv="parts"] .fv>.fv-layer.fv-layer.fv-layer--people,html[data-fv="parts"] .fv>.fv-layer.fv-layer.fv-layer--copy,html[data-fv="parts"] .fv>.fv-layer.fv-layer.fv-layer--logo{display:none!important}
.fv-p3{--u:min(1svh,.66vw)}
.fv-p3>img,.fv-p3__logo{position:absolute;left:50%;transform:translateX(-50%);max-width:none;height:auto;margin:0;line-height:0}
.fv-p3__logo img{display:block;width:100%;height:auto}
.fv-p3__trio{top:calc(var(--hh) - var(--u) * 3);width:calc(var(--u) * 118)}
.fv-p3__logo{top:calc(var(--hh) + var(--u) * 24);width:calc(var(--u) * 68);filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}
.fv-p3__main{top:calc(var(--hh) + var(--u) * 60);width:calc(var(--u) * 50)}
.fv-p3__sub{top:calc(var(--hh) + var(--u) * 72);width:calc(var(--u) * 46)}
html[data-fv="parts"] .fv>.fv-layer.fv-layer--actions{bottom:calc(var(--u-act,2.4svh))!important}
@media (max-width:540px){
  .fv-p3{--u:1vw}
  .fv-p3__trio{top:calc(var(--hh) + 6px);width:150vw}
  .fv-p3__logo{top:calc(var(--hh) + 56vw);width:86vw}
  .fv-p3__main{top:calc(var(--hh) + 106vw);width:86vw}
  .fv-p3__sub{top:calc(var(--hh) + 134vw);width:84vw}
  html[data-fv="parts"] .fv{min-height:max(100svh,calc(var(--hh) + 190vw))!important}
}
@media (min-width:541px) and (max-width:920px){
  .fv-p3{--u:min(.9svh,1.05vw)}
}
.fv-p3__trio{top:calc(var(--hh) - var(--u) * 6);width:calc(var(--u) * 128)}
@media (max-width:540px){
  .fv-p3{--s:min(1vw,.48svh)}
  .fv-p3__trio{top:calc(var(--hh) + 6px);width:calc(var(--s) * 150)}
  .fv-p3__logo{top:calc(var(--hh) + var(--s) * 54);width:calc(var(--s) * 86)}
  .fv-p3__main{top:calc(var(--hh) + var(--s) * 102);width:calc(var(--s) * 86)}
  .fv-p3__sub{top:calc(var(--hh) + var(--s) * 124);width:calc(var(--s) * 84)}
  html[data-fv="parts"] .fv{min-height:100svh!important}
}

/* ===== FV r11（2026-11-04）：メインコピーはボタンのすぐ上・サブコピーは別の場所（?sub=1〜10） ===== */
html:not([data-fv="parts"]) .fv-copy-sub{display:none!important}
@media (min-width:921px){
  html:not([data-fv="parts"]) .fv>.fv-layer.fv-layer--actions{bottom:28px!important}
  html:not([data-fv="parts"]) .fv>.fv-layer.fv-layer--copy{inset:auto 0 96px!important}
  html:not([data-fv="parts"]) .fv-copy-main{width:min(70vw,1240px,118svh)!important}
}
@media (max-width:920px){
  html:not([data-fv="parts"]) .fv>.fv-layer.fv-layer--copy{inset:auto 0 112px!important}
}
.fv>.fv-layer.fv-sub10{display:none!important}
html:where(:not([data-fv="parts"]):not([data-fv="gen"])) .fv>.fv-layer.fv-sub10{display:block!important;position:absolute;margin:0;pointer-events:none;color:#fff;font:900 clamp(14px,1.15vw,20px)/1.45 "Noto Sans JP","Yu Gothic",sans-serif;letter-spacing:.08em;white-space:nowrap}
.fv-sub10 span{display:inline}
/* 1：背景の後ろ（人物より奥）に大きく薄く */
html[data-sub="1"] .fv>.fv-layer.fv-sub10{z-index:1;left:50%;top:calc(var(--hh) + 6svh);transform:translateX(-50%) rotate(-4deg);font-size:clamp(34px,4.6vw,88px);line-height:1.15;color:rgba(255,255,255,.92);-webkit-text-stroke:2px #111;paint-order:stroke fill;text-shadow:6px 6px 0 rgba(0,158,202,.85);text-align:center}
html[data-sub="1"] .fv-sub10 span{display:block}
/* 2：左端に縦書き（黒いテープ） */
html[data-sub="2"] .fv>.fv-layer.fv-sub10{z-index:5;left:clamp(10px,1.6vw,30px);top:calc(var(--hh) + 26svh);writing-mode:vertical-rl;padding:1em .55em;background:#111;transform:rotate(-2deg);box-shadow:4px 4px 0 #009ECA}
/* 3：右端に縦書き（白い紙片に黒字） */
html[data-sub="3"] .fv>.fv-layer.fv-sub10{z-index:5;right:clamp(10px,1.6vw,30px);top:calc(var(--hh) + 12svh);writing-mode:vertical-rl;padding:1em .55em;background:#f2efe8;color:#111;transform:rotate(2deg);box-shadow:4px 4px 0 rgba(0,0,0,.4)}
/* 4：左上のロゴのすぐ下に小さく */
html[data-sub="4"] .fv>.fv-layer.fv-sub10{z-index:5;left:clamp(16px,1.6vw,30px);top:calc(var(--hh) + clamp(150px,16vw,300px));padding:.5em .9em;background:#111;transform:rotate(-1.5deg);font-size:clamp(12px,.95vw,16px)}
html[data-sub="4"] .fv-sub10 span{display:block}
/* 5：メニューの下を流れる帯（人物の奥） */
html[data-sub="5"] .fv>.fv-layer.fv-sub10{z-index:1;left:0;right:0;top:calc(var(--hh) + 3svh);padding:.45em 0;background:#111;transform:rotate(-2.5deg);overflow:hidden;font-size:clamp(16px,1.4vw,26px)}
html[data-sub="5"] .fv-sub10 span{display:inline-block;padding-right:2.5em;animation:fv-sub-marq 18s linear infinite}
@keyframes fv-sub-marq{from{transform:translateX(0)}to{transform:translateX(-100%)}}
/* 6：FV の一番下（破れ縁の上）に小さく */
html[data-sub="6"] .fv>.fv-layer.fv-sub10{z-index:7;left:50%;bottom:6px;transform:translateX(-50%);font-size:clamp(11px,.85vw,14px);letter-spacing:.2em;opacity:.9}
/* 7：右の写真の切れ端に斜めの白い紙片 */
html[data-sub="7"] .fv>.fv-layer.fv-sub10{z-index:5;right:clamp(16px,3vw,60px);top:calc(var(--hh) + 30svh);padding:.6em 1em;background:#f2efe8;color:#111;transform:rotate(6deg);box-shadow:5px 6px 0 rgba(0,0,0,.35)}
html[data-sub="7"] .fv-sub10 span{display:block}
/* 8：人物の後ろを斜めに横切る黒いテープ（大きめ） */
html[data-sub="8"] .fv>.fv-layer.fv-sub10{z-index:1;left:-5%;right:-5%;top:calc(var(--hh) + 34svh);padding:.4em 0;background:#111;transform:rotate(-8deg);text-align:center;font-size:clamp(22px,2.4vw,44px)}
/* 9：メインコピーの左上に見出しのように小さく */
html[data-sub="9"] .fv>.fv-layer.fv-sub10{z-index:6;left:50%;bottom:calc(96px + min(70vw,1240px,118svh) * .162 + 6px);transform:translateX(calc(-50% - min(70vw,1240px,118svh) * .28)) rotate(-3deg);padding:.35em .8em;background:#009ECA}
/* 10：FV と次のセクションの境目（黒い所）に大きく */
html[data-sub="10"] .fv>.fv-layer.fv-sub10{z-index:8;left:50%;bottom:-.7em;transform:translateX(-50%) rotate(-1.5deg);font-size:clamp(20px,2vw,36px);padding:.25em .9em;background:#111;box-shadow:0 0 0 3px #fff}
@media (max-width:920px){
  html[data-sub="1"] .fv>.fv-layer.fv-sub10{font-size:8.6vw}
  html[data-sub="2"] .fv>.fv-layer.fv-sub10,html[data-sub="3"] .fv>.fv-layer.fv-sub10{font-size:12px}
  html[data-sub="4"] .fv>.fv-layer.fv-sub10{top:calc(var(--hh) + 46vw)}
  html[data-sub="7"] .fv>.fv-layer.fv-sub10{font-size:12px;top:calc(var(--hh) + 50vw)}
  html[data-sub="8"] .fv>.fv-layer.fv-sub10{font-size:5vw;top:calc(var(--hh) + 60vw)}
  html[data-sub="9"] .fv>.fv-layer.fv-sub10{font-size:12px;left:16px;bottom:calc(112px + 52vw);transform:rotate(-3deg)}
  html[data-sub="10"] .fv>.fv-layer.fv-sub10{font-size:4.4vw;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){html[data-sub="5"] .fv-sub10 span{animation:none}}
@media (min-width:921px){html:not([data-fv="parts"]) .fv{min-height:max(560px,100svh)!important}}
@media (min-width:541px) and (max-width:920px){html:not([data-fv="parts"]) .fv>.fv-layer.fv-layer--copy{inset:auto 0 156px!important}}
@media (max-width:540px){html:not([data-fv="parts"]) .fv>.fv-layer.fv-layer--copy{inset:auto 0 194px!important}}

/* What's 三銃士：最初はロゴとオーラを見せ、見出しが入ってきたらふわっと暗く。見出しはスクロールしてから出す 2026-11-04 */
#about .ab6__flow{padding-top:115vh}
#about .ab6__shade{transition:opacity 1.2s ease}
#about.is-dark .ab6__shade{opacity:.82!important}
#about .ab6__swirl,#about .ab6__mark{transition:opacity 1.2s ease}
#about.is-dark .ab6__swirl{opacity:.45!important}
#about.is-dark .ab6__mark{opacity:.28!important}
#about .ab6__text{opacity:0;transform:translateY(60px);transition:opacity 1s ease,transform 1.1s cubic-bezier(.2,.8,.2,1)}
#about.is-dark .ab6__text{opacity:1;transform:none}
@media(max-width:900px){#about .ab6__flow{padding-top:105vh}#about .ab6__text{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#about .ab6__text{opacity:1;transform:none}}

/* ===== FV ex（2026-11-04・本番）：丸ごと生成した版から切り出した部品を重ねる ===== */
.fv>.fv-layer.fv-ex{display:none!important}
html[data-fv="ex"] .fv>.fv-layer.fv-ex{display:block!important;position:absolute;inset:0;z-index:3;pointer-events:none}
html[data-fv="ex"] .fv>.fv-layer.fv-layer.fv-layer--people,html[data-fv="ex"] .fv>.fv-layer.fv-layer.fv-layer--copy,html[data-fv="ex"] .fv>.fv-layer.fv-layer.fv-layer--logo,html[data-fv="ex"] .fv>.fv-layer.fv-sub10.fv-sub10,html[data-fv="ex"] .fv>.fv-tear.fv-tear.fv-tear{display:none!important}
/* 元の絵（2400×1350）と同じ配置の舞台。画面に収まる大きさで下にそろえる */
.fv-ex{--W:min(100vw,(100svh - 34px) * 1.7778)}
.fv-ex__stage{position:absolute;left:50%;bottom:0;width:var(--W);height:calc(var(--W) * .5625);transform:translateX(-50%)}
.fv-ex__stage>*{position:absolute;margin:0;line-height:0}
.fv-ex__stage img{display:block;width:100%;height:auto;max-width:none}
.fv-ex__trio{left:17.333%;top:0;width:65%!important;z-index:1}
.fv-ex__logo{left:50%;top:26.7%;width:42.2%;transform:translateX(-50%);z-index:3}
.fv-ex__text{left:28.33%;top:69.04%;width:43.42%;z-index:4}
.fv-ex__divider{position:absolute;left:0;right:0;bottom:0;height:calc(var(--W) * .1333 + 4px);z-index:2;background:url(assets/fv-extract/divider.webp) center bottom/auto calc(var(--W) * .2370) repeat-x}
html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{z-index:7;bottom:calc(var(--W) * .5625 * .02)!important}
@media (min-width:921px){html[data-fv="ex"] .fv-button,html[data-fv="ex"] .fv-button--openchat,html[data-fv="ex"] .fv-button--x{height:clamp(44px,calc(var(--W) * .036),56px)!important}}
@media (max-width:920px){
  .fv-ex{--W:100vw}
  .fv-ex__stage{left:0;top:0;bottom:auto;width:100%;height:100%;transform:none}
  .fv-ex__trio{left:50%;top:calc(var(--hh) + 2vw);width:150vw!important;transform:translateX(-50%)}
  .fv-ex__logo{top:calc(var(--hh) + 50vw);width:84vw}
  .fv-ex__text{left:50%;top:auto;bottom:calc(132px + 2vw);width:98vw;transform:translateX(-50%)}
  .fv-ex__divider{height:34vw;background:url(assets/fv-extract/divider-sp.webp) center bottom/100% auto no-repeat}
  html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{bottom:12px!important}
}
html[data-fv="ex"] .fv{--W:min(100vw,(100svh - 34px) * 1.7778)}
@media (max-width:920px){html[data-fv="ex"] .fv{--W:100vw}}
/* 舞台に transform を使わない（区切りの紙を3人の前・文字の後ろに挟むため） */
.fv-ex__stage{left:calc(50% - var(--W) / 2);transform:none}
.fv-ex__divider{z-index:2}
@media (max-width:920px){
  .fv-ex__stage{left:0}
}
@media (min-width:541px) and (max-width:920px){
  .fv-ex__trio{width:118vw!important;top:calc(var(--hh) + 1vw)}
  .fv-ex__logo{top:calc(var(--hh) + 38vw);width:62vw}
  .fv-ex__text{width:80vw;bottom:calc(96px + 2vw)}
  html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{flex-direction:row!important}
}
@media (max-width:540px){
  .fv-ex{--s:min(1vw,.5svh)}
  .fv-ex__trio{width:calc(var(--s) * 150)!important}
  .fv-ex__logo{top:calc(var(--hh) + var(--s) * 48);width:calc(var(--s) * 80)}
  .fv-ex__text{width:calc(var(--s) * 96);bottom:calc(122px + var(--s) * 2)}
}
@media (max-width:920px){html[data-fv="ex"] .fv{min-height:100svh!important}}

/* FV ex：真ん中のロゴは前から使っているロゴ11 */
.fv-ex__logo{width:36%;top:24%}
@media (min-width:541px) and (max-width:920px){.fv-ex__logo{width:54vw}}
@media (max-width:540px){.fv-ex__logo{width:calc(var(--s) * 70)}}
/* What's 三銃士の最後：A08 を、ふわっと浮かんで出してから、ゆっくり漂い続ける（出し方10）2026-11-04 */
#about .ab6__finale::after{content:none!important}
#about .ab6__text .ab6__finale[data-reveal]{opacity:0;transform:translateY(40px);filter:none;transition:opacity 1.4s cubic-bezier(.2,.8,.2,1),transform 1.4s cubic-bezier(.2,.8,.2,1)}
#about .ab6__text .ab6__finale[data-reveal].is-visible{opacity:1;transform:none;animation:none}
#about .ab6__finale.is-visible img,#about .ab7__step.is-on .ab7__b17{animation:bxe-drift 5s 1.4s ease-in-out infinite alternate}
#about .ab7__step:last-of-type .ab7__msg{transform:translateY(40px);filter:none;transition:opacity 1.4s cubic-bezier(.2,.8,.2,1),transform 1.4s cubic-bezier(.2,.8,.2,1)}
#about .ab7__step:last-of-type.is-on .ab7__msg{transform:none}
@keyframes bxe-drift{from{transform:translateY(0) rotate(-.6deg)}to{transform:translateY(-10px) rotate(.6deg)}}
@media(prefers-reduced-motion:reduce){#about .ab6__finale img,#about .ab7__b17{animation:none!important}}
/* What's 三銃士：暗くしすぎない（ロゴが見える）・「結局、エンタメでしょ（笑）」は1行に収める 2026-11-04 */
#about.is-dark .ab6__shade{opacity:.5!important}
#about.is-dark .ab6__swirl{opacity:.8!important}
#about.is-dark .ab6__mark{opacity:.62!important}
#about .ab6__said{font-size:clamp(24px,2.4vw,40px)!important;white-space:nowrap}
#about .ab7__said{font-size:clamp(26px,3vw,48px)!important}
@media(max-width:900px){
  #about .ab6__said{font-size:5.6vw!important}
  #about .ab6__said br.sp{display:none!important}
  #about .ab7__said{font-size:5.6vw!important;white-space:nowrap}
  #about .ab7__said br.sp{display:none!important}
}

/* J案：見出しは1行・暗さを少し緩める・最後に「それが、俺たちの答え。」 */
#about .ab7__h{white-space:nowrap;font-size:clamp(26px,5vw,80px)}
html[data-ab="4"] #about.is-dark .ab6__shade{opacity:.34!important}
html[data-ab="4"] #about.is-dark .ab6__mark{opacity:.72!important}
html[data-ab="4"] #about.is-dark .ab6__swirl{opacity:.9!important}
#about .ab7__ans,#about .ab6__ans{margin:1.1em 0 0;color:#fff;font:400 clamp(24px,2.6vw,42px)/1.4 var(--f-tag,"Dela Gothic One"),"Noto Sans JP",sans-serif;text-align:center;white-space:nowrap;text-shadow:0 3px 16px rgba(0,0,0,.8)}
#about .ab7__ans{opacity:0;transform:translateY(16px);transition:opacity 1s 1.6s ease,transform 1s 1.6s ease}
#about .ab7__step.is-on .ab7__ans{opacity:1;transform:none}
#about .ab6__ans{margin-top:.6em!important}
@media(max-width:900px){#about .ab7__h{font-size:7vw}#about .ab7__ans,#about .ab6__ans{font-size:6.4vw}}
@media(max-width:900px){#about .ab7__h{font-size:5.6vw!important;white-space:nowrap}}

/* FV ex：3人は全身で生成し直した物（F2の縁）。下はギザギザのちぎり絵の紙を前に重ねて隠す 2026-11-04 */
html[data-fv="ex"] .fv>.fv-layer.fv-ex{overflow:hidden}
.fv-ex__trio{left:21%;top:1.5%;width:58%!important}
.fv-ex__divider{height:calc(var(--W) * .16);background:url(assets/fv-layers/fv-collage-edge.webp) center bottom/100% 100% no-repeat}
@media (min-width:541px) and (max-width:920px){.fv-ex__trio{width:96vw!important;top:calc(var(--hh) + 1vw)}.fv-ex__divider{height:30vw}}
@media (max-width:540px){.fv-ex__trio{width:calc(var(--s) * 118)!important}.fv-ex__divider{height:42vw;background-size:200% 100%}}
@media (max-width:920px){.fv-ex__trio{left:50%!important;transform:translateX(-50%)}}
@media (min-width:541px) and (max-width:920px){.fv-ex__trio{top:calc(var(--hh) + 1vw)!important}}
@media (max-width:540px){.fv-ex__trio{top:calc(var(--hh) + 2vw)!important}}
/* What's 三銃士：ロゴを少し怪しく動かす（ゆっくり漂い、わずかに歪み、紫の影がうごめく。点滅はしない）2026-11-05 */
#about .ab6__mark{animation:ab6-eerie 9s ease-in-out infinite,ab6-shade 6.5s ease-in-out infinite;transform-origin:50% 60%}
@keyframes ab6-eerie{
  0%,100%{translate:0 0;rotate:0deg;scale:1}
  20%{translate:-.6% -.8%;rotate:-1.6deg;scale:1.012}
  45%{translate:.4% .5%;rotate:1.1deg;scale:.995}
  60%{translate:.8% -.4%;rotate:2deg;scale:1.018}
  80%{translate:-.3% .7%;rotate:-.8deg;scale:1.004}
}
@keyframes ab6-shade{
  0%,100%{filter:drop-shadow(0 0 22px rgba(0,0,0,.45)) drop-shadow(-10px 6px 26px rgba(110,40,190,.0))}
  50%{filter:drop-shadow(0 0 22px rgba(0,0,0,.45)) drop-shadow(14px -8px 30px rgba(130,60,220,.55))}
}
@media(prefers-reduced-motion:reduce){#about .ab6__mark{animation:none}}
/* 「それが、俺たちの答え。」は A08 が出たら一緒に（スクロールしなくても）出す 2026-11-05 */
#about .ab6__finale{width:82%!important;margin:2em auto .2em!important}
#about .ab6__text .ab6__ans[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity 1s 1.2s ease,transform 1s 1.2s ease}
#about .ab6__text .ab6__finale.is-visible+.ab6__ans[data-reveal]{opacity:1;transform:none}
@media(max-width:900px){#about .ab6__finale{width:100%!important}}
/* B×E：出た後にカクっと傾かないよう、漂いは傾き0から滑らかに始める。「それが、俺たちの答え。」は画像が出たら自動で続けて出す 2026-11-05 */
@keyframes bxe-drift{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-8px) rotate(.4deg)}100%{transform:translateY(0) rotate(0deg)}}
#about .ab6__finale.is-visible img,#about .ab7__step.is-on .ab7__b17{animation:bxe-drift 6s 1.6s ease-in-out infinite}
#about .ab6__ans,#about .ab7__ans{opacity:0!important;transform:translateY(14px)!important;transition:opacity .9s ease,transform .9s ease!important}
#about .ab6__ans.is-shown,#about .ab7__ans.is-shown{opacity:1!important;transform:none!important}
/* FV ex：ボタンを文字セットのすぐ下まで上げる 2026-11-05 */
@media (min-width:921px){html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{bottom:calc(var(--W) * .5625 * .07 + 4px)!important}}
@media (max-width:920px){
  html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{bottom:calc(12px + 3vw)!important}
  .fv-ex__text{bottom:calc(122px + 5vw)!important}
}
@media (min-width:541px) and (max-width:920px){.fv-ex__text{bottom:calc(96px + 5vw)!important}}

/* 答えの一文：スクロールで先に進んだら速く出す（止まっていれば約1.5秒後に自動で出る） */
#about .ab6__ans.is-fast,#about .ab7__ans.is-fast{transition:opacity .25s ease,transform .25s ease!important}
/* J案：一言の下の説明文を大きく 2026-11-05 */
#about .ab7__exp{font-size:clamp(20px,1.75vw,28px)!important;line-height:1.85;max-width:820px;text-shadow:0 2px 14px rgba(0,0,0,.9)}
@media(max-width:900px){#about .ab7__exp{font-size:17px!important}}
#about .ab7__exp i{font-style:normal;display:inline-block}
#about .ab7__exp{max-width:760px}

/* MVV合宿：2枚セット（集合＋花火） */
#about .ph-set{display:block;position:relative;aspect-ratio:1/1.06}
#about .ph-set img{position:absolute;height:auto;filter:none}
#about .ph-set img:first-child{left:0;top:0;width:80%;transform:rotate(-3deg)}
#about .ph-set .ph-set__b{right:0;top:42%;width:70%;transform:rotate(5deg)}
#about .ab7__ph.is-set{width:clamp(240px,24vw,400px)}
@media(max-width:920px){#about .ab7__ph.is-set{width:46vw}}

/* about の最後：光って白くなり、霧が晴れて白いミッションへ */
.wake{position:fixed;inset:0;z-index:40;pointer-events:none;visibility:hidden;overflow:hidden}
.wake__white{position:absolute;inset:0;background:#fff;opacity:0}
.wake__glow{position:absolute;left:50%;top:45%;width:60vmax;height:60vmax;border-radius:50%;background:radial-gradient(circle,#fff 0,#fff 22%,rgba(255,252,235,.85) 38%,rgba(255,248,220,.35) 56%,rgba(255,255,255,0) 72%);opacity:0;transform:translate(-50%,-50%) scale(.35);will-change:transform,opacity}
.wake__fog{position:absolute;inset:-10% -15%;background:center/cover no-repeat;opacity:0;will-change:transform,opacity}
.wake__fog--a{background-image:url(assets/about/fog/fog-a.webp)}
.wake__fog--b{background-image:url(assets/about/fog/fog-b.webp);background-position:right center}
.wake__fog--c{background-image:url(assets/about/fog/fog-c.webp)}
#mission.section--bright,#mission.section--bright.has-edge::before{background-color:#e9e5dc!important;background-image:linear-gradient(rgba(38,32,26,.07),rgba(38,32,26,.07)),url(/v2/assets/gen/paper_light.webp)!important;background-size:cover!important}
#mission.section--bright{color:#16161d}
#mission.section--bright>.edge{filter:brightness(.95)}
#mission.section--bright .mission__close{color:#16161d}
#mission.section--bright .mission__close span:last-child{color:#009ECA}
#mission.section--bright .mission__plate{filter:drop-shadow(5px 5px 0 #009ECA)}
#mission.section--bright .txt{color:#2a2a33}

/* FV：横幅を縮めても高さに合わせた大きさを保つ。左右から切っていき、スマホ版に切り替わる直前で両端の2人の肩に少しかかるところまで */
@media (min-width:921px){
  .fv-ex,html[data-fv="ex"] .fv{--W:min(205vw,(100svh - 34px) * 1.7778)}
}
/* オープンチャットのボタン：LINEのマークを白で見せる（緑の上に緑で消えていた） */
.fv-button--openchat a svg,.fv-button--openchat a svg path{fill:#fff!important}

/* FVロゴの大きさ・位置の案（?ls=1〜4。2〜4は横長に描き直したロゴ）。にしけんの顔にかけず、「エンタメで、何が悪い。」に少しかかる位置 */
@media (min-width:921px){
  html[data-ls] .fv-ex__logo{left:50%!important;transform:translateX(-50%)!important}
  html[data-ls] .fv-ex__logo img{transform-origin:50% 0}
  html[data-ls="1"] .fv-ex__logo{top:33%!important;width:34%!important}
  html[data-ls="2"] .fv-ex__logo{top:37.5%!important;width:42%!important}
  html[data-ls="3"] .fv-ex__logo{top:39.3%!important;width:48%!important}
  html[data-ls="4"] .fv-ex__logo{top:45.5%!important;width:52%!important}
}

/* about → mission の切り替え3案（?tr=1〜3） */
#about .tr-ov{position:fixed;inset:0;z-index:45;pointer-events:none;visibility:hidden;overflow:hidden;perspective:1600px}
#about .tr-light{position:absolute;inset:0;display:none;background:radial-gradient(ellipse 60% 70% at 50% 50%,#fff 0,#fffaf0 35%,rgba(255,250,235,.75) 65%,rgba(255,250,235,.45) 100%)}
#about .tr-light.is-top{z-index:5}
#about .tr-glow{position:absolute;left:50%;top:45%;width:56vmax;height:56vmax;border-radius:50%;z-index:4;background:radial-gradient(circle,rgba(255,255,255,.95) 0,rgba(255,250,230,.7) 25%,rgba(255,245,215,.25) 50%,rgba(255,255,255,0) 70%);opacity:0;transform:translate(-50%,-50%) scale(.4);mix-blend-mode:screen}
#about .tr-half{position:absolute;inset:0;display:none;will-change:transform;backface-visibility:hidden}
#about .tr-half--l{transform-origin:0 50%}
#about .tr-half--r{transform-origin:100% 50%}
html[data-tr="2"] #about .tr-half--l{filter:drop-shadow(12px 8px 16px rgba(0,0,0,.55))}
html[data-tr="2"] #about .tr-half--r{filter:drop-shadow(-12px -6px 16px rgba(0,0,0,.55))}
#about .tr-in{position:absolute;inset:0;overflow:hidden}
#about .tr-in .ab6__sticky{position:absolute!important;inset:0!important;height:100vh!important}
#about .tr-in .ab7{display:block!important;position:absolute!important;inset:0!important;margin:0!important;height:100vh!important;z-index:1}
#about .tr-in .ab7__stage{position:absolute!important;inset:0!important}

/* about → mission：破れ紙の質感違い5案（?tx=1〜5） */
#about .tx-ov{position:fixed;inset:0;z-index:45;pointer-events:none;visibility:hidden;overflow:hidden;perspective:1600px;transform-style:preserve-3d}
#about .tx-light{position:absolute;inset:0;z-index:1;background:rgba(245,238,224,.8);opacity:0}
#about .tx-glow{position:absolute;left:50%;top:45%;width:54vmax;height:54vmax;border-radius:50%;z-index:10;background:radial-gradient(circle,rgba(255,255,255,.88) 0,rgba(255,249,226,.55) 28%,rgba(255,245,215,.18) 51%,rgba(255,255,255,0) 70%);opacity:0;transform:translate(-50%,-50%) scale(.4);mix-blend-mode:screen}
#about .tx-fx{position:absolute;inset:0;z-index:16;display:none;overflow:hidden}
#about .tx-piece{position:absolute;inset:0;z-index:8;display:none;will-change:transform,opacity;backface-visibility:hidden;transform-style:preserve-3d}
#about .tx-in{position:absolute;inset:0;overflow:hidden}
#about .tx-in .ab6__sticky{position:absolute!important;inset:0!important;height:100vh!important}
#about .tx-in .ab7{display:block!important;position:absolute!important;inset:0!important;margin:0!important;height:100vh!important;z-index:1}
#about .tx-in .ab7__stage{position:absolute!important;inset:0!important}
#about .tx-texture{position:absolute;display:block;max-width:none;height:auto;object-fit:contain;will-change:transform,opacity;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}

html[data-tx="1"] #about .tx-piece--left{transform-origin:0 50%}
html[data-tx="1"] #about .tx-piece--right{transform-origin:100% 50%}
html[data-tx="1"] #about .tx-seam{left:48.8%;top:-4vh;width:2.8vw;min-width:24px;height:108vh;object-fit:fill;transform-origin:50% 50%}
html[data-tx="1"] #about .tx-seam--fiber{left:49.6%;width:1.65vw;min-width:14px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.42))}

html[data-tx="2"] #about .tx-branch{left:51%;top:45%;width:7vw;min-width:50px;height:62vh;object-fit:fill;transform-origin:50% 0}
html[data-tx="2"] #about .tx-burst-core{left:51%;top:45%;width:8vw;min-width:68px;transform-origin:50% 50%}

html[data-tx="3"] #about .tx-seam--diag{left:50%;top:50%;width:3.2vw;min-width:28px;height:118vh;object-fit:fill;transform-origin:50% 50%}
html[data-tx="3"] #about .tx-flap--top{left:50%;top:-3%;width:10vw;min-width:84px;transform-origin:50% 0}
html[data-tx="3"] #about .tx-flap--mid{left:52%;top:48%;width:8vw;min-width:70px;transform-origin:50% 50%}

html[data-tx="4"] #about .tx-seam--burn{left:50%;top:50%;width:3.8vw;min-width:32px;height:122vh;object-fit:fill;transform-origin:50% 50%;filter:drop-shadow(0 0 9px rgba(255,92,0,.82)) drop-shadow(0 5px 7px rgba(0,0,0,.48))}
html[data-tx="4"] #about .tx-sparks{width:24vw;min-width:170px;max-width:410px;filter:drop-shadow(0 0 7px rgba(255,115,0,.7))}
html[data-tx="4"] #about .tx-sparks--a{left:29%;top:27%}
html[data-tx="4"] #about .tx-sparks--b{right:22%;bottom:14%}

html[data-tx="5"] #about .tx-layer--0{z-index:5}
html[data-tx="5"] #about .tx-layer--1{z-index:4;filter:brightness(.9) saturate(.88)}
html[data-tx="5"] #about .tx-layer--2{z-index:3;filter:brightness(.76) saturate(.75)}
html[data-tx="5"] #about .tx-layer-edge{width:8vw;min-width:74px;height:auto;object-fit:contain;transform-origin:50% 50%}
html[data-tx="5"] #about .tx-layer-edge--white{left:46%;top:4vh;z-index:7}
html[data-tx="5"] #about .tx-layer-edge--blue{left:45%;top:39vh;z-index:6}
html[data-tx="5"] #about .tx-layer-edge--dot{left:45%;top:66vh;z-index:5}
html[data-tx="5"] #about .tx-layer-sample{left:50%;top:50%;width:23vw;min-width:180px;max-width:420px;z-index:9;transform-origin:50% 50%}

@media (max-width:920px){
  html[data-tx="1"] #about .tx-seam{left:46.5%;width:7vw}
  html[data-tx="1"] #about .tx-seam--fiber{left:48.5%;width:4vw}
  html[data-tx="2"] #about .tx-branch{width:14vw;height:55vh}
  html[data-tx="2"] #about .tx-burst-core{width:18vw}
  html[data-tx="3"] #about .tx-seam--diag{width:8vw}
  html[data-tx="3"] #about .tx-flap--top{width:24vw}
  html[data-tx="3"] #about .tx-flap--mid{width:20vw}
  html[data-tx="4"] #about .tx-seam--burn{width:9vw}
  html[data-tx="4"] #about .tx-sparks{width:44vw}
  html[data-tx="5"] #about .tx-layer-edge{width:17vw}
  html[data-tx="5"] #about .tx-layer-edge--white{left:42%}
  html[data-tx="5"] #about .tx-layer-edge--blue{left:40%}
  html[data-tx="5"] #about .tx-layer-edge--dot{left:40%}
  html[data-tx="5"] #about .tx-layer-sample{width:45vw}
}

@media (prefers-reduced-motion:reduce){#about .tx-ov{display:none!important}}

/* 破れ目の縁＝切り口と同じ線から作った白い紙の芯（紙の質感の画像で埋める）。片割れの中にあるので一緒に動く */
#about .tr-rim{position:absolute;inset:0;opacity:0;background:#f3efe6 url(/v2/assets/gen/paper_light.webp) center/cover;filter:brightness(1.1) contrast(1.05)}
#about .tr-rim--r{filter:brightness(.98) contrast(1.1)}

/* 破れ紙5案（?tx=1〜5）：縁はすべて切り口と同じ点列から作る */
#about .tr-hw{position:absolute;inset:0}
#about .tr-rim--w,#about .tr-rim--w2{filter:brightness(1.08) contrast(1.05)}
#about .tr-rim--w2{filter:brightness(.97) contrast(1.1)}
#about .tr-rim--char{background:#1b120c url(/v2/assets/gen/paper_light.webp) center/cover;filter:brightness(.3) sepia(1) saturate(2.2)}
#about .tr-rim--ember{background:#ff6a10 url(/v2/assets/gen/paper_light.webp) center/cover;background-blend-mode:multiply;filter:brightness(1.7) saturate(1.5)}
#about .tr-rim--blue{background:#0a9fd2 url(/v2/assets/gen/paper_light.webp) center/cover;background-blend-mode:multiply;filter:none}
#about .tr-rim--dot{background:#f1ede4 url(assets/about/tear/halftone-paper.webp) center/260px auto repeat;filter:contrast(1.2)}
#about .tr-half--p{filter:drop-shadow(0 10px 16px rgba(0,0,0,.55))}
#about .tr-spark{position:absolute;display:none;height:auto;opacity:0;pointer-events:none;mix-blend-mode:screen;z-index:6}

/* 火種：割れ目から漏れる光は暖かい色。白一色にしない */
html[data-tx="4"] #about .tr-light{background:radial-gradient(ellipse 55% 75% at 50% 50%,#fff6e6 0,#ffd9a8 35%,rgba(255,170,90,.75) 65%,rgba(255,140,60,.45) 100%)}
html[data-tx="4"] #about .tr-glow{background:radial-gradient(circle,rgba(255,240,215,.95) 0,rgba(255,170,80,.6) 28%,rgba(255,110,30,.22) 52%,rgba(255,90,0,0) 70%)}

/* FV：幅920以下でも横長の窓（ブラウザを縮めた・拡大表示・スマホ横）は PC と同じ組み方にする（縦長用の組み方で3人が巨大化していた） */
@media (min-width:541px) and (max-width:920px) and (min-aspect-ratio:5/4),(max-width:540px) and (min-aspect-ratio:5/4){
  .fv-ex,html[data-fv="ex"] .fv{--W:min(205vw,(100svh - 34px) * 1.7778)!important}
  .fv-ex__stage{left:calc(50% - var(--W) / 2)!important;top:auto!important;bottom:0!important;width:var(--W)!important;height:calc(var(--W) * .5625)!important;transform:none!important}
  .fv-ex__trio{left:21%!important;top:1.5%!important;width:58%!important;transform:none!important}
  .fv-ex__logo{left:50%!important;top:33%!important;width:34%!important;transform:translateX(-50%)!important}
  .fv-ex__text{left:28.33%!important;top:69.04%!important;bottom:auto!important;width:43.42%!important;transform:none!important}
  .fv-ex__divider{height:calc(var(--W) * .16)!important;background:url(assets/fv-layers/fv-collage-edge.webp) center bottom/100% 100% no-repeat!important}
  html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{bottom:calc(var(--W) * .5625 * .07 + 4px)!important;flex-direction:row!important}
  html[data-fv="ex"] .fv-button,html[data-fv="ex"] .fv-button--openchat,html[data-fv="ex"] .fv-button--x{height:clamp(34px,calc(var(--W) * .04),56px)!important;width:min(calc(var(--W) * .29),400px)!important}
  html[data-fv="ex"] .fv-button a{font-size:clamp(10px,calc(var(--W) * .0138),18px)!important;gap:.35em!important}
  html[data-fv="ex"] .fv-button a svg{width:1.4em!important;height:1.4em!important}
}
@media (max-height:500px) and (min-aspect-ratio:5/4){html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{bottom:calc(var(--W) * .5625 * .015)!important}}

/* ヘッダー：幅920以下でも横長の画面（PCでブラウザを縮めた・拡大表示）は、PCと同じ上の横並びメニューを出す。ハンバーガーは縦長・狭い画面だけ */
@media (min-width:760px) and (max-width:920px) and (min-aspect-ratio:5/4){
  :root{--hh:60px}
  .hd,.hd.u045{padding:0 14px!important;pointer-events:auto}
  .hd .hd__nav{display:flex!important;position:static!important;inset:auto!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:clamp(8px,1.3vw,14px)!important;padding:6px 12px!important;margin-left:auto;transform:none!important;visibility:visible!important;transition:none!important;background:rgba(40,40,53,.9)!important;min-width:0}
  .hd.is-scrolled .hd__nav{background:transparent!important}
  .hd .hd__nav a:not(.btn){font-size:clamp(11px,1.45vw,13px)!important;padding:6px 0!important}
  .hd .hd__nav .btn{margin-top:0!important;font-size:12px!important;padding:.45em .8em!important;white-space:nowrap}
  .hd__logo{width:clamp(120px,15vw,150px)!important}
  .u045-ham,.u045-sheet,.hd__menu{display:none!important}
}

/* 破れたら白くパッと光る層（裂け目の暖かい光とは別） */
#about .tr-flash{position:absolute;inset:0;display:none;opacity:0;z-index:7;pointer-events:none;background:radial-gradient(ellipse 70% 80% at 50% 50%,#fff 0,#fff 45%,rgba(255,255,255,.9) 100%)}

/* ミッションから「三銃士とは」へ戻る時の比較5案（?tc=1〜5）。標準には適用しない */
#mission>.tc-scar{position:absolute;left:0;right:0;top:-22px;height:44px;z-index:8;overflow:hidden;pointer-events:none}
#mission>.tc-scar .tr-rim{position:absolute;inset:0;opacity:1;background:#f3efe6 url(/v2/assets/gen/paper_light.webp) center/cover}
#mission>.tc-scar .tr-rim--char{background:#1b120c url(/v2/assets/gen/paper_light.webp) center/cover;filter:brightness(.3) sepia(1) saturate(2.2)}
#mission>.tc-scar .tr-rim--ember{background:#ff6a10 url(/v2/assets/gen/paper_light.webp) center/cover;background-blend-mode:multiply;filter:brightness(1.7) saturate(1.5)}
#about .tc-return{position:fixed;inset:0;z-index:58;overflow:hidden;pointer-events:none;background:var(--abg,#111326)}
#about .tc-return .tr-in{position:absolute;inset:0;background:var(--abg,#111326)}
#about .tc-return--paper{transform:translateY(-104%);transition:transform .56s cubic-bezier(.16,.84,.3,1);box-shadow:0 18px 32px rgba(0,0,0,.22)}
#about .tc-return--paper.is-on{transform:translateY(0)}
#about .tc-return--fade{opacity:0;transition:opacity .38s ease}
#about .tc-return--fade.is-on{opacity:1}
#about .tc-cut{position:fixed;inset:0;z-index:60;pointer-events:none;background:#fff;opacity:0}
#about .tc-cut.is-on{animation:tc-cut .15s linear both}
@keyframes tc-cut{0%{opacity:0}22%{opacity:1}68%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){#mission>.tc-scar,#about .tc-return,#about .tc-cut{display:none!important}}

/* What's 三銃士の紫：毒々しさを抑えた3案（?aura=7〜9） */
html[data-aura="7"] #about{--a1:#3d3454;--a2:#8f84b2;--abg:#17131f}
html[data-aura="8"] #about{--a1:#2c2d5c;--a2:#7f82c6;--abg:#111326}
html[data-aura="9"] #about{--a1:#47304c;--a2:#a08aa3;--abg:#191219}

/* 「エンタメだから届く」の段：後追いの3枚。左に縦長1枚、右に横長2枚。説明は折り返して読ませる */
#about .ab7__step--follow .ab7__ph{width:clamp(200px,18vw,290px)}
#about .ab7__step--follow .ab7__ph figcaption b,#about .ab7__step--follow .ab7__ph figcaption span{white-space:normal!important;line-height:1.5}
#about .ab7__step--follow .ab7__ph figcaption span{font-weight:500;font-size:12px;color:#d9d3e3}
#about .ab7__step--follow .ab7__ph.p-l{left:4vw;top:12vh}
#about .ab7__step--follow .ab7__ph.p-r{right:4vw;left:auto;top:10vh;bottom:auto}
#about .ab7__step--follow .ab7__ph.p-l2{right:4vw;left:auto;top:auto;bottom:4vh;--r:-3deg}
@media(max-width:900px){
  #about .ab7__step--follow .ab7__ph figcaption span{display:none}
  #about .ab7__step--follow .ab7__ph figcaption b{font-size:10px}
  #about .ab7__step--follow .ab7__ph.p-l{width:30vw;left:3vw;top:8vh}
  #about .ab7__step--follow .ab7__ph.p-r{width:44vw;right:3vw;top:9vh}
  #about .ab7__step--follow .ab7__ph.p-l2{display:block;width:50vw;right:auto;left:25vw;bottom:5vh}
  #about .ab7__step--follow .ab7__msg{margin-top:4vh}
}

/* 掛け算の段：ウォーキングタウンを少し小さく、REAL VALUE を左に */
#about .ab7__step[data-i="4"] .ab7__ph.p-r{width:clamp(170px,16vw,260px)}
#about .ab7__step[data-i="4"] .ab7__ph.p-l{width:clamp(220px,20vw,320px);top:14vh}
@media(max-width:900px){#about .ab7__step[data-i="4"] .ab7__ph.p-r{width:32vw}#about .ab7__step[data-i="4"] .ab7__ph.p-l{width:44vw;top:9vh}}
/* 後追い3件は一言なので通常の大きさ */
#about .ab7__step--follow .ab7__ph figcaption span{font-size:12px}
@media(max-width:900px){#about .ab7__step--follow .ab7__ph figcaption span{display:block}}

/* ===== ミッション：案57の構成をいまのトンマナで（?ms=1〜3）。紙の地・黒の文字・青の差し色・文字で見せる ===== */
html[data-ms] #mission .wrap.mission,html[data-ms] #mission>.deco{display:none!important}
#mission .msn{position:relative;z-index:2;color:#16161d}
#mission .msn__tag{margin:0 0 14px}
#mission .msn__h{margin:0;font:400 clamp(30px,4.6vw,72px)/1.25 var(--f-tag,"Dela Gothic One"),"Noto Sans JP",sans-serif;letter-spacing:.01em}
#mission .msn__h span{display:block}
#mission .msn__h em{font-style:normal;color:#009ECA}
#mission .msn__p{margin:0 0 14px;font-size:clamp(15px,1.25vw,18px);line-height:2;font-weight:700;color:#2a2a33}
#mission .msn__p b{color:#16161d;background:linear-gradient(transparent 62%,#fff000 62%)}
#mission .msn__chain{margin:6px 0 16px;display:flex;flex-wrap:wrap;gap:6px 10px}
#mission .msn__chain span{display:inline-block;padding:4px 10px;background:#16161d;color:#fff;font-weight:900;font-size:clamp(13px,1.05vw,15px)}
#mission .msn__chain span:last-child{background:#009ECA}
#mission .msn__more{display:inline-flex;align-items:center;gap:.6em;margin:8px 0 0;padding:0 0 4px;border:0;border-bottom:3px solid #16161d;background:none;color:#16161d;font:900 clamp(14px,1.1vw,16px)/1.5 "Noto Sans JP",sans-serif;cursor:pointer}
#mission .msn__more i{font-style:normal;color:#009ECA;transition:transform .2s}
#mission .msn__more:hover i{transform:translateX(5px)}
#mission .msn__card{position:relative;background:#16161d;color:#fff;padding:clamp(18px,2vw,30px) clamp(18px,2.2vw,34px)}
#mission .msn__card small{display:block;margin:0 0 8px;color:#9fd9ec;font-size:12px;font-weight:700;letter-spacing:.08em}
#mission .msn__card p{margin:0;font:400 clamp(20px,2.1vw,32px)/1.35 var(--f-tag,"Dela Gothic One"),"Noto Sans JP",sans-serif;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .25em}
#mission .msn__card em{font-style:normal;color:#fff000}
#mission .msn__card .x,#mission .msn__card .eq{color:#009ECA}
#mission .msn__more--fx{margin-top:16px}

/* 案1：1列の宣言（案57に一番近い）。見出し→本文→方程式2枚を横並び */
html[data-ms="1"] #mission .msn{max-width:1100px;margin:0 auto}
html[data-ms="1"] #mission .msn__lead{max-width:760px;margin:clamp(22px,2.6vw,36px) 0 clamp(34px,4vw,56px)}
html[data-ms="1"] #mission .msn__fx{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,24px)}
html[data-ms="1"] #mission .msn__card{border-left:8px solid #009ECA}
html[data-ms="1"] #mission .msn__more--fx{grid-column:1/-1;justify-self:center}

/* 案2：左右2列。左に見出しと本文、右に破れ紙のメモ風に方程式を縦に2枚 */
html[data-ms="2"] #mission .msn{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"head head" "lead fx";gap:clamp(20px,3vw,48px) clamp(28px,4vw,64px);max-width:1200px;margin:0 auto}
html[data-ms="2"] #mission .msn__head{grid-area:head}
html[data-ms="2"] #mission .msn__lead{grid-area:lead}
html[data-ms="2"] #mission .msn__fx{grid-area:fx;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
html[data-ms="2"] #mission .msn__card{width:100%;clip-path:polygon(0 4%,8% 0,46% 3%,92% 0,100% 5%,99% 52%,100% 96%,62% 100%,12% 97%,0 100%,1% 50%);filter:drop-shadow(6px 6px 0 #009ECA)}
html[data-ms="2"] #mission .msn__card:nth-child(1){transform:rotate(-1.5deg)}
html[data-ms="2"] #mission .msn__card:nth-child(2){transform:rotate(1.2deg)}
html[data-ms="2"] #mission .msn__card p{font-size:clamp(18px,1.7vw,26px)}

/* 案3：見出しを大きく横いっぱい→本文は2段→方程式は黒い帯1本に2行 */
html[data-ms="3"] #mission .msn{max-width:1240px;margin:0 auto}
html[data-ms="3"] #mission .msn__h{font-size:clamp(34px,5.6vw,96px);line-height:1.15}
html[data-ms="3"] #mission .msn__lead{margin:clamp(24px,3vw,44px) 0 clamp(30px,3.6vw,52px);columns:2 340px;column-gap:clamp(24px,4vw,64px)}
html[data-ms="3"] #mission .msn__lead>*{break-inside:avoid}
html[data-ms="3"] #mission .msn__fx{display:grid;grid-template-columns:1fr;background:#16161d;padding:clamp(18px,2.4vw,36px) clamp(18px,3vw,48px);gap:0;position:relative}
html[data-ms="3"] #mission .msn__fx::before{content:"THE FORMULA";position:absolute;right:clamp(14px,2vw,28px);top:-.62em;font:400 clamp(26px,3.4vw,52px)/1 var(--f-tag,"Dela Gothic One");color:#009ECA;letter-spacing:.02em}
html[data-ms="3"] #mission .msn__card{background:none;padding:clamp(10px,1.2vw,16px) 0;border-bottom:1px dashed rgba(255,255,255,.25)}
html[data-ms="3"] #mission .msn__card:nth-of-type(2){border-bottom:0}
html[data-ms="3"] #mission .msn__card p{font-size:clamp(22px,2.8vw,42px)}
html[data-ms="3"] #mission .msn__more--fx{color:#fff;border-bottom-color:#fff;justify-self:end}

@media(max-width:900px){
  #mission .msn__p br.pc{display:none}
  html[data-ms] #mission .msn{display:block}
  html[data-ms] #mission .msn__lead{columns:auto;margin:20px 0 26px}
  html[data-ms="1"] #mission .msn__fx{grid-template-columns:1fr}
  html[data-ms="2"] #mission .msn__fx{gap:16px}
  html[data-ms] #mission .msn__card p{font-size:clamp(18px,5.4vw,24px)}
  html[data-ms="3"] #mission .msn__fx::before{font-size:24px}
}
/* 方程式は1行で読ませる・スマホの見出しは「与える。」で割れないように */
#mission .msn__card p{flex-wrap:nowrap;white-space:nowrap}
html[data-ms="1"] #mission .msn__card p{font-size:clamp(18px,1.6vw,26px)}
@media(max-width:900px){
  #mission .msn__h{font-size:min(6.7vw,30px)}
  html[data-ms="3"] #mission .msn__h{font-size:min(6.7vw,30px)}
  html[data-ms] #mission .msn__card p{font-size:min(5vw,22px)}
}

/* ヘッダーのロゴ＝ロゴ20（濃い筆の帯に白い文字）。紙の札は使わず、上の位置から出す */
.hd .logo-plate{background:none!important;clip-path:none!important;padding:0!important;transform:none!important}
.hd:not(.is-scrolled) .hd__logo{visibility:visible!important}
.hd:not(.is-scrolled) .logo-w{display:none}
.hd__logo{width:clamp(170px,16vw,230px)}
.hd__logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
@media(max-width:920px){.hd__logo{width:min(160px,42vw)!important}}

/* ===== ミッション：見出しの登場とライトスイープ・MISSIONのシール・地のトーン（11/05） ===== */
#mission.section--bright,#mission.section--bright.has-edge::before{background-image:url(/v2/assets/gen/paper_light.webp)!important}
#mission .ms-tag{background:url(assets/gen/deco/tag_black_1.png) center/100% 100% no-repeat!important;background-color:transparent!important;color:#fff!important;font-family:var(--f-tag);letter-spacing:.12em;padding:.35em 1.1em .4em!important;transform:rotate(-3deg);box-shadow:none!important}
#mission .ms-type{position:relative;display:inline-block}
#mission .ms-type img{opacity:0;transform:translateX(-90px) rotate(-6deg);filter:blur(10px) drop-shadow(5px 6px 0 rgba(0,0,0,.4));transition:opacity .8s ease,transform 1.1s cubic-bezier(.16,1,.3,1),filter .9s ease}
#mission .is-in .ms-type img{opacity:1;transform:rotate(-1.5deg);filter:blur(0) drop-shadow(5px 6px 0 rgba(0,0,0,.4))}
#mission .ms-type::after{content:"";position:absolute;inset:0;pointer-events:none;transform:rotate(-1.5deg);
 -webkit-mask:url(assets/about/type/s39.webp) left top/100% 100% no-repeat;mask:url(assets/about/type/s39.webp) left top/100% 100% no-repeat;
 background:linear-gradient(105deg,transparent 0 38%,rgba(255,255,255,.95) 48%,rgba(160,230,255,.6) 52%,transparent 62%) -160% 0/220% 100% no-repeat;mix-blend-mode:screen;opacity:0}
#mission .is-in .ms-type::after{animation:ms-sweep 1.3s .95s cubic-bezier(.4,0,.2,1) both}
@keyframes ms-sweep{0%{opacity:1;background-position:-160% 0}85%{opacity:1}100%{opacity:0;background-position:160% 0}}
#mission .mission__close{opacity:0;transform:translateY(12px);transition:opacity .7s 1.2s ease,transform .7s 1.2s ease}
#mission .is-in .mission__close{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){#mission .ms-type img,#mission .mission__close{opacity:1!important;transform:rotate(-1.5deg)!important;filter:none!important;transition:none}#mission .ms-type::after{display:none}}

/* ===== ミッション：記事をもとにした3案（?ms=4〜6）＋MVVへの導線 ===== */
html[data-ms="4"] #mission .msn,html[data-ms="5"] #mission .msn,html[data-ms="6"] #mission .msn{display:none!important}
#mission .msv{position:relative;z-index:2;color:#16161d;max-width:1200px;margin:0 auto}
#mission .msv__h{margin:12px 0 0;font:400 clamp(30px,4.8vw,76px)/1.22 var(--f-tag,"Dela Gothic One"),"Noto Sans JP",sans-serif}
#mission .msv__h span{display:block}#mission .msv__h em{font-style:normal;color:#009ECA}
#mission .msv__story,#mission .msv__quotes,#mission .msv__fx{display:none}
#mission .msv__ch h3{margin:6px 0 10px;font:400 clamp(20px,1.9vw,28px)/1.45 var(--f-tag,"Dela Gothic One"),"Noto Sans JP",sans-serif}
#mission .msv__ch p{margin:0 0 10px;font-weight:700;line-height:1.95;font-size:clamp(14px,1.15vw,16px);color:#2a2a33}
#mission .msv__no{display:inline-block;background:#16161d;color:#fff;font:400 14px/1 var(--f-tag);padding:6px 9px}
#mission .msv__chain{display:flex;flex-wrap:wrap;gap:6px 8px}
#mission .msv__chain span{background:#16161d;color:#fff;padding:3px 9px;font-size:13px}
#mission .msv__chain span:last-child{background:#009ECA}
#mission .msv__eq{background:#16161d;color:#fff;padding:clamp(16px,1.8vw,26px) clamp(18px,2vw,30px);border-left:8px solid #009ECA}
#mission .msv__eq small{display:block;color:#9fd9ec;font-size:12px;font-weight:700;margin-bottom:6px}
#mission .msv__eq p{margin:0 0 6px;font:400 clamp(18px,1.7vw,26px)/1.4 var(--f-tag);white-space:nowrap}
#mission .msv__eq em{font-style:normal;color:#fff000}
#mission .msv__eq span{font-size:13px;color:#d9d3e3;font-weight:700}
/* MVV ブロック（共通） */
#mission .msv__mvv{margin-top:clamp(34px,4vw,60px);background:#fff;border:3px solid #16161d;box-shadow:8px 8px 0 #009ECA;padding:clamp(18px,2.4vw,34px)}
#mission .msv__mvvlab{margin:0 0 12px;font:400 clamp(26px,3vw,44px)/1 var(--f-tag);letter-spacing:.06em}
#mission .msv__mvvlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#mission .msv__mvvlist li{border:2px dashed #b8b6b0;padding:14px 16px;color:#77757e}
#mission .msv__mvvlist li.is-on{border:2px solid #16161d;background:#16161d;color:#fff}
#mission .msv__mvvlist b{display:block;font:400 clamp(16px,1.4vw,22px)/1.2 var(--f-tag);letter-spacing:.08em;color:#009ECA;margin-bottom:6px}
#mission .msv__mvvlist li.is-on b{color:#fff000}
#mission .msv__mvvlist span{display:block;font-weight:900;font-size:clamp(14px,1.2vw,17px);line-height:1.6}
#mission .msv__mvvlist small{display:block;margin-top:6px;font-size:12px;opacity:.75}
#mission .msv__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
#mission .msv__btn{display:inline-flex;align-items:center;gap:.6em;padding:12px 18px;border:3px solid #16161d;background:#16161d;color:#fff;font:900 14px/1.4 "Noto Sans JP",sans-serif;text-decoration:none;cursor:pointer;box-shadow:4px 4px 0 #009ECA}
#mission .msv__btn i{font-style:normal;color:#fff000}
#mission .msv__btn--ghost{background:#fff;color:#16161d}#mission .msv__btn--ghost i{color:#009ECA}

/* 案4：物語（記事の流れ）。見出し→01〜03の章→方程式→MVV */
html[data-ms="4"] #mission .msv__story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,36px);margin-top:clamp(28px,3.4vw,50px)}
html[data-ms="4"] #mission .msv__ch{border-top:4px solid #16161d;padding-top:14px}
html[data-ms="4"] #mission .msv__fx{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(28px,3vw,44px)}

/* 案5：MVVが主役。見出しのすぐ下に MVV の3枠を大きく→方程式→章は短く */
html[data-ms="5"] #mission .msv{display:flex;flex-direction:column}
html[data-ms="5"] #mission .msv__mvv{order:2;margin-top:clamp(24px,3vw,40px)}
html[data-ms="5"] #mission .msv__mvvlist li{min-height:150px}
html[data-ms="5"] #mission .msv__mvvlist li.is-on span{font-size:clamp(17px,1.6vw,24px)}
html[data-ms="5"] #mission .msv__fx{order:3;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
html[data-ms="5"] #mission .msv__story{order:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
html[data-ms="5"] #mission .msv__ch p:not(.msv__chain){display:none}
html[data-ms="5"] #mission .msv__ch h3{font-size:clamp(16px,1.4vw,20px)}

/* 案6：記事の言葉を破れ紙の切れ端で貼る（引用コラージュ）→MVV */
html[data-ms="6"] #mission .msv__quotes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 20px;margin-top:clamp(28px,3.4vw,50px);align-items:start}
html[data-ms="6"] #mission .q{margin:0;padding:14px 18px;background:#fff;font:400 clamp(17px,1.6vw,24px)/1.5 var(--f-tag);clip-path:polygon(0 6%,7% 0,50% 4%,93% 0,100% 7%,99% 50%,100% 94%,60% 100%,8% 96%,0 100%,1% 50%);filter:drop-shadow(4px 5px 0 rgba(0,0,0,.18))}
html[data-ms="6"] #mission .q small{display:block;font:700 13px/1.6 "Noto Sans JP",sans-serif;color:#55535c;margin-top:4px}
html[data-ms="6"] #mission .q1{grid-column:1/4;background:#16161d;color:#fff;font-size:clamp(24px,2.6vw,40px);transform:rotate(-2deg)}
html[data-ms="6"] #mission .q2{grid-column:4/7;transform:rotate(1.5deg);margin-top:18px}
html[data-ms="6"] #mission .q3{grid-column:1/3;transform:rotate(1deg)}
html[data-ms="6"] #mission .q4{grid-column:3/5;background:#009ECA;color:#fff;transform:rotate(-1.5deg);margin-top:14px}
html[data-ms="6"] #mission .q5{grid-column:5/7;transform:rotate(2deg)}
html[data-ms="6"] #mission .msv__fx{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}

@media(max-width:900px){
  #mission .msv__h{font-size:min(6.7vw,30px)}
  html[data-ms] #mission .msv__story,html[data-ms] #mission .msv__fx,html[data-ms] #mission .msv__mvvlist{grid-template-columns:1fr!important}
  html[data-ms="6"] #mission .msv__quotes{grid-template-columns:1fr}
  html[data-ms="6"] #mission .q{grid-column:auto!important;margin-top:0!important}
  #mission .msv__eq p{font-size:min(4.8vw,20px)}
  html[data-ms="5"] #mission .msv__mvvlist li{min-height:0}
}

/* ミッション：MISSIONのシールを見出しに貼り付ける（重ねる）・見出しはズームアウトで登場＋ライトスイープ1回（11/05） */
#mission .mission__head{position:relative}
#mission .ms-tag{position:relative;z-index:3;margin:0 0 calc(-1 * clamp(22px,2.6vw,40px)) clamp(-8px,-.6vw,-4px)!important;transform:rotate(-6deg)}
#mission .ms-type{margin-top:0!important}
#mission .ms-type img{opacity:0;transform:scale(1.45) rotate(-1.5deg);transform-origin:40% 55%;filter:blur(14px) drop-shadow(5px 6px 0 rgba(0,0,0,.4));transition:opacity .6s ease,transform 1.15s cubic-bezier(.16,1,.3,1),filter .8s ease}
#mission .is-in .ms-type img{opacity:1;transform:scale(1) rotate(-1.5deg);filter:blur(0) drop-shadow(5px 6px 0 rgba(0,0,0,.4))}
#mission .ms-tag{opacity:0;transition:opacity .4s 1s ease}
#mission .is-in .ms-tag{opacity:1}
#mission .is-in .ms-type::after{animation:ms-sweep 1.2s 1.05s cubic-bezier(.4,0,.2,1) 1 both}
@media(max-width:900px){#mission .ms-tag{margin-bottom:-14px!important;font-size:16px}}
#mission .ms-tag{margin:0 0 calc(-1 * clamp(44px,4.6vw,70px)) 1.5%!important}
@media(max-width:900px){#mission .ms-tag{margin:0 0 -26px 2%!important}}
#mission .ms-tag{display:block!important;width:max-content}
#mission .ms-type{display:block!important;width:max-content;max-width:100%}

/* ===== ミッション下半分：標準＋比較案（標準 / ?mf=0〜3 / 11-05） ===== */
html[data-mf] #mission .mission{display:block}
html[data-mf] #mission .mission>.mission__photo,
html[data-mf] #mission .mission>.mission__side,
html[data-mf] #mission .mission>.mission__body{display:none!important}
html[data-mf] #mission .mission__head{margin-bottom:clamp(28px,4vw,58px)}
#mission .mfx{--mfx-yellow:#e3b93c;position:relative;color:#16161d}
#mission .mfx__cols{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(18px,2.6vw,38px);align-items:start}
#mission .mfx__secthead{border-top:7px solid #16161d;padding-top:14px;margin-bottom:18px}
#mission .mfx__kicker{display:block;margin-bottom:8px;color:#009eca;font:400 12px/1.3 var(--f-tag);letter-spacing:.1em}
#mission .mfx__secthead h4{margin:0;font:400 clamp(30px,3.6vw,52px)/1.08 var(--f-tag);letter-spacing:.02em}
#mission .mfx__secthead p{margin:10px 0 0;font-size:clamp(13px,1.05vw,15px);font-weight:800;line-height:1.8;color:#47464d}

#mission .mfx__photo{position:relative;margin:0 0 clamp(26px,3.2vw,46px);padding:11px 11px 34px;background:#16161d;box-shadow:9px 9px 0 #009eca;clip-path:polygon(0 2%,8% 0,28% 1%,50% 0,72% 1.5%,94% 0,100% 3%,99% 96%,78% 100%,55% 98%,31% 100%,8% 98%,0 100%)}
#mission .mfx__photo-paper{position:absolute;inset:5px -8px -7px 7px;z-index:-1;background:#fff;transform:rotate(.8deg)}
#mission .mfx__photo-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:grayscale(1) contrast(1.08)}
#mission .mfx__photo-tape{position:absolute;z-index:2;width:clamp(72px,9vw,124px);height:auto;left:50%;top:-24px;transform:translateX(-50%) rotate(-3deg)}
#mission .mfx__photo figcaption{position:absolute;left:clamp(18px,2vw,30px);right:16px;bottom:7px;display:flex;justify-content:space-between;gap:12px;align-items:center;color:#fff;font-size:11px;font-weight:800;letter-spacing:.03em}
#mission .mfx__photo figcaption b{font-family:var(--f-tag);font-weight:400;font-size:clamp(13px,1.2vw,17px);color:var(--mfx-yellow)}
#mission .mfx__photo figcaption span{white-space:nowrap;opacity:.72}

#mission .mfx__route{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:mfxroute}
#mission .mfx__route li{position:relative;min-width:0;padding:11px 12px;background:#fff;border:2px solid #16161d;box-shadow:4px 4px 0 #009eca}
#mission .mfx__route li:not(:last-child)::after{content:"→";position:absolute;right:-21px;top:50%;transform:translateY(-52%);font:400 20px/1 var(--f-tag);color:#16161d}
#mission .mfx__route small{display:block;color:#009eca;font:400 10px/1.2 var(--f-tag);letter-spacing:.08em}
#mission .mfx__route b{display:block;margin-top:5px;font-size:12px;line-height:1.45}

#mission .mfx__eq{position:relative;margin-top:16px;padding:clamp(16px,1.8vw,26px);background:#16161d;color:#fff;box-shadow:7px 7px 0 #009eca}
#mission .mfx__eq--trust{background:#fff;color:#16161d;border:3px solid #16161d;box-shadow:7px 7px 0 var(--mfx-yellow)}
#mission .mfx__eqtop{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}
#mission .mfx__eqtop>span{display:grid;place-items:center;width:28px;height:28px;background:#009eca;color:#fff;font:400 12px/1 var(--f-tag)}
#mission .mfx__eq--trust .mfx__eqtop>span{background:#16161d}
#mission .mfx__eqtop small{font-size:11.5px;line-height:1.65;font-weight:800;color:#c7c4cc}
#mission .mfx__eq--trust .mfx__eqtop small{color:#55535c}
#mission .mfx__equation{margin:15px 0 16px;display:flex;align-items:baseline;gap:.18em;white-space:nowrap;font:400 clamp(16px,1.55vw,23px)/1.3 var(--f-tag);letter-spacing:0}
#mission .mfx__equation b{font:400 1.14em/1.3 var(--f-tag);color:var(--mfx-yellow)}
#mission .mfx__eq--trust .mfx__equation b{color:var(--mfx-yellow)}
#mission .mfx__equation i{font-style:normal;color:#009eca}
#mission .mfx__eq--trust .mfx__equation i{color:#16161d}
#mission .mfx__equation em{font-style:normal}
#mission .mfx__factors{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#mission .mfx__factors>div{min-width:0;border-top:2px solid currentColor;padding-top:8px}
#mission .mfx__factors dt{font:400 13px/1.3 var(--f-tag);color:var(--mfx-yellow)}
#mission .mfx__eq--trust .mfx__factors dt{color:var(--mfx-yellow)}
#mission .mfx__factors dd{margin:5px 0 0;font-size:10.5px;line-height:1.65;font-weight:700;color:#d9d7de}
#mission .mfx__eq--trust .mfx__factors dd{color:#55535c}
#mission .mfx__note{margin:13px 0 0;padding-top:10px;border-top:1px dashed currentColor;font-size:11px;line-height:1.65;font-weight:900}

#mission .mfx__mvv{position:relative}
#mission .mfx__mvvlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
#mission .mfx__mvvlist li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:clamp(14px,1.5vw,20px);background:#fff;border:2px dashed #8d8993;color:#77747d;transform:rotate(.5deg)}
#mission .mfx__mvvlist li:nth-child(3){transform:rotate(-.5deg)}
#mission .mfx__mvvlist li.is-fixed{background:#16161d;border:2px solid #16161d;color:#fff;box-shadow:7px 7px 0 #009eca;transform:rotate(-1deg)}
#mission .mfx__mvno{display:grid;place-items:center;width:42px;height:42px;background:#eceae5;color:#16161d;font:400 24px/1 var(--f-tag)}
#mission .mfx__mvvlist .is-fixed .mfx__mvno{background:#fff000}
#mission .mfx__mvvlist small{display:block;margin-bottom:6px;color:#009eca;font-size:10px;font-weight:900;line-height:1.45;letter-spacing:.02em}
#mission .mfx__mvvlist .is-fixed small{color:#8fd7ed}
#mission .mfx__mvvlist b{display:block;font:400 clamp(14px,1.35vw,19px)/1.55 var(--f-tag)}
#mission .mfx__mvvlist .is-fixed b{color:#fff}
#mission .mfx__quote{margin:20px 0 0;padding:18px 20px;background:#009eca;color:#fff;font:900 clamp(15px,1.35vw,19px)/1.7 "Noto Sans JP",sans-serif;box-shadow:6px 6px 0 #16161d;transform:rotate(1deg)}
#mission .mfx__quote b{color:#fff000}

#mission .mfx__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,3.2vw,46px)}
#mission .mfx__btn{display:inline-flex;align-items:center;justify-content:center;gap:.7em;min-height:48px;padding:12px 18px;border:3px solid #16161d;background:#16161d;color:#fff;box-shadow:5px 5px 0 #009eca;font:900 13px/1.45 "Noto Sans JP",sans-serif;text-decoration:none;cursor:pointer}
#mission .mfx__btn span{color:var(--mfx-yellow);font-size:1.2em}
#mission .mfx__btn--paper{background:#fff;color:#16161d}
#mission .mfx__btn--paper span{color:#009eca}

/* 標準：方程式を左右に並べ、その下にMVVと大きな物語導線 */
#mission .mfx__story{display:none}
html[data-mf="std"] #mission .mfx__photo,
html[data-mf="std"] #mission .mfx__actions{display:none}
html[data-mf="std"] #mission .mfx__cols{display:block}
html[data-mf="std"] #mission .mfx__formula{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,34px)}
html[data-mf="std"] #mission .mfx__formula>.mfx__secthead,
html[data-mf="std"] #mission .mfx__formula>.mfx__route{grid-column:1/-1}
html[data-mf="std"] #mission .mfx__eq{margin-top:0;height:100%}
html[data-mf="std"] #mission .mfx__mvv{margin-top:clamp(38px,5vw,72px)}
html[data-mf="std"] #mission .mfx__mvvlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.8vw,24px)}
html[data-mf="std"] #mission .mfx__mvvlist li{height:100%;transform:none}
html[data-mf="std"] #mission .mfx__quote{max-width:760px;margin:clamp(24px,3vw,40px) auto 0;text-align:center;transform:none}
html[data-mf="std"] #mission .mfx__story{position:relative;display:grid;grid-template-columns:1fr;min-height:0;margin-top:clamp(38px,5vw,72px);overflow:hidden;background:#16161d;color:#fff;border:8px solid #16161d;box-shadow:10px 10px 0 #009eca;isolation:isolate}
html[data-mf="std"] #mission .mfx__story-hit{position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
html[data-mf="std"] #mission .mfx__story-hit:focus-visible{outline:5px solid var(--mfx-yellow);outline-offset:-7px}
html[data-mf="std"] #mission .mfx__story-img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;filter:saturate(.78) contrast(1.06)}
html[data-mf="std"] #mission .mfx__story-copy{position:relative;z-index:0;display:flex;min-height:190px;flex-direction:column;justify-content:center;align-items:flex-start;padding:30px min(300px,27vw) 32px clamp(26px,3.5vw,52px);background:#16161d}
html[data-mf="std"] #mission .mfx__story-copy small{color:#8fd7ed;font:400 11px/1.4 var(--f-tag);letter-spacing:.08em}
html[data-mf="std"] #mission .mfx__story-copy strong{display:block;margin-top:18px;font:400 clamp(25px,3vw,44px)/1.35 var(--f-tag);color:var(--mfx-yellow)}
html[data-mf="std"] #mission .mfx__story-copy>span{margin-top:18px;font-size:13px;font-weight:900;line-height:1.6}
html[data-mf="std"] #mission .mfx__story-play{position:absolute;z-index:2;left:50%;top:38%;display:grid;place-items:center;width:88px;height:88px;border:4px solid #fff;background:#009eca;color:#fff;font:400 15px/1 var(--f-tag);transform:translate(-50%,-50%) rotate(-4deg);pointer-events:none}
html[data-mf="std"] #mission .mfx__story-article{position:absolute;z-index:3;right:clamp(22px,3.5vw,52px);bottom:clamp(22px,3vw,40px);display:inline-flex;align-items:center;gap:.7em;min-height:50px;padding:12px 16px;border:2px solid #fff;background:#fff;color:#16161d;font-size:12px;font-weight:900;line-height:1.45;text-decoration:none;box-shadow:5px 5px 0 var(--mfx-yellow)}
html[data-mf="std"] #mission .mfx__story-article span{color:#009eca;font-size:1.2em}

/* mf1：写真の帯→左に方程式、右にMVV */
html[data-mf="1"] #mission .mfx__photo{height:clamp(230px,27vw,350px)}
html[data-mf="1"] #mission .mfx__cols{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}

/* mf2：中央写真を左右の紙面で挟む */
html[data-mf="2"] #mission .mfx{display:grid;grid-template-columns:minmax(0,.8fr) minmax(330px,.95fr) minmax(0,.8fr);grid-template-areas:"formula photo mvv" "formula actions actions";gap:clamp(18px,2vw,30px);align-items:start}
html[data-mf="2"] #mission .mfx__cols{display:contents}
html[data-mf="2"] #mission .mfx__formula{grid-area:formula}
html[data-mf="2"] #mission .mfx__photo{grid-area:photo;height:clamp(350px,31vw,420px);margin:34px 0 0;padding:9px 9px 54px;transform:rotate(-1deg)}
html[data-mf="2"] #mission .mfx__photo-img{object-position:center 48%}
html[data-mf="2"] #mission .mfx__photo figcaption{display:block;bottom:10px}
html[data-mf="2"] #mission .mfx__photo figcaption span{display:block;margin-top:4px}
html[data-mf="2"] #mission .mfx__mvv{grid-area:mvv}
html[data-mf="2"] #mission .mfx__actions{grid-area:actions}
html[data-mf="2"] #mission .mfx__route{grid-template-columns:1fr;gap:9px}
html[data-mf="2"] #mission .mfx__route li:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-13px;transform:translateX(-50%);z-index:2;font-size:16px}
html[data-mf="2"] #mission .mfx__factors{grid-template-columns:1fr}
html[data-mf="2"] #mission .mfx__equation{font-size:clamp(14px,1.2vw,18px)}

/* mf3：雑誌の見開き。左＝方程式、右＝MVV＋写真 */
html[data-mf="3"] #mission .mfx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"formula mvv" "formula photo" "actions actions";gap:clamp(18px,2.8vw,42px);align-items:start;padding:clamp(18px,2.4vw,34px);background:#fff;border:3px solid #16161d;box-shadow:10px 10px 0 #009eca}
html[data-mf="3"] #mission .mfx::after{content:"";position:absolute;left:50%;top:16px;bottom:16px;border-left:2px dashed #b7b2aa;pointer-events:none}
html[data-mf="3"] #mission .mfx__cols{display:contents}
html[data-mf="3"] #mission .mfx__formula{grid-area:formula;padding-right:clamp(6px,1vw,14px)}
html[data-mf="3"] #mission .mfx__mvv{grid-area:mvv;padding-left:clamp(6px,1vw,14px)}
html[data-mf="3"] #mission .mfx__photo{grid-area:photo;height:clamp(220px,23vw,310px);margin:6px 0 0;transform:rotate(1deg)}
html[data-mf="3"] #mission .mfx__actions{grid-area:actions}
html[data-mf="3"] #mission .mfx__factors dd{font-size:11px}
html[data-mf="3"] #mission .mfx__eq{box-shadow:5px 5px 0 #009eca}
html[data-mf="3"] #mission .mfx__eq--trust{box-shadow:5px 5px 0 var(--mfx-yellow)}

@media(max-width:900px){
  html[data-mf] #mission .mission__head{margin-bottom:34px}
  #mission .mfx__photo{height:220px!important;margin:0 0 28px!important;padding:8px 8px 42px!important;transform:rotate(-.5deg)!important}
  #mission .mfx__photo figcaption{display:block;bottom:8px}
  #mission .mfx__photo figcaption span{display:block;margin-top:2px}
  html[data-mf] #mission .mfx__cols{grid-template-columns:1fr;gap:32px}
  #mission .mfx__secthead h4{font-size:min(9vw,38px)}
  #mission .mfx__secthead p br{display:none}
  #mission .mfx__equation{font-size:min(4.15vw,18px)}
  #mission .mfx__factors{grid-template-columns:1fr;gap:10px}
  #mission .mfx__factors dd{font-size:11px}
  #mission .mfx__mvvlist b{font-size:min(4vw,17px)}
  #mission .mfx__actions{align-items:stretch;flex-direction:column}
  #mission .mfx__btn{width:100%}
  html[data-mf="std"] #mission .mfx__formula{grid-template-columns:1fr}
  html[data-mf="std"] #mission .mfx__formula>.mfx__secthead,
  html[data-mf="std"] #mission .mfx__formula>.mfx__route{grid-column:auto}
  html[data-mf="std"] #mission .mfx__mvvlist{grid-template-columns:1fr}
  html[data-mf="std"] #mission .mfx__story{grid-template-columns:1fr;min-height:0;border-width:6px}
  html[data-mf="std"] #mission .mfx__story-img{height:auto;min-height:0;aspect-ratio:16/9}
  html[data-mf="std"] #mission .mfx__story-copy{min-height:230px;padding:24px 20px 78px}
  html[data-mf="std"] #mission .mfx__story-play{left:50%;top:auto;bottom:190px;width:64px;height:64px;font-size:12px;transform:translateX(-50%) rotate(-4deg)}
  html[data-mf="std"] #mission .mfx__story-article{left:20px;right:20px;bottom:20px;justify-content:center;text-align:center}
  html[data-mf="2"] #mission .mfx{display:grid;grid-template-columns:1fr;grid-template-areas:"photo" "formula" "mvv" "actions";gap:30px}
  html[data-mf="2"] #mission .mfx__photo{grid-area:photo}
  html[data-mf="2"] #mission .mfx__formula{grid-area:formula}
  html[data-mf="2"] #mission .mfx__mvv{grid-area:mvv}
  html[data-mf="3"] #mission .mfx{grid-template-columns:1fr;grid-template-areas:"formula" "mvv" "photo" "actions";gap:30px;padding:16px;box-shadow:6px 6px 0 #009eca}
  html[data-mf="3"] #mission .mfx::after{display:none}
  html[data-mf="3"] #mission .mfx__formula,html[data-mf="3"] #mission .mfx__mvv{padding:0}
}

@media(max-width:430px){
  #mission .mfx__route{grid-template-columns:1fr;gap:9px}
  #mission .mfx__route li:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-13px;transform:translateX(-50%);z-index:2;font-size:16px}
  #mission .mfx__equation{font-size:min(3.9vw,16px)}
  #mission .mfx__eq{padding:14px 12px;box-shadow:5px 5px 0 #009eca}
  #mission .mfx__eq--trust{box-shadow:5px 5px 0 var(--mfx-yellow)}
  #mission .mfx__mvno{width:36px;height:36px;font-size:20px}
  #mission .mfx__mvvlist li{padding:13px 11px;gap:10px}
}

/* 物語の最後：ミッションの言葉は行の途中で割らない */
#missionModal .mstep__mission span{display:block;white-space:nowrap}
#missionModal .mstep__mission{font-size:clamp(18px,2.3vw,34px)!important}
@media(max-width:600px){#missionModal .mstep__mission{font-size:min(5.6vw,24px)!important}}

/* 物語の最後：人物を左・言葉とボタンを右に入れ替え／ミッション全文をボタンに */
.mstep__goal{grid-template-columns:minmax(210px,.62fr) minmax(0,1fr)!important}
.mstep__goal .mstep__person{grid-column:1;grid-row:1;order:-1}
.mstep__goal .mstep__goalcopy{grid-column:2;grid-row:1}
#missionModal .mstep__missionbtn{display:block;margin:14px 0 12px;padding:16px 20px;background:#f2f0ea;color:#16161d;text-decoration:none;border:3px solid #16161d;box-shadow:6px 6px 0 #009ECA;transform:rotate(-.6deg);transition:transform .18s,box-shadow .18s}
#missionModal .mstep__missionbtn span{color:#16161d}
#missionModal .mstep__missionbtn i{display:block;margin-top:8px;font:900 13px/1.4 "Noto Sans JP",sans-serif;font-style:normal;color:#009ECA}
#missionModal .mstep__missionbtn:hover{transform:translate(-2px,-2px) rotate(-.6deg);box-shadow:9px 9px 0 #009ECA}
@media(max-width:700px){.mstep__goal{grid-template-columns:1fr!important}.mstep__goal .mstep__person,.mstep__goal .mstep__goalcopy{grid-column:1}.mstep__goal .mstep__goalcopy{grid-row:2}}
@media(max-width:600px){#missionModal .mstep__missionbtn{padding:12px 12px}#missionModal .mstep__mission{font-size:min(4.4vw,19px)!important}}
@media(max-width:900px){html[data-mf="std"] #mission .mfx__story-play{top:25vw!important;bottom:auto!important;transform:translate(-50%,-50%) rotate(-4deg)!important}}

/* 方程式：両方とも白×黄・左右の高さをそろえ、締めの1文は下にそろえる */
html[data-mf="std"] #mission .mfx__eq,html[data-mf="std"] #mission .mfx__eq--trust{background:#fff!important;color:#16161d!important;border:3px solid #16161d;box-shadow:7px 7px 0 var(--mfx-yellow)!important;display:flex;flex-direction:column}
html[data-mf="std"] #mission .mfx__eqtop>span{background:#16161d}
html[data-mf="std"] #mission .mfx__eqtop small{color:#55535c}
html[data-mf="std"] #mission .mfx__equation i{color:#16161d}
html[data-mf="std"] #mission .mfx__factors dd{color:#55535c;font-size:11px}
html[data-mf="std"] #mission .mfx__note{margin-top:auto}
html[data-mf="std"] #mission .mfx__factors{margin-bottom:14px}
html[data-mf="std"] #mission .mfx__formula{align-items:stretch}
html[data-mf="std"] #mission .mission__close span{display:inline}
@media(max-width:900px){html[data-mf="std"] #mission .mfx__factors dd br{display:none}}

/* 方程式の要素は1行ずつ（左＝名前・右＝説明）にして、左右の高さをそろえる */
html[data-mf="std"] #mission .mfx__factors{grid-template-columns:1fr!important;gap:0}
html[data-mf="std"] #mission .mfx__factors>div{display:grid;grid-template-columns:5.2em minmax(0,1fr);gap:10px;align-items:baseline;border-top:1px solid #16161d;padding:8px 0}
html[data-mf="std"] #mission .mfx__factors dd{margin:0;font-size:12px;line-height:1.65}
/* 破れ紙が開いた後、見出しがヘッダーに詰まらないよう上の余白を足す */
#mission.section--bright{padding-top:calc(var(--eh) * .4 + clamp(60px,12vh,120px))!important}
/* About→Mission のつなぎ：セクション自体の地は塗らず（上端の直線が出ていた）、紙の地は破れ紙の下からだけ。破れ紙を少し上に出す */
#mission.section--bright{background:transparent!important}
#mission.section--bright>.edge{top:calc(var(--eh) * -.18)}
#mission.section--bright.has-edge::before{top:calc(var(--eh) * .2)!important}
#mission.section--bright{overflow-x:clip!important;overflow-y:visible!important;z-index:2}

/* ミッション見出し：L25 影を落として浮かぶ（1000ms・cubic-bezier(.22,1,.36,1)）→ M22 ライトスイープ（900ms・ease）を1回だけ */
#mission .ms-type img{opacity:0!important;transform:translateY(30px) scale(.96) rotate(-1.5deg)!important;filter:drop-shadow(0 0 0 rgba(0,0,0,0))!important;transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1),filter 1s cubic-bezier(.22,1,.36,1)!important}
#mission .is-in .ms-type img{opacity:1!important;transform:rotate(-1.5deg)!important;filter:drop-shadow(0 12px 18px rgba(0,0,0,.3))!important}
#mission .ms-type::after{background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.85) 50%,transparent 65%) 0 0/100% 100% no-repeat!important;transform:rotate(-1.5deg) translateX(-120%);opacity:0;animation:none!important}

/* brief3：ミッション見出しは影・ライトスイープを使わず、上から一度だけ開く */
#mission .ms-type img{opacity:1!important;transform:rotate(-1.5deg)!important;clip-path:inset(0 0 100% 0);filter:none!important;transition:clip-path .9s ease-out!important}
#mission .is-in .ms-type img{opacity:1!important;transform:rotate(-1.5deg)!important;clip-path:inset(0);filter:none!important}
#mission .ms-type::after{display:none!important}

/* brief3：方程式のアイコン・見出し・左右共通行 */
html[data-mf="std"] #mission .mfx__formula{grid-template-rows:auto repeat(6,auto)}
html[data-mf="std"] #mission .mfx__eq{display:grid!important;grid-template-rows:subgrid;row-gap:0;margin-top:0}
html[data-mf="std"] #mission .mfx__eq--success{grid-column:1;grid-row:2/span 6}
html[data-mf="std"] #mission .mfx__eq--trust{grid-column:2;grid-row:2/span 6}
html[data-mf="std"] #mission .mfx__eqtop{grid-template-columns:54px minmax(0,1fr);align-items:center}
html[data-mf="std"] #mission .mfx__eqtop>.mfx__eqicon{display:grid;place-items:center;width:54px;height:54px;background:transparent!important}
html[data-mf="std"] #mission .mfx__eqicon img{width:54px;height:54px;object-fit:contain}
html[data-mf="std"] #mission .mfx__equation{align-items:center;margin:14px 0 16px}
html[data-mf="std"] #mission .mfx__equation b{display:inline-block;padding:.08em .28em .14em;background:var(--mfx-yellow);color:#16161d!important;font-size:1.34em;line-height:1.2}
html[data-mf="std"] #mission .mfx__factors{display:contents!important}
html[data-mf="std"] #mission .mfx__factors>div{min-height:0}
html[data-mf="std"] #mission .mfx__factors dt{color:#16161d!important;font:900 14px/1.4 var(--f-body);letter-spacing:.02em;white-space:nowrap}
html[data-mf="std"] #mission .mfx__note{align-self:end}

/* brief3：物語の最後は人物を左、言葉と記事ボタンを右。ミッションの言葉は普通の文字 */
#missionModal .mstep__mission{margin:14px 0 0;color:#fff}
#missionModal .mstep__xicon{display:grid;place-items:center;flex:none;width:30px;height:30px;background:#16161d;color:#fff;font:900 16px/1 Arial,sans-serif}
#missionModal .mstep__person{pointer-events:none}

@media(max-width:900px){
  html[data-mf="std"] #mission .mfx__formula{grid-template-rows:none}
  html[data-mf="std"] #mission .mfx__eq--success,
  html[data-mf="std"] #mission .mfx__eq--trust{grid-column:1;grid-row:auto;display:flex!important;height:auto!important}
  html[data-mf="std"] #mission .mfx__eq--success{height:auto!important}
  html[data-mf="std"] #mission .mfx__factors{display:grid!important}
}

@media(max-width:700px){
  .mstep__goal{grid-template-columns:minmax(86px,34%) minmax(0,1fr)!important;align-items:end;padding:18px 12px 0!important}
  .mstep__goal .mstep__person{grid-column:1;grid-row:1;width:100%;align-self:end;justify-self:start}
  .mstep__goal .mstep__goalcopy{grid-column:2;grid-row:1;padding:0 0 18px 8px}
  #missionModal .mstep__mission{font-size:min(4.1vw,18px)!important;line-height:1.55}
  #missionModal .mstep__goal .mstep__h{font-size:min(4.1vw,18px);padding:.32em .48em .38em}
  #missionModal .mstep__goal .mstep__p{font-size:12px;line-height:1.7}
  #missionModal .mstep__xbtn{min-height:58px;margin-top:14px;padding:8px 9px;font-size:11.5px;gap:8px}
  #missionModal .mstep__xicon{width:28px;height:28px;font-size:15px}
}

@media(max-width:600px){
  #missionModal .mstep__photo,
  #missionModal .mstep:nth-child(even) .mstep__photo{grid-column:2;grid-row:2;justify-self:end;width:min(42%,150px);margin:-32px 8px 0 0;z-index:4;transform:rotate(2deg)}
  #missionModal .mstep:nth-child(even) .mstep__photo{justify-self:start;margin-left:8px;transform:rotate(-2deg)}
  #missionModal .mstep__photo:has(img[src*="step-02"]),
  #missionModal .mstep__photo:has(img[src*="step-03"]),
  #missionModal .mstep__photo:has(img[src*="step-04"]),
  #missionModal .mstep__photo:has(img[src*="step-07"]),
  #missionModal .mstep__photo:has(img[src*="step-09"]),
  #missionModal .mstep__photo:has(img[src*="step-10"]){width:min(50%,185px)}
}
#mission .is-in .ms-type::after{animation:ms-l25-sweep .9s 1.05s ease 1 both!important}
@keyframes ms-l25-sweep{0%{opacity:1;transform:rotate(-1.5deg) translateX(-120%)}100%{opacity:1;transform:rotate(-1.5deg) translateX(120%)}}
#mission .ms-type{overflow:hidden}
#mission .ms-tag{transition:opacity .4s .3s ease!important}
@media(prefers-reduced-motion:reduce){#mission .ms-type img{opacity:1!important;transform:rotate(-1.5deg)!important;transition:none!important}#mission .ms-type::after{display:none}}

/* スタジオで確定（版36・ミッションPC）：見出しを少し大きく・シールの位置・締めを2行で1.17倍・三銃士を見出しの右に */
#mission .mission__head{position:relative}
#mission .ms-type{margin-top:0!important}
#mission .ms-type img{width:min(1018px,70.7vw)!important;max-width:none}
#mission .ms-tag{margin-left:calc(min(22px,1.5vw) + 1.5%)!important}
#mission .mission__close{max-width:min(640px,44.5vw);font-size:clamp(20px,2.22vw,32px)!important;line-height:1.55;position:relative;z-index:3}
#mission .ms-trio{position:absolute;z-index:1;left:calc(64.17vw - var(--msw-left,168px));top:calc(330px - 155px);width:min(531px,36.9vw);height:auto;pointer-events:none}
#mission .ms-type{position:relative;z-index:2}
@media(max-width:900px){
  #mission .ms-type img{width:100%!important}
  #mission .mission__close{max-width:none;font-size:min(5vw,22px)!important}
  #mission .ms-trio{position:relative;left:auto;top:auto;display:block;width:78%;margin:14px auto 0}
}
/* 三銃士はスタジオどおり「見出しに対して」置く（見出しの幅に合わせて一緒に伸び縮み）。見出し幅1019pxのとき 左753・上168・幅531 */
#mission .ms-type{overflow:visible!important}
#mission .ms-type .ms-trio{position:absolute;z-index:1;left:73.9%;top:41.7%;width:52.1%;height:auto;max-width:none;pointer-events:none;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
#mission .ms-type img:not(.ms-trio){position:relative;z-index:2}
@media(min-width:901px){
  #mission .ms-type{margin-top:26px!important}
  #mission .mission__close{margin-top:-14px!important}
  #mission .mfx{margin-top:-13px}
  #mission .mfx__formula .mfx__eq{margin-top:-22px!important}
}
@media(max-width:900px){#mission .ms-type .ms-trio{left:52%;top:55%;width:50%}}
#mission .ms-type .ms-trio{width:52.1%!important}
@media(max-width:900px){#mission .ms-type .ms-trio{width:50%!important}}
@media(max-width:900px){#mission .ms-type .ms-trio{position:relative!important;left:auto!important;top:auto!important;display:block;width:62%!important;margin:-6% 0 0 auto}}
/* スマホ：紙の地を縦長のセクションいっぱいに拡大すると粗くなるので、拡大せずに敷き詰める */
@media(max-width:900px){.sec--light.has-edge::before,.sec--light,#mission.section--bright.has-edge::before{background-image:url(assets/gen/paper_light_tile.webp)!important;background-size:900px auto!important;background-repeat:repeat!important;background-position:center top!important}.sec--dark.has-edge::before,.sec--dark{background-image:url(assets/gen/paper_dark_tile.webp)!important;background-size:900px auto!important;background-repeat:repeat!important;background-position:center top!important}#mission.section--bright{background:transparent!important}}
/* スタジオどおり三銃士の足を説得力の枠の上に重ねる */
@media(min-width:901px){#mission .mission__head{position:relative;z-index:6}#mission .mfx{position:relative;z-index:1}}
@media(min-width:901px){#mission .ms-type .ms-trio{top:calc(41.7% + 44px)!important}}

/* 11/05：三銃士は見出しより手前（関口ケントの頭が見出しの右端に乗る）・足は説得力の枠に少しだけ。見出しの紙は白く明るく。MVVの番号の黄色は方程式と同じ */
#mission .ms-type .ms-trio{z-index:3!important;transform:none!important;transition:none!important}
#mission .ms-type img:not(.ms-trio){z-index:1!important}
@media(min-width:901px){#mission .ms-type .ms-trio{top:calc(41.7% + 2px)!important}}
#mission .mfx__mvvlist .is-fixed .mfx__mvno{background:var(--mfx-yellow)!important}
/* 記事ボタンは外へ飛ばさず物語のポップアップを開く */
html[data-mf="std"] #mission button.mfx__story-article{font-family:inherit;cursor:pointer;appearance:none}
/* 原体験：3枚を重ねた写真は少し大きく・テープなし */
#missionModal .mstep__photo:has(img[src*="origin-collage"]){width:min(400px,96%);filter:drop-shadow(5px 6px 0 rgba(0,0,0,.35))}
#missionModal .mstep__photo:has(img[src*="origin-collage"])::after{display:none}
@media(max-width:900px){#missionModal .mstep__photo:has(img[src*="origin-collage"]){width:min(62%,230px)}}
/* 決め手：2枚を重ねた写真は原体験と同じ大きさ・テープなし */
#missionModal .mstep__photo:has(img[src*="kimete-collage"]){width:min(400px,96%);filter:drop-shadow(5px 6px 0 rgba(0,0,0,.35))}
#missionModal .mstep__photo:has(img[src*="kimete-collage"])::after{display:none}
@media(max-width:900px){#missionModal .mstep__photo:has(img[src*="kimete-collage"]){width:min(62%,230px)}}
/* 11/05：見出しは上から下へワイプで1回（影・光なし）。はっきり見えるよう1.2秒 */
#mission .ms-type img:not(.ms-trio){transition:clip-path 1.2s cubic-bezier(.65,0,.35,1)!important}

/* 11/05：見出しは「どどん」。破れ紙が開いた後、1行目の紙→2行目の紙の順に上から叩きつけるように貼られ、着地のたびに小さく揺れる（ワイプはやめ） */
#mission .ms-type .ms-strip{display:block;opacity:0;transform:translateY(-38px) scale(1.18);transform-origin:50% 60%;will-change:transform,opacity}
#mission .ms-type .ms-strip--2{position:absolute;left:0;right:0;top:0;z-index:1}
#mission .ms-type .ms-strip img{clip-path:none!important;transition:none!important}
#mission .is-in .ms-type .ms-strip--1{animation:ms-slam .42s cubic-bezier(.25,.9,.3,1) both}
#mission .is-in .ms-type .ms-strip--2{animation:ms-slam .42s .34s cubic-bezier(.25,.9,.3,1) both}
@keyframes ms-slam{0%{opacity:0;transform:translateY(-38px) scale(1.18)}55%{opacity:1}78%{transform:translateY(3px) scale(.985)}100%{opacity:1;transform:none}}
#mission .is-in .ms-type{animation:ms-thud .26s .32s ease-out 1,ms-thud2 .3s .66s ease-out 1}
@keyframes ms-thud{0%,100%{transform:none}30%{transform:translate(0,5px)}60%{transform:translate(-2px,-2px)}}
@keyframes ms-thud2{0%,100%{transform:none}30%{transform:translate(0,7px)}55%{transform:translate(3px,-3px)}80%{transform:translate(-1px,1px)}}
#mission .ms-tag{opacity:0;transition:opacity .35s .95s ease!important}
#mission .is-in .ms-tag{opacity:1}
@media(prefers-reduced-motion:reduce){#mission .ms-type .ms-strip{opacity:1!important;transform:none!important;animation:none!important}#mission .is-in .ms-type{animation:none!important}#mission .ms-tag{opacity:1!important}}
/* 11/05 境目の直線を消す：ミッション（z2）がメンバーの破れ縁を覆っていた→後ろのセクションほど手前に。火種はセクション自体に赤を塗っていて縁の上に直線が出ていた→赤は紙の面（::before）だけに */
#members{z-index:3}
#hidane{z-index:4}
#hidane.has-edge{background:none!important}
@media(max-width:900px){#hidane.has-edge::before{background:linear-gradient(180deg,#141012 0,rgba(20,16,18,0) 90px),linear-gradient(180deg,#e0262b 0%,#c41a20 22%,#5a0d10 40%,#141012 58%,#0d0c0e 100%)!important}}
#komon{z-index:5}#vip{z-index:6}#youtube{z-index:7}#videos{z-index:8}#contact{z-index:9}#company{z-index:10}
/* 11/05 火種：赤のグラデーションを上の境目（白い破れ目）の真下から。縁の画像は白い破れ目だけ（黒い紙を抜いた edge_hidane_rim）、赤の面は破れ目と同じ形で切り抜く */
#hidane > .edge{-webkit-mask-image:none!important;mask-image:none!important}
#hidane.has-edge::before{top:0!important;-webkit-mask-image:url(assets/gen/deco/edge_hidane_mask.webp),linear-gradient(#000,#000);mask-image:url(assets/gen/deco/edge_hidane_mask.webp),linear-gradient(#000,#000);-webkit-mask-size:max(100%,720px) auto,100% 100%;mask-size:max(100%,720px) auto,100% 100%;-webkit-mask-position:center top,center calc(max(100vw,720px) * .0954 - 4px);mask-position:center top,center calc(max(100vw,720px) * .0954 - 4px);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
@media(max-width:900px){#hidane.has-edge::before{background:linear-gradient(180deg,#e0262b 0%,#c41a20 22%,#5a0d10 40%,#141012 58%,#0d0c0e 100%)!important}}
/* 11/05 物語：冒頭の動画は右までいっぱいに・03の写真を大きく */
#missionModal .ms__video{max-width:none!important;width:100%}
#missionModal .mstep__photo:has(img[src*="step-04-social"]){width:min(400px,96%)}
@media(max-width:900px){#missionModal .mstep__photo:has(img[src*="step-04-social"]){width:min(62%,230px)}}

/* 11/05 メンバー：暗い紙地＋深紅の生成背景。人物だけをカード面から動かす */
#members{color:#f5f1eb}
#members .tag{background:#8f1d24;color:#fff}
#members .mlead__t,#members .mlead .txt{color:#f5f1eb}
#members .mlead__t .x{color:#c43a40}
#members .mstats .stat{background:#141112;border:1px solid rgba(163,52,58,.62);clip-path:none;box-shadow:0 12px 30px rgba(0,0,0,.24)}
#members .mstats .stat__n{color:#c43a40}
#members .mstats .stat__l{color:#eee7df}
#members .members{align-items:start;gap:clamp(28px,3vw,44px);margin-top:clamp(72px,7vw,108px)}
#members .mcard--k,#members .mcard--d,#members .mcard--n{order:0}
#members .mcard{isolation:isolate;color:#f5f1eb}
#members .mcard__photo{position:relative;aspect-ratio:4/5;overflow:visible;isolation:isolate;transform-origin:center bottom;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
#members .mcard__frame{position:absolute;inset:0;z-index:1;overflow:hidden;border:1px solid rgba(157,48,54,.72);border-radius:20px;background:#100e0f;box-shadow:0 28px 58px -28px rgba(0,0,0,.92),inset 0 0 0 1px rgba(255,255,255,.035)}
#members .mcard__frame::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.08);pointer-events:none}
#members .mcard__bg{width:100%;height:100%;object-fit:cover;transform:scale(1.012)}
#members .mcard__clip{position:absolute;inset:0 -18%;z-index:3;overflow:visible;clip-path:inset(-40% -20% 0 -20%);transform-origin:center bottom;transition:transform .45s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
#members .mcard__cut{position:absolute;left:50%;right:auto;top:auto;bottom:-1px;width:auto;max-width:none;height:var(--person-h,116%);margin:0;transform:translateX(-50%);transform-origin:center bottom;filter:saturate(.78) contrast(1.04) brightness(.9) drop-shadow(0 18px 24px rgba(0,0,0,.46))}
#members .mcard__headline{position:absolute;left:clamp(16px,2vw,24px);right:clamp(16px,2vw,24px);bottom:clamp(16px,2vw,24px);z-index:5;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.9),0 1px 2px #000;pointer-events:none}
#members .mcard__name{font-size:clamp(28px,3vw,44px);line-height:1.05;white-space:nowrap}
#members .mcard__alias{display:inline-block;margin:0 0 6px;padding:.3em .72em .38em;border-left:3px solid #b72f36;background:rgba(10,8,9,.74);font-size:clamp(12px,1.05vw,14px);line-height:1.2;letter-spacing:.08em}
#members .mcard__info{position:relative;z-index:6;margin:18px 0 0;color:#f5f1eb}
#members .badge{right:14px;top:-62px;width:clamp(68px,6vw,88px);border-color:#161213;background:#161213;box-shadow:0 10px 24px rgba(0,0,0,.5)}
#members .mcard__plate{padding:0 4px 4px;transform:none;filter:none;color:#f5f1eb}
#members .mcard__plate::before{display:none}
#members .mcard__org{margin-top:0;padding-right:clamp(78px,7vw,102px);color:#f5f1eb}
#members .mcard__org span{white-space:normal}
#members .mcard__role{color:#bdb4ad}
#members .mcard__catch{color:#fff}
#members .mcard__chips{gap:6px;margin-top:12px}
#members .mcard__chips li{border:1px solid rgba(188,62,68,.7);background:#181415;color:#eee8e1;padding:.24em .62em}
#members .mcard__chips b{color:#fff}
#members .mcard__x{background:#eee8e1;color:#141112;box-shadow:2px 2px 0 #9f252b}
#members .mcard__x:hover,#members .mcard__x:focus-visible{box-shadow:5px 5px 0 #9f252b}
#members .mcard__open{background:#971f26;color:#fff}
#members .mcard:hover .mcard__photo,#members .mcard:focus-within .mcard__photo{transform:translateY(-7px)}
#members .mcard:hover .mcard__clip,#members .mcard:focus-within .mcard__clip{transform:translateY(-16px) scale(1.06)}

@media(max-width:920px){
  #members .members{grid-template-columns:minmax(0,1fr);max-width:520px;gap:112px;margin-top:82px;margin-inline:auto}
  #members .mcard__photo{aspect-ratio:4/5}
  #members .mcard__name{font-size:clamp(34px,7vw,44px)}
  #members .mcard__org{font-size:14px}
}
@media(max-width:520px){
  #members .members{gap:94px;margin-top:72px}
  #members .mcard__frame{border-radius:16px}
  #members .mcard__headline{left:16px;right:16px;bottom:16px}
  #members .mcard__name{font-size:min(9vw,38px)}
  #members .mcard__alias{font-size:12px}
  #members .badge{right:10px;top:-52px;width:70px}
  #members .mcard__org{padding-right:76px;font-size:13px}
  #members .mcard__chips li{font-size:11px}
}
@media(hover:none){
  #members .mcard:hover .mcard__photo{transform:none}
  #members .mcard:hover .mcard__clip{transform:translateY(-7px) scale(1.025)}
  #members .mcard__clip{transform:translateY(-7px) scale(1.025)}
}
@media(prefers-reduced-motion:reduce){
  #members .mcard__photo,#members .mcard__clip{transition:none}
  #members .mcard:hover .mcard__photo,#members .mcard:focus-within .mcard__photo{transform:none}
  #members .mcard:hover .mcard__clip,#members .mcard:focus-within .mcard__clip{transform:none}
}

/* 11/05 戻る時は閉じない（案1）が標準。焦げ跡のオレンジの帯は出さず、ミッションの破れ縁だけで境目にする */
#mission>.tc-scar{display:none!important}

/* 11/05 太客・VIPのカード：吹き出しをやめ、説明は1行の文に */
#vip .entry__lead{margin:.2em 0 1em;font-size:clamp(13px,1.05vw,15px);font-weight:700;line-height:1.7;color:#16161d}
/* 吹き出し用に空けていた余白を詰める */
#vip .entries{margin-top:clamp(20px,2.4vw,36px)!important}
@media(max-width:900px){#vip .entries{margin-top:20px!important;gap:18px!important}}
/* スマホ：数字の箱は中央揃え・端に寄せない（破れた枠に文字が掛からないように） */
@media(max-width:900px){#members .mstats .stat{padding:14px 8px 12px!important;text-align:center;align-items:center;justify-content:center}#members .mstats .stat__n,#members .mstats .stat__l{display:block;width:100%;text-align:center}}

/* 11/05 メンバー：見出しは英語の MEMBERS（ミッションと同じ破れテープ・黒地なので白いテープ）・赤をやめて見出しの青（#009ECA）の暗いトーン・数字は無地の四角・写真はバストアップ・下の文は枠で囲む */
#members .mem-tag{display:block;width:max-content;background:url(assets/gen/deco/tag_white_1.png) center/100% 100% no-repeat!important;background-color:transparent!important;color:#16161d!important;font-family:var(--f-tag);letter-spacing:.12em;padding:.35em 1.1em .4em!important;transform:rotate(-3deg);box-shadow:none!important;clip-path:none!important}
#members .mlead__t .x{color:#009eca}
#members .mstats .stat{background:#0f1820!important;background-image:none!important;border:2px solid #009eca;clip-path:none!important;box-shadow:none}
#members .mstats .stat::before,#members .mstats .stat::after{display:none!important}
#members .mstats .stat__n{color:#2fc0ea}
#members .mstats .stat__l{color:#e9eef2}
#members .mcard__frame{border-color:rgba(0,158,202,.65)}
#members .mcard__alias{border-left-color:#009eca}
#members .mcard__clip{inset:0;clip-path:inset(-30% -20% 0 -20%)}
#members .mcard__cut{height:285%;bottom:auto;top:-6%}
#members .mcard__info{margin-top:16px;padding:16px 18px 18px;border:1px solid rgba(0,158,202,.6);border-radius:14px;background:rgba(8,16,22,.78)}
#members .mcard__chips li{border-color:rgba(0,158,202,.6);background:#0d161d}
#members .mcard__x{box-shadow:2px 2px 0 #009eca}
#members .mcard__x:hover,#members .mcard__x:focus-visible{box-shadow:5px 5px 0 #009eca}
#members .mcard__open{background:#009eca;color:#fff}
@media(max-width:900px){#members .mcard__cut{height:285%;top:-6%}}
/* バストアップの調整：頭だけカードの上端から少し出す・肩は枠の左右で切る・会社名は1〜2文字の行を作らない */
#members .mcard__clip{clip-path:inset(-30% 0 0 0 round 20px)}
#members .mcard__cut{top:-17%!important}
#members .mcard__org{padding-right:clamp(64px,5.4vw,84px)}
#members .mcard__org span{display:block;white-space:nowrap;font-size:clamp(11.5px,.92vw,14px)}
@media(max-width:900px){#members .mcard__cut{height:250%!important;top:-14%!important}#members .mcard__org span{font-size:13px}}
#members .mcard__cut{top:-21%!important}
@media(min-width:901px){#members .members{align-items:stretch}#members .mcard{display:flex;flex-direction:column}#members .mcard__info{flex:1}}
@media(max-width:900px){#members .mcard__cut{top:-18%!important}}

/* 11/05 YUJI指定の写真（関口 A1P0179・ドバシー g05・にしけん A1P0308）をバストアップで。顔の大きさを3人でそろえた画像を、頭だけ上に少し出して置く */
#members .mcard .mcard__cut{height:auto!important;width:118%!important;max-width:none;left:50%;top:-12%!important;bottom:auto!important;transform:translateX(-50%)!important}
@media(max-width:900px){#members .mcard .mcard__cut{width:118%!important;top:-12%!important}}

/* 11/05 メンバー：はみ出す動きをやめ、マウスを乗せると笑顔の写真に切り替わる（6枚とも顔の大きさと位置をそろえた画像）。背景の筆と線はその人のイメージカラー */
#members .mcard .mcard__clip{inset:0!important;clip-path:inset(0 round 20px)!important;transform:none!important;transition:none!important}
#members .mcard .mcard__cut{position:absolute!important;inset:0!important;left:0!important;top:0!important;width:100%!important;height:100%!important;object-fit:cover;object-position:center top;transform:none!important;filter:none!important;transition:opacity .35s ease}
#members .mcard .mcard__cut--smile{opacity:0}
#members .mcard:hover .mcard__cut--smile,#members .mcard:focus-within .mcard__cut--smile{opacity:1}
#members .mcard:hover .mcard__cut:not(.mcard__cut--smile),#members .mcard:focus-within .mcard__cut:not(.mcard__cut--smile){opacity:0}
#members .mcard:hover .mcard__photo,#members .mcard:focus-within .mcard__photo{transform:none!important}
#members .mcard__frame{border-color:color-mix(in srgb,var(--mc) 70%,transparent)}
#members .mcard__alias{border-left-color:var(--mc)}
@media(hover:none){#members .mcard .mcard__cut--smile{opacity:0}}
@media(prefers-reduced-motion:reduce){#members .mcard .mcard__cut{transition:none}}

/* 11/05 MISSION / MEMBERS：高解像度のシームレスタイルを実寸で反復 */
#mission.section--bright.has-edge::before,
#mission.section--bright:not(.has-edge){
  background-color:#e9e5dc!important;
  background-image:url(assets/gen/paper_light_hd.webp)!important;
  background-size:2048px 2048px!important;
  background-position:center top!important;
  background-repeat:repeat!important;
}
#mission.section--bright.has-edge{background:transparent!important}
#members.sec--dark.has-edge{background:none!important}
#members.sec--dark.has-edge::before,
#members.sec--dark:not(.has-edge){
  background-color:var(--ink)!important;
  background-image:url(assets/gen/paper_dark_hd.webp)!important;
  background-size:2048px 2048px!important;
  background-position:center top!important;
  background-repeat:repeat!important;
}

/* 11/05 MVV：Mの四角は黄色から水色に */
#mission .mfx__mvvlist .is-fixed .mfx__mvno{background:#2fc0ea!important;color:#16161d}

/* 11/05 メンバーの詳しいページ：左の写真の切り替え（小さい写真の列）は出さない */
.mm__thumbs{display:none!important}
/* メンバーカード：写真の後ろを中心から放射状に暗くして、宣材写真の暗い背景となじませる */
#members .mcard__frame::after{background:radial-gradient(ellipse 72% 62% at 50% 72%,rgba(9,9,12,.96) 0%,rgba(9,9,12,.9) 38%,rgba(9,9,12,.45) 66%,rgba(9,9,12,0) 88%)!important}
/* 11/05 火種の文字をもっと左へ（PCだけ） */
@media(min-width:901px){#hidane .hidane__type{justify-self:start;margin-left:clamp(-120px,-6vw,-40px)}}

/* 11/05 members_fix2：案1の紋章から3つの数字へ枝分かれ */
#members>.edge{z-index:1}
#members .member-stats{display:grid;grid-template-columns:minmax(210px,27%) 90px minmax(0,1fr);gap:clamp(12px,2.2vw,32px);align-items:center;min-height:330px;margin:clamp(18px,2.4vw,32px) 0 clamp(26px,3.2vw,44px);padding:clamp(18px,2vw,28px);border:1px solid rgba(0,158,202,.28);background:rgba(3,9,13,.58);box-shadow:inset 0 0 40px rgba(0,0,0,.24)}
#members .member-stats__summary{position:relative;min-height:280px;display:flex;align-items:center;justify-content:center;isolation:isolate}
#members .member-stats__summary img{width:min(100%,260px);height:auto;object-fit:contain;filter:drop-shadow(0 0 18px rgba(0,158,202,.2))}
#members .member-stats__summary span{position:absolute;bottom:0;left:50%;transform:translateX(-50%) rotate(-3deg);font:400 clamp(12px,1.1vw,15px)/1.15 'Anton',sans-serif;letter-spacing:.18em;white-space:nowrap;text-align:center;color:#fff}
#members .member-stats__branch{width:105px;height:230px;object-fit:fill;transform:scaleX(-1)}
#members .member-stats .mstats{display:grid;grid-area:auto!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%;margin:0!important;min-width:0}
#members .member-stats .mstats .stat{display:grid!important;grid-template-columns:92px minmax(0,1fr);align-items:center!important;justify-content:stretch!important;min-height:92px;padding:10px 22px 10px 12px!important;text-align:left!important;background:#0f1820!important;border:1px solid rgba(0,158,202,.66)!important;overflow:hidden}
#members .member-stats .mstats .stat>img{display:block;width:76px;height:76px;object-fit:contain;justify-self:center}
#members .member-stats .mstats .stat>div{display:flex;align-items:baseline;gap:clamp(14px,2vw,28px);min-width:0}
#members .member-stats .mstats .stat__n{display:inline!important;flex:0 0 auto;width:auto!important;color:#2fc0ea!important;font-size:clamp(34px,4vw,58px)!important;line-height:1!important;text-align:left!important}
#members .member-stats .mstats .stat__l{display:inline!important;width:auto!important;margin:0;color:#e9eef2!important;font-size:clamp(12px,1.15vw,16px)!important;white-space:nowrap;text-align:left!important}

/* 会社紹介：公式ロゴを会社名と並べる */
.mm__biz-head{display:grid;grid-template-columns:minmax(118px,170px) minmax(0,1fr);align-items:center;gap:14px;margin-bottom:8px}
.mm__biz-logo{display:block;width:100%;height:60px;object-fit:contain;object-position:left center}
.mm__biz-logo--webnesday{height:68px}
.mm__biz-logo--midacy{height:52px}
.mm__biz-logo--technication{height:42px}
.mm__biz-head h5{min-width:0;margin:0}

@media(max-width:900px){
  #members .member-stats{grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;padding:14px}
  #members .member-stats__summary{min-height:132px}
  #members .member-stats__summary img{width:132px}
  #members .member-stats__summary span{left:calc(50% + 92px);bottom:18px;font-size:10px}
  #members .member-stats__branch{width:82px;height:46px;justify-self:center;transform:rotate(90deg) scaleX(-1);object-fit:fill}
  #members .member-stats .mstats{gap:8px!important}
  #members .member-stats .mstats .stat{grid-template-columns:62px minmax(0,1fr);min-height:68px;padding:6px 10px 6px 5px!important;text-align:left!important}
  #members .member-stats .mstats .stat>img{width:56px;height:56px}
  #members .member-stats .mstats .stat>div{justify-content:space-between;gap:8px}
  #members .member-stats .mstats .stat__n{font-size:clamp(26px,8vw,34px)!important;text-align:left!important}
  #members .member-stats .mstats .stat__l{font-size:11px!important;text-align:right!important}
  .mm__biz-head{grid-template-columns:minmax(100px,140px) minmax(0,1fr);gap:10px}
  .mm__biz-logo{height:48px}
  .mm__biz-logo--webnesday{height:56px}
  .mm__biz-logo--midacy{height:42px}
  .mm__biz-logo--technication{height:36px}
}
@media(max-width:420px){
  #members .member-stats .mstats .stat__l{font-size:10px!important}
  .mm__biz-head{grid-template-columns:minmax(0,1fr)}
  .mm__biz-logo{width:min(210px,100%);height:48px}
}
/* 11/05 MEMBERSのテープ：古い暗い画像がブラウザに残らないよう新しい名前に */
#members .mem-tag{background-image:url(assets/gen/deco/tag_white_2.png)!important}
/* 11/05 FV：縦に長い窓（縦長のPC・タブレット縦・背の高いスマホ）で、人物と文字の間が大きく空かないよう、FVの高さを横幅に合わせて上限をかける */
@media (max-width:540px) and (max-aspect-ratio:5/4){html[data-fv="ex"] .fv{min-height:0!important;height:min(100svh,calc(100vw * 2.2))!important}}
@media (min-width:541px) and (max-width:920px) and (max-aspect-ratio:5/4){html[data-fv="ex"] .fv{min-height:0!important;height:min(100svh,calc(100vw * 1.45))!important}}
@media (min-width:921px) and (max-aspect-ratio:1/1){
  .fv-ex,html[data-fv="ex"] .fv{--W:100vw!important}
  html[data-fv="ex"] .fv{min-height:0!important;height:calc(100vw * .5625 + 34px)!important}
}

/* 11/05 火種右カラム再設計：飾りを抑え、共感メッセージ・行動フロー・CTAを整列 */
#hidane .hidane__body{z-index:2;padding-top:clamp(24px,3vw,48px)}
#hidane .em{display:block;width:fit-content;max-width:100%;margin:clamp(22px,2.3vw,32px) 0 0;padding:.3em 0 .42em .72em;border-left:clamp(7px,.7vw,10px) solid #ff5a24;border-bottom:2px solid rgba(255,145,62,.88);font-family:var(--f-tag);font-weight:400;font-size:clamp(22px,2.6vw,38px);line-height:1.45;letter-spacing:.01em;color:#fff;background:none;transform:none;clip-path:none;white-space:normal}
#hidane .em::before{display:none}
#hidane .em__fire{color:#ff8a32}
#hidane .acts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:clamp(24px,2.5vw,34px);border:2px solid rgba(255,255,255,.82);background:#161316}
#hidane .act{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:76px;padding:25px 8px 12px;border-right:1px solid rgba(255,255,255,.32);font-family:var(--f-body);font-weight:900;font-size:clamp(13px,1.25vw,17px);line-height:1.25;text-align:center;color:#fff;background:#161316;transform:none;clip-path:none}
#hidane .act:last-child{border-right:0}
#hidane .act::before{position:absolute;left:10px;top:7px;font-family:'Anton',sans-serif;font-weight:400;font-size:12px;line-height:1;letter-spacing:.12em;color:#ff7130}
#hidane .act:nth-child(1)::before{content:"01"}
#hidane .act:nth-child(2)::before{content:"02"}
#hidane .act:nth-child(3)::before{content:"03"}
#hidane .act:nth-child(4)::before{content:"04"}
#hidane .act:not(:last-child)::after{content:"→";position:absolute;right:-10px;top:50%;z-index:1;display:grid;place-items:center;width:19px;height:19px;transform:translateY(-50%);font-family:var(--f-body);font-size:13px;color:#ff7130;background:#161316}
#hidane .hidane__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:clamp(22px,2.4vw,32px)}
#hidane .hidane__links .btn{width:100%;height:64px;min-width:0;padding:.75em 1em;border-radius:6px;font-size:clamp(12px,1.05vw,15px);white-space:nowrap}
#hidane .hidane__links .ico{width:1.55em;height:1.55em}
#hidane .fist{position:absolute!important;left:auto!important;right:clamp(-104px,-6.5vw,-72px)!important;top:0!important;bottom:auto!important;width:clamp(130px,11vw,180px)!important;margin:0!important;z-index:1!important;opacity:.92}
@media(max-width:900px){
  #hidane .hidane__body{padding-top:0}
  #hidane .em{font-size:clamp(20px,5.8vw,26px)}
  #hidane .fist{right:12px!important;top:clamp(130px,15vw,140px)!important;width:clamp(86px,22vw,120px)!important;z-index:3!important}
}
@media(max-width:620px){
  #hidane .acts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.32)}
  #hidane .act{min-height:68px;border:0}
  #hidane .act::after{display:none!important}
  #hidane .hidane__links{grid-template-columns:minmax(0,1fr);gap:12px}
  #hidane .hidane__links .btn{height:60px;max-width:none;font-size:clamp(11px,3.45vw,14px)}
}
/* 11/05 数字の欄は横並びに戻す（縦並びの形はYUJIが5案から選ぶまで保留） */
#members .mstats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* 11/05 詳しいページ：名前の横に X へのリンク */
.mm__namerow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.mm__namerow .mm__name{margin-right:0}
.mm__xlink{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;background:#16161d;color:#fff;text-decoration:none;font-weight:700;font-size:14px;line-height:1;box-shadow:3px 3px 0 var(--mc,#009eca);transition:transform .15s ease,box-shadow .15s ease}
.mm__xlink svg{width:18px;height:18px;fill:#fff}
.mm__xlink:hover,.mm__xlink:focus-visible{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--mc,#009eca)}
@media(max-width:600px){.mm__xlink{font-size:13px;padding:7px 12px 7px 9px}}
/* 拳を見出しから離してさらに右上へ */
@media(min-width:901px){#hidane .fist{right:clamp(-190px,-11vw,-120px)!important;top:-40px!important}}

/* 11/06 「どどん」の後に3人がシュッと入る（右から少し流れて、ふっと現れる） */
#mission .mission__head .ms-type .ms-trio{opacity:0!important;translate:70px 0;transition:opacity .38s ease .98s,translate .5s cubic-bezier(.16,1,.3,1) .98s!important}
#mission .mission__head.is-in .ms-type .ms-trio{opacity:1!important;translate:0 0}
@media(prefers-reduced-motion:reduce){#mission .mission__head .ms-type .ms-trio{opacity:1!important;translate:0 0;transition:none!important}}

/* 11/06 メンバー欄 fix3：数字を縦1列に統一し、人物の笑顔・光彩を安定させる */
#members .member-stats__summary{margin:0}
#members .member-stats__summary img{max-height:286px}
#members .member-stats .stat::before,#members .member-stats .stat::after{display:none!important}
#members .mcard .mcard__cut{
  filter:drop-shadow(0 0 5px color-mix(in srgb,var(--mc) 42%,transparent)) drop-shadow(0 0 12px color-mix(in srgb,var(--mc) 22%,transparent))!important;
}
#members .mcard .mcard__cut--smile{opacity:0!important}
#members .mcard .mcard__cut:not(.mcard__cut--smile){opacity:1!important}
#members .mcard__photo:is(:hover,:focus-visible) .mcard__cut--smile{opacity:1!important}
#members .mcard__photo:is(:hover,:focus-visible) .mcard__cut:not(.mcard__cut--smile){opacity:0!important}
@media(hover:none){
  #members .mcard__photo:focus:not(:focus-visible) .mcard__cut--smile{opacity:0!important}
  #members .mcard__photo:focus:not(:focus-visible) .mcard__cut:not(.mcard__cut--smile){opacity:1!important}
}
@media(max-width:900px){
  #members .member-stats__summary img{max-height:126px}
  #members .member-stats__summary span{left:calc(50% + 86px)}
}

/* 11/06 ミッションの3人は横から流れず、ふわっと現れる（少し小さい所から、ぼかしが取れて浮かぶ） */
#mission .mission__head .ms-type .ms-trio{translate:0 0!important;scale:.96;filter:blur(6px)!important;transition:opacity .7s ease .95s,scale .9s cubic-bezier(.16,1,.3,1) .95s,filter .7s ease .95s!important}
#mission .mission__head.is-in .ms-type .ms-trio{scale:1;filter:blur(0)!important}
@media(prefers-reduced-motion:reduce){#mission .mission__head .ms-type .ms-trio{scale:1;filter:none!important}}
/* 物語のカード：画像のどこを押しても MVV 合宿の記録が開く */
html[data-mf="std"] #mission .mfx__story{cursor:pointer}
/* 火種の拳：見出し「盲信ではない。」の丸に寄せ、ブラウザの幅で小さくなりすぎないように */
@media(min-width:901px){#hidane .fist{right:clamp(-70px,-3.5vw,-20px)!important;top:-6px!important;width:clamp(170px,13vw,220px)!important}}
@media(min-width:901px){#hidane .fist{right:clamp(-120px,-6.5vw,-50px)!important;top:-78px!important}}
@media(min-width:901px) and (max-width:1200px){#hidane .fist{right:-10px!important;top:-96px!important;width:160px!important}}

/* 11/06 詳しいページ：名前の横に X と Instagram の丸いボタン（閉じるボタン等の四角と区別） */
.mm__xlink{display:none!important}
.mm__social{display:inline-flex;gap:10px;align-items:center}
.mm__sns{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#16161d;color:#fff;box-shadow:0 0 0 3px var(--mc,#009eca);transition:transform .18s ease,box-shadow .18s ease}
.mm__sns svg{width:20px;height:20px;fill:#fff}
.mm__sns--ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.mm__sns:hover,.mm__sns:focus-visible{transform:translateY(-2px) scale(1.06);box-shadow:0 0 0 3px var(--mc,#009eca),0 6px 14px rgba(0,0,0,.25)}
@media(max-width:600px){.mm__sns{width:40px;height:40px}.mm__sns svg{width:18px;height:18px}}

/* 11/06 sections_fix：後半見出し統一・太客/VIP・YouTube＋案件動画 */
.section-en{display:block;width:max-content;margin-bottom:clamp(12px,1.4vw,20px);font-size:clamp(18px,2vw,28px);letter-spacing:.12em}
.section-ja{margin-top:0;margin-bottom:clamp(16px,2vw,28px)}
.section-en--dark{background-image:url(assets/gen/deco/tag_white_2.png)!important;background-color:transparent!important;background-size:100% 100%!important;color:#16161d!important;clip-path:none!important;box-shadow:none!important;transform:rotate(-3deg)}

/* 3人が全身で案内。吹き出しと写真は別レイヤーにして文字が顔へ重ならない。 */
#vip .vip-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.8vw,42px);align-items:end;margin:clamp(24px,3vw,44px) 0 clamp(32px,4vw,58px);padding:0;list-style:none}
#vip .vip-guide{position:relative;display:grid;grid-template-rows:minmax(116px,auto) clamp(350px,34vw,500px) auto;min-width:0;align-items:end;justify-items:center}
#vip .vip-guide__bubble{position:relative;z-index:2;align-self:start;width:100%;min-height:96px;margin:0 0 16px;padding:18px 20px;border:3px solid #16161d;border-radius:18px;background:#fff;color:#16161d;box-shadow:5px 5px 0 #009eca;font-weight:900;font-size:clamp(14px,1.25vw,17px);line-height:1.65;text-align:left;text-wrap:pretty}
#vip .vip-guide__bubble::after{content:"";position:absolute;left:50%;bottom:-13px;width:21px;height:21px;border-right:3px solid #16161d;border-bottom:3px solid #16161d;background:#fff;transform:translateX(-50%) rotate(45deg)}
#vip .vip-guide img{display:block;z-index:1;width:auto;max-width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 14px rgba(0,0,0,.28))}
#vip .vip-guide__name{position:relative;z-index:2;width:max-content;margin:-4px 0 0;padding:7px 18px 8px;border:2px solid #fff;background:#16161d;color:#fff;font-family:var(--f-tag);font-size:clamp(14px,1.25vw,17px);line-height:1;box-shadow:3px 3px 0 #009eca}

/* スポンサーロゴは全領域をクリック可能にする。 */
#vip .vips a,#vip .marquee a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
#vip .vips a:focus-visible,#vip .marquee a:focus-visible{outline:4px solid #009eca;outline-offset:3px}

/* 超太客帯：上下動・傾き・破れ形を除き、水平かつ一定速度。 */
#vip .marquee{overflow:hidden;padding:18px 0;border-top:2px solid rgba(22,22,29,.2);border-bottom:2px solid rgba(22,22,29,.2);clip-path:none!important;background:#fff}
#vip .marquee__track{display:flex;align-items:center;width:max-content;background:#fff!important;animation:scroll 54s linear infinite!important;will-change:transform}
#vip .marquee:hover .marquee__track,#vip .marquee:focus-within .marquee__track{animation-play-state:paused!important}
#vip .marquee li{display:flex;align-items:center;justify-content:center;flex:none;height:84px;margin:0 36px 0 0;padding:4px 8px;transform:none!important}
#vip .marquee img{display:block;max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:normal;transform:none!important}

/* YouTube と案件動画を同じセクションで連続して見せる。 */
#youtube .videos-inline__head{align-items:center;margin-top:clamp(38px,5vw,72px);padding-top:clamp(28px,3.5vw,46px);border-top:3px solid #16161d}
#youtube .videos-inline__title{margin:0;font-family:var(--f-tag);font-size:clamp(24px,3.1vw,44px);font-weight:400;line-height:1.2}
#youtube .videos-inline__scroll{margin-top:8px}

@media(max-width:900px){
  .section-en{margin-bottom:10px;font-size:20px}
  .section-ja{margin-bottom:18px}
  #vip .vip-guides{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:24px}
  #vip .vip-guide{grid-template-columns:minmax(0,1fr) minmax(132px,42%);grid-template-rows:auto minmax(270px,58vh) auto;column-gap:10px;align-items:end}
  #vip .vip-guide__bubble{grid-column:1;grid-row:2;align-self:center;margin:0;padding:16px;min-height:0;font-size:15px}
  #vip .vip-guide__bubble::after{left:auto;right:-12px;bottom:34%;transform:rotate(-45deg)}
  #vip .vip-guide img{grid-column:2;grid-row:1/4;width:100%;height:100%;max-height:410px}
  #vip .vip-guide__name{grid-column:1;grid-row:3;justify-self:start;margin:0 0 8px}
  #vip .marquee li{height:70px;margin-right:24px}
  #youtube .videos-inline__head{margin-top:40px;padding-top:28px}
}
@media(max-width:520px){
  #vip .vip-guide{grid-template-columns:minmax(0,1fr) minmax(118px,40%);grid-template-rows:auto minmax(250px,52vh) auto}
  #vip .vip-guide__bubble{padding:14px 13px;font-size:13px;line-height:1.65;border-radius:14px;box-shadow:4px 4px 0 #009eca}
  #vip .vip-guide__name{font-size:13px;padding:6px 12px 7px}
  #youtube .videos-inline__title{font-size:26px}
  #youtube .vnav__b{width:52px;height:42px}
}
@media(prefers-reduced-motion:reduce){
  #vip .marquee{overflow-x:auto}
  #vip .marquee__track{animation:none!important;flex-wrap:nowrap;width:max-content}
  #vip .marquee li[aria-hidden="true"]{display:none}
}

/* 11/06 ヘッダー：FVの最初は左上のロゴを出さない（スクロールして黒いバーになったら出す）。メニューの文字はスクロール前後で同じ位置 */
.hd:not(.is-scrolled) .hd__logo{visibility:hidden!important}
@media(min-width:921px){.hd .hd__nav{padding:6px 16px!important}}
/* FVのボタン：下の破れ紙の区切りに掛からないよう少し上へ */
@media (min-width:921px){html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{bottom:calc(var(--W) * .5625 * .11 + 10px)!important}}
@media (max-width:920px) and (max-aspect-ratio:5/4){html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{bottom:calc(30px + 6vw)!important}}
/* メンバー：光彩をもっと淡く（メンバー色は薄く、ほぼ白っぽい光） */
#members .mcard .mcard__cut{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--mc) 16%,rgba(255,255,255,.12))) drop-shadow(0 0 10px color-mix(in srgb,var(--mc) 8%,transparent))!important}
/* 詳しいページ：X・Instagram のボタンを名前の高さの真ん中に */
.mm__namerow{align-items:center!important}
.mm__namerow .mm__name{line-height:1.1;margin-bottom:0}
.mm__social{align-self:center;transform:translateY(4px)}

/* 11/06 拳は前の大きさに戻す（見出しの句点の右上に JS で置く） */
@media(min-width:901px){#hidane .fist{width:clamp(130px,11vw,180px)!important;bottom:auto!important}}

/* 11/06 komon_fix：一次情報に合わせたプラン表示と、プラン飾りの動きを整理 */
#komon .plan__perk .pl small{display:block;margin-top:.35em;font-size:.78em;line-height:1.55;color:#555b66}

/* 四角い切れ目が見えないよう、回転光の外周をぼかしながらマスクで消す。 */
#komon .orn__ring{
  inset:-24px;
  border-radius:30px;
  filter:blur(10px);
  -webkit-mask-image:radial-gradient(ellipse at center,#000 0 52%,rgba(0,0,0,.88) 64%,rgba(0,0,0,.36) 78%,transparent 100%);
  mask-image:radial-gradient(ellipse at center,#000 0 52%,rgba(0,0,0,.88) 64%,rgba(0,0,0,.36) 78%,transparent 100%);
}
#komon .plan--chou .orn__ring,#komon .plan--vip .orn__ring{inset:-26px}

/* 太客：炎を上へ移し、伸縮・濃淡変更をやめて小さく揺らすだけにする。 */
#komon .plan--futo .plan__badge{top:-48px!important;transform-origin:50% 88%}

/* 超太客：追加した黄色い星をカード下に置き、既存の光より手前へ。 */
#komon .plan--chou .plan__orn img[src*="vip_stars"]{z-index:3}

/* FAQは顧問の動く背景から分離し、ページ下部の静かな生成り面に固定。 */
#faq{color:var(--ink)}
#faq .big{color:var(--ink)}
#faq .faq-wrap{max-width:980px}
#faq .u044{overflow-anchor:none;isolation:isolate;margin-top:clamp(18px,2.4vw,30px)}
#faq .u044-it{background:#fff;border:1px solid #dad7cf;box-shadow:none;border-radius:14px;overflow:hidden}
#faq .u044-it.open{background:#fff;box-shadow:0 14px 28px rgba(20,24,32,.09);transform:none}
#faq .u044-q{min-height:62px;border-radius:14px}
#faq .u044-n{color:var(--heading-blue)}
#faq .u044-pm{background:#eef7fa}
#faq .u044-it.open .u044-pm{background:var(--heading-blue)}
#faq .u044-body{will-change:grid-template-rows;transition:grid-template-rows .42s cubic-bezier(.22,1,.36,1)}
#faq .u044-a{transition:opacity .22s ease,transform .36s cubic-bezier(.22,1,.36,1)}

@media(prefers-reduced-motion:no-preference){
  @keyframes komon-flame-waver{
    0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}
    28%{transform:translate3d(-1px,-1px,0) rotate(1.2deg)}
    62%{transform:translate3d(1px,0,0) rotate(-.7deg)}
  }
  @keyframes komon-bolt-tremble{
    0%,72%,100%{transform:translate3d(0,0,0) rotate(0deg)}
    76%{transform:translate3d(-2px,1px,0) rotate(-1deg)}
    80%{transform:translate3d(2px,-1px,0) rotate(1deg)}
    84%{transform:translate3d(-1px,0,0) rotate(-.6deg)}
    88%{transform:translate3d(1px,1px,0) rotate(.5deg)}
    92%{transform:translate3d(0,0,0) rotate(0deg)}
  }
  @keyframes komon-crown-divine{
    0%,100%{filter:brightness(1.02) saturate(1.04) drop-shadow(0 0 7px rgba(255,207,78,.56)) drop-shadow(0 0 16px rgba(255,229,144,.26))}
    48%{filter:brightness(1.24) saturate(1.16) drop-shadow(0 0 13px rgba(255,210,74,.9)) drop-shadow(0 0 27px rgba(255,240,178,.68))}
    56%{filter:brightness(1.12) saturate(1.1) drop-shadow(0 0 18px rgba(255,244,198,.84)) drop-shadow(0 0 34px rgba(255,213,91,.48))}
  }
  #komon .plan--futo .plan__badge{animation:komon-flame-waver 2.15s ease-in-out infinite!important}
  #komon .plan--chou .plan__orn img[src*="bolt"]{animation:komon-bolt-tremble 2.8s linear infinite!important}
  #komon .plan--vip .plan__badge{animation:komon-crown-divine 4.8s ease-in-out infinite!important}
}
@media(max-width:920px){
  #komon .plan--futo .plan__badge{top:-38px!important}
  #faq .u044-q{padding-inline:14px;min-height:58px}
  #faq .u044-a{padding-left:16px}
}
@media(prefers-reduced-motion:reduce){
  #komon .plan--futo .plan__badge,#komon .plan--chou .plan__orn img[src*="bolt"],#komon .plan--vip .plan__badge{animation:none!important}
}

/* 11/06 YUJI：超太客のお茶は途中で折り返さない／関口は顧問プランの説明役・VIPはドバシー左＋にしけん */
.plan__perk .nw,#vip .nw,.komon-guide .nw{white-space:nowrap}
.plan__perk .pl--tea small{display:block;font-size:.82em;opacity:.8;margin-top:2px}
#vip .vip-guides--two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px;margin-left:auto;margin-right:auto}
.komon__head{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(16px,3vw,48px)}
.komon__head .komon__title{min-width:0;flex:1 1 auto}
.komon-guide{position:relative;flex:0 0 auto;display:flex;align-items:flex-end;gap:10px;margin-bottom:-8px}
.komon-guide img{display:block;width:auto;height:clamp(240px,22vw,330px);filter:drop-shadow(0 8px 12px rgba(0,0,0,.22))}
.komon-guide__bubble{position:relative;align-self:center;margin:0;padding:16px 18px;max-width:300px;border:3px solid #16161d;border-radius:18px;background:#fff;color:#16161d;box-shadow:5px 5px 0 #009eca;font-weight:900;font-size:clamp(14px,1.15vw,16px);line-height:1.65}
.komon-guide__bubble::after{content:"";position:absolute;right:-13px;top:50%;width:21px;height:21px;border-right:3px solid #16161d;border-top:3px solid #16161d;background:#fff;transform:translateY(-50%) rotate(45deg)}
@media(max-width:900px){
  .komon__head{flex-direction:column;align-items:stretch}
  .komon-guide{justify-content:flex-end;margin-bottom:0}
  .komon-guide img{height:min(300px,40vh)}
  .komon-guide__bubble{max-width:none;flex:1 1 auto;font-size:14px;padding:13px 14px}
  #vip .vip-guides--two{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:900px){#vip .vip-guide{grid-template-rows:auto auto auto!important}#vip .vip-guide img{height:320px!important;max-height:none!important;width:auto!important;justify-self:center}#vip .vip-guides{gap:16px!important}}

/* 11/06 layout_1106：見出し札・人物配置・動画操作（brief指定の末尾上書き） */
.section-en,.section-en--dark{
  display:block!important;width:max-content!important;
  background:url(assets/gen/deco/tag_white_2.png) center/100% 100% no-repeat!important;
  background-color:transparent!important;color:#16161d!important;
  font-family:var(--f-tag)!important;font-size:clamp(18px,2vw,28px)!important;
  line-height:1.2!important;letter-spacing:.12em!important;
  margin-bottom:clamp(12px,1.4vw,20px)!important;padding:.35em 1.1em .4em!important;
  transform:rotate(-3deg)!important;clip-path:none!important;box-shadow:none!important;
}
#komon .section-en,#vip .section-en,#youtube .section-en,#faq .section-en,#contact .section-en,#company .section-en{
  background-image:url(assets/gen/deco/tag_white_2.png)!important;
  background-color:transparent!important;color:#16161d!important;
}

/* 火種：Xボタン右隣にドバシー。拳の指定には触れない。 */
#hidane .hidane-guide{position:absolute;z-index:2;right:clamp(-130px,-7vw,-64px);bottom:-18px;width:clamp(150px,15vw,220px);height:clamp(330px,31vw,455px);pointer-events:none}
#hidane .hidane-guide img{position:absolute;right:0;bottom:0;display:block;width:auto;height:100%;filter:drop-shadow(0 10px 14px rgba(0,0,0,.3))}
#hidane .hidane-guide__bubble{position:absolute;z-index:2;right:74%;top:16%;width:clamp(190px,17vw,250px);margin:0;padding:14px 16px;border:3px solid #16161d;border-radius:18px;background:#fff;color:#16161d;box-shadow:5px 5px 0 #009eca;font-weight:900;font-size:clamp(13px,1.05vw,15px);line-height:1.65}
#hidane .hidane-guide__bubble::after{content:"";position:absolute;right:-13px;top:55%;width:21px;height:21px;border-right:3px solid #16161d;border-top:3px solid #16161d;background:#fff;transform:translateY(-50%) rotate(45deg)}

/* 顧問：本文を読みやすい幅にし、黒い箱の右側に関口ケントを大きく配置。 */
#komon .komon__head{display:block}
#komon .komon__about{max-width:1120px}
#komon .komon__about>.txt{max-width:780px;line-height:2}
#komon .komon__pinch{position:relative;display:grid;grid-template-columns:minmax(0,1fr) clamp(270px,28vw,390px);align-items:end;min-height:clamp(360px,38vw,500px);margin-top:clamp(130px,13vw,180px);padding:clamp(24px,3vw,42px);overflow:visible}
#komon .komon__pinch-copy{align-self:center;max-width:600px;padding-right:24px}
#komon .komon-guide{position:absolute;right:clamp(8px,2vw,30px);bottom:0;width:clamp(270px,28vw,390px);height:clamp(430px,44vw,590px);margin:0;display:block}
#komon .komon-guide img{position:absolute;right:0;bottom:0;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:right bottom}
#komon .komon-guide__bubble{position:absolute;z-index:2;right:76%;top:14%;width:clamp(230px,20vw,300px);max-width:none}

/* 太客・VIP：帯を縮め、右端ににしけん。 */
#vip .vip-marquee-row{display:grid;grid-template-columns:minmax(0,1fr) clamp(190px,20vw,280px);align-items:end;gap:clamp(12px,2vw,28px);margin-top:clamp(12px,2vw,24px)}
#vip .vip-marquee-row .marquee{min-width:0;margin:0}
#vip .vip-marquee-row .vip-guide{position:relative;display:block;height:clamp(330px,34vw,470px);min-width:0}
#vip .vip-marquee-row .vip-guide img{position:absolute;right:0;bottom:0;display:block;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 10px 14px rgba(0,0,0,.28))}
#vip .vip-marquee-row .vip-guide__bubble{position:absolute;z-index:2;right:72%;top:14%;width:clamp(220px,20vw,290px);min-height:0;margin:0}
#vip .vip-marquee-row .vip-guide__bubble::after{left:auto;right:-13px;bottom:auto;top:55%;transform:translateY(-50%) rotate(-45deg)}

/* 動画：青い紙ボタン＋白三角。案件動画はドラッグ／ホイール操作。 */
.ytcard__thumb::after,.vcard__thumb::after{content:"";position:absolute;z-index:1;left:50%;top:50%;width:clamp(48px,6vw,84px);aspect-ratio:1;border-radius:50%;background:#009eca;transform:translate(-50%,-50%)}
.ytcard__thumb .ytcard__play,.vcard__thumb .vcard__play{z-index:2;mix-blend-mode:screen}
.vscroll{cursor:grab;user-select:none}
.vscroll.is-dragging{cursor:grabbing;scroll-snap-type:none}

@media(max-width:900px){
  .section-en,.section-en--dark{font-size:20px!important;margin-bottom:10px!important}
  #hidane .hidane__body{padding-right:0}
  #hidane .hidane-guide{position:relative;right:auto;bottom:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,42%);align-items:end;width:100%;height:min(360px,58vh);margin-top:18px}
  #hidane .hidane-guide img{grid-column:2;position:relative;width:auto;height:100%;max-width:100%;justify-self:end}
  #hidane .hidane-guide__bubble{grid-column:1;grid-row:1;position:relative;right:auto;top:auto;width:auto;align-self:center;padding:13px 14px;font-size:14px}
  #hidane .hidane-guide__bubble::after{top:55%}
  #komon .komon__about>.txt br{display:none}
  #komon .komon__pinch{display:block;min-height:0;margin-top:18px;padding:22px 18px}
  #komon .komon__pinch-copy{padding:0}
  #komon .komon-guide{position:relative;right:auto;bottom:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,42%);align-items:end;width:100%;height:min(390px,58vh);margin:18px 0 -22px}
  #komon .komon-guide img{grid-column:2;position:relative;width:auto;height:100%;max-width:100%;justify-self:end}
  #komon .komon-guide__bubble{grid-column:1;grid-row:1;position:relative;right:auto;top:auto;width:auto;align-self:center;color:#16161d;font-size:13px}
  #vip .vip-marquee-row{display:block}
  #vip .vip-marquee-row .vip-guide{display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,42%);align-items:end;height:min(380px,58vh);margin-top:18px}
  #vip .vip-marquee-row .vip-guide img{grid-column:2;position:relative;width:auto;height:100%;max-width:100%;justify-self:end}
  #vip .vip-marquee-row .vip-guide__bubble{grid-column:1;grid-row:1;position:relative;right:auto;top:auto;width:auto;align-self:center;padding:14px 13px;font-size:13px}
  #vip .vip-marquee-row .vip-guide__bubble::after{top:55%}
  .vscroll{--vp:18px;--cw:78vw}
}

/* 11/06 members_1106b：光彩は胸元だけに残し、頭側では消す。名前の背後だけを暗くする。 */
#members .mcard .mcard__cut{filter:none!important}
#members .mcard .mcard__glow{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover;object-position:center top;opacity:1;
  filter:drop-shadow(0 0 4px color-mix(in srgb,var(--mc) 16%,rgba(255,255,255,.12))) drop-shadow(0 0 10px color-mix(in srgb,var(--mc) 8%,transparent));
  -webkit-mask-image:linear-gradient(to top,#000 0%,#000 38%,rgba(0,0,0,.42) 58%,transparent 82%);
  mask-image:linear-gradient(to top,#000 0%,#000 38%,rgba(0,0,0,.42) 58%,transparent 82%);
  transition:opacity .35s ease;
}
#members .mcard .mcard__glow--smile{opacity:0}
#members .mcard__photo:is(:hover,:focus-visible) .mcard__glow--smile{opacity:1}
#members .mcard__photo:is(:hover,:focus-visible) .mcard__glow:not(.mcard__glow--smile){opacity:0}
#members .mcard__photo::after{
  content:"";position:absolute;z-index:4;left:0;right:0;bottom:0;height:43%;
  border-radius:0 0 20px 20px;pointer-events:none;
  background:linear-gradient(to top,rgba(0,0,0,.58) 0%,rgba(0,0,0,.48) 34%,rgba(0,0,0,.18) 70%,transparent 100%);
}
@media(hover:none){
  #members .mcard .mcard__glow--smile{opacity:0}
}
@media(prefers-reduced-motion:reduce){
  #members .mcard .mcard__glow{transition:none}
}

/* 11/06 Claude 確認後の直し：火種のボタンは縦に2つ（文字がはみ出さない）・関口の箱は元の高さで箱の上に立つ・にしけんは帯のすぐ右 */
@media(min-width:901px){
  #komon .komon__pinch{min-height:0!important;margin-top:clamp(24px,2.4vw,36px)!important;padding:clamp(22px,2.4vw,32px) clamp(24px,3vw,40px)!important;grid-template-columns:minmax(0,1fr) clamp(250px,25vw,340px)!important}
  #komon .komon-guide{height:clamp(380px,34vw,470px)!important;width:clamp(250px,25vw,340px)!important;bottom:0!important}
  #komon .komon-guide__bubble{top:4%!important;right:82%!important}
  #vip .vip-marquee-row{position:relative;display:block!important;padding-right:calc(clamp(190px,18vw,260px) + clamp(12px,2vw,28px))}
  #vip .vip-marquee-row .vip-guide{position:absolute!important;right:0;bottom:0;width:clamp(190px,18vw,260px);height:clamp(360px,32vw,450px)!important}
  #vip .vips{margin-right:calc(clamp(190px,18vw,260px) + clamp(12px,2vw,28px))}
  #vip .vip-marquee-row .vip-guide__bubble{top:auto!important;bottom:calc(100% - 92px)!important;right:88%!important}
}
@media(min-width:901px){
  #hidane .hidane-guide__bubble{top:-14%!important;right:46%!important;width:clamp(180px,15vw,220px)!important}
  #komon .komon-guide__bubble{top:16%!important;right:80%!important}
  #vip .vip-marquee-row .vip-guide__bubble{bottom:calc(100% - 30px)!important}
}
@media(min-width:901px){#vip .vip-marquee-row .vip-guide__bubble{bottom:calc(100% - 50px)!important}}
@media(min-width:901px) and (max-width:1199px){
  #vip .vip-marquee-row .vip-guide__bubble{right:62%!important;width:200px!important;bottom:calc(100% + 0px)!important}
  #hidane .hidane-guide__bubble{top:-24%!important}
}

/* 11/06 YUJI 決定：数字の欄の左はロゴD-05-2（枠なし・黒地）、アイコンはC＋今の虎（暗い所を白に）、言葉は右端にそろえる */
#members .member-stats{grid-template-columns:minmax(0,46%) minmax(0,1fr)!important;gap:clamp(24px,4vw,64px)!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important}
#members .member-stats::before,#members .member-stats::after{display:none!important}
#members .member-stats__summary{min-height:0!important;margin:0!important}
#members .member-stats__summary img.sl-logo{width:100%!important;max-width:460px!important;max-height:400px!important;height:auto!important;object-fit:contain;filter:none!important}
#members .member-stats .mstats .stat>div{justify-content:space-between!important;width:100%!important;align-items:baseline!important}
#members .member-stats .mstats .stat__l{margin-left:auto!important;text-align:right!important}
@media(max-width:900px){#members .member-stats{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}#members .member-stats__summary img.sl-logo{max-width:280px!important;max-height:260px!important}}

/* ===== 11/06 fix_1106c ===== */
/* 2-1 笑顔のときも体まわりの光を通常と同じ強さに：通常用の光の層を消さずに残し（頭側は元のマスクで薄いまま）、笑顔用の光を重ねる */
/* 11/06 取り消し：通常用の光の層を残すと、笑顔の後ろに真顔の影が透けて見えた（YUJI 指摘）。通常用の層は笑顔の時に消し、笑顔用の光だけを少し強くする */
#members .mcard__photo:is(:hover,:focus-visible) .mcard__glow:not(.mcard__glow--smile){opacity:0!important}
#members .mcard .mcard__glow--smile{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--mc) 22%,rgba(255,255,255,.16))) drop-shadow(0 0 12px color-mix(in srgb,var(--mc) 12%,transparent))!important}

/* ===== 11/06 fv_sp_1106：スマホFVをPC版と同じ密度へ ===== */
@media (max-width:920px) and (max-aspect-ratio:5/4){
  html[data-fv="ex"] .fv{
    height:100svh!important;min-height:0!important;overflow:hidden!important;
  }
  html[data-fv="ex"] .fv>.fv-layer.fv-ex{overflow:hidden!important}
  .fv-ex__stage{
    left:0!important;top:0!important;bottom:auto!important;
    width:100%!important;height:100%!important;transform:none!important;
  }
  .fv-ex__trio{
    left:50%!important;top:calc(var(--hh) + 1vw)!important;
    width:112vw!important;max-width:none!important;
    transform:translateX(-50%)!important;clip-path:inset(0 0 37% 0);
  }
  .fv-ex__logo{
    left:50%!important;top:31%!important;width:min(78vw,560px)!important;
    transform:translateX(-50%)!important;
  }
  .fv-ex__text{
    left:50%!important;top:auto!important;
    bottom:calc(146px + 4vw + clamp(0px,calc((100svh - 667px) * .5),126px))!important;
    width:min(94vw,700px)!important;transform:translateX(-50%)!important;
  }
  .fv-ex__divider{
    height:clamp(112px,27vw,205px)!important;
    background:url(assets/fv-extract/divider-sp.webp) center bottom/100% 100% no-repeat!important;
  }
  html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{
    left:50%!important;right:auto!important;
    bottom:clamp(14px,calc(14px + (100svh - 667px) * .5),140px)!important;
    width:min(92vw,700px)!important;transform:translateX(-50%)!important;
    gap:8px!important;
  }
  html[data-fv="ex"] .fv-button,
  html[data-fv="ex"] .fv-button--openchat,
  html[data-fv="ex"] .fv-button--x{
    width:100%!important;height:52px!important;min-height:52px!important;
  }
  html[data-fv="ex"] .fv-button a{font-size:clamp(13px,3.6vw,18px)!important}
  html[data-fv="ex"] .fv-button a svg{width:1.45em!important;height:1.45em!important}
}

@media (min-width:541px) and (max-width:920px) and (max-aspect-ratio:5/4){
  .fv-ex__trio{width:100vw!important;top:calc(var(--hh) - 1vw)!important;clip-path:inset(0 0 42% 0)}
  .fv-ex__logo{top:34%!important;width:68vw!important}
  .fv-ex__text{bottom:calc(78px + 4vw)!important;width:80vw!important}
  html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{
    bottom:14px!important;width:94vw!important;flex-direction:row!important;
  }
  html[data-fv="ex"] .fv-button,
  html[data-fv="ex"] .fv-button--openchat,
  html[data-fv="ex"] .fv-button--x{height:54px!important;min-height:54px!important}
  html[data-fv="ex"] .fv-button a{font-size:clamp(14px,2.25vw,18px)!important}
}

/* 2-3 火種のドバシー：本文・ボタンは元の幅のまま。ドバシーは1.35倍・右の空きに立たせ、吹き出しは頭の上（本文の右の空き）へ */
@media(min-width:901px){
  #hidane .hidane-guide{right:clamp(-215px,-10.6vw,-96px)!important;bottom:-18px!important;width:clamp(200px,20vw,300px)!important;height:clamp(446px,41.8vw,615px)!important}
  #hidane .hidane-guide__bubble{top:auto!important;right:6%!important;bottom:calc(100% + 14px)!important;width:clamp(190px,16vw,240px)!important}
  #hidane .hidane-guide__bubble::after{right:auto!important;left:58%!important;top:auto!important;bottom:-13px!important;transform:translateX(-50%) rotate(135deg)!important}
}
@media(min-width:901px){#hidane .hidane{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr)}#hidane .hidane__body{max-width:640px}#hidane .hidane-guide{right:auto!important;left:calc(100% + 16px)!important;width:clamp(190px,16.4vw,300px)!important;height:auto!important;aspect-ratio:512/1365;bottom:-18px!important}#hidane .hidane-guide img{height:100%!important;width:100%!important}}

/* 3-3 吹き出しを本文の右横の高さへ上げ、箱との間の空白を詰める */
@media(min-width:901px){
  #komon .komon-guide__bubble{top:12%!important;right:84%!important}
}

/* 3-4 スポンサー：にしけんを外し、帯とロゴの段は元の幅いっぱい。人物の列分の余白指定を外す */
@media(min-width:901px){
  #vip .vips{margin-right:0!important}
  #vip .vip-marquee-row{padding-right:0!important}
}
/* 見出し（札と大見出し）を、上の境目の飾り・背景の絵より手前に出し、黒い影がかからないようにする */
#vip>.wrap,#contact>.wrap,#youtube>.wrap,#komon>.wrap,#company>.wrap{position:relative;z-index:5}
#vip .section-en,#contact .section-en{position:relative;z-index:6}
#vip>.deco,#contact>.deco{z-index:1}
#vip>.wrap{padding-top:0}
/* FOR BUSINESS：上からの黒いグラデーションをかけない（境目の飾りは切り口だけ残して、下へ伸ばさない） */
#contact>.edge{filter:none!important;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 30%,transparent 46%)!important;mask-image:linear-gradient(to bottom,#000 0,#000 30%,transparent 46%)!important}
#contact .deskc h3{font-family:'Noto Sans JP',sans-serif!important;font-weight:900!important;font-size:clamp(17px,1.7vw,22px)!important;letter-spacing:.02em}
#contact .deskc p{font-family:'Noto Sans JP',sans-serif!important;font-weight:700!important;font-size:clamp(13px,1.2vw,15px)!important}

/* 見出しの札：暗い背景＝白い破れテープ＋黒字／明るい背景＝黒い破れテープ＋白字 */
#komon .section-en,#youtube .section-en,#company .section-en{
  background-image:url(assets/gen/deco/tag_black_1.png)!important;background-color:transparent!important;color:#fff!important;
}

/* YouTube：チャンネル登録のベル */
#youtube .ytrow .ico--bell{width:1.35em;height:1.35em;flex:none;color:#fff}

/* 案件動画の横スクロール：左右の丸ボタン＋下のドット */
.vwrap{position:relative}
.vbtn{position:absolute;z-index:6;top:calc(18px + min(480px,calc((100vw - 100px) / 2.5)) * .28125);transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:0;background:#009eca;color:#fff;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.22);transition:transform .18s,box-shadow .18s,opacity .25s}
.vbtn svg{width:26px;height:26px}
.vbtn--prev{left:clamp(10px,2vw,28px)}
.vbtn--next{right:clamp(10px,2vw,28px)}
.vbtn:hover,.vbtn:focus-visible{transform:translateY(-50%) scale(1.08);box-shadow:0 6px 16px rgba(0,0,0,.28)}
.vbtn:focus-visible{outline:3px solid #16161d;outline-offset:3px}
.vbtn[hidden]{display:none}
.vdots{display:flex;justify-content:center;gap:10px;margin-top:2px;padding-bottom:6px}
.vdots i{display:block;width:10px;height:10px;border-radius:999px;background:rgba(22,22,29,.25);transition:width .25s,background .25s}
.vdots i.is-on{width:34px;background:#009eca}
@media(max-width:900px){.vbtn{display:none!important}}
/* フッター：文字が街の明かりに乗らないよう、内容を暗い面へ下げる */
.ft__bg{background-size:max(100%,900px) auto!important;background-position:center top!important}
.ft{padding-top:calc(var(--eh) * .55 + clamp(120px,15vw,210px))!important}
.vwrap{margin-top:clamp(18px,2.4vw,32px)}
.ft__copy,.ft__legal,.ft__made{text-shadow:0 1px 6px #000}
@media(min-width:901px){.ft__copy,.ft__legal{position:relative;top:56px}}

/* 901〜1439px：横に空きが足りないので、ボタンの下に「吹き出し（左）＋ドバシー（右）」で置く */
@media(min-width:901px) and (max-width:1439px){
  #hidane .hidane{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
  #hidane .hidane-guide{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;width:100%!important;max-width:640px;height:auto!important;aspect-ratio:auto;margin-top:22px}
  #hidane .hidane-guide img{position:relative!important;grid-column:2;width:auto!important;height:clamp(300px,34vw,400px)!important;right:auto!important;bottom:auto!important}
  #hidane .hidane-guide__bubble{position:relative!important;grid-column:1;grid-row:1;align-self:center;top:auto!important;right:auto!important;bottom:auto!important;width:auto!important;max-width:260px;justify-self:end}
  #hidane .hidane-guide__bubble::after{right:-13px!important;left:auto!important;top:55%!important;bottom:auto!important;transform:translateY(-50%) rotate(45deg)!important}
}
/* 顧問の左の飾り：幅が狭い画面で本文に重ならない大きさに */
@media(min-width:901px){#komon>.deco.sd{width:clamp(60px,calc((100vw - 1104px) / 2 + 70px),15vw)}}
@media(min-width:1700px){#hidane .hidane-guide__bubble{right:-30%!important}#hidane .hidane-guide__bubble::after{left:48%!important}}
@media(min-width:1700px){#hidane .hidane-guide{width:250px!important}}

/* ===== 11/06 sp_1106d ===== */
/* --- 1 メンバーのポップアップ：数字の3つはスマホでも3列。「令和の虎 出演」の札は出さない --- */
.mm__lt{display:none!important}
@media(max-width:600px){
  .mm__stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .mm__stat{padding:10px 3px!important;min-width:0}
  .mm__stat b{font-size:clamp(15px,5.1vw,26px)!important;white-space:nowrap}
  .mm__stat small{font-size:.62em!important;margin-left:1px}
  .mm__stat span{white-space:nowrap;font-size:clamp(9.5px,2.85vw,12px)!important;letter-spacing:-.02em;line-height:1.4}
}

/* --- 横に動かせる所の「スワイプ」の印（指＋小さな表示／点）。JSが入れる。最初だけ出して、触ったら消える --- */
.swipe-ui{display:none;flex-direction:column;align-items:center;gap:9px;margin-top:12px;position:relative;z-index:3}
.swipe-hint{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;border-radius:999px;background:#16161d;color:#fff;font-weight:900;font-size:12px;line-height:1;letter-spacing:.08em;transition:opacity .35s,max-height .35s,margin .35s;max-height:40px}
.swipe-hint svg{width:19px;height:19px;fill:currentColor;flex:none;animation:swipe-nudge 1.5s ease-in-out infinite}
@keyframes swipe-nudge{0%,100%{transform:translateX(-5px)}50%{transform:translateX(6px)}}
@media(prefers-reduced-motion:reduce){.swipe-hint svg{animation:none}}
.swipe-ui.is-touched .swipe-hint{opacity:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden;pointer-events:none}
.sdots{display:flex;justify-content:center;gap:8px}
.sdots i{display:block;width:9px;height:9px;border-radius:999px;background:rgba(22,22,29,.25);transition:width .25s,background .25s}
.sdots i.is-on{width:26px;background:#009eca}
#members .swipe-hint{background:#fff;color:#16161d}
#members .sdots i{background:rgba(255,255,255,.35)}
#members .sdots i.is-on{background:#fff}
@media(max-width:600px){.swipe-ui--members{display:flex}}
@media(max-width:920px){.swipe-ui--plans{display:flex}}
@media(max-width:900px){.swipe-ui--videos{display:flex;margin-top:0;padding-bottom:4px}}

/* --- 2 メンバーのカード（スマホ）：横に1枚ずつスワイプ。次のカードの端が少し見える。PCは今の3列 --- */
@media(max-width:600px){
  #members .members{display:flex!important;grid-template-columns:none!important;max-width:none!important;gap:14px!important;
    margin:0 -18px!important;padding:72px 18px 18px!important;
    overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:18px;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #members .members::-webkit-scrollbar{display:none}
  #members .members>.mcard{flex:0 0 min(82vw,400px);scroll-snap-align:start;scroll-snap-stop:always;min-width:0}
}

/* --- 3 火種（スマホ）：吹き出しは「Xの名前に🔥をつけてね！」で切らない／ボタンは左に細く、右にドバシー --- */
#hidane .hidane-guide__bubble .nw{white-space:nowrap}
#hidane .t-sp{display:none}
@media(max-width:900px){
  #hidane .hidane__body{display:grid;grid-template-columns:minmax(0,1fr) var(--dw);column-gap:10px;--dw:clamp(118px,38vw,170px)}
  #hidane .hidane__body>*{grid-column:1/-1}
  #hidane .hidane__links{grid-column:1!important;grid-row:auto;order:2;display:grid;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;max-width:none!important;width:100%;align-self:end;margin-top:0!important}
  #hidane .hidane__links .btn{height:54px!important;padding:0 8px!important;gap:6px;font-size:clamp(11px,3.1vw,13px)!important;white-space:nowrap;justify-content:center}
  #hidane .hidane__links .ico{width:1.5em;height:1.5em;flex:none}
  #hidane .hidane__links .t-pc{display:none}
  #hidane .hidane__links .t-sp{display:inline}
  #hidane .hidane-guide{display:contents!important}
  #hidane .hidane-guide__bubble{order:1;grid-column:1/-1;grid-row:auto;position:relative;right:auto;top:auto;bottom:auto;width:auto;max-width:none;margin:22px 0 14px;padding:11px 14px;font-size:clamp(12.5px,3.4vw,14px);line-height:1.6;justify-self:stretch}
  #hidane .hidane-guide__bubble::after{left:auto;right:calc(var(--dw) / 2 - 10px);top:auto;bottom:-13px;transform:rotate(135deg)}
  #hidane .hidane-guide__fig{order:3;grid-column:2;grid-row:auto;display:block;position:relative;align-self:end;height:116px;overflow:hidden;margin-top:0;pointer-events:none}
  #hidane .hidane-guide__fig img{position:absolute;right:auto!important;justify-self:start!important;left:50%!important;top:-4px;display:block;width:calc(var(--dw) * 1.55)!important;height:auto!important;max-width:none!important;margin-left:calc(var(--dw) * -.775)!important;transform:none!important;translate:none!important;filter:drop-shadow(0 6px 8px rgba(0,0,0,.3))}
}
@media(min-width:901px){#hidane .hidane-guide__fig{display:contents}}

/* --- 7 火種（PC）：本文・見出し・ボタン・拳は、ドバシーを入れる前の位置・幅に戻す。ドバシーは本文の右の元からある空きへ --- */
@media(min-width:901px){
  #hidane .hidane{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important}
  #hidane .hidane__body{max-width:760px!important;padding-right:0!important}
  #hidane .hidane__links{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:none!important}
  #hidane .hidane__links .btn{height:64px!important}
}
@media(min-width:1440px){
  #hidane .hidane-guide{--gw:min(clamp(190px,16.4vw,232px),calc((100vw - 1089px) / 2 - 30px));position:absolute!important;display:block!important;left:calc(100% + 8px)!important;right:auto!important;bottom:-18px!important;width:var(--gw)!important;max-width:none!important;height:auto!important;aspect-ratio:564/1300;margin:0!important}
  #hidane .hidane-guide img{position:absolute!important;left:0!important;right:auto!important;bottom:0!important;width:100%!important;height:100%!important}
  #hidane .hidane-guide__bubble{top:auto!important;bottom:calc(100% - 6px)!important;right:auto!important;left:0!important;width:calc(var(--gw) + 8px)!important;max-width:none!important;padding:9px 8px!important;font-size:clamp(10.5px,calc((var(--gw) - 18px) / 12.2),14px)!important;line-height:1.55!important;letter-spacing:0}
  #hidane .hidane-guide__bubble::after{left:auto!important;right:calc(var(--gw) * .5 - 10px)!important;top:auto!important;bottom:-13px!important;transform:rotate(135deg)!important}
}
@media(min-width:901px) and (max-width:1439px){
  /* 横に空きが無い幅：ボタンの下に、吹き出し（左）＋ドバシー（右）。本文の位置は動かさず、下に足りない分だけ区間を伸ばす */
  #hidane{padding-bottom:calc(var(--eh) * .55 + clamp(24px,3.5vw,56px) + clamp(300px,32vw,380px) + 24px)!important}
  #hidane .hidane-guide{position:absolute!important;left:0!important;right:auto!important;top:calc(100% + 16px)!important;bottom:auto!important;width:100%!important;max-width:640px;height:auto!important;aspect-ratio:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin:0!important}
  #hidane .hidane-guide img{position:relative!important;grid-column:2;width:auto!important;height:clamp(300px,32vw,380px)!important;left:auto!important;right:auto!important;bottom:auto!important}
  #hidane .hidane-guide__bubble{position:relative!important;grid-column:1;grid-row:1;align-self:center;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;width:auto!important;max-width:260px;justify-self:end;padding:14px 16px!important;font-size:clamp(13px,1.2vw,15px)!important}
  #hidane .hidane-guide__bubble::after{right:-13px!important;left:auto!important;top:55%!important;bottom:auto!important;transform:translateY(-50%) rotate(45deg)!important}
}

/* --- 6 スポンサー：にしけんは「差し込むだけ」。ロゴの段・見出し・帯は動かさず、右の空きに立たせる --- */
#vip .vip-nishiken{display:block;margin:0;padding:0;pointer-events:none}
#vip .vip-nishiken__fig{display:block;position:relative;overflow:hidden}
#vip .vip-nishiken__fig img{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 12px rgba(0,0,0,.35))}
@media(min-width:901px) and (max-width:1439px){#vip .vip-nishiken__fig{-webkit-mask-image:linear-gradient(#000 80%,transparent);mask-image:linear-gradient(#000 80%,transparent)}}
#vip .vip-nishiken__bubble{position:absolute;z-index:3;margin:0;padding:9px 11px;border:3px solid #16161d;border-radius:14px;background:#fff;color:#16161d;box-shadow:4px 4px 0 #009eca;font-weight:900;font-size:12px;line-height:1.55;width:max-content;max-width:190px}
#vip .vip-nishiken__bubble .nw{display:block;white-space:nowrap}
#vip .vip-nishiken__bubble::after{content:"";position:absolute;width:15px;height:15px;border-right:3px solid #16161d;border-bottom:3px solid #16161d;background:#fff}
@media(min-width:901px){
  #vip .vip-stage{position:relative}
  #vip .vip-nishiken{--nw:clamp(100px,10.5vw,135px);position:absolute;z-index:4;width:var(--nw);right:-40px;top:-56px}
  #vip .vip-nishiken__fig{height:calc(56px + 56px + clamp(84px,8.6vw,120px))}
  #vip .vip-nishiken__bubble{right:calc(100% + 4px);top:-4px;font-size:12px}
  #vip .vip-nishiken__bubble::after{right:-9px;top:46%;transform:translateY(-50%) rotate(-45deg)}
}
@media(min-width:901px) and (max-width:1439px){
  #vip .vips{margin-right:calc(clamp(100px,10.5vw,135px) - 26px)!important}
}
@media(min-width:1440px){
  #vip .vip-nishiken{--nw:min(232px,calc((100vw - 1089px) / 2 - 30px));right:calc(-1 * (var(--nw) + 10px));top:auto;bottom:0;width:var(--nw)}
  #vip .vip-nishiken__fig{height:auto;overflow:visible}
  #vip .vip-nishiken__bubble{right:0;top:auto;bottom:calc(100% + 8px);max-width:calc(var(--nw) + 40px);font-size:clamp(11px,.85vw,13px)}
  #vip .vip-nishiken__bubble::after{right:calc(var(--nw) * .5 - 8px);top:auto;bottom:-9px;transform:rotate(45deg)}
}
/* スマホ：VIPのロゴの上に、上半身だけ。下はロゴの後ろに隠れる。横に小さな吹き出し */
@media(max-width:900px){
  #vip .vip-stage{display:flex;flex-direction:column;align-items:flex-start}
  #vip .vip-stage>*{order:4}
  #vip .vip-stage>h3.sub:first-child{order:0}
  #vip .vip-stage>.vip-nishiken{order:1}
  #vip .vip-stage>.vips{order:2;align-self:stretch;width:100%;position:relative;z-index:2}
  #vip .vip-stage>.vip-marquee-row{align-self:stretch;width:100%}
  #vip .vip-nishiken{position:relative;display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:flex-end;gap:12px;width:100%;height:178px;margin:-4px 0 -40px;z-index:1}
  #vip .vip-nishiken__fig{flex:0 0 160px;height:178px;overflow:hidden}
  #vip .vip-nishiken__fig img{width:160px}
  #vip .vip-nishiken__bubble{position:relative;align-self:center;margin-bottom:46px;max-width:none;font-size:12px}
  #vip .vip-nishiken__bubble::after{left:-9px;right:auto;top:50%;transform:translateY(-50%) rotate(135deg)}
}

/* --- 4 三銃士顧問（スマホ）：空きを詰める／シール・テープの飾りは出さない／関口は箱の上に立つ --- */
.plan__orn img[src*="tape"]{display:none!important}
@media(max-width:920px){
  #komon .komon__lead{margin-top:6px}
  #komon .plans{padding-top:58px!important;padding-bottom:6px!important}
  #komon .swipe-ui--plans{margin-top:2px;margin-bottom:6px}
  #komon .apply{margin-top:10px}
  #komon .apply__note{margin-top:4px}
}
@media(max-width:900px){
  #komon .komon__pinch{margin-top:var(--kh)!important;--kh:262px;padding:30px 18px 22px!important;position:relative}
  #komon .komon-guide{position:absolute!important;left:0!important;right:0!important;bottom:calc(100% - 12px)!important;top:auto!important;width:auto!important;height:calc(var(--kh) - 12px)!important;margin:0!important;display:flex!important;align-items:flex-end;justify-content:flex-end;gap:8px;grid-template-columns:none!important;padding:0 10px;pointer-events:none}
  #komon .komon-guide img{position:relative!important;grid-column:auto!important;flex:none;width:auto!important;height:100%!important;max-width:none!important;justify-self:auto!important}
  #komon .komon-guide__bubble{position:relative!important;grid-column:auto!important;grid-row:auto!important;flex:0 1 auto;align-self:flex-start;margin:10px 0 0!important;max-width:calc(100% - 128px);width:auto!important;font-size:clamp(12px,3.3vw,14px);line-height:1.6;padding:11px 13px}
  #komon .komon-guide__bubble::after{right:-13px;left:auto;top:48%}
}

/* ===== 11/06 fix_1106e ===== */
/* FV G05：元素材の上側透明余白 489px を相殺し、確定済みの見た目位置を維持する。 */
@media(min-width:921px){
  .fv-ex__trio{top:-26.5%!important}
  html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{bottom:10px!important}
}
@media(max-width:920px) and (max-aspect-ratio:5/4){
  .fv-ex__trio{
    top:calc(var(--hh) - 29vw)!important;
    clip-path:inset(0 0 15% 0)!important;
  }
}
@media(min-width:541px) and (max-width:920px) and (max-aspect-ratio:5/4){
  .fv-ex__trio{top:calc(var(--hh) - 28vw)!important;clip-path:inset(0 0 18% 0)!important}
}

/* 火種 PC：ドバシーを常に本文右へ固定し、幅に関係なく高さ500pxを保つ。 */
@media(min-width:901px){
  #hidane{
    padding-bottom:calc(var(--eh) * .55 + clamp(24px,3.5vw,56px))!important;
  }
  #hidane .hidane{
    grid-template-columns:minmax(190px,.45fr) minmax(0,1.55fr)!important;
    gap:clamp(20px,3vw,48px)!important;
    align-items:center!important;
  }
  #hidane .hidane__type{min-width:0!important}
  #hidane .hidane__body{
    max-width:none!important;
    min-width:0!important;
    padding-right:235px!important;
  }
  #hidane .hidane-guide{
    position:absolute!important;
    display:block!important;
    left:auto!important;
    right:0!important;
    top:auto!important;
    bottom:-18px!important;
    width:auto!important;
    max-width:none!important;
    height:500px!important;
    aspect-ratio:564/1300!important;
    margin:0!important;
  }
  #hidane .hidane-guide img{
    position:absolute!important;
    left:0!important;
    right:auto!important;
    bottom:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
  }
  #hidane .hidane-guide__bubble{
    position:absolute!important;
    top:auto!important;
    right:0!important;
    bottom:calc(100% - 54px)!important;
    left:auto!important;
    width:225px!important;
    max-width:none!important;
    padding:10px 12px!important;
    font-size:13px!important;
    line-height:1.55!important;
  }
  #hidane .hidane-guide__bubble::after{
    right:calc(50% - 10px)!important;
    left:auto!important;
    top:auto!important;
    bottom:-13px!important;
    transform:rotate(135deg)!important;
  }
}
@media(min-width:901px) and (max-width:1150px){
#hidane .big .ln{white-space:normal}
}

/* 11/06f: brief 指定分。既存の確定済みレイアウト値は動かさず、対象だけ上書きする。 */
#hidane .big .ln:first-child{
  color:#ff5a3d;
  -webkit-text-stroke:1px rgba(255,255,255,.78);
  paint-order:stroke fill;
  text-shadow:0 3px 0 rgba(74,6,4,.85),0 0 14px rgba(255,106,56,.55);
}

#komon .section-scrap{pointer-events:none;z-index:1;opacity:.22}
#komon .section-scrap--komon-dot{right:-5%;top:27%;width:min(15vw,210px);transform:rotate(7deg)}
#komon .section-scrap--komon-tape{right:4%;bottom:9%;width:min(10vw,132px);transform:rotate(-12deg);opacity:.34}

#vip .vip-nishiken__fig{
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
@media(min-width:901px){
  #vip .vip-stage{position:relative}
  #vip .vip-stage>h3.sub,#vip .vip-stage>.vip-marquee-row{position:relative;z-index:3}
  #vip .vip-stage>.vips{position:relative;z-index:2;margin-right:0!important}
  #vip .vip-nishiken{
    position:absolute!important;
    z-index:1!important;
    left:calc(83.333% - 88px)!important;
    right:auto!important;
    top:26px!important;
    bottom:auto!important;
    width:176px!important;
    height:250px!important;
    margin:0!important;
    display:block!important;
  }
  #vip .vip-nishiken__fig{display:block!important;width:176px!important;height:250px!important;overflow:hidden!important}
  #vip .vip-nishiken__fig img{width:176px!important;height:auto!important}
  #vip .vip-nishiken__bubble{
    left:auto!important;
    right:calc(100% - 3px)!important;
    top:18px!important;
    bottom:auto!important;
    width:186px!important;
    max-width:186px!important;
    font-size:12px!important;
  }
  #vip .vip-nishiken__bubble::after{left:auto!important;right:-9px!important;top:48%!important;bottom:auto!important;transform:translateY(-50%) rotate(-45deg)!important}
}
@media(max-width:900px){
  #vip .vip-nishiken__fig{-webkit-mask-image:none!important;mask-image:none!important}
}

.vcard__thumb::after,.ytcard__thumb::after{
  width:clamp(58px,7vw,88px)!important;
  aspect-ratio:16/11!important;
  border-radius:14%!important;
  background:#ff0000!important;
  box-shadow:0 4px 12px rgba(0,0,0,.28);
}
.vcard__play,.ytcard__play{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:0!important;
  height:0!important;
  border-top:clamp(9px,1.15vw,14px) solid transparent;
  border-bottom:clamp(9px,1.15vw,14px) solid transparent;
  border-left:clamp(15px,1.8vw,22px) solid #fff;
  transform:translate(-42%,-50%)!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  pointer-events:none;
}

.yt-roadmap{position:relative;z-index:5;padding-top:clamp(42px,6vw,82px);padding-bottom:clamp(10px,2vw,26px)}
.yt-roadmap__title{margin:0;font-family:var(--f-tag);font-size:clamp(25px,3.1vw,42px);line-height:1.2;color:var(--heading-blue)}
.yt-roadmap__acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px);margin:clamp(24px,3vw,38px) 0 0;padding:0;list-style:none;counter-reset:none}
.yt-roadmap__act{position:relative;display:grid;gap:9px;min-width:0;padding:clamp(20px,2.4vw,30px);background:#fff;border:3px solid #16161d;box-shadow:6px 6px 0 #009eca;font-family:'Noto Sans JP',sans-serif;color:#16161d}
.yt-roadmap__act--done{background:#16161d;color:#fff}
.yt-roadmap__no{font:400 clamp(19px,2vw,27px)/1 var(--f-tag);letter-spacing:.04em;color:#009eca}
.yt-roadmap__year{font-size:13px;font-weight:900;letter-spacing:.12em}
.yt-roadmap__act strong{font-size:clamp(18px,1.8vw,25px);line-height:1.45}
.yt-roadmap__act strong em{display:inline-block;margin-left:.35em;padding:.2em .55em;background:#ff4c35;color:#fff;font-style:normal;font-size:.68em;vertical-align:.15em}
.yt-roadmap__act>span:last-of-type{font-size:clamp(15px,1.35vw,19px);font-weight:900}
.yt-roadmap__progress{margin-top:5px;font-size:12px;font-weight:900;line-height:1.55}
.yt-roadmap__bar{display:block;height:8px;margin-top:7px;background:#d9e2e6;overflow:hidden}
.yt-roadmap__bar i{display:block;height:100%;background:#009eca}
.yt-roadmap__closing{margin:clamp(24px,3vw,38px) 0 18px;font-family:'Noto Sans JP',sans-serif;font-weight:900;font-size:clamp(17px,1.8vw,24px)}
.yt-roadmap__cta{display:inline-flex!important}

.business-form{position:relative;z-index:4;max-width:980px;margin:clamp(28px,4vw,48px) auto 0;padding:clamp(22px,4vw,48px);background:#fff;color:#16161d;border:3px solid #16161d;box-shadow:8px 8px 0 #009eca;font-family:'Noto Sans JP',sans-serif}
.business-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.business-form label{display:grid;gap:8px;min-width:0;font-size:14px;font-weight:900}
.business-form label>span{display:block}
.business-form label b{margin-left:.45em;padding:.16em .5em;background:#e8322b;color:#fff;font-size:11px}
.business-form label small{margin-left:.45em;color:#5d6670;font-weight:700}
.business-form input,.business-form select,.business-form textarea{width:100%;min-height:48px;padding:11px 12px;border:2px solid #89949d;border-radius:0;background:#fff;color:#16161d;font:500 16px/1.5 'Noto Sans JP',sans-serif}
.business-form textarea{resize:vertical;min-height:168px}
.business-form input:focus,.business-form select:focus,.business-form textarea:focus{outline:3px solid rgba(0,158,202,.28);border-color:#009eca}
.business-form [aria-invalid="true"]{border-color:#e8322b;background:#fff8f7}
.business-form__message{grid-column:1/-1}
.business-form__submit{margin-top:24px;border:3px solid #16161d;cursor:pointer}
.business-form__submit[disabled]{opacity:.6;cursor:wait}
.business-form__error,.business-form__notice,.business-form__status{margin:18px 0 0;font-size:14px;font-weight:900;line-height:1.7}
.business-form__error{color:#b51c18}
.business-form__status{color:#075f38}
.business-form__notice{padding:12px 14px;border-left:5px solid #e8322b;background:#fff1ef;color:#74110e}

.company__photo-stage{position:absolute;inset:0;clip-path:inset(-34% -14% 0 -14%)}
.company__photo-stage .paperphoto{position:absolute;z-index:1;inset:10% 2% 0;background:#fff;box-shadow:5px 6px 0 #009eca}
.company__people{position:absolute;z-index:2;left:-6%;bottom:0;width:112%;height:auto;max-width:none;filter:drop-shadow(0 8px 10px rgba(0,0,0,.2))}
.company__d1{z-index:4}

@media(max-width:900px){
  #komon .section-scrap--komon-dot{display:none}
  #komon .section-scrap--komon-tape{right:-4%;bottom:7%;width:26vw}
  .yt-roadmap__acts{grid-template-columns:minmax(0,1fr)}
  .business-form__grid{grid-template-columns:minmax(0,1fr)}
  .business-form__message{grid-column:auto}
  .company__photo{margin-top:124px}
  .company__photo-stage{clip-path:inset(-55% -8% 0 -8%)}
  .company__people{left:-3%;width:106%}
}
@media(min-width:901px) and (max-width:1050px){
  #hidane .hidane__links{grid-template-columns:minmax(0,1fr)!important}
}

/* ===== 11/06g: fix_1106f に対する最終上書き ===== */
@media(min-width:901px){
  #hidane .hidane{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;gap:clamp(24px,4vw,72px)!important}
  #hidane .hidane__type img{width:auto!important;height:min(84vh,820px)!important;max-width:100%!important}
  #hidane .hidane__links .btn{padding-inline:20px!important}
  #hidane .hidane__links .t-pc{display:none!important}
  #hidane .hidane__links .t-sp{display:inline!important}
  #hidane .fist{top:calc(3.25vw + 4px)!important}
  #komon .plan--chou .plan__orn img[src*="chou_bolt"]{top:-40px!important}
  #komon .komon-guide__bubble{left:auto!important;right:calc(100% - 20px)!important;top:56px!important;transform:translateX(clamp(120px,9vw,145px))!important}
}
@media(min-width:1600px){#hidane .fist{top:calc(3.25vw + 14px)!important}}
#komon .plan__tag,#komon .plan__tag .pn,#komon .plan__tag .pp{opacity:1!important;visibility:visible!important;color:#fff!important}

@media(min-width:901px){
  #vip .vip-stage>.vips{position:relative!important;z-index:3!important}
  #vip .vip-nishiken{z-index:auto!important;left:calc(83.333% - 110px)!important;top:-90px!important;width:220px!important;height:360px!important}
  #vip .vip-nishiken__fig{position:relative!important;z-index:4!important;width:220px!important;height:192px!important;overflow:hidden!important}
  #vip .vip-nishiken__fig img{width:220px!important;height:auto!important}
  #vip .vip-nishiken__bubble{z-index:5!important;right:calc(100% - 8px)!important;top:96px!important}
}
@media(max-width:900px){
  #vip .vip-nishiken{z-index:auto!important;height:210px!important;margin:-4px 0 -62px!important}
  #vip .vip-nishiken__fig{position:relative!important;z-index:1!important;flex-basis:180px!important;width:180px!important;height:210px!important}
  #vip .vip-nishiken__fig img{width:180px!important}
  #vip .vip-nishiken__bubble{z-index:4!important;margin-bottom:70px!important}
  #vip .vip-stage>.vips{z-index:3!important}
}

.ft{min-height:0!important;height:min(40vh,340px)!important;padding:clamp(76px,9vh,112px) clamp(18px,4vw,56px) clamp(24px,4vh,40px)!important}
.ft__bg{background-size:cover!important;background-position:center 42%!important}
.ft__logo{width:clamp(180px,22vw,300px)!important;height:auto!important}
.ft__legal a{text-decoration:none!important;transition:color .18s ease,opacity .18s ease}
.ft__legal a:hover{color:#7dddf5;opacity:.92}
@media(min-width:901px){.ft__copy,.ft__legal{top:auto!important}}
@media(max-width:900px){.ft{height:auto!important;min-height:0!important;padding-top:88px!important}.ft__in{gap:14px!important}}
@media(min-width:901px){.company__people{left:0!important;bottom:-45px!important;width:100%!important}}

/* メンバー詳細：名前の実文字中心とSNSボタン中心を同一線にする。 */
.mm__social{align-self:center!important;transform:translateY(6px)!important}

/* ===== 11/06 深夜 緊急（Claude）===== */
/* FV：1人ずつの白フチ素材から組んだ G05（trio-g05k）。g05e 用の上ずらし（-26.5%・clip）を打ち消す */
@media(min-width:921px){ .fv-ex__trio{top:1.5%!important;clip-path:none!important} }
@media(max-width:920px) and (max-aspect-ratio:5/4){ .fv-ex__trio{top:calc(var(--hh) - 6vw)!important;clip-path:inset(0 0 38% 0)!important} }
@media(min-width:541px) and (max-width:920px) and (max-aspect-ratio:5/4){ .fv-ex__trio{top:calc(var(--hh) - 5vw)!important;clip-path:inset(0 0 40% 0)!important} }
/* メンバーのカードの並び：PC（3列）＝左ドバシー・中央関口・右にしけん／スマホ＝関口・ドバシー・にしけん */
#members .members .mcard--d{order:1}#members .members .mcard--k{order:2}#members .members .mcard--n{order:3}
@media(max-width:900px){#members .members .mcard--k{order:1}#members .members .mcard--d{order:2}#members .members .mcard--n{order:3}}

/* 11/06 FV G02/G03：関口の顔がロゴに隠れないよう、PC は3人を上へ */
@media(min-width:921px){ .fv-ex__trio{top:-11%!important} }

/* ===== 11/06h 検品指摘の修正 ===== */
/* FV：人物は切り抜かず、破れ紙を手前に置いて下端を自然に隠す。 */
@media(max-width:540px) and (max-aspect-ratio:5/4){
  .fv-ex__trio{top:calc(var(--hh) - 7vw)!important;width:132vw!important;clip-path:none!important}
  .fv-ex__divider{height:64%!important;z-index:2!important;background-size:100% 100%!important}
  .fv-ex__logo{top:39%!important;width:68vw!important;z-index:3!important}
  .fv-ex__text{z-index:3!important}
}
@media(min-width:541px) and (max-width:920px) and (max-aspect-ratio:5/4){
  .fv-ex__trio{top:calc(var(--hh) - 4vw)!important;width:108vw!important;clip-path:none!important}
  .fv-ex__divider{height:48%!important;z-index:2!important;background-size:100% 100%!important}
  .fv-ex__logo,.fv-ex__text{z-index:3!important}
}

/* 3つの数字：説明語の右端を全行で一致させる。 */
#members .member-stats .mstats .stat>div{position:relative!important;min-width:0!important;width:100%!important}
#members .member-stats .mstats .stat__l{position:absolute!important;right:0!important;top:50%!important;display:block!important;width:auto!important;margin:0!important;text-align:right!important;transform:translateY(-50%)!important}

/* メンバーカード内の2ボタンは同じ高さ。 */
#members .mcard__x,#members .mcard__open{height:40px!important;min-height:40px!important;margin-top:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
@media(max-width:600px){#members .mcard--k .mcard__name{font-size:clamp(25px,8.2vw,34px)!important;letter-spacing:-.04em}}

/* 火種：短い文節を分断せず、CTAの左右余白を確保。 */
#hidane .big .ln,#hidane .em .nw{white-space:nowrap}
@media(min-width:901px){
  #hidane .hidane__links{grid-template-columns:repeat(2,minmax(220px,1fr))!important}
  #hidane .hidane__links .btn{padding-inline:20px!important;gap:8px!important;font-size:13px!important}
}
@media(max-width:900px){
  #hidane .hidane__body{display:block!important}
  #hidane .hidane-guide{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) 217px!important;align-items:start!important;width:100%!important;height:500px!important;margin:18px 0 0!important;overflow:visible!important}
  #hidane .hidane-guide__bubble{position:relative!important;grid-column:1!important;grid-row:1!important;align-self:start!important;justify-self:stretch!important;inset:auto!important;width:auto!important;max-width:none!important;margin:76px 8px 0 0!important;padding:11px 12px!important;font-size:12px!important}
  #hidane .hidane-guide__bubble::after{left:auto!important;right:-13px!important;top:54%!important;bottom:auto!important;transform:translateY(-50%) rotate(45deg)!important}
  #hidane .hidane-guide__fig{position:relative!important;grid-column:2!important;grid-row:1!important;display:block!important;width:217px!important;height:500px!important;overflow:visible!important;margin:0!important}
  #hidane .hidane-guide__fig img{position:absolute!important;left:0!important;right:auto!important;top:0!important;bottom:auto!important;width:217px!important;height:500px!important;max-width:none!important;margin:0!important;object-fit:contain!important;object-position:center bottom!important;transform:none!important}
}

/* 顧問：PCは人物の足元を黒い箱の上辺に乗せ、SPの稲妻は札の中に収める。 */
@media(min-width:901px){#komon .komon-guide{bottom:calc(100% - 8px)!important}}
@media(max-width:900px){#komon .plan--chou .plan__orn img[src*="chou_bolt"]{top:-42px!important}}

/* YouTube：取得失敗札は出さず、ACT 2の進捗は絶対配置して3枚の本文位置を揃える。 */
#youtube #ytFail{display:none!important}
.yt-roadmap__act{height:225px!important;align-content:start!important;padding-bottom:64px!important}
.yt-roadmap__progress{position:absolute!important;left:clamp(20px,2.4vw,30px)!important;right:clamp(20px,2.4vw,30px)!important;bottom:20px!important;margin:0!important}
@media(max-width:900px){.yt-roadmap__act{height:180px!important}.yt-roadmap__progress{left:20px!important;right:20px!important;bottom:16px!important}}

/* 問い合わせ：黒いぼかし帯を除去し、準備中文言は自然な2行にする。 */
#contact>.edge{display:none!important}
#contact .business-form__notice .nw{display:inline-block}

/* ヘッドレスでも右端に15pxの帯を作らない。 */
html{scrollbar-gutter:auto!important}

/* 11/06 Claude：火種の吹き出しがドバシーの顔にかかっていた → 頭の上へ */
@media(min-width:921px){#hidane .hidane-guide__bubble{top:auto!important;bottom:calc(100% + 18px)!important;transform:none!important}}

/* 11/06 Claude：会社概要スマホ＝足元に下の破れ紙がかぶって白くぼけていた → 写真の下に余白を取り、下端は台紙の線でまっすぐ。テープは顔からよける */
@media(max-width:900px){#company .company__photo{margin-bottom:64px!important}#company .company__d1{top:auto!important;bottom:-18px!important;right:-2%!important;left:auto!important;width:22vw!important}}

/* ===== fv_sp2：スマホFVをPCと同じ「3人の上半身＋訴求＋2CTA」の密度にする ===== */
@media (max-width:920px) and (max-aspect-ratio:5/4){
  html[data-fv="ex"] .fv{
    height:100svh!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  html[data-fv="ex"] .fv>.fv-layer.fv-ex{overflow:hidden!important}
  .fv-ex__stage{
    left:0!important;
    top:0!important;
    bottom:auto!important;
    width:100%!important;
    height:100%!important;
    transform:none!important;
  }
  .fv-ex__trio{
    content:url(assets/fv-extract/trio-g02n9.webp?v=1);
    translate:0 -12.3%!important;
    left:50%!important;
    top:calc(var(--hh) - 2vw)!important;
    width:108vw!important;
    max-width:none!important;
    transform:translateX(-50%)!important;
    clip-path:inset(0 0 20% 0)!important;
  }
  .fv-ex__logo{
    left:50%!important;
    top:31%!important;
    width:min(74vw,520px)!important;
    transform:translateX(-50%)!important;
    z-index:3!important;
  }
  .fv-ex__text{
    left:50%!important;
    top:50%!important;
    bottom:auto!important;
    width:min(88vw,650px)!important;
    transform:translateX(-50%)!important;
    z-index:3!important;
  }
  .fv-ex__divider{
    height:55%!important;
    z-index:2!important;
    background:url(assets/fv-extract/divider-sp.webp) center bottom/100% 100% no-repeat!important;
  }
  html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{
    left:50%!important;
    right:auto!important;
    bottom:30px!important;
    width:min(92vw,700px)!important;
    transform:translateX(-50%)!important;
    gap:8px!important;
  }
  html[data-fv="ex"] .fv-button,
  html[data-fv="ex"] .fv-button--openchat,
  html[data-fv="ex"] .fv-button--x{
    width:100%!important;
    height:52px!important;
    min-height:52px!important;
  }
  html[data-fv="ex"] .fv-button a{font-size:clamp(13px,3.5vw,18px)!important}
  html[data-fv="ex"] .fv-button a svg{width:1.4em!important;height:1.4em!important}
}

@media (min-width:541px) and (max-width:920px) and (max-aspect-ratio:5/4){
  .fv-ex__trio{width:102vw!important;top:calc(var(--hh) - 3vw)!important}
  .fv-ex__logo{top:31%!important;width:min(66vw,520px)!important}
  .fv-ex__text{top:63%!important;width:min(78vw,650px)!important}
  .fv-ex__divider{height:55%!important}
  html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{
    bottom:30px!important;
    width:94vw!important;
    flex-direction:row!important;
  }
  html[data-fv="ex"] .fv-button,
  html[data-fv="ex"] .fv-button--openchat,
  html[data-fv="ex"] .fv-button--x{height:54px!important;min-height:54px!important}
  html[data-fv="ex"] .fv-button a{font-size:clamp(14px,2.25vw,18px)!important}
}

@media (max-width:540px) and (max-aspect-ratio:5/4){
  .fv-ex__trio{left:40%!important;width:88vw!important}
  .fv-ex__logo{left:34%!important;width:60vw!important}
  .fv-ex__text{left:38%!important;width:78vw!important}
  html[data-fv="ex"] .fv>.fv-layer.fv-layer--actions{
    left:14px!important;
    right:14px!important;
    width:auto!important;
    transform:none!important;
  }
  html[data-fv="ex"] .fv-button a{font-size:13px!important}
}
