/* TOP */
/* ---- FV ---- */
.fv{position:relative;height:calc(100vh - 72px);min-height:620px;overflow:hidden;background:#f7f3f0}
.fv__media{position:absolute;inset:0}
.fv__image{width:100%;height:100%;object-fit:cover;object-position:72% center;display:block}
.fv__overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,rgba(255,255,255,.52) 0%,rgba(255,255,255,.38) 32%,rgba(255,255,255,.12) 58%,rgba(255,255,255,.02) 100%)}
.fv__content{position:absolute;top:50%;left:8%;transform:translateY(-50%);z-index:5;width:min(720px,54%);text-align:left}
.fv__title{margin:0;font-weight:400}
.fv__kicker{display:block;margin-bottom:22px;font-size:clamp(18px,1.9vw,26px);line-height:1.7;letter-spacing:.26em;font-weight:600;color:#3f8a8a;text-shadow:0 1px 14px rgba(255,255,255,.6)}
.fv__main{display:block;font-size:clamp(32px,3.3vw,54px);line-height:1.55;letter-spacing:.04em;color:#333;font-weight:400}
.fv__desc{margin:32px 0 0;font-size:clamp(15px,1.25vw,20px);line-height:1.9;color:#444}
.fv__scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:10;font-family:var(--en);letter-spacing:.3em;font-size:12px;color:#555}
.fv__scroll span::after{content:'';display:block;width:1px;height:34px;background:#555;margin:8px auto 0;animation:fvs 2s ease-in-out infinite}
@keyframes fvs{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:1024px){.fv{min-height:600px}.fv__image{object-position:76% center}.fv__content{left:6%;width:48%}.fv__main{font-size:clamp(30px,4vw,44px)}.fv__desc{margin-top:24px}}
@media(max-width:767px){
  /* スマホ：写真の上に文字を重ねず、写真の下に文字を置く */
  .fv{height:auto;min-height:0;overflow:visible;background:#fff}
  .fv__media{position:relative;inset:auto;width:100%;aspect-ratio:4/5;max-height:calc(100svh - 60px - 150px);overflow:hidden;background:#f7f3f0}
  .fv__image{object-position:78% center}
  .fv__overlay{display:none}
  .fv__content{position:static;top:auto;bottom:auto;left:auto;right:auto;transform:none;width:auto;max-width:none;padding:30px 24px 92px}
  .fv__kicker{font-size:15px;letter-spacing:.18em;margin-bottom:14px}
  .fv__main{font-size:26px;line-height:1.5}
  .fv__desc{margin-top:18px;font-size:13.5px;line-height:1.9}
  .fv__desc br{display:none}
  .fv__scroll{bottom:20px;font-size:11px}
}
@media(max-width:390px){.fv__content{left:auto;width:auto;max-width:none;padding-left:20px;padding-right:20px}.fv__main{font-size:23px}.fv__desc{font-size:13px}}

/* ---- セクション ---- */
.wt-sec{padding:110px 24px}
.wt-sec.is-bg{background:var(--bg2)}
.wt-lead{text-align:center;line-height:2.3;font-size:16px;margin:0 auto;max-width:720px}
.wt-lead strong{font-weight:600;color:var(--teal)}
.wt-grid{display:grid;gap:22px}
.wt-grid.c2{grid-template-columns:repeat(2,1fr)}
.wt-grid.c3{grid-template-columns:repeat(3,1fr)}
.wt-grid.c4{grid-template-columns:repeat(4,1fr)}
.wt-gap{margin-top:52px}
.wt-card{background:#fff;border:1px solid #ebe4d6;padding:38px 30px;text-align:center}
.is-bg .wt-card{border-color:#e6dccb}
.wt-card-en{font-family:var(--en);font-size:21.6px;letter-spacing:.08em;margin:0 0 .3em;color:var(--teal)}
.wt-card-ttl{font-size:16.8px;font-weight:600;margin:0 0 .9em;letter-spacing:.06em}
.wt-card p:not([class]){font-size:14.7px;line-height:2;color:#444}
.wt-num{font-family:var(--en);font-size:38.4px;color:var(--gold);line-height:1;margin:0 0 .35em;display:block}
.wt-kanji{font-size:51.2px;line-height:1;color:var(--gold);display:block;margin:0 0 .35em;font-weight:500}
.wt-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:1.1em 0 0;list-style:none}
.wt-tags li{font-size:12.5px;padding:.35em .9em;border:1px solid #e0d6c3;border-radius:99px;color:#555;background:#fff;list-style:none}
.wt-flow{display:flex;align-items:center;justify-content:center;gap:18px;margin:60px 0 0;flex-wrap:wrap}
.wt-flow div{text-align:center;padding:18px 26px;border:1px solid var(--gold);min-width:190px;background:#fff}
.wt-flow b{display:block;font-family:var(--en);font-size:20px;letter-spacing:.1em;font-weight:500}
.wt-flow span{font-size:12.8px;color:var(--mute)}
.wt-flow i{font-style:normal;color:var(--gold);font-size:22.4px}
.wt-quote{text-align:center;font-size:18.4px;letter-spacing:.12em;margin:56px 0 0;color:var(--teal);line-height:2}
.wt-subwrap{margin-top:100px;padding-top:80px;border-top:1px solid #e6dccb}
.wt-sub{text-align:center;margin:0 0 40px}
.wt-sub-en{font-family:var(--en);font-size:30px;letter-spacing:.2em;color:var(--teal);font-weight:400}
.wt-sub-ja{font-size:13px;letter-spacing:.2em;color:var(--gold);margin-top:.7em}
.wt-note,.wt-www-note{text-align:center;font-size:14.5px;line-height:2.1;color:#555;margin:40px auto 0;max-width:720px}

/* プロフィール */
.wt-prof{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center}
.wt-prof__img img{width:100%;height:auto;display:block}
.wt-prof-name{font-size:32px;letter-spacing:.2em;font-weight:500}
.wt-prof-name small{display:block;font-family:var(--en);font-size:16.8px;letter-spacing:.3em;color:var(--gold);margin:.4em 0 0}
.wt-prof-role{font-family:var(--en);font-style:italic;color:var(--mute);margin:1em 0 1.6em;font-size:16.8px;letter-spacing:.05em}
.wt-prof__txt p:not([class]){font-size:14.9px;line-height:2.1;margin:0 0 1.1em}
.wt-stats{display:flex;margin:1.8em 0 0;border-top:1px solid #e6dccb;border-bottom:1px solid #e6dccb}
.wt-stats div{flex:1;text-align:center;padding:16px 6px}
.wt-stats div+div{border-left:1px solid #e6dccb}
.wt-stats b{display:block;font-family:var(--en);font-size:32px;font-weight:500;color:var(--gold);line-height:1.1}
.wt-stats span{font-size:11.5px;letter-spacing:.08em;color:var(--mute)}
.wt-career{margin:2em 0 0;display:grid;grid-template-columns:7em 1fr;gap:.7em 1.2em;font-size:14.1px;line-height:1.8}
.wt-career dt{color:var(--gold);letter-spacing:.08em;font-family:var(--en);font-size:16px}
.wt-career dd{margin:0}

/* ABOUT WWW の挿絵 */
.wt-ill{display:grid;gap:14px;margin:56px auto 0;max-width:960px}
.wt-ill--n2{grid-template-columns:repeat(2,1fr)}
.wt-ill--n1:not(.wt-ill--wide){max-width:480px}
.wt-ill__i{display:block;overflow:hidden;background:#e9e4da;aspect-ratio:4/3}
.wt-ill--wide .wt-ill__i{aspect-ratio:16/9}
.wt-ill__i img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s;filter:saturate(.92)}
.wt-ill__i:hover img{transform:scale(1.04);filter:saturate(1)}
@media(max-width:599px){.wt-ill{margin-top:40px;gap:10px}}

/* ギャラリー抜粋 */
#gallery-teaser .wt-head{margin-bottom:44px}
.wt-gal{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;max-width:1280px;margin:0 auto}
.wt-gal a{display:block;overflow:hidden;aspect-ratio:2/3;background:#eee}
.wt-gal img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.wt-gal a:hover img{transform:scale(1.05)}

/* 実績 */
#works .wc-grid{margin-top:0}

/* 協業・お問い合わせ */
.wt-collab ul{margin:36px auto 0;max-width:640px;display:grid;gap:10px;list-style:none}
.wt-collab ul li{background:#fff;border-left:2px solid var(--gold);padding:14px 20px;font-size:14.9px;list-style:none}
.wt-contact{background:#2b2b2b;color:#fff;text-align:center}
.wt-contact .wt-en{color:#fff}
.wt-contact p:not([class]){line-height:2.1;font-size:15.2px;margin:0 0 2.2em;color:#ddd}
.wt-contact .wt-btn{border-color:#fff;color:#fff!important}
.wt-contact .wt-btn:hover{background:#fff;color:#2b2b2b!important}
.wt-news{padding:90px 24px 20px}

@media(max-width:959px){.wt-sec{padding:80px 20px}.wt-grid.c3,.wt-grid.c4{grid-template-columns:repeat(2,1fr)}.wt-prof{grid-template-columns:1fr;gap:36px}.wt-gal{grid-template-columns:repeat(3,1fr)}}
@media(max-width:599px){.wt-sec{padding:64px 16px}.wt-head{margin-bottom:40px}.wt-grid.c3,.wt-grid.c4,.wt-grid.c2{grid-template-columns:1fr}.wt-lead{font-size:14.9px;text-align:left}.wt-lead br,.wt-quote br{display:none}.wt-flow{flex-direction:column;gap:8px}.wt-flow i{transform:rotate(90deg)}.wt-card{padding:30px 22px}.wt-gal{grid-template-columns:repeat(2,1fr)}.wt-career{grid-template-columns:1fr;gap:.1em}.wt-career dd{margin-bottom:.8em}.wt-stats b{font-size:25.6px}.wt-stats span{font-size:9.9px}.wt-subwrap{margin-top:64px;padding-top:56px}.wt-sub-en{font-size:24px}.wt-news{padding:64px 16px 10px}}

/* MIWON KEITO：HISTORY／GALLERY ボタン */
.wt-prof__links{display:flex;flex-wrap:wrap;gap:14px;margin:2.4em 0 0}
.wt-prof__links .wt-btn{padding:.95em 2.6em;min-width:200px;text-align:center}
@media(max-width:599px){.wt-prof__links{flex-direction:column;gap:10px}.wt-prof__links .wt-btn{min-width:0;width:100%}}

/* 下層ページ（ABOUT WWM / ABOUT WWW） */
.wt-about{padding-top:72px}
.wt-about .wt-lead:first-child{margin-top:0}

/* ACTIVITIES（YouTube スライド） */
.wt-yt{position:relative;margin:56px 0 0}
.wt-yt__track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gold) #eee;padding:0 0 18px;outline-offset:4px}
.wt-yt__slide{flex:0 0 calc((100% - 40px) / 3);scroll-snap-align:start;min-width:0}
.wt-yt__item{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#222;cursor:pointer;overflow:hidden}
.wt-yt__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .4s;opacity:.92}
.wt-yt__item:hover img,.wt-yt__item:focus-visible img{transform:scale(1.04);opacity:1}
.wt-yt__item iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.wt-yt__play{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 2px 18px rgba(0,0,0,.25);transition:transform .3s}
.wt-yt__play::after{content:'';position:absolute;left:25px;top:19px;border-style:solid;border-width:12px 0 12px 19px;border-color:transparent transparent transparent var(--ink)}
.wt-yt__item:hover .wt-yt__play{transform:scale(1.08)}
.wt-yt__cap{font-size:13.5px;line-height:1.8;margin:12px 2px 0;color:#444}
.wt-yt__nav{position:absolute;top:calc(50% - 40px);width:46px;height:46px;border:1px solid #d8cdb8;border-radius:50%;background:rgba(255,255,255,.95);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1;padding:0 0 4px;box-shadow:0 2px 12px rgba(0,0,0,.12);transition:all .3s;z-index:2}
.wt-yt__nav:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.wt-yt__nav[disabled]{opacity:.35;cursor:default;pointer-events:none}
.wt-yt__nav--prev{left:-23px}
.wt-yt__nav--next{right:-23px}
@media(max-width:959px){.wt-yt__slide{flex-basis:calc((100% - 20px) / 2)}.wt-yt__nav--prev{left:-8px}.wt-yt__nav--next{right:-8px}}
@media(max-width:599px){.wt-yt{margin-top:40px}.wt-yt__slide{flex-basis:86%}.wt-yt__track{gap:14px}.wt-yt__nav{display:none}.wt-yt__play{width:52px;height:52px;margin:-26px 0 0 -26px}.wt-yt__play::after{left:21px;top:15px;border-width:11px 0 11px 17px}}
@media(prefers-reduced-motion:reduce){.wt-yt__track{scroll-behavior:auto}}

/* MEDIA（3:4のカード）・VOICES（9:16のYouTubeショート）：同じスライダーを使う */
.wt-yt--media .wt-yt__slide{flex-basis:calc((100% - 60px) / 4)}
.wt-yt--media .wt-yt__nav{top:calc(50% - 60px)}
.wt-yt--short .wt-yt__slide{flex-basis:calc((100% - 60px) / 4)}
.wt-yt--short .wt-yt__item{aspect-ratio:9/16}
.wt-yt--short .wt-yt__nav{top:calc(50% - 40px)}
.wt-yt--short .wt-yt__cap{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.75}
.wt-yt--short .wt-yt__play{width:54px;height:54px;margin:-27px 0 0 -27px}
.wt-yt--short .wt-yt__play::after{left:21px;top:16px;border-width:11px 0 11px 17px}
@media(max-width:959px){.wt-yt--media .wt-yt__slide,.wt-yt--short .wt-yt__slide{flex-basis:calc((100% - 40px) / 3)}}
@media(max-width:599px){.wt-yt--media .wt-yt__slide{flex-basis:46%}.wt-yt--short .wt-yt__slide{flex-basis:60%}.wt-yt--media .wt-yt__track,.wt-yt--short .wt-yt__track{gap:14px}}
