/* ======================================================================
   パターン⑥ 全画面ストーリー型
   1画面に1テーマ。スクロールスナップで画面ごとに止まる。英数字は Outfit
   ====================================================================== */
body[data-pattern="6"]{--en:"Outfit","Noto Sans JP",sans-serif;--sky-pale:color-mix(in srgb,var(--sky) 14%,#fff);background:#fff}
/* 縦スクロールのときだけ、画面ごとに止まる（近くまで来たら吸い付く） */
html:has(body[data-pattern="6"][data-layout="scroll"]){scroll-snap-type:y proximity}
body[data-pattern="6"]:not(.is-slide) .p6-screen{scroll-snap-align:start}

/* ---- ヘッダー（透明で、写真の上に重ならない位置） ---- */
.p6-header{background:rgba(255,255,255,.9);box-shadow:none}
.p6-header .header__inner{max-width:none;padding:12px 28px}
.p6-logo{flex-direction:row;align-items:baseline;gap:12px}
.p6-logo__name{font-family:var(--hand);font-weight:var(--hand-weight);font-size:22px;color:var(--navy)}
.p6-logo__title{font-size:12px;color:var(--muted);font-weight:700}
.p6-nav{gap:26px}
.p6-nav a{font-size:14px;font-weight:700}
.p6-nav a.nav__cta{background:var(--blue);color:#fff;box-shadow:none}

/* ---- 右端の点 ---- */
.p6-dots{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:45;display:flex;flex-direction:column;gap:12px}
.p6-dots a{position:relative;display:block;width:28px;height:28px}
.p6-dots a::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:color-mix(in srgb,var(--navy) 30%,#fff);transition:.25s}
.p6-dots a.is-active::before{width:14px;height:14px;margin:-7px 0 0 -7px;background:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 25%,transparent)}
.p6-dots span{position:absolute;right:34px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:12px;font-weight:700;background:var(--navy);color:#fff;padding:3px 10px;border-radius:4px;opacity:0;pointer-events:none;transition:.2s}
.p6-dots a:hover span,.p6-dots a:focus-visible span{opacity:1}

/* ---- 画面の共通 ---- */
.p6-screen{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:96px 0 72px;position:relative}
.p6-inner{width:100%;max-width:1080px;margin:0 auto;padding:0 72px 0 32px}
.p6-screen--color{background:var(--blue);color:#fff}
.p6-screen--dark{background:var(--navy);color:#fff}
.p6-screen--soft{background:var(--sky-pale)}
body[data-pattern="6"] .p6-h2{text-align:left;font-family:var(--hand);font-weight:var(--hand-weight);font-size:clamp(30px,4.4vw,56px);line-height:1.35;color:inherit;margin:0 0 32px;padding:0}
body[data-pattern="6"] .p6-h2::after{display:none}
body[data-pattern="6"] .p6-h2 small{display:block;font-family:"Noto Sans JP",sans-serif;font-size:14px;font-weight:500;letter-spacing:.2em;opacity:.75;margin-top:6px}
.p6-lead{max-width:760px;margin-bottom:28px;opacity:.9}
.p6-screen--color .p6-lead,.p6-screen--dark .p6-lead{color:#fff}

/* 演出：画面に入ると上がってくる */
body[data-pattern="6"] [data-reveal="rise"]{opacity:0;transform:translateY(40px)}
body[data-pattern="6"] [data-reveal="rise"].is-in{opacity:1;transform:none}

/* ---- トップ画面 ---- */
.p6-hero{padding:0;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.p6-hero__photo{margin:0;position:relative;min-height:100vh;min-height:100svh}
.p6-hero__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%}
.p6-hero__text{display:flex;flex-direction:column;justify-content:center;padding:110px 72px 64px 56px;background:linear-gradient(160deg,var(--sky-pale),#fff)}
.p6-hero__catch{font-family:var(--hand);font-weight:var(--hand-weight);font-size:clamp(28px,3.4vw,50px);line-height:1.45;color:var(--navy)}
.p6-hero__catch span{display:block}
.p6-accent{color:var(--blue)}
.p6-hero__name{margin-top:28px;font-family:var(--hand);font-weight:var(--hand-weight);font-size:clamp(28px,3vw,40px);color:var(--navy)}
.p6-hero__name small{display:block;font-family:"Noto Sans JP",sans-serif;font-size:14px;font-weight:700;color:var(--muted);margin-top:6px}
.p6-next{margin-top:44px;display:inline-flex;flex-direction:column;align-items:flex-start;gap:8px;font-family:var(--en);font-size:12px;letter-spacing:.3em;color:var(--navy);font-weight:600}
.p6-next i{display:block;width:1px;height:48px;background:var(--navy);position:relative;overflow:hidden;margin-left:4px}
.p6-next i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--blue);animation:p6-drop 1.8s ease-in-out infinite}
@keyframes p6-drop{to{top:100%}}

/* ---- メッセージ ---- */
.p6-message{max-width:860px}
.p6-message p{font-size:17px;line-height:2.1;margin-bottom:1.1em}
.p6-message__big{font-family:var(--hand);font-weight:var(--hand-weight);font-size:clamp(22px,2.8vw,32px)!important;line-height:1.7!important;color:var(--yellow)}
.p6-sign{text-align:right;font-weight:800}

/* ---- 政策 ---- */
.p6-policies{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px;background:color-mix(in srgb,var(--navy) 12%,#fff);border:2px solid color-mix(in srgb,var(--navy) 12%,#fff)}
.p6-policy{background:#fff;padding:28px 26px}
.p6-policy__no{font-family:var(--en);font-weight:800;font-size:40px;color:var(--blue);line-height:1}
.p6-policy h3{font-size:20px;font-weight:800;margin:10px 0 8px;color:var(--navy)}
.p6-policy p{font-size:15px;color:var(--muted)}
.p6-policy.is-hot{background:var(--blue);color:#fff}
.p6-policy.is-hot .p6-policy__no,.p6-policy.is-hot h3,.p6-policy.is-hot p{color:#fff}

/* ---- 実績 ---- */
.p6-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.p6-stat__num{font-family:var(--en);font-weight:800;font-size:clamp(64px,8vw,110px);line-height:1;color:var(--yellow)}
.p6-stat__num small{font-family:"Noto Sans JP",sans-serif;font-size:18px;font-weight:700;color:#fff;margin:0 4px}
.p6-stat__label{margin-top:10px;font-weight:700}

/* ---- 活動報告：横に流れる ---- */
.p6-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,320px);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
.p6-card{scroll-snap-align:start;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.08);transition:transform .2s}
.p6-card:hover{transform:translateY(-4px)}
.p6-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.p6-card__body{display:flex;flex-direction:column;gap:4px;padding:16px 18px 20px}
.p6-card__meta{font-size:12px;color:var(--muted);font-weight:700}
.p6-card__title{font-weight:800;line-height:1.55;color:var(--navy)}
.p6-hint{font-size:13px;color:var(--muted);margin-top:10px}

/* ---- プロフィール ---- */
.p6-profile{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:center}
.p6-profile__photo{margin:0}
.p6-profile__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 18%;border-radius:24px}
.p6-profile__lines{font-weight:700;color:color-mix(in srgb,var(--blue) 82%,#000);margin:-16px 0 20px}
.p6-dl{display:grid;gap:10px}
.p6-dl div{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:15px}
.p6-dl dt{font-weight:700;color:var(--navy)}
.p6-motto{margin-top:20px;font-family:var(--hand);font-weight:var(--hand-weight);font-size:20px;color:var(--blue)}

/* ---- ご相談・フッター ---- */
.p6-contact .p6-h2{text-align:center!important}
.p6-btn{display:inline-block;background:#fff;color:var(--navy);font-weight:800;font-size:18px;padding:18px 48px;border-radius:999px;transition:.2s}
.p6-btn:hover{background:var(--yellow)}
.p6-contact__info{margin-top:18px}
.p6-contact__info a{color:#fff}
.p6-sns{display:flex;justify-content:center;gap:16px;margin-top:20px}
.p6-sns__link{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:700}
.p6-sns__link svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2}
.p6-footer{scroll-snap-align:end;padding:40px 0 48px}
.p6-footer__name{font-family:var(--hand);font-weight:var(--hand-weight);font-size:24px;color:#fff}
.p6-footer__office{font-size:13px;margin-top:8px}
body[data-pattern="6"] .p6-contact .p6-lead{color:#fff}

/* ---- スマホ ---- */
@media (max-width:900px){
  .p6-dots{display:none}
  .p6-hero{grid-template-columns:1fr}
  .p6-hero__photo{min-height:56vh}
  .p6-hero__text{padding:36px 22px 56px}
  .p6-inner{padding:0 22px}
  .p6-profile{grid-template-columns:1fr;gap:24px}
  .p6-profile__photo{max-width:300px}
}
@media (max-width:768px){
  .p6-screen{min-height:auto;padding:72px 0 56px}
  .p6-hero{padding:56px 0 0}
  .p6-hero__catch span{white-space:nowrap}
  .p6-dl div{grid-template-columns:90px 1fr}
}
body[data-pattern="6"].is-slide .p6-dots{display:none}
body[data-pattern="6"].is-slide .p6-screen{min-height:100%}
