:root{
  --navy:#13305e; --navy-d:#0c1f3d; --cyan:#8ad6f6; --cyan-ink:#1f7ba8;
  --paper:#f3f0ec; --ink:#16223c; --muted-d:rgba(255,255,255,.86); --muted-l:#48536e;
  --line:#06C755;
  --en:'Cormorant Garamond',serif; --ja:'Shippori Mincho B1',serif; --sans:'Noto Sans JP',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--sans);color:#fff;font-weight:400;line-height:1.95;-webkit-font-smoothing:antialiased;overflow-x:hidden;background:#0c1f3d}
#bg{position:fixed;inset:0;z-index:-2;background:#0c1f3d}
#heroimg{position:fixed;inset:0;z-index:-1;background:url('fluid/hero.png') center 76%/cover no-repeat;will-change:transform,opacity}
#heroimg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,31,61,.5) 0%,rgba(12,31,61,.25) 40%,rgba(12,31,61,.8) 100%)}
@keyframes kb{from{transform:scale(1.05)}to{transform:scale(1.16)}}
#heroimg{animation:kb 26s ease-in-out infinite alternate}

.wrap{max-width:1180px;margin:0 auto;padding:0 7vw}
.reveal{opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.nb{display:inline-block}
.hero h1,.hero .sub,.statement,.two h2,.m-txt h3,.ph-title{word-break:keep-all;line-break:strict}
.eyebrow{font-size:.74rem;font-weight:500;letter-spacing:.26em;display:inline-flex;align-items:center;gap:.6rem;color:var(--cyan-ink)}
.theme-dark .eyebrow{color:var(--cyan)}
.eyebrow::before{content:'\25c6';font-size:.6rem}

/* header / nav */
header{position:fixed;top:0;left:0;right:0;z-index:46;display:flex;justify-content:space-between;align-items:center;padding:1.3rem 7vw;transition:background .4s,padding .4s}
header.scrolled{background:rgba(10,18,34,.85);backdrop-filter:blur(10px);padding:.85rem 7vw}
header .logo{font-family:var(--en);font-size:1.4rem;letter-spacing:.3em;color:#fff;font-weight:600;text-decoration:none;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.head-right{display:flex;align-items:center;gap:1.1rem}
.cta-top{font-size:.72rem;letter-spacing:.12em;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.5);padding:.55rem 1.1rem;border-radius:2px;transition:.3s;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.cta-top:hover{background:var(--cyan);color:var(--navy-d);border-color:var(--cyan)}
.burger{width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(10,18,34,.28);backdrop-filter:blur(6px);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;z-index:47}
.burger span{display:block;width:16px;height:1.5px;background:#fff;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.fab{display:none;position:fixed;right:5vw;bottom:3.4vh;z-index:43;background:var(--cyan);color:var(--navy-d);font-weight:600;font-size:.8rem;letter-spacing:.08em;padding:.85rem 1.3rem;border-radius:30px;text-decoration:none;box-shadow:0 12px 30px -10px rgba(0,0,0,.55)}
.menu{position:fixed;inset:0;z-index:44;background:rgba(9,16,30,.96);backdrop-filter:blur(18px);display:flex;flex-direction:column;justify-content:center;gap:.1rem;padding:12vh 12vw;opacity:0;pointer-events:none;transition:opacity .4s}
.menu.open{opacity:1;pointer-events:auto}
.menu a{display:flex;align-items:baseline;gap:1rem;padding:1rem 0;color:#fff;text-decoration:none;font-family:var(--en);font-size:clamp(1.6rem,5vw,2.4rem);letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.1);transition:.25s}
.menu a:hover,.menu a.active{color:var(--cyan)}
.menu a:hover{padding-left:.5rem}
.menu a .jp{font-family:var(--sans);font-size:.74rem;color:rgba(255,255,255,.55);letter-spacing:.08em}

section{position:relative;z-index:1}
.theme-dark{color:#fff} .theme-light{color:var(--ink)}
.sec{padding:6.5vh 0}
.lead-p{font-size:1.04rem;line-height:2.05;max-width:620px}
.theme-dark .lead-p{color:var(--muted-d)} .theme-light .lead-p{color:var(--muted-l)}
.center{text-align:center}

/* home hero */
.hero{height:100svh;min-height:560px;display:flex;flex-direction:column;justify-content:center;padding-bottom:4vh;text-align:center}
.hero .htag{color:var(--cyan);font-family:var(--en);font-size:clamp(1.1rem,2vw,1.7rem);letter-spacing:.26em;margin-bottom:1.3rem}
.hero h1{font-family:var(--ja);font-weight:600;font-size:clamp(2.3rem,5.6vw,4.8rem);line-height:1.34;letter-spacing:.06em;text-shadow:0 2px 40px rgba(0,0,0,.55)}
.hero .sub{margin-top:1.6rem;font-size:clamp(.92rem,1.5vw,1.1rem);letter-spacing:.08em;color:rgba(255,255,255,.92);text-shadow:0 2px 16px rgba(0,0,0,.5)}

/* sub-page header */
.page-head{min-height:54vh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 7vw 7vh;position:relative;overflow:hidden}
.page-head .ph-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-1}
.page-head .ph-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,40,.55),rgba(10,20,40,.78))}
.page-head .ph-en{font-family:var(--en);font-size:clamp(2.6rem,8vw,5.5rem);font-weight:600;letter-spacing:.04em;line-height:1}
.page-head .ph-title{font-family:var(--ja);font-size:clamp(1rem,2vw,1.3rem);font-weight:600;letter-spacing:.1em;margin-top:.6rem;color:var(--cyan)}
.crumb{font-size:.68rem;letter-spacing:.14em;color:rgba(255,255,255,.6);margin-bottom:1.4rem}
.crumb a{color:rgba(255,255,255,.6);text-decoration:none}

/* intro / two-col */
.two{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,4vw,4rem);align-items:start;border-top:1px solid rgba(255,255,255,.16);padding-top:1.6rem}
.two h2{font-family:var(--ja);font-weight:600;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.6;letter-spacing:.03em}
@media(max-width:760px){.two{grid-template-columns:1fr;gap:1rem}}

.statement{font-family:var(--ja);font-weight:600;font-size:clamp(1.7rem,3.6vw,2.9rem);line-height:1.55;letter-spacing:.04em;text-align:center;max-width:980px;margin:0 auto}
.btn{display:inline-flex;align-items:center;gap:.6rem;margin-top:2rem;border:1px solid currentColor;padding:.85rem 1.9rem;border-radius:2px;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-decoration:none;color:inherit;transition:.3s}
.btn:hover{background:currentColor}.btn:hover span{color:var(--paper)}

/* numbers */
.nums{display:grid;grid-template-columns:repeat(5,1fr);gap:1.6rem;margin-top:2.4rem}
.num .n{font-family:var(--en);font-size:clamp(2.2rem,4vw,3.4rem);font-weight:600;line-height:1;color:var(--ink)}
.theme-dark .num .n{color:#fff}
.num .n small{font-family:var(--sans);font-size:.82rem;font-weight:500;margin-left:.2rem;color:var(--cyan-ink)}
.num .cap{margin-top:.4rem;font-size:.78rem;font-weight:500;letter-spacing:.04em;color:var(--muted-l)}
.theme-dark .num .cap{color:rgba(255,255,255,.66)}
@media(max-width:680px){.nums{grid-template-columns:repeat(2,1fr);gap:1.8rem 1rem}}

/* service cards */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3.4rem) clamp(2rem,5vw,5rem);max-width:1040px;margin:2.2rem auto 0;padding:0 7vw}
.card:nth-child(even){margin-top:13vh}
.imgwrap{aspect-ratio:4/5;overflow:hidden;border-radius:5px;position:relative;box-shadow:0 40px 80px -45px rgba(0,0,0,.5)}
.imgwrap .ph{position:absolute;inset:-8%;background-size:cover;background-position:center;will-change:transform}
.imgwrap::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,31,61,0) 45%,rgba(12,31,61,.55) 100%)}
.imgwrap .lab{position:absolute;left:1.2rem;bottom:1rem;z-index:2;font-family:var(--ja);font-size:1.35rem;font-weight:600;color:#fff}
.card .desc{margin-top:1rem;font-size:.92rem;line-height:1.9;color:var(--muted-l)}
.theme-dark .card .desc{color:var(--muted-d)}
@media(max-width:760px){.cards{grid-template-columns:1fr;gap:6vh}.card:nth-child(even){margin-top:0}}

/* media row */
.media-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.media-row.rev .m-img{order:2}
.m-img{aspect-ratio:4/5;border-radius:5px;background-size:cover;background-position:center;box-shadow:0 40px 80px -45px rgba(0,0,0,.45)}
.m-txt h3{font-family:var(--ja);font-weight:600;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.6;margin:.6rem 0 1rem}
@media(max-width:760px){.media-row{grid-template-columns:1fr;gap:1.4rem}.media-row.rev .m-img{order:0}}

/* news */
.news-item{display:flex;gap:1.4rem;align-items:baseline;padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:.95rem}
.news-item .d{font-size:.78rem;color:rgba(255,255,255,.6);white-space:nowrap}
.news-item .cat{font-size:.66rem;letter-spacing:.1em;border:1px solid var(--cyan-ink);color:var(--cyan);padding:.1rem .55rem;border-radius:2px;white-space:nowrap}

/* showroom scale-up */
.showroom{padding:8vh 0;text-align:center}
.scaleup{margin:0 auto;width:62%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;will-change:transform;background:url('fluid/showroom_wide.png') center/cover;box-shadow:0 60px 120px -50px rgba(0,0,0,.6)}

/* member grid */
.mem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;margin-top:2.4rem}
.mem{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:5px;overflow:hidden}
.mem img{width:100%;aspect-ratio:1/1.12;object-fit:cover;filter:saturate(.92)}
.mem .mb{padding:1rem 1.1rem 1.2rem}
.mem .role{font-size:.68rem;letter-spacing:.06em;color:var(--cyan);font-weight:500;line-height:1.5}
.mem .name{font-family:var(--ja);font-size:1.1rem;font-weight:600;margin:.3rem 0 .3rem}
.mem .lang{font-size:.7rem;color:rgba(255,255,255,.6)}
@media(max-width:900px){.mem-grid{grid-template-columns:repeat(2,1fr)}}

/* company table + timeline */
.ctable{width:100%;border-collapse:collapse;margin-top:1.5rem;font-size:.92rem}
.ctable th,.ctable td{text-align:left;vertical-align:top;padding:1rem .5rem;border-bottom:1px solid rgba(255,255,255,.14)}
.ctable th{width:26%;font-weight:600;color:#fff;white-space:nowrap}
.ctable td{color:var(--muted-d)}
.timeline{margin-top:2rem;border-left:1px solid rgba(255,255,255,.2);padding-left:1.6rem}
.timeline .t{padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
.timeline .t b{font-family:var(--en);color:var(--cyan);margin-right:1rem}

/* contact form */
.form{max-width:680px;margin:2.4rem auto 0;display:grid;gap:1.3rem}
.field label{display:block;font-size:.78rem;letter-spacing:.08em;margin-bottom:.5rem;color:rgba(255,255,255,.8)}
.field label .req{color:var(--cyan)}
.field input,.field textarea,.field select{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:4px;color:#fff;font-family:inherit;font-size:.95rem;padding:.85rem 1rem;transition:.2s}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--cyan);background:rgba(255,255,255,.09)}
.field textarea{min-height:140px;resize:vertical}
.field select option{color:#16223c}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
@media(max-width:600px){.form .row2{grid-template-columns:1fr}}
.submit{margin-top:.5rem;background:var(--cyan);color:var(--navy-d);font-weight:700;letter-spacing:.1em;border:none;border-radius:3px;padding:1.1rem;font-size:.9rem;cursor:pointer;transition:.3s}
.submit:hover{background:#fff}
.line-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--line);color:#fff;font-weight:600;letter-spacing:.06em;text-decoration:none;padding:1rem 2rem;border-radius:4px;font-size:.9rem;transition:.3s}
.line-btn:hover{filter:brightness(1.08)}
.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(2rem,5vw,4rem);align-items:start}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}
.side-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:1.8rem}
.side-card h4{font-family:var(--ja);font-size:1.05rem;margin-bottom:.8rem}
.side-card p{font-size:.85rem;color:var(--muted-d);line-height:1.9}

footer{padding:11vh 7vw 16vh;text-align:center}
.foot-logo{font-family:var(--en);font-size:1.6rem;letter-spacing:.3em}
.foot-nav{display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;margin:1.6rem 0;font-size:.74rem;letter-spacing:.12em}
.foot-nav a{color:rgba(255,255,255,.75);text-decoration:none}
.foot-nav a:hover{color:var(--cyan)}
.foot-info{font-size:.78rem;color:rgba(255,255,255,.62);line-height:2;margin-top:1rem}

@media(max-width:760px){
  .hero{justify-content:center;padding-bottom:0;min-height:560px}
  #heroimg::after{background:linear-gradient(180deg,rgba(12,31,61,.5),rgba(12,31,61,.45) 50%,rgba(12,31,61,.72))}
  .sec{padding:4.5vh 0}.showroom{padding:5.5vh 0}footer{padding:6vh 7vw 9vh}.page-head{min-height:46vh;padding-bottom:6vh}
  .lead-p{font-size:.98rem;line-height:1.95}
  .cta-top{display:none}.fab{display:inline-flex}
  .scaleup{width:92%}
}
.note{display:none}
.toast{position:fixed;left:50%;bottom:8vh;transform:translateX(-50%) translateY(20px);background:var(--cyan);color:var(--navy-d);font-weight:600;font-size:.85rem;padding:.9rem 1.6rem;border-radius:30px;z-index:70;opacity:0;pointer-events:none;transition:.4s}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* language toggle */
.lang-toggle{display:flex;align-items:center;font-size:.72rem;letter-spacing:.04em}
.lang-toggle button{background:none;border:none;color:#fff;font:inherit;cursor:pointer;opacity:.5;padding:.2rem .35rem;transition:.2s;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.lang-toggle button.on{opacity:1;color:var(--cyan)}
.lang-toggle .sep{opacity:.3;padding:0 .05rem}

/* column list + article */
.col-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin-top:2.4rem}
@media(max-width:820px){.col-grid{grid-template-columns:1fr}}
.col-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:6px;overflow:hidden;text-decoration:none;color:#fff;display:block;transition:.4s}
.col-card:hover{transform:translateY(-6px);border-color:var(--cyan)}
.col-card .thumb{height:190px;background-size:cover;background-position:center}
.col-card .cb{padding:1.3rem 1.4rem 1.6rem}
.col-card .meta{font-size:.68rem;letter-spacing:.1em;color:var(--cyan);margin-bottom:.6rem}
.col-card .ttl{font-family:var(--ja);font-size:1.05rem;font-weight:600;line-height:1.6}
.col-card .ex{font-size:.82rem;color:var(--muted-d);margin-top:.6rem;line-height:1.8}
.article{max-width:760px;margin:0 auto}
.article .a-meta{font-size:.72rem;letter-spacing:.1em;color:var(--cyan);margin-bottom:.8rem}
.article .a-title{font-family:var(--ja);font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:600;line-height:1.5;margin-bottom:1.6rem}
.article .a-hero{aspect-ratio:16/9;border-radius:6px;background-size:cover;background-position:center;margin:1.6rem 0 2.4rem}
.article h2{font-family:var(--ja);font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:600;margin:2.4rem 0 1rem;line-height:1.6;color:#fff}
.article p{font-size:1rem;line-height:2.15;color:var(--muted-d);margin-bottom:1.3rem}
.article .a-img{aspect-ratio:16/9;border-radius:5px;background-size:cover;background-position:center;margin:1.8rem 0}
.article .a-lead{font-size:1.06rem;line-height:2.1;color:#fff;margin-bottom:1.6rem}

/* member strip (top page) */
.mem-strip{display:flex;gap:1.1rem;overflow-x:auto;padding:3rem 7vw .8rem;scroll-snap-type:x proximity;-ms-overflow-style:none;scrollbar-width:none}
.mem-strip::-webkit-scrollbar{display:none}
.ms{flex:0 0 auto;width:clamp(124px,11vw,156px);text-decoration:none;color:inherit;scroll-snap-align:start}
.ms-img{display:block;width:100%;aspect-ratio:1/1.16;border-radius:4px;background-size:cover;background-position:center top;filter:saturate(.88);transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s}
.ms:hover .ms-img{filter:saturate(1);transform:translateY(-6px)}
.ms-n{display:block;font-family:var(--ja);font-size:.95rem;font-weight:600;margin-top:.75rem;line-height:1.5}
.ms-r{display:block;font-size:.66rem;letter-spacing:.05em;line-height:1.6;margin-top:.15rem}
.theme-light .ms-r{color:var(--cyan-ink)} .theme-dark .ms-r{color:var(--cyan)}
@media(max-width:760px){.mem-strip{padding:2.2rem 7vw .8rem;gap:.9rem}.ms{width:132px}}

/* compact column cards (top page) */
.col-mini .col-card .thumb{height:150px}
.col-mini .col-card .cb{padding:1.1rem 1.2rem 1.3rem}
.col-mini .col-card .ttl{font-size:.98rem}

/* 2 pillars (top page) — 枠なし・エディトリアル */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.2rem,5vw,5rem);max-width:1180px;margin:2.6rem auto 0;padding:0 7vw}
.pillar{display:block;text-decoration:none;color:inherit}
.pillar .pi{height:clamp(190px,23vw,280px);background-size:cover;background-position:center;will-change:transform;transition:filter .6s}
.pillar:hover .pi{filter:brightness(1.06)}
.ph-line{display:flex;align-items:baseline;gap:.9rem;margin-top:1.5rem}
.pillar .no{font-family:var(--en);font-size:1.05rem;letter-spacing:.16em;color:var(--cyan-ink)}
.pillar .en{font-family:var(--en);font-size:.98rem;letter-spacing:.2em;text-transform:uppercase;opacity:.55}
.pillar h3{font-family:var(--ja);font-size:clamp(1.35rem,2.3vw,1.75rem);font-weight:600;margin:.35rem 0 .7rem;line-height:1.5}
.pillar .desc{font-size:.88rem;line-height:2;color:var(--muted-l);max-width:34em}
.plist{display:flex;flex-wrap:wrap;margin-top:1.3rem;font-size:.83rem;letter-spacing:.05em;color:var(--ink);opacity:.9}
.plist span{position:relative;padding:.1rem 0}
.plist span:not(:last-child)::after{content:'／';opacity:.35;margin:0 .5rem}
.theme-dark .pillar .desc{color:var(--muted-d)} .theme-dark .plist{color:#fff}
.theme-dark .pillar .no{color:var(--cyan)}
.pillar-note{text-align:center;margin-top:3rem;font-size:.9rem;letter-spacing:.04em}
.pillar-note a{color:var(--cyan-ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
@media(max-width:820px){.pillars{grid-template-columns:1fr;gap:3rem}.pillar .pi{height:200px}.pillar-note{margin-top:2.2rem}}

/* column strip (top page, horizontal) */
.col-strip{display:flex;gap:1.2rem;overflow-x:auto;padding:2.4rem 7vw .8rem;scroll-snap-type:x proximity;-ms-overflow-style:none;scrollbar-width:none}
.col-strip::-webkit-scrollbar{display:none}
.col-strip .col-card{flex:0 0 auto;width:clamp(240px,24vw,300px);scroll-snap-align:start}
.col-strip .col-card .thumb{height:150px}
.col-strip .col-card .cb{padding:1.1rem 1.2rem 1.35rem}
.col-strip .col-card .ttl{font-size:.98rem}

/* top message → member を1つの流れに */
.mem-lead{margin-top:clamp(2.6rem,5vw,4.2rem);padding-top:1.7rem;border-top:1px solid rgba(255,255,255,.16);font-size:.9rem;line-height:2.05;color:var(--muted-d);max-width:56em}
.theme-light .mem-lead{border-top-color:rgba(22,34,60,.16);color:var(--muted-l)}

/* 濃紺統一パレット向けの微調整 */
.pillar-note a{color:var(--cyan)}
.pillar .no{color:var(--cyan)}
.plist{color:#fff;opacity:.88}
.mem-lead{border-top-color:rgba(255,255,255,.16);color:var(--muted-d)}
.eyebrow{color:var(--cyan)}
.num .n{color:#fff} .num .cap{color:rgba(255,255,255,.66)}
.card .desc{color:var(--muted-d)}
.pillar .desc{color:var(--muted-d)}
.statement{color:#fff}
.two{border-top-color:rgba(255,255,255,.16)}

/* ゆっくり流れる横ループ */
.mem-strip,.col-strip{overflow:hidden;scroll-snap-type:none}
.marq-inner{display:flex;width:max-content;animation:marq linear infinite;will-change:transform}
.marq-track{display:flex;gap:1.1rem;padding-right:1.1rem}
.col-strip .marq-track{gap:1.2rem;padding-right:1.2rem}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mem-strip:hover .marq-inner,.col-strip:hover .marq-inner{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.marq-inner{animation:none}}

/* 会社案内PDF ダウンロードタブ（左上） */
.head-left{display:flex;align-items:center;gap:1.1rem}
.dl-tab{display:inline-flex;align-items:center;gap:.5rem;font-size:.7rem;letter-spacing:.1em;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.4);border-radius:2px;padding:.5rem .8rem;transition:.3s;text-shadow:0 1px 10px rgba(0,0,0,.4);white-space:nowrap}
.dl-tab:hover{background:var(--cyan);color:var(--navy-d);border-color:var(--cyan)}
.dl-tab .dl-ic{width:13px;height:13px;flex:0 0 auto;border:1.4px solid currentColor;border-top:none;border-radius:0 0 2px 2px;position:relative}
.dl-tab .dl-ic::before{content:'';position:absolute;left:50%;top:-9px;width:1.4px;height:8px;background:currentColor;transform:translateX(-50%)}
.dl-tab .dl-ic::after{content:'';position:absolute;left:50%;top:-3px;width:6px;height:6px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.dl-tab .dl-sub{font-family:var(--en);opacity:.7;letter-spacing:.14em}
@media(max-width:760px){.dl-tab{padding:.45rem .65rem;gap:.4rem;font-size:.66rem}}

/* 代表プロフィールページ */
.prof-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:center;margin-top:2.4rem}
.prof-img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:5px;box-shadow:0 40px 80px -45px rgba(0,0,0,.5);display:block}
.prof-name{font-family:var(--ja);font-weight:600;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.3;margin:.7rem 0 .4rem}
.prof-en{font-family:var(--en);font-size:.5em;letter-spacing:.12em;opacity:.6;margin-left:.5rem}
.prof-role{font-size:.8rem;letter-spacing:.1em;color:var(--cyan);margin-bottom:1.2rem}
.prof-langs{display:flex;gap:.5rem;margin-top:1.4rem}
.prof-langs span{font-size:.72rem;letter-spacing:.06em;border:1px solid rgba(255,255,255,.3);border-radius:40px;padding:.34rem .9rem;color:rgba(255,255,255,.85)}
@media(max-width:760px){.prof-head{grid-template-columns:1fr;gap:1.6rem}}
.tl2{margin-top:2.8rem;border-left:1px solid rgba(255,255,255,.18);padding-left:0}
.tl2-item{position:relative;padding:0 0 1.7rem 1.8rem}
.tl2-item::before{content:'';position:absolute;left:-5px;top:.5rem;width:9px;height:9px;border-radius:50%;background:var(--cyan)}
.tl2-k{font-family:var(--en);font-size:.78rem;letter-spacing:.1em;color:var(--cyan);margin-bottom:.4rem}
.tl2-v{font-size:.92rem;line-height:1.95;color:var(--muted-d)}
.mem.clickable{cursor:pointer;transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .5s}
.mem.clickable:hover{transform:translateY(-6px);border-color:var(--cyan)}
.ms[href="member-murakami.html"] .ms-img{outline:1px solid transparent;transition:outline-color .4s,transform .6s,filter .6s}
