@charset "utf-8";
:root{--cream:#F8F3EE;--ink:#2E2A26;--gray:#6B6259;--green:#82AC82;--green-d:#6E9A6E;--line:#DED6C4;--radius:14px;--card:#EFEEE9;}
/* =============================================================
   Sancha Work Company - TOP (home-test)  v2  デザイン準拠
   Breakpoints: PC = min-width:835px / SP = max-width:834px
============================================================= */

:root{
  --cream:#F8F3EE;
  --ink:#2E2A26;
  --gray:#6B6259;
  --green:#82AC82;
  --green-d:#6E9A6E;
  --line:#DED6C4;
  --radius:14px;
}

/* ---- base ---- */
/* はみ出す装飾（ブロブ・スライダー等）の横スクロール/ズーム崩れ防止。
   ※overflow-x:hidden はスクロールコンテナ化して position:sticky（縦見出しの追従）を壊すため、
     スクロールコンテナを作らない overflow-x:clip を使用 */
html{overflow-x:clip;}
body.page-top{
  background:var(--cream);
  color:var(--ink);
  font-family:"Noto Sans JP","Noto Sans CJK JP","Sawarabi Gothic",-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
body.page-top.nav-open{overflow:hidden;}
.nav-open .nav-toggle{opacity:0;pointer-events:none;}
.page-top img{max-width:100%;height:auto;vertical-align:bottom;}
a{color:inherit;}
.page-top a{text-decoration:none;}
.sp-only{display:none;}
.inner{max-width:1120px;margin:0 auto;padding:0 24px;position:relative;}

/* ---- fade-in ---- */
.fade-in,.fade-in-up{opacity:0;transition:opacity 1s ease,transform 1s ease;}
.fade-in-up{transform:translateY(34px);}
.fade-in.is-visible,.fade-in-up.is-visible{opacity:1;transform:none;}

/* =============================================================
   BLOB（CSS border-radius モーフィング / beamaker流・くねくね強め）
============================================================= */
.blob{position:absolute;background:var(--green);z-index:1;pointer-events:none;
  border-radius:38% 62% 63% 37% / 41% 44% 56% 59%;will-change:border-radius;}
.blob--a{animation:blobMorph1 18s ease-in-out infinite;}
.blob--b{animation:blobMorph2 14s ease-in-out infinite;}
.blob--c{animation:blobMorph3 22s ease-in-out infinite;}
@keyframes blobMorph1{
  0%{border-radius:38% 62% 63% 37% / 41% 44% 56% 59%;}
  20%{border-radius:66% 34% 40% 60% / 62% 58% 42% 38%;}
  40%{border-radius:45% 55% 71% 29% / 33% 63% 37% 67%;}
  60%{border-radius:59% 41% 32% 68% / 55% 30% 70% 45%;}
  80%{border-radius:33% 67% 55% 45% / 68% 52% 48% 32%;}
  100%{border-radius:38% 62% 63% 37% / 41% 44% 56% 59%;}
}
@keyframes blobMorph2{
  0%{border-radius:63% 37% 37% 63% / 43% 37% 63% 57%;}
  25%{border-radius:37% 63% 56% 44% / 62% 58% 42% 38%;}
  50%{border-radius:58% 42% 30% 70% / 33% 65% 35% 67%;}
  75%{border-radius:44% 56% 62% 38% / 58% 34% 66% 42%;}
  100%{border-radius:63% 37% 37% 63% / 43% 37% 63% 57%;}
}
@keyframes blobMorph3{
  0%{border-radius:55% 45% 32% 68% / 68% 42% 58% 32%;}
  20%{border-radius:35% 65% 58% 42% / 40% 62% 38% 60%;}
  40%{border-radius:64% 36% 44% 56% / 57% 33% 67% 43%;}
  60%{border-radius:42% 58% 68% 32% / 34% 66% 34% 66%;}
  80%{border-radius:60% 40% 35% 65% / 63% 45% 55% 37%;}
  100%{border-radius:55% 45% 32% 68% / 68% 42% 58% 32%;}
}
@media (prefers-reduced-motion:reduce){ .blob{animation:none;} }

/* =============================================================
   BUTTONS
============================================================= */
/* すべて見る / 詳しく見る : アウトラインピル + 丸アイコン */
.btn-more{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--green);
  border-radius:999px;padding:10px 26px;font-size:14px;color:var(--green-d);letter-spacing:.02em;
  transition:background .3s ease,color .3s ease;}
.btn-more__icon{display:flex;align-items:center;justify-content:center;flex:none;transition:transform .3s ease;}
.btn-more__icon img{width:20px;height:20px;}
.btn-more:hover{background:var(--green);color:#fff;}
.btn-more:hover .btn-more__icon img{filter:brightness(0) invert(1);}
.btn-more:hover .btn-more__icon{transform:translateX(3px) translateY(-3px);}
.btn-contact-fill{display:inline-flex;align-items:center;gap:14px;background:var(--green);color:#fff;
  border-radius:999px;padding:16px 30px;font-size:15px;transition:background .3s ease,transform .3s ease;}
.btn-contact-fill img{width:18px;height:18px;}
.btn-contact-fill:hover{background:var(--green-d);transform:translateY(-2px);}
/* ヘッダー お問い合わせ : アウトライン */
.btn-contact-outline{display:inline-flex;align-items:center;border:1px solid currentColor;border-radius:999px;
  padding:11px 26px;font-size:14px;letter-spacing:.02em;transition:background .3s,color .3s,border-color .3s;}

/* =============================================================
   SECTION 共通
============================================================= */
.sec{position:relative;}
.sec-head{display:grid;grid-template-columns:230px 1fr;gap:0 44px;align-items:start;}
.sec-head__en{font-family:"Lato","Noto Sans JP",sans-serif;font-weight:700;font-size:34px;letter-spacing:.06em;color:var(--ink);}
.sec-head__text{font-size:14px;color:var(--gray);line-height:2;padding-top:8px;}
.sec-head .btn-more{grid-column:2;justify-self:end;margin-top:34px;}
/* 縦書きラベル（セクション内でスクロール追従／sticky） */
.projects .sec-vlabel{top:40px;height:calc(100% - 40px);}
.people .sec-vlabel{top:70px;height:calc(100% - 70px);}
.company .sec-vlabel{top:70px;height:calc(100% - 70px);}
/* 縦ラベルはコンテンツ左端から約50px左（PROJECTS/PEOPLE/COMPANY 共通） */
.sec-vlabel{position:absolute;top:0;left:max(16px,calc((100% - 1240px) / 2 - 26px));height:100%;z-index:5;}
.sec-vlabel span{position:sticky;top:110px;display:inline-block;writing-mode:vertical-rl;
  font-size:13px;letter-spacing:.18em;color:var(--ink);padding-top:26px;}
.sec-vlabel span::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:9px;height:9px;border-radius:50%;background:#82AC82;}

/* 縦書きラベルのための左クリアランス（狭いPC幅） */
@media (min-width:835px) and (max-width:1300px){
  .projects .inner,.people .inner,.company .inner,.projects__slider,.projects__nav{padding-left:56px;}
}

/* =============================================================
   HEADER
============================================================= */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .35s ease,box-shadow .35s ease;color:#fff;}
.site-header.is-scrolled{background:rgba(248,243,238,.94);backdrop-filter:blur(6px);box-shadow:0 2px 14px rgba(0,0,0,.06);color:var(--ink);}
.site-header__inner{max-width:1320px;margin:0 auto;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;}
.site-header__logo{line-height:0;}
.site-header__logo img{height:56px;width:auto;}
.site-header__logo .logo-dark{display:none;}
.site-header.is-scrolled .logo-white{display:none;}
.site-header.is-scrolled .logo-dark{display:inline;}
.gnav{display:flex;align-items:center;gap:40px;}
.gnav__menu{display:flex;gap:34px;list-style:none;margin:0;padding:0;}
.gnav__menu a{font-size:15px;font-weight:500;letter-spacing:.08em;position:relative;}
.gnav__menu a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:width .3s;}
.gnav__menu a:hover::after{width:100%;}
.site-header.is-scrolled .gnav__menu a{color:var(--green-d);}
.site-header.is-scrolled .btn-contact-outline{color:var(--green-d);}
.nav-toggle{display:none;}
.gnav-drawer{display:none;}

/* =============================================================
   HERO（PC:固定FV＋パララックス）／ reveal:上に被さるレイヤー
============================================================= */
.mv{position:relative;height:88vh;min-height:560px;z-index:0;}
.mv__fixed{position:absolute;inset:0;overflow:hidden;}
.mv__media{position:absolute;inset:0;overflow:hidden;}
.mv__media img{width:100%;height:100%;object-fit:cover;}
.mv__heading{position:absolute;left:50%;top:72%;transform:translate(-50%,-50%);width:min(52vw,700px);z-index:4;margin:0;background:none;box-shadow:none;}
/* ---- FV 入場アニメーション（アクセス時）：写真はゆったりズームアウト、見出しは少し遅れてフェードアップ ---- */
.mv__media img{animation:mvZoom 2.2s cubic-bezier(.25,.6,.35,1) both;}
@keyframes mvZoom{from{transform:scale(1.07);}to{transform:scale(1);}}
.mv__heading{opacity:0;animation:mvHeading 1.2s ease-out .55s forwards;}
@keyframes mvHeading{from{opacity:0;transform:translate(-50%,calc(-50% + 26px));}to{opacity:1;transform:translate(-50%,-50%);}}
@media (prefers-reduced-motion:reduce){
  .mv__media img{animation:none;}
  .mv__heading{animation:none;opacity:1;}
}
.mv__heading img{width:100%;height:auto;display:block;}
@media (min-width:835px){
  .mv__fixed{position:fixed;top:0;left:0;width:100%;height:88vh;min-height:560px;z-index:1;}
}
.mv__blob1{width:240px;height:185px;right:4%;bottom:13%;z-index:3;}
.mv__blob2{width:78px;height:66px;right:17%;bottom:6%;}
/* 固定FVの上に被さって出てくる本文レイヤー */
.reveal{position:relative;z-index:2;background:#fff;}

/* =============================================================
   INTRO
============================================================= */
.intro{position:relative;padding:70px 0 40px;background:#F8F3EE;}
.intro__head{position:relative;display:flex;justify-content:center;align-items:center;gap:70px;padding:80px 24px 90px;}
.intro__lead{flex:none;writing-mode:vertical-rl;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Sawarabi Gothic",sans-serif;font-weight:700;
  font-size:clamp(30px,3.4vw,44px);line-height:1.9;letter-spacing:.12em;margin:0;}
.intro__text{flex:none;font-size:15px;color:var(--gray);line-height:2.1;}
.intro__motif{position:absolute;z-index:0;pointer-events:none;}
/* デザイン準拠：大ブロブはリビール境界（写真下端）に接する／線は右側を大きく弧を描く／点は2つ組（about_blob02） */
.intro__motif--blob{width:270px;height:auto;right:-82px;top:-70px;}
.intro__motif--line{right:35px;top:-65px;height:640px;width:auto;opacity:.9;}
.intro__motif--dot{width:71px;height:auto;right:52px;top:248px;}
.motif-float{animation:motifFloat 8s ease-in-out infinite;}
@keyframes motifFloat{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-14px) rotate(3deg);}}
@media (prefers-reduced-motion:reduce){.motif-float{animation:none;}}

/* collage */
.intro__collage{position:relative;max-width:1240px;margin:0 auto;height:620px;padding:0 20px;}
.cimg{position:absolute;margin:0;overflow:hidden;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.06);}
.cimg img{width:100%;height:100%;object-fit:cover;}
/* デザイン準拠の配置：左奥=オフィス / 左上=MAISON(縦) / 中央=暖色内観 / 右上=マーケット(最大) / 右下=人物 */
.cimg--5{left:0;top:30%;width:14%;aspect-ratio:529/400;z-index:2;transition-delay:0s;}      /* image05 オフィス（左端・下） */
.cimg--2{left:12%;top:2%;width:16.5%;aspect-ratio:400/509;z-index:4;transition-delay:.1s;}   /* image02 MAISON（縦・左上＋ドット） */
.cimg--1{left:17%;top:27%;width:36%;aspect-ratio:960/775;z-index:2;transition-delay:.2s;}    /* image01 暖色内観（中央・下） */
.cimg--3{left:53%;top:2%;width:38%;aspect-ratio:961/776;z-index:1;transition-delay:.3s;}     /* image03 マーケット（右上・最大） */
.cimg--4{left:76%;top:57%;width:22%;aspect-ratio:650/514;z-index:3;transition-delay:.4s;}    /* image04 人物（右下） */
.cimg__dot{position:absolute;left:50%;bottom:-16px;width:34px;height:34px;border-radius:50%;background:#fff;transform:translateX(-50%);}

/* ラベル用の左余白（縦書きラベルと本文の重なり防止） */
/* section padding-left removed for left-edge alignment */

/* =============================================================
   PROJECTS
============================================================= */
.projects{position:relative;padding:40px 0 100px;background:#F8F3EE;}
/* デザイン準拠：白い波は見出しの上（イントロ画像エリア）から始まる */
.projects__bg{position:absolute;left:0;top:-160px;width:100%;height:auto;z-index:0;pointer-events:none;}
.projects__line{position:absolute;left:-40px;top:-428px;width:204px;height:auto;z-index:0;pointer-events:none;}
.projects__dot{position:absolute;left:178px;top:-346px;width:21px;height:auto;z-index:1;pointer-events:none;}
.projects__blob1{width:90px;height:86px;left:3.5%;top:-130px;z-index:1;}
.projects__blob2{display:none;}
.projects .inner,.projects__slider,.projects__nav{position:relative;z-index:2;}
.projects .inner,.people .inner,.company .inner{max-width:1240px;}
.projects__nav{max-width:1240px;}
.projects .sec-head{margin-bottom:0;}
.projects__slider{max-width:1240px;margin:44px auto 0;padding:0 24px;overflow:visible;}
.projects__slider .swiper-wrapper{align-items:stretch;}
.projects__slider:not(.swiper-initialized) .swiper-wrapper{display:flex;gap:24px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px;}
.projects__slider:not(.swiper-initialized) .swiper-slide{flex:0 0 clamp(260px,30%,340px);}
.p-card{display:flex;flex-direction:column;background:var(--card);border-radius:var(--radius);overflow:hidden;height:100%;
  box-shadow:0 10px 30px rgba(120,100,70,.08);transition:transform .35s ease,box-shadow .35s ease;}
.p-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(0,0,0,.1);}
.p-card__thumb{aspect-ratio:4/3;overflow:hidden;}
.p-card__thumb img{width:100%;height:100%;object-fit:cover;}
.p-card__body{padding:22px 22px 26px;}
.p-card__titlerow{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;}
.p-card__title{font-size:17px;font-weight:700;line-height:1.5;}
.p-card__status{font-size:11px;color:var(--gray);white-space:nowrap;margin-left:auto;}
.p-card__catch{font-size:13px;color:var(--gray);line-height:1.75;margin-bottom:14px;}
.p-card__tags{display:flex;flex-wrap:wrap;gap:8px;}
.p-card__tags span{border:1px solid var(--green);color:var(--green-d);font-size:11px;padding:.3em .9em;border-radius:999px;}
.projects__nav{display:flex;gap:20px;justify-content:flex-end;margin:30px auto 0;}
.projects__prev,.projects__next{width:52px;height:52px;border-radius:50%;border:1px solid #C9BFAE;background:transparent;cursor:pointer;position:relative;transition:border-color .3s,background .3s;}
.projects__prev:hover,.projects__next:hover{border-color:var(--green);background:var(--green);}
.projects__prev::before,.projects__next::before{content:"";position:absolute;top:50%;left:50%;width:9px;height:9px;border-top:1.5px solid var(--ink);border-right:1.5px solid var(--ink);transition:border-color .3s;}
.projects__prev:hover::before,.projects__next:hover::before{border-color:#fff;}
.projects__next::before{transform:translate(-65%,-50%) rotate(45deg);}
.projects__prev::before{transform:translate(-35%,-50%) rotate(-135deg);}

/* =============================================================
   PEOPLE
============================================================= */
.people{padding:70px 0 100px;background:#fff;}
.people .sec-head{margin-bottom:50px;}
.people__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 34px;}
.pr-card__thumb{aspect-ratio:1/1;overflow:hidden;border-radius:12px;margin-bottom:16px;background:#eae3d6;}
.pr-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.pr-card:hover .pr-card__thumb img{transform:scale(1.04);}
.pr-card__name{font-size:17px;font-weight:700;margin-bottom:4px;}
.pr-card__role{font-size:12px;color:var(--gray);}

/* =============================================================
   COMPANY
============================================================= */
.company{position:relative;z-index:2;background:var(--cream);padding:70px 0 110px;}
.company .sec-head{margin-bottom:10px;}
.company__visual{margin-top:34px;width:100%;border-radius:16px;overflow:hidden;aspect-ratio:1180/620;}
.company__visual img{width:100%;height:100%;object-fit:cover;}
/* デザイン準拠：右上の大ブロブのみ（PEOPLE下端に少しかかる高さ）＋右側の白い弧線 */
.company__blob1{width:190px;height:215px;right:-45px;top:-85px;z-index:-1;}
.company__blob2{display:none;}
.company__blob3{display:none;}
.company__blob4{display:none;}
.company__line{position:absolute;right:-138px;top:352px;width:223px;height:auto;z-index:-1;pointer-events:none;}

/* =============================================================
   CONTACT
============================================================= */
.contact{position:relative;z-index:2;background:var(--cream);padding:80px 0 70px;text-align:center;}
.contact__inner{position:relative;z-index:2;}
.contact__en{font-family:"Lato","Noto Sans JP",sans-serif;font-weight:700;font-size:34px;letter-spacing:.06em;color:var(--ink);margin-bottom:20px;}
.contact__lead{font-size:15px;color:var(--gray);margin-bottom:32px;}
/* デザイン準拠：左上の大ブロブ（COMPANY写真の直下から）＋左下に小さな点 */
.contact__blob1{width:195px;height:148px;left:6px;top:-100px;}
.contact__blob2{width:36px;height:36px;left:44px;top:40px;}

/* =============================================================
   FOOTER
============================================================= */
.site-footer{position:relative;z-index:2;background:var(--cream);}
.site-footer__divider{max-width:1120px;margin:0 auto;height:1px;background:var(--green);opacity:.5;}
.site-footer__nav ul{display:flex;justify-content:center;gap:48px;list-style:none;margin:0;padding:44px 0 54px;}
.site-footer__nav a{font-size:14px;letter-spacing:.1em;color:var(--green-d);}
.site-footer__visual{position:relative;width:100%;}
.site-footer__visual>img{width:100%;height:auto;display:block;}
.site-footer__logo{position:absolute;left:50%;top:auto;bottom:8%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;}
.site-footer__logo>img{width:clamp(120px,13vw,180px);height:auto;filter:drop-shadow(0 2px 12px rgba(0,0,0,.25));}
.site-footer__copy{color:#fff;font-size:11px;letter-spacing:.08em;}

/* page top */
.page-top-btn{position:fixed;right:24px;bottom:24px;width:48px;height:48px;border-radius:50%;background:var(--green);z-index:90;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;display:flex;align-items:center;justify-content:center;}
.page-top-btn.is-show{opacity:1;pointer-events:auto;}
.page-top-btn:hover{transform:translateY(-4px);}
.page-top-btn .arrow{width:10px;height:10px;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(-45deg);margin-top:4px;}

/* =============================================================
   SP  (max-width:834px)
============================================================= */
@media (max-width:834px){
  .inner{padding:0 20px;}
  .sp-only{display:inline;}

  /* ===== header / hamburger ===== */
  .site-header__inner{padding:14px 18px;}
  .site-header__logo img{height:46px;}
  .gnav__menu,.gnav .btn-contact-outline{display:none;}
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:8px;width:44px;height:44px;background:transparent;border:0;cursor:pointer;z-index:105;-webkit-tap-highlight-color:transparent;}
  /* デザイン準拠：ラインは緑（iOSのbutton既定色=青がcurrentColor経由で出ないよう明示指定）／間隔8px */
  .nav-toggle__line{display:block;width:26px;height:2px;background:var(--green-d);transition:background .3s;}
  .site-header:not(.is-scrolled) .nav-toggle__line{background:#fff;}

  /* ===== SP drawer（緑の全画面オーバーレイ・gggggggg.jp風） ===== */
  .gnav-drawer{
    display:flex;flex-direction:column;justify-content:center;align-items:center;
    position:fixed;inset:0;z-index:110;background:var(--green);color:#fff;
    padding:80px 24px;overflow:hidden;
    border-bottom-right-radius:44% 22%;
    opacity:0;visibility:hidden;transform:translateY(-10px);
    transition:opacity .4s ease,visibility .4s ease,transform .4s ease;
  }
  .gnav-drawer.is-open{opacity:1;visibility:visible;transform:none;}
  .gnav-drawer__logo{position:absolute;top:18px;left:18px;line-height:0;}
  .gnav-drawer__logo img{width:74px;height:auto;}
  .gnav-drawer__close{position:absolute;top:20px;right:16px;width:40px;height:40px;background:transparent;border:0;cursor:pointer;}
  .gnav-drawer__close span{position:absolute;top:50%;left:50%;width:26px;height:2px;background:#fff;}
  .gnav-drawer__close span:nth-child(1){transform:translate(-50%,-50%) rotate(45deg);}
  .gnav-drawer__close span:nth-child(2){transform:translate(-50%,-50%) rotate(-45deg);}
  .gnav-drawer__nav{display:flex;flex-direction:column;align-items:center;gap:46px;}
  .gnav-drawer__menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:34px;text-align:center;}
  .gnav-drawer__menu a{color:#fff;font-size:18px;letter-spacing:.14em;font-weight:500;}
  .gnav-drawer__contact{display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--green-d);border-radius:999px;padding:15px 30px;font-size:14px;}
  .gnav-drawer__contact img{width:18px;height:18px;}

  /* ===== hero ===== */
  .mv{height:74vh;min-height:440px;}
  .mv__fixed{position:fixed;top:0;left:0;width:100%;height:74vh;min-height:440px;z-index:1;}
  .mv__media{border-bottom-right-radius:0;}
  .mv__heading{width:74vw;top:60%;}

  /* ===== intro（縦見出しは中央・縦のまま／背景は白） ===== */
  .intro{padding:20px 0 10px;}
  .intro__head{flex-direction:column;align-items:center;gap:30px;padding:44px 20px 40px;}
  .intro__lead{font-size:clamp(24px,7vw,30px);line-height:1.7;}
  .intro__text{font-size:13px;line-height:2;text-align:center;}
  .intro__text br{display:none;}
  .intro__line{display:none;}
  .intro__motif--blob{width:170px;right:-70px;top:-20px;}
  .intro__motif--line{display:block;height:290px;width:auto;right:-30px;top:56px;}
  .intro__motif--dot{width:54px;right:28px;top:200px;}

  /* collage：デザイン準拠の段違い配置（左右に余白を確保） */
  .intro__collage{position:relative;height:500px;max-width:none;margin:20px 20px 0;padding:0;}
  .cimg{position:absolute;width:auto;}
  .cimg--2{left:56%;top:0;width:30%;aspect-ratio:400/509;z-index:4;}       /* MAISON 縦・右上＋ドット */
  .cimg--3{left:0;top:13%;width:63%;aspect-ratio:961/776;z-index:2;}       /* マーケット 左上・大 */
  .cimg--5{left:63%;top:20%;width:37%;aspect-ratio:529/400;z-index:3;}     /* オフィス 右（MAISONの下） */
  .cimg--1{left:36%;top:42%;width:62%;aspect-ratio:960/775;z-index:1;}     /* 暖色内観 中央 */
  .cimg--4{left:0;top:60%;width:45%;aspect-ratio:650/514;z-index:5;}       /* 人物 左下 */
  .cimg__dot{width:26px;height:26px;left:50%;bottom:-13px;}

  /* ===== セクション共通：縦ラベル→横向き（●＋テキスト、非追従） ===== */
  .projects,.people,.company{padding-left:0;}
  .sec-vlabel{position:static;height:auto;left:auto;padding:0 20px;margin-bottom:8px;z-index:6;}
  .sec-vlabel span{position:relative;top:auto;writing-mode:horizontal-tb;display:inline-flex;align-items:center;padding-top:0;padding-left:18px;font-size:12px;letter-spacing:.12em;}
  .sec-vlabel span::before{top:50%;left:0;transform:translateY(-50%);}
  .sec-head{grid-template-columns:1fr;gap:12px;}
  .sec-head__en{font-size:26px;}
  .sec-head .btn-more{grid-column:1;justify-self:end;margin-top:8px;}

  /* ===== projects ===== */
  .projects{padding-top:14px;padding-bottom:64px;}
  .projects__bg{display:block;top:90px;}
  .projects__blob1{width:42px;height:40px;left:20px;top:-88px;bottom:auto;}/* デザイン準拠：コラージュ下・ラベルの上 */
  .projects__blob2{display:none;}
  .projects__line,.projects__dot{display:none;}
  .projects .inner{position:relative;}
  .projects__slider{padding:0 0 0 20px;margin-top:44px;overflow:hidden;}/* SPはスライダーのはみ出しをクリップ（横幅崩れ防止）。余白は「すべて見る」の下 */
  .projects__nav{justify-content:center;padding:0 20px;}

  /* ===== プロジェクトカード：SPはラベルをタイトルの上に（タイトルの縦潰れ防止） ===== */
  .p-card__titlerow{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:8px;}
  .p-card__status{order:-1;margin-left:0;white-space:normal;display:inline-block;background:rgba(130,172,130,.16);color:var(--green-d);border-radius:999px;padding:3px 11px;font-size:10px;line-height:1.4;font-weight:700;}
  .p-card__title{font-size:15px;line-height:1.45;word-break:normal;overflow-wrap:anywhere;}
  .p-card__body{padding:16px 16px 20px;}

  /* ===== people：3カラム（320px以下は2カラム） ===== */
  .people{padding:44px 0 64px;}
  .people .sec-head{margin-bottom:26px;}
  .people__grid{grid-template-columns:repeat(3,1fr);gap:20px 10px;}
  .pr-card__name{font-size:13px;}
  .pr-card__role{font-size:10px;line-height:1.5;}

  /* ===== company ===== */
  .company{padding:70px 0 70px;}
  .company__visual{aspect-ratio:4/3;margin-top:32px;}/* 「詳しく見る」の下に余白を+10px */
  .company__blob1{width:88px;height:110px;right:-30px;top:185px;z-index:-1;}/* デザイン準拠：本文横の右端 */
  .company__blob2{display:block;width:14px;height:14px;left:24px;top:290px;right:auto;}
  .company__blob3{display:none;}
  .company__blob4{display:none;}
  .company__line{display:none;}

  /* ===== contact / footer ===== */
  .contact{padding:64px 0 46px;}
  .contact__en{font-size:26px;}
  .contact__blob1{width:96px;height:76px;left:8px;top:-76px;}/* デザイン準拠：写真下・左端 */
  .contact__blob2{width:26px;height:26px;left:30px;top:-6px;}
  .site-footer__nav ul{flex-direction:column;align-items:center;gap:22px;padding:32px 0 40px;text-align:center;}
  .site-footer__logo{top:50%;}
  .site-footer__logo>img{width:clamp(96px,26vw,130px);}
  .site-footer__copy{font-size:10px;}
  .page-top-btn{right:16px;bottom:16px;width:42px;height:42px;}
}

/* 320px以下は People を2カラムに */
@media (max-width:320px){
  .people__grid{grid-template-columns:repeat(2,1fr);}
}
