/* JUN: full-bleed image, lettering within the image, gradual fade to top. */
.prologue{display:block;padding:0;background:transparent;opacity:1;transition:opacity 1.4s ease;isolation:isolate}
.prologue img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:50% 68%;z-index:-2}
.prologue::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,27,48,.3),transparent 52%,rgba(7,27,48,.1))}
.prologue>div{position:absolute;top:10%;left:6%;right:6%;text-align:center;text-shadow:0 2px 20px #0e203eaa}
.prologue p{max-width:none;font-size:clamp(32px,5.4vw,86px);font-weight:400;letter-spacing:-.02em;margin:0 0 26px;line-height:1.2}
.prologue button{border-color:#ffffffa6;border-radius:50px;background:#102c4140;backdrop-filter:blur(6px);padding:12px 25px;font-size:12px;letter-spacing:.12em}
.prologue button:hover{background:#102c4170}
.prologue.is-leaving{opacity:0;pointer-events:none}
.prologue.is-leaving>div{opacity:0;transition:opacity .65s ease}
@media(max-width:760px){.prologue img{object-position:20% 65%}.prologue>div{top:12%;left:7%;right:7%}.prologue p{font-size:clamp(30px,9vw,52px);max-width:350px;margin:0 auto 24px}.prologue button{padding:12px 20px}}
@media(prefers-reduced-motion:reduce){.prologue,.prologue.is-leaving>div{transition:none}}
.demo-notice{font-size:12px;line-height:1.9;padding:14px 16px;background:#f1ebdc;border-left:2px solid #b38c55}
#form-progress{font-size:12px;letter-spacing:.08em;color:#176693;margin-top:0;margin-bottom:25px}
#form-progress:focus{outline:none}
[data-form-step][hidden]{display:none}
label.field-label{border:0;padding:0;margin:20px 0 9px;font-size:13px;display:block;cursor:default}
textarea,select{width:100%;max-width:100%;border:1px solid #bbc7c5;background:#fff;color:#18333f;padding:12px;font:inherit;font-size:13px;line-height:1.7;border-radius:2px}
textarea{resize:vertical}
.form-actions{display:flex;align-items:center;gap:15px;margin-top:25px;justify-content:space-between}
.form-actions .button{width:auto;margin:0;gap:20px}
.back-button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:#234855;font:inherit;font-size:12px;padding:10px 0;cursor:pointer}
.answer-summary{font-size:13px}
.answer-summary dt{font-size:11px;color:#5e777e;margin-top:20px}
.answer-summary dd{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;border-bottom:1px solid #d7dfdc;padding-bottom:12px}
.prologue:not(.is-leaving)>div{animation:welcome-in .3s ease both}
@keyframes welcome-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.social-links button{display:flex;align-items:center;gap:8px;background:#eeeae0;color:#465962;border:1px solid #d3d8d0;border-radius:3px;padding:8px 12px;font-size:11px;opacity:.85}
.social-links b{font:18px Georgia,serif;min-width:22px;text-align:center}
.member-monogram{position:relative}
.member-monogram::after{content:"個別画像 確認中";position:absolute;bottom:12px;font:10px sans-serif;letter-spacing:.1em;color:#5f7378}
@media(prefers-reduced-motion:reduce){.prologue:not(.is-leaving)>div{animation:none}}
.member-image{height:250px;display:flex;align-items:center;justify-content:center;padding:25px;background:#fffdfa;overflow:hidden}
.image-window{position:relative;overflow:hidden;width:100%;max-width:270px;flex:none}
.image-window img{position:absolute;max-width:none;height:auto;display:block}
.member-image:has(img[alt^="いとじゅん"]){padding:12px 0 0}
.member-image:has(img[alt^="いとじゅん"]) .image-window{width:175px}
.alex-forms{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:18px 0}
.alex-forms figure{margin:0;min-width:0}
.alex-forms .image-window{width:100%}
.alex-forms figcaption{font-size:10px;text-align:center;margin-top:9px;color:#49646f}
.founder-image .member-image{height:auto;padding:0;background:transparent}
.founder-image .member-image .image-window{width:100%;max-width:350px}
.doctor-placeholder{height:250px;background:#e9eeeb}
.doctor-placeholder::after{content:"設定画像に個別の姿なし"}
@media(max-width:760px){.member-image,.doctor-placeholder{height:260px}.member-image .image-window{max-width:260px}.member-image:has(img[alt^="いとじゅん"]) .image-window{width:180px}}
@media(max-width:760px){.button,.back-button,.replay,.nav-cta{min-height:44px}.back-button,.replay{padding-block:12px}.member-text>p{font-size:14px;line-height:1.9}.member-text .member-number{font-size:11px}.alex-forms figcaption{font-size:12px}.form-actions{flex-wrap:wrap}textarea,select{font-size:16px}}
.transparent-square{aspect-ratio:1/1!important;width:100%!important;max-width:250px!important}
.transparent-square img{position:static;width:100%!important;height:100%;object-fit:contain;display:block}
.member-image:has(.transparent-square){height:auto;min-height:250px;padding:12px;background:transparent}
.founder-image .member-image .transparent-square{max-width:350px!important}
.alex-forms .transparent-square{max-width:none!important}
.member-image:has(.transparent-square){padding:8px;min-height:0}
.transparent-square{max-width:320px!important}
.transparent-square img{transform:translate(var(--shift-x,0),var(--shift-y,0)) scale(var(--character-scale,1));transform-origin:center}
.transparent-square img[src*="/alex-"]{--character-scale:1.14;--shift-y:-3%}
.transparent-square img[src*="/lumi-"]{--character-scale:1.25}
.transparent-square img[src*="/axy-"]{--character-scale:1.16;--shift-x:3%;--shift-y:2%}
.transparent-square img[src*="/meca-02-"]{--character-scale:1.04;--shift-x:-1.5%}
.transparent-square img[src*="/blax-"]{--character-scale:1.28;--shift-x:-1%;--shift-y:-1.5%}
.transparent-square img[src*="/adex-"]{--character-scale:1.3;--shift-x:-.7%}
.alex-forms{gap:0;margin:18px 0 0;border-top:1px solid #d5dcd8;border-bottom:1px solid #d5dcd8;padding:16px 0}
.alex-forms figure{padding:0 10px}
.alex-forms figure+figure{border-left:1px solid #c6d1ce}
.alex-forms figure:first-child{padding-left:0}
.alex-forms figure:last-child{padding-right:0}
.alex-forms figcaption{text-align:left;margin-top:12px}
.alex-forms figcaption strong{display:block;font:20px Georgia,serif;color:#18333f}
.alex-forms figcaption span{display:block;font-size:10px;margin-top:3px}
.alex-forms figcaption p{font-size:12px;line-height:1.8;margin:12px 0 0}
@media(max-width:760px){.member-image:has(.transparent-square){padding:8px}.transparent-square{max-width:320px!important}.alex-forms figcaption p{font-size:12px}.alex-forms figcaption span{font-size:10px}}


/* ALEXより小さめに調整 */
.transparent-square img[src*="/blax-"]{--character-scale:1.02}
.transparent-square img[src*="/adex-"]{--character-scale:1.04}
.transparent-square img[src*="/axy-"]{--character-scale:.94}

/* メンバー一覧を画像・名前中心に */
.member-card{align-self:start}.member-text>h3{margin-top:0}.member-details{margin-top:18px}.member-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;font-size:13px;color:#245264;border-top:1px solid #d5dcd8}.member-details summary::after{content:"＋";margin-left:auto}.member-details[open] summary::after{content:"−"}.member-detail-body{padding-top:10px}.member-details summary:hover{color:#9b6938}.member-details summary:focus-visible{outline:2px solid #245264;outline-offset:3px}

.transparent-square img[src*="/dr-if-"]{--character-scale:.80;--shift-y:0}

.transparent-square img[src*="/axy-"]{--character-scale:.752}

.transparent-square img[src*="/dr-if-"]{--character-scale:1;--shift-y:0}

/* AXY復元・カードの高さをそろえる */
.transparent-square img[src*="/axy-"]{--character-scale:.94}
.member-grid{align-items:stretch}.member-card{align-self:stretch;display:flex;flex-direction:column}.member-text{flex:1;display:flex;flex-direction:column}.member-text>h3{min-height:3em;line-height:1.5;overflow-wrap:normal;word-break:normal;text-wrap:balance}.member-details{margin-top:auto}.member-details[open]{margin-top:18px}

.transparent-square img[src*="/dr-if-"]{--character-scale:.94}

/* 名前を2段・画像を見た目の重心に調整 */
.member-name-main,.member-name-reading{display:block}
.member-text>h3{min-height:3em;text-wrap:initial}
.transparent-square img[src*="/alex-"]{--shift-y:3%}
.transparent-square img[src*="/meca-02-"]{--shift-y:4%}
.transparent-square img[src*="/axy-"]{--shift-x:-4%;--shift-y:7%}
.transparent-square img[src*="/dr-if-"]{--shift-y:4%}

.transparent-square img[src*="/dr-if-"]{--shift-y:2%}

/* JUN採用：夕焼けパレット */
:root{--ink:#49372e;--blue:#b95732;--cream:#fff5e9;--line:#dfd2c3}
body{background:var(--cream);color:var(--ink)}
#about,#business,#consultation,.company{background:#f3e5d5}
.preview{background:#49372e}
.member-card{background:#fffdfa;border-color:#e5d6c5}
.rule{background:#c78d42}
.member-details summary{color:#8e462e;border-color:#dfd2c3}
.member-details summary:hover{color:#b95732}
.alex-forms{border-color:#dfd2c3}.alex-forms figure+figure{border-color:#dfd2c3}.alex-forms figcaption strong{color:#49372e}
.art-label,.note,.pending-link{color:#796253}
.member-details summary:focus-visible{outline-color:#b95732}

/* JUN採用：F「物語の見出し」 */
body{font-family:"Yu Gothic UI","Meiryo",sans-serif}
h1,h2,h3,h4{font-family:"Yu Mincho",serif;font-weight:500}
.hero h1{font-family:"Yu Mincho",serif;font-weight:600;line-height:1.5;letter-spacing:.03em}
.brand,.alex-forms figcaption strong{font-family:Georgia,serif}
.member-name-main{font-family:Georgia,"Yu Mincho",serif}
button,input,select,textarea,.button,.member-details summary{font-family:"Yu Gothic UI","Meiryo",sans-serif}

/* オープニングの夕焼けを薄い背景として残す */
body{isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url("assets/sunset-adventure.jpg");background-size:cover;background-position:50% 68%;opacity:.14}
#about,#business,#consultation,.company{background:rgba(243,229,213,.78)}
.member-card{background:rgba(255,253,250,.94)}
@media(max-width:760px){body::before{background-position:20% 65%}}

/* 背景を活かした文字中心のトップ */
.hero{display:flex;justify-content:center;min-height:calc(100svh - 159px);padding:50px 6% 105px;text-align:center}
.hero-copy{width:100%;max-width:740px;margin:auto}
.hero h1{font-size:clamp(62px,7.2vw,102px);line-height:1.3;margin:22px 0 26px}
.hero .rule{margin:0 auto}
.hero .intro{font-size:clamp(17px,2vw,23px);margin:25px 0 22px}
.hero-description{max-width:580px;margin:12px auto;line-height:2}
.hero .button{margin-top:18px;min-width:220px;gap:40px}
.hero .note{margin:20px auto 0;max-width:none}
.hero .scroll{left:50%;transform:translateX(-50%);white-space:nowrap}
@media(max-width:760px){.hero{min-height:calc(100svh - 150px);padding:40px 7% 90px}.hero h1{font-size:clamp(60px,15vw,84px)}.hero .intro{line-height:1.9}.hero-description{font-size:14px}.hero .note{max-width:none}}

@media(min-width:761px){.founder-image{top:max(24px,calc(50svh - var(--founder-half-height,195px)))}}

/* 同じ背景1枚の濃さだけを変え、切り替え時の二重像を防ぐ */
html{scrollbar-gutter:stable}
.prologue img{display:none}
body.intro-open::before{opacity:1}
body.intro-open.intro-leaving::before{opacity:.14;transition:opacity 1.4s ease}
body.intro-open :is(header,main,footer,.preview){opacity:0}
body.intro-open.intro-leaving :is(header,main,footer,.preview){opacity:1;transition:opacity 1.4s ease}
@media(prefers-reduced-motion:reduce){body.intro-open.intro-leaving::before,body.intro-open.intro-leaving :is(header,main,footer,.preview){transition:none}}

html{overflow-anchor:none}

/* ALEXレビュー：長文とスマホの可読性 */
.founder-copy{background:rgba(255,245,233,.84);padding:26px 28px;border:1px solid rgba(223,210,195,.55);border-radius:5px}
@media(max-width:760px){.hero{background:rgba(255,245,233,.36)}.founder-copy{padding:22px 18px}.reading>p{line-height:2.1}.member-details summary{min-height:48px}}

@media(max-width:760px){#demo-form h3{font-size:20px;line-height:1.7;text-wrap:balance}}

/* スマホのメンバーを2列・画像面積を約1/4に */
@media(max-width:760px){
.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.member-card{min-width:0}
.member-image:has(.transparent-square){padding:6px;min-height:0}
.member-text{padding:12px}
.member-text>h3{font-size:16px;line-height:1.5;min-height:3em;margin-bottom:12px}
.member-details summary{font-size:12px;min-height:44px}
.member-details[open] .member-detail-body{font-size:13px;line-height:1.9}
.member-details[open] .member-detail-body>p{font-size:13px;line-height:1.9}
.member-card:has(.member-details[open]){grid-column:1/-1}
.member-card:has(.member-details[open])>.member-image .transparent-square{max-width:150px!important}
.member-card:has(.member-details[open])>.member-image{padding:10px}
.member-card:has(.member-details[open]) .member-text>h3{min-height:0}
}

.social-links a{display:flex;align-items:center;gap:8px;background:#fff5e9;color:#49372e;border:1px solid #d9c8b5;border-radius:3px;padding:10px 12px;font-size:12px;min-height:44px;text-decoration:none}
.social-links a b{font-size:17px;line-height:1;min-width:18px;text-align:center}
.social-links a:hover{background:#f3e5d5;border-color:#b95732}
.social-links a:focus-visible{outline:2px solid #b95732;outline-offset:3px}

.company-profile{max-width:850px;margin-top:48px;padding-top:26px;border-top:1px solid #cdb99f}
.company-profile h3{font-size:25px;margin:0 0 18px}
.company-profile dl{margin:0}
.company-profile dl>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid #dbcab7}
.company-profile dt{font-size:13px;font-weight:600}
.company-profile dd{font-size:15px;margin:0;line-height:1.9}
@media(max-width:760px){.company-profile{margin-top:34px}.company-profile dl>div{grid-template-columns:70px 1fr;gap:14px}.company-profile dd{font-size:14px}}

/* SNS：同じ大きさの3列カード */
.social-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:540px;margin-top:24px}
.social-links .social-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;min-width:0;min-height:116px;padding:18px 8px;background:rgba(255,253,250,.88);border:1px solid #d9c8b5;border-radius:7px;color:#241e1a;transition:background .18s,border-color .18s}
.social-links .social-tile:hover{background:#fffdfa;border-color:#b95732}
.social-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px}
.social-icon svg{display:block;width:34px;height:34px;fill:currentColor}
.social-blog .social-icon svg{fill:none;color:#8e462e}
.social-youtube .social-icon{color:#f00}
.social-name{font-size:13px;line-height:1.4;font-weight:500;white-space:nowrap}
@media(max-width:760px){.social-links{gap:9px;margin-top:20px}.social-links .social-tile{min-height:100px;padding:14px 5px;gap:10px}.social-icon{width:32px;height:32px}.social-icon svg{width:29px;height:29px}.social-name{font-size:12px}}

.social-blog .social-icon img{display:block;width:38px;height:38px;object-fit:contain;border-radius:7px}@media(max-width:760px){.social-blog .social-icon img{width:32px;height:32px;border-radius:6px}}

.social-icon img{display:block;width:38px;height:38px;object-fit:contain;border-radius:8px}@media(max-width:760px){.social-icon img{width:32px;height:32px;border-radius:7px}}

/* YouTube画像内の余白を補正して見た目のサイズを合わせる */
.social-youtube .social-icon img{width:48px;height:48px;max-width:none}
@media(max-width:760px){.social-youtube .social-icon img{width:42px;height:42px}}
