/* top.css｜TOPページ専用 */
/* ===== HERO full screen (reference layout) ===== */
.hero{position:relative;height:calc(100vh - 70px);min-height:660px;padding:0;border:none;overflow:hidden;}
.hero .hero-bg{position:absolute;inset:0;height:100%;width:100%;font-size:13px;align-items:flex-end;justify-content:center;padding:0 40px 18px;color:var(--ph-label);}
.hero-inner{position:relative;z-index:2;height:100%;width:100%;}

.hero-copy{position:absolute;top:50%;left:6%;max-width:46%;transform:translateY(-50%);}
.catch-img{display:block;width:min(440px,42vw);height:auto;}
.hero-copy .lead{margin-top:32px;color:var(--ink);font-size:15px;line-height:1.95;}

.hero-cta{position:absolute;left:6%;bottom:8%;display:flex;gap:18px;flex-wrap:wrap;z-index:3;}
.btn-cta{display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:0 28px;border-radius:999px;font-size:15px;font-weight:500;text-decoration:none;color:#fff;background:var(--ink);}
.btn-cta.alt{background:#707070;}
.btn-cta .arw{margin-left:6px;font-size:14px;}

.hero-person{position:absolute;top:50%;right:5%;transform:translateY(-50%);z-index:3;display:flex;align-items:center;gap:22px;text-align:right;}
.hero-person .hp-role{font-size:13px;color:var(--ink);}
.hero-person .hp-year{font-size:12px;color:var(--sub);margin-top:5px;}
.hero-person .hp-name{font-size:23px;font-weight:700;color:var(--ink);margin-top:10px;letter-spacing:.08em;}
.hp-dots{display:flex;flex-direction:column;gap:13px;}
.hp-dots .dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--ink);background:transparent;cursor:pointer;}
.hp-dots .dot.active{background:var(--ink);}

.hero-nav{position:absolute;right:5%;bottom:8%;display:flex;align-items:center;gap:24px;z-index:3;}
.hn-count{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--ink);}
.hn-count b{font-size:36px;font-weight:700;line-height:1;}
.hn-count .ln{width:54px;height:1px;background:var(--ink);display:inline-block;}
.hero-nav .arrows{display:flex;gap:12px;}
.nav-arw{width:52px;height:52px;border:1px solid var(--ink);border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;color:var(--ink);}


/* ===== HERO flowing photos ===== */
.hero{height:100vh;min-height:620px;background:#5CC8F5;}
.fv-topwave{position:absolute;left:0;top:0;width:100%;height:42%;display:block;z-index:0;pointer-events:none;}
.fv-marquee{position:absolute;left:clamp(20px,3.6vw,56px);right:0;top:112px;bottom:0;overflow:hidden;border-radius:36px 0 0 36px;}
.fv-track{display:flex;gap:18px;height:100%;width:max-content;animation:fvFlow 100s linear infinite;}
.fv-card{position:relative;height:100%;margin:0;border-radius:36px;overflow:hidden;flex:0 0 auto;}
.fv-card .fv-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%;}
.fv-card.w-l{width:clamp(460px,52vw,860px);}
.fv-card.w-m{width:clamp(360px,36vw,620px);}
.fv-card.w-s{width:clamp(280px,26vw,440px);}
.fv-card.w-sm{width:clamp(320px,30vw,510px);}
.fv-tag{position:absolute;right:20px;bottom:20px;display:flex;flex-direction:column;gap:4px;padding:14px 20px;border-radius:16px;background:#fff;text-align:left;}
.fv-tag .r{font-size:12px;color:var(--ink);}
.fv-tag .y{font-size:11px;color:var(--sub);}
.fv-tag .n{font-size:17px;font-weight:700;letter-spacing:.08em;color:var(--ink);}
@keyframes fvFlow{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 9px));}}
@media (prefers-reduced-motion:reduce){.fv-track{animation:none;}}
.fv-marquee::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 48% 42% at 24% 56%,rgba(10,30,60,.42) 0%,rgba(10,30,60,.22) 50%,rgba(10,30,60,0) 100%);pointer-events:none;}
.fv-catch{position:absolute;z-index:3;left:clamp(44px,6.5vw,110px);top:50%;transform:translateY(-50%);margin:0;font-family:"Poppins",sans-serif;font-weight:800;font-size:clamp(68px,9.6vw,160px);line-height:.92;letter-spacing:-.01em;color:#fff;display:flex;flex-direction:column;}
.fv-catch .fv-sub{display:block;margin-top:1.35em;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:clamp(18px,1.9vw,30px);line-height:1.75;letter-spacing:.14em;color:#fff;}
.fv-catch .l{position:relative;background:linear-gradient(100deg,#9fe9ff 0%,#ffffff 85%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.fv-catch .l .fv-script{-webkit-text-fill-color:#FFE14D;}
.fv-catch .fv-script{position:absolute;left:78%;bottom:-.3em;font-family:"Oooh Baby",cursive;font-weight:400;font-size:.9em;line-height:1;letter-spacing:0;color:#FFE14D;white-space:nowrap;transform:rotate(-8deg);transform-origin:left bottom;}
.fv-wave{position:absolute;left:0;right:0;bottom:-1px;height:130px;z-index:2;overflow:hidden;pointer-events:none;}
.fv-wave svg{position:absolute;left:0;bottom:0;width:200%;height:100%;display:block;}
.fv-wave .w1{height:100%;animation:fvWave 11s linear infinite reverse;}
.fv-wave .w2{height:100%;animation:fvWave 7s linear infinite;}
@keyframes fvWave{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.fv-wave svg{animation:none;}}
.fv-copy{position:absolute;left:0;bottom:0;z-index:3;background:#5CC8F5;border-radius:0 44px 0 0;padding:34px 48px 30px clamp(20px,3.6vw,56px);}
.fv-copy .catch-img{width:min(420px,34vw,46vh);filter:brightness(0) invert(1);}
/* ===== MESSAGE (blue gradient + scattered photos) ===== */
.message{position:relative;overflow:hidden;background:linear-gradient(180deg,#5CC8F5 0%,#5CC8F5 8%,#1BB9F3 34%,#0E8FE6 68%,#1461D2 100%);color:#fff;padding:150px 0 300px;border-top:none;margin-top:-1px;}
.message .msg-curve{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:260px;display:block;z-index:1;}
.message .wrap{position:relative;z-index:3;max-width:640px;text-align:center;}
.message .sec-label{color:#fff;}
.message-head .headline{margin:18px 0 40px;font-size:28px;line-height:1.7;color:#fff;}
.message-body .lead{color:#fff;line-height:2.15;}
.message-body .lead + .lead{margin-top:24px;}
.message .list{list-style:none;margin:8px 0;}
.message .sec-label{margin-bottom:36px;}
.msg-lines{display:flex;flex-direction:column;gap:26px;}
.msg-lines p{font-size:20px;font-weight:700;letter-spacing:.06em;color:#fff;line-height:1.6;}
.msg-catch{display:block;width:min(520px,100%);aspect-ratio:1454/1131;margin:64px auto 0;background:#FFE14D;-webkit-mask:url("../images/msg-catch.webp") center/contain no-repeat;mask:url("../images/msg-catch.webp") center/contain no-repeat;}
.message .btn-link{margin:64px auto 0;}
.message .mp{position:absolute;z-index:2;border-radius:6px;overflow:hidden;}
.message .mp img{display:block;width:100%;height:100%;object-fit:cover;}
.message .mp .ph{width:100%;height:100%;border-radius:0;border:none;background:#cfd8e3;color:#6b7684;}
.mp1{width:clamp(180px,15vw,280px);aspect-ratio:1;top:90px;left:12%;}
.mp2{width:clamp(220px,23vw,400px);aspect-ratio:1;top:210px;right:2.5%;}
.mp3{width:clamp(220px,23vw,400px);aspect-ratio:1;top:48%;left:0;border-radius:0 6px 6px 0;}
.mp4{width:clamp(180px,15vw,280px);aspect-ratio:1;bottom:260px;right:19%;}
.mp5{width:clamp(180px,15vw,280px);aspect-ratio:1;bottom:60px;left:27%;z-index:4;}
@media (max-width:1200px){.mp1{left:3%;}}
@media (max-width:1100px){.message .wrap{max-width:440px;}.mp1{width:130px;top:70px;left:-24px;}.mp2{width:150px;top:170px;right:-40px;}.mp3{width:140px;top:auto;bottom:330px;left:-50px;}.mp4{width:130px;bottom:240px;right:-20px;}.mp5{width:160px;left:22%;}}
/* ===== PEOPLE carousel (reference layout) ===== */
.people-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:34px;}
.all-people{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:var(--ink);}
.all-people .ico{width:84px;height:84px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--ink);}
.all-people .lbl{font-size:12px;letter-spacing:.12em;}

.people-stage{position:relative;}
.people-viewport{overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);}
.people-track{display:flex;gap:30px;transition:transform .45s ease;}
.pcard{flex:0 0 clamp(420px,56vw,760px);opacity:.32;transition:opacity .45s ease;}
.pcard.active{opacity:1;}
.pc-media{position:relative;}
.pc-media .ph{height:440px;}
.pc-num{position:absolute;top:12px;left:18px;display:flex;align-items:flex-start;gap:8px;color:rgba(34,34,34,.18);}
.pc-num .n{font-size:96px;font-weight:700;line-height:.8;letter-spacing:-.02em;}
.pc-num .lbl{writing-mode:vertical-rl;font-size:13px;letter-spacing:.2em;margin-top:8px;}
.pc-cat{position:absolute;left:0;bottom:26px;background:var(--ink);color:#fff;font-size:17px;font-weight:700;padding:11px 22px;}
.pc-hand{position:absolute;right:14px;bottom:96px;transform:rotate(-4deg);width:min(820px,88%);height:auto;}
.pc-hand[src*="tegaki-03"]{width:min(540px,60%);}
.pc-go{position:absolute;right:14px;bottom:14px;width:46px;height:46px;border:1px solid var(--ink);border-radius:50%;background:rgba(255,255,255,.65);display:flex;align-items:center;justify-content:center;color:var(--ink);}
.pc-meta{display:flex;gap:28px;align-items:flex-start;padding:24px 4px 0;}
.pc-meta .initials{font-size:24px;font-weight:700;letter-spacing:.04em;}
.pc-meta .info{border-left:1px solid var(--line);padding-left:28px;font-size:14px;color:var(--sub);line-height:1.9;}
.pc-meta .info .role{color:var(--ink);font-weight:500;}
.stage-arrow{position:absolute;top:38%;transform:translateY(-50%);z-index:5;width:88px;height:88px;border:1px solid var(--line-strong);border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;color:var(--ink);}
.stage-arrow.left{left:-20px;}
.stage-arrow.right{right:-20px;}

/* PEOPLE — shinryo-style skin */
#people{position:relative;border-top:none;padding-top:110px;}
#people .wrap{position:relative;z-index:1;}
.pp-bar{display:flex;width:96px;height:5px;margin-bottom:44px;background:linear-gradient(90deg,#1461D2 0 50%,#5CC8F5 50% 100%);}
.pp-title{font-family:"Poppins",sans-serif;font-weight:500;font-size:clamp(56px,6.4vw,96px);line-height:1;letter-spacing:-.01em;color:#1a2433;margin:0;}
.pp-sub{margin:26px 0 0;font-size:16px;font-weight:700;letter-spacing:.08em;color:#1a2433;}
.all-people .ico{width:96px;height:96px;border:none;background:#f3f7fa;font-size:20px;}
.all-people .lbl{font-family:"Poppins","Noto Sans JP",sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;}
.people-head{margin-bottom:28px;}
.people-head .sh{margin-bottom:0;}
.people-head{align-items:flex-end;}
.people-head .all-people-btn{margin-top:0;flex:none;}
@media (max-width:760px){.people-head{flex-direction:column;align-items:flex-start;}}
.pcard{opacity:1;}
.pc-media{overflow:hidden;}
.pc-media .ph{height:460px;border-radius:0;}
.pc-num{top:28px;left:0;color:#fff;gap:6px;}
.pc-num .n{font-family:"Poppins",sans-serif;font-size:110px;font-weight:600;writing-mode:vertical-rl;line-height:.85;}
.pc-num .lbl{font-family:"Poppins",sans-serif;font-size:14px;letter-spacing:.24em;margin-top:0;}
.pc-cat{bottom:52px;background:#5CC8F5;font-size:15px;padding:8px 16px;letter-spacing:.04em;}
.pc-go{right:18px;bottom:18px;width:52px;height:52px;border:none;border-radius:50%;background:#1461D2;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;line-height:1;transition:transform .3s ease;}
.pcard:hover .pc-go{transform:scale(1.12);}
.pc-meta{padding:40px 0 0;gap:34px;}
.pc-meta .initials{font-family:"Poppins",sans-serif;font-size:28px;font-weight:600;color:#1a2433;}
.pc-meta .info{border-left:1px solid #b9d6e6;padding-left:34px;font-size:15px;color:#1a2433;line-height:2.1;letter-spacing:.06em;}
.stage-arrow{top:230px;width:72px;height:72px;border:none;background:#fff;font-size:18px;}
.stage-arrow.left{left:calc(-1 * clamp(20px,5vw,90px));}
.stage-arrow.right{right:calc(-1 * clamp(20px,5vw,90px));}
@media (max-width:900px){.pc-media .ph{height:340px;}.pc-num .n{font-size:72px;}.stage-arrow{width:52px;height:52px;top:170px;}.stage-arrow.left{left:-12px;}.stage-arrow.right{right:-12px;}}
/* ===== JOB image-card grid ===== */
.job-card .jc-img{padding:0 !important;overflow:hidden;}
.job-card .jc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.job-card .jc-name{padding-right:56px !important;line-height:1.45;}
.job-card{border:3px solid #fff !important;}
.job-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:18px;}
.job-card{position:relative;grid-column:span 2;height:280px;overflow:hidden;text-decoration:none;display:block;}
.job-card.wide{grid-column:span 3;height:260px;}
.job-card .ph{position:absolute;inset:0;width:100%;height:100%;border:none;}
.job-card::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0) 55%);z-index:1;}
.job-card .jc-name{position:absolute;left:22px;bottom:22px;z-index:2;color:#fff;font-size:19px;font-weight:700;line-height:1.5;}
.job-card .jc-arw{position:absolute;right:20px;bottom:24px;z-index:2;color:#fff;font-size:20px;}
.job-card .ph > span{position:relative;z-index:0;}
.job-card .jc-img{position:absolute;inset:0;transition:transform .5s ease;}
.job-card:hover .jc-img{transform:scale(1.05);}

/* ===== ENVIRONMENT (3列・縦書き英字・図形あしらい) ===== */
.env-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:72px 56px;margin-top:40px;}
.env-item{position:relative;display:block;padding-left:36px;text-decoration:none;color:var(--ink);}
.env-en{position:absolute;left:0;top:0;writing-mode:vertical-rl;font-family:"Poppins",sans-serif;font-size:15px;letter-spacing:.06em;color:#1a2433;padding-top:22px;}
.env-en::before{content:"";position:absolute;top:0;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:12px 0 0 0;background:#5CC8F5;}
.env-photo{position:relative;aspect-ratio:1/1;}
.env-photo .ph{position:relative;z-index:1;width:100%;height:100%;border:none;border-radius:22px;transition:transform .5s ease;}
.env-item:hover .env-photo .ph{transform:scale(1.03);}
.env-deco{position:absolute;z-index:0;pointer-events:none;}
.env-deco.s1{width:30%;aspect-ratio:1/1;left:58%;top:-12%;background:linear-gradient(135deg,rgba(92,200,245,.45),rgba(191,243,255,.12));border-radius:50%;}
.env-deco.s2{width:62%;aspect-ratio:1.25/1;left:24%;bottom:-30%;background:linear-gradient(160deg,rgba(191,243,255,.65),rgba(92,200,245,.1));border-radius:58% 42% 55% 45% / 52% 48% 52% 48%;}
.env-deco.s3{width:78%;aspect-ratio:1/1;right:-10%;top:-12%;background:linear-gradient(200deg,rgba(92,200,245,.4),rgba(191,243,255,.08));border-radius:50%;}
.env-deco.s4{width:42%;aspect-ratio:1/1;left:-14%;bottom:-14%;background:linear-gradient(45deg,rgba(191,243,255,.65),rgba(92,200,245,.1));border-radius:50%;}
.env-deco{animation:envFloat 9s ease-in-out infinite alternate;will-change:transform;}
.env-deco.s2{animation-duration:11s;animation-delay:-3s;animation-name:envFloat2;}
.env-deco.s3{animation-duration:13s;animation-delay:-6s;}
.env-deco.s4{animation-duration:10s;animation-delay:-2s;animation-name:envFloat2;}
@keyframes envFloat{0%{transform:translate(0,0) scale(1);}50%{transform:translate(14px,-12px) scale(1.04);}100%{transform:translate(-10px,10px) scale(.97);}}
@keyframes envFloat2{0%{transform:translate(0,0) rotate(0deg);}50%{transform:translate(-14px,10px) rotate(8deg);}100%{transform:translate(10px,-8px) rotate(-6deg);}}
@media (prefers-reduced-motion:reduce){.env-deco{animation:none;}}
.env-item .label{position:relative;z-index:1;display:flex;align-items:center;gap:14px;margin-top:28px;font-size:clamp(20px,1.8vw,26px);font-weight:700;line-height:1.4;}
.env-item .label .arw{font-size:16px;transition:transform .3s ease;}
.env-item:hover .label .arw{transform:translateX(6px);}
.env-foot{margin-top:44px;font-size:20px;font-weight:700;line-height:1.8;text-align:center;}

/* ===== PHILOSOPHY ===== */
.philosophy{}
.philosophy .phil-grid{display:grid;grid-template-columns:minmax(320px,440px) 1fr;gap:60px;align-items:center;}
.philosophy .phil-photo .ph{height:480px;border-radius:18px;}
.philosophy .phil-img{position:relative;padding:0;border:none;overflow:hidden;}
.philosophy .phil-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:78% 30%;}
.philosophy .phil-photo .cap{margin-top:14px;font-size:13px;color:var(--sub);}
.philosophy .phil-photo .cap b{display:block;font-size:17px;color:var(--ink);font-weight:700;margin-top:4px;}
.philosophy .big{font-size:22px;font-weight:700;line-height:1.95;}

/* ===== NEWS (IIJ-style: left intro + right card slider) ===== */
#news{overflow-x:clip;}
.news-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:48px;align-items:start;}
.news-intro .news-desc{font-size:14px;color:var(--ink);line-height:1.95;margin-top:6px;}
.news-stage{overflow:hidden;margin-right:calc(50% - 50vw);}
.news-viewport{overflow:hidden;}
.news-track{display:flex;gap:26px;transition:transform .45s ease;}
.news-card{flex:0 0 320px;text-decoration:none;color:var(--ink);}
.news-card .ph{height:210px;border:none;border-radius:16px;overflow:hidden;}
.news-card .body{padding-top:16px;}
.news-card .tag{display:inline-block;border:1px solid var(--line-strong);border-radius:999px;font-size:11px;color:var(--sub);padding:3px 12px;}
.news-card .date{font-size:12px;color:var(--sub);margin-top:12px;}
.news-card .title{font-size:15px;font-weight:700;line-height:1.75;margin-top:10px;}
.news-controls{display:flex;align-items:center;gap:32px;margin-top:36px;}
.news-progress{flex:1;height:3px;background:var(--line);position:relative;}
.news-progress span{position:absolute;left:0;top:0;height:100%;background:var(--ink);transition:width .35s ease,left .35s ease;}
.news-controls .slider-arrows{display:flex;gap:12px;}

/* ===== INSTAGRAM feed ===== */
.insta-head{text-align:center;}
.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px;}
.insta-grid .ph{aspect-ratio:9/16;border-radius:14px;}
.insta-note{text-align:center;margin-top:18px;font-size:13px;color:var(--sub);}

/* ---- responsive (top) ---- */
@media (max-width:920px){
  .hero{height:auto;min-height:0;}
  .hero-inner{display:flex;flex-direction:column;gap:24px;padding:40px 20px 48px;}
  .hero-copy,.hero-cta,.hero-person,.hero-nav{position:static;transform:none;left:auto;right:auto;top:auto;bottom:auto;max-width:none;}
  .hero-person{justify-content:flex-start;text-align:left;}
  .hp-dots{flex-direction:row;}
  .catch-img{width:min(360px,70vw);}
  .hero{height:auto;min-height:0;padding:84px 0 0;}
  .fv-marquee{position:relative;top:auto;bottom:auto;height:420px;margin-left:16px;border-radius:24px 0 0 24px;}
  .fv-card{border-radius:24px;}
  .fv-card.w-l{width:78vw;}.fv-card.w-m{width:64vw;}.fv-card.w-s{width:52vw;}.fv-card.w-sm{width:58vw;}
  .fv-wave{height:90px;bottom:auto;top:414px;}
  .fv-catch{top:120px;transform:none;left:36px;font-size:58px;}
  .fv-catch .fv-sub{font-size:15px;margin-top:.9em;}
  .fv-copy{position:relative;bottom:auto;margin-top:0;width:auto;max-width:none;padding:12px 20px 32px;border-radius:0;}
  .fv-copy .catch-img{width:min(320px,76vw);}
  .message{padding:90px 0 200px;}
  .message .wrap{max-width:none;padding:0 24px;}
  .message .mp1,.message .mp2,.message .mp3,.message .mp4{display:none;}
  .message .mp5{width:40vw;left:8%;bottom:28px;}
  .message .msg-curve{height:140px;}
  .msg-lines p{font-size:16px;}
  .msg-catch{width:88%;margin-top:44px;}
  .pcard{flex:0 0 80vw;}
  .pc-media .ph{height:320px;}
  .pc-hand{width:min(520px,84%);}
  .stage-arrow{width:58px;height:58px;font-size:18px;}
  .stage-arrow.left{left:-6px;}
  .stage-arrow.right{right:-6px;}
  .job-card{grid-column:span 3;height:240px;}
  .job-card.wide{grid-column:span 6;}
  .env-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 36px;}
.philosophy .phil-grid{grid-template-columns:1fr;gap:28px;}
  .philosophy .phil-photo .ph{height:360px;}
  .news-layout{grid-template-columns:1fr;gap:24px;}
  .news-stage{margin-right:calc(50% - 50vw);}
  .news-card{flex:0 0 76vw;}
  .insta-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .catch{font-size:30px;}
  .pcard{flex:0 0 86vw;}
  .pc-meta{flex-direction:column;gap:12px;}
  .pc-meta .info{border-left:none;padding-left:0;}
  .env-grid{grid-template-columns:1fr;gap:64px;}
  .insta-grid{grid-template-columns:repeat(2,1fr);}
}

/* PEOPLE：実在スタッフ版（手書き風テキスト・リンク） */
.pcard{position:relative;}
.pcard-link{position:absolute;inset:0;z-index:6;border-radius:36px;}
.pc-hand-txt{position:absolute;right:22px;bottom:100px;left:22px;margin:0;z-index:3;font-family:"Yomogi",cursive;font-size:clamp(20px,2.2vw,32px);line-height:1.5;color:#fff;text-align:right;text-shadow:0 2px 12px rgba(10,40,90,.55);transform:rotate(-4deg);transform-origin:right bottom;text-wrap:balance;}
.pc-meta .initials{font-family:"Noto Sans JP",sans-serif !important;font-size:22px !important;letter-spacing:.1em;}
@media (max-width:560px){.pc-hand-txt{font-size:18px;bottom:84px;}}

/* PEOPLE：縦長サムネ */
.pcard{flex:0 0 clamp(260px,26vw,380px) !important;}
.pc-media .ph{height:auto !important;aspect-ratio:3/4;}
.pc-hand-txt{font-size:clamp(18px,1.6vw,24px);bottom:24px;left:18px;right:18px;}
.pc-num .n{font-size:clamp(64px,6vw,96px);}
@media (max-width:560px){.pcard{flex:0 0 72vw !important;}}

/* PEOPLE：手書きアンケートの切り抜き */
.pc-media{overflow:visible !important;}
.pc-media .ph{overflow:hidden;}
.pc-note{position:relative;z-index:4;margin:-38px 12px 0;background:#fff;border-radius:6px;padding:14px 16px;box-shadow:0 8px 22px rgba(10,40,90,.16);transform:rotate(-2.5deg);transform-origin:center;}
.pc-note::before{content:"";position:absolute;top:-9px;left:50%;width:64px;height:18px;margin-left:-32px;background:rgba(27,185,243,.55);transform:rotate(3deg);border-radius:2px;}
.pc-note img{display:block;width:100%;height:auto;}
.pc-note-txt{font-family:"Yomogi",cursive;font-size:clamp(15px,1.25vw,19px);line-height:1.6;color:#14243e;}
.pcard:nth-child(even) .pc-note{transform:rotate(2deg);}
.pc-meta{margin-top:18px;}
.pc-note img{width:100%;height:auto;max-height:none;margin:0;}
.pc-go{z-index:5;}

.env-photo .ph{position:relative;overflow:hidden;padding:0;}
.env-photo .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}

/* PEOPLE：キャプション（テキスト） */
.pc-cap{margin:18px 0 0;font-size:15px;font-weight:700;line-height:1.75;letter-spacing:.04em;color:#1a2433;min-height:3.5em;}
.pc-cap{color:#1461D2;}
.pc-cat{max-width:calc(100% - 96px);white-space:normal;}
.pc-cat{max-width:calc(100% - 120px);}
.job-card .jc-name{padding-right:76px !important;}

/* NEWS：アイキャッチ未登録時はロゴを表示 */
.news-card .ph.no-photo{display:flex;align-items:center;justify-content:center;background:#f2f7fc;border:none;}
.news-card .ph.no-photo img{width:56%;max-width:220px;height:auto;object-fit:contain;position:static;}
.job-card .jc-name{right:64px;padding-right:0 !important;}
.pc-cat{max-width:calc(100% - 140px);}
#faq .btn-link{background:linear-gradient(90deg,#5CC8F5 0%,#1BB9F3 34%,#0E8FE6 68%,#1461D2 100%);color:#fff;}
#faq .btn-link::after{background:#fff;color:#1461D2;}
.news-card .ph.news-photo{position:relative;overflow:hidden;padding:0;border:none;}
.news-card .ph.news-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.news-card .ph{box-sizing:border-box;border:4px solid #fff !important;}

/* NEWS：横スクロール */
.news-viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain;}
.news-viewport::-webkit-scrollbar{display:none;}
.news-viewport.is-drag{cursor:grabbing;scroll-snap-type:none;user-select:none;}
.news-track{transform:none !important;transition:none;width:max-content;}
.news-card{scroll-snap-align:start;}
.news-card img{-webkit-user-drag:none;user-select:none;}
#people .all-people-btn{background:#fff;}

/* PEOPLE：カードにホバーで写真を拡大 */
.pcard .pc-media .ph{overflow:hidden;}
.pcard .pc-media .ph img{transition:transform .6s ease;}
.pcard:hover .pc-media .ph img{transform:scale(1.06);}

/* JOB：白い縁（3px）の内側に合わせて写真の角丸を小さく */
section .job-grid .job-card .ph.jc-img{border-radius:0 !important;}

/* NEWS：カードにホバーで写真を拡大 */
.news-card .ph{overflow:hidden;}
.news-card .ph img{transition:transform .6s ease;}
.news-card:hover .ph.news-photo img{transform:scale(1.06);}
