/* CODATI「AIと働く」レイヤー専用スタイル
   既存 journal.css のトークン / reset / ヘッダー / フッターを継承し、
   本レイヤー固有（HUBの扉・SPOKEの常設解説）だけをここに定義する。 */

.aiw-main{min-height:60vh}
.aiw-wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,40px)}

/* ==================== HUB ==================== */
.aiw-hero{padding:calc(var(--header-h) + clamp(40px,7vh,80px)) 0 clamp(28px,5vh,50px);
  background:linear-gradient(180deg,var(--navy-50),#fff)}
.aiw-hero__eyebrow{font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--teal-600);text-transform:uppercase}
.aiw-hero__title{margin-top:18px;font-size:clamp(25px,4.2vw,44px);font-weight:800;line-height:1.45;letter-spacing:-.01em;color:var(--navy-900)}
.aiw-hero__concept{margin-top:16px;font-size:clamp(14px,1.4vw,17px);font-weight:700;color:var(--teal-700)}
.aiw-hero__lead{margin-top:20px;max-width:44em;font-size:clamp(14.5px,1.15vw,16px);color:var(--g600);line-height:2}
.aiw-hero__lead p+p{margin-top:1em}

/* doors */
.aiw-doors{padding:clamp(38px,6vh,68px) 0}
.aiw-doors__q{font-size:clamp(18px,2vw,24px);font-weight:800;color:var(--navy-900)}
.aiw-doors__sub{margin-top:6px;font-size:13.5px;color:var(--g500);margin-bottom:28px}
.aiw-doorgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.6vw,20px)}
.aiw-door{display:block;position:relative;background:#fff;border:1px solid var(--g200);border-radius:16px;
  padding:clamp(22px,2.4vw,30px);min-width:0;transition:border-color .25s,box-shadow .25s,transform .25s}
a.aiw-door:hover{border-color:var(--teal-500);box-shadow:0 18px 40px rgba(16,32,63,.10);transform:translateY(-3px)}
.aiw-door__wish{font-size:clamp(16px,1.7vw,19px);font-weight:800;color:var(--navy-900);line-height:1.6}
.aiw-door__pain{margin-top:10px;font-size:13.5px;color:var(--g600);line-height:1.8}
.aiw-door__foot{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.aiw-door__tag{font-size:11.5px;font-weight:800;letter-spacing:.04em;color:var(--teal-700);background:var(--teal-50);
  border:1px solid var(--teal-100);border-radius:999px;padding:5px 12px}
.aiw-door__go{font-size:13px;font-weight:800;color:var(--teal-600)}
.aiw-door__go .arw{display:inline-block;transition:transform .25s}
a.aiw-door:hover .aiw-door__go .arw{transform:translateX(4px)}
.aiw-door--soon{background:var(--g25);border-style:dashed;cursor:default}
.aiw-door--soon .aiw-door__wish{color:var(--navy-800)}
.aiw-door--soon .aiw-door__tag{color:var(--g500);background:var(--g50);border-color:var(--g200)}
.aiw-door__soon{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--g400)}

/* room（昇格＝ひとつの部屋） */
.aiw-room{background:var(--navy-950);color:#fff;padding:clamp(46px,7vh,84px) 0}
.aiw-room__k{font-size:12px;font-weight:800;letter-spacing:.2em;color:var(--teal-400);text-transform:uppercase}
.aiw-room__title{margin-top:16px;font-size:clamp(20px,2.6vw,30px);font-weight:800;line-height:1.6}
.aiw-room__body{margin-top:18px;max-width:42em;font-size:clamp(14.5px,1.15vw,16px);color:rgba(255,255,255,.80);line-height:2}
.aiw-room__body p+p{margin-top:1em}
.aiw-room__body strong{color:#fff;font-weight:800}
.aiw-room__cta{margin-top:26px;display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:14px;
  background:#fff;color:var(--navy-900);padding:14px 24px;border-radius:11px;transition:transform .25s}
.aiw-room__cta:hover{transform:translateY(-2px)}

/* HUB下部：JOURNAL誘導 */
.aiw-more{padding:clamp(38px,6vh,64px) 0}
.aiw-more__row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
  padding:24px;border:1px solid var(--g200);border-radius:14px;background:var(--g25)}
.aiw-more__t{font-size:15px;font-weight:800;color:var(--navy-900)}
.aiw-more__t span{display:block;font-size:13px;font-weight:600;color:var(--g500);margin-top:4px}
.aiw-more__link{font-weight:800;color:var(--teal-600);white-space:nowrap}
.aiw-more__link .arw{display:inline-block;transition:transform .25s}
.aiw-more__link:hover .arw{transform:translateX(4px)}

/* ==================== SPOKE（常設解説） ==================== */
.aiw-spoke{max-width:820px;margin:0 auto;
  padding:calc(var(--header-h) + clamp(30px,5vh,56px)) clamp(20px,5vw,40px) clamp(50px,8vh,90px)}
.aiw-spoke__eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--teal-600);text-transform:uppercase}
.aiw-spoke__eyebrow a{color:var(--teal-600)}
.aiw-spoke__eyebrow a:hover{text-decoration:underline}
.aiw-spoke h1{margin-top:14px;font-size:clamp(23px,3.3vw,35px);font-weight:800;line-height:1.5;letter-spacing:-.01em;color:var(--navy-900)}
.aiw-spoke__updated{margin-top:14px;font-size:12.5px;color:var(--g500);font-weight:600}
.aiw-spoke__lead{margin-top:24px;font-size:clamp(15px,1.2vw,17px);color:var(--g700);line-height:2.05}
.aiw-spoke__lead p+p{margin-top:1.2em}

.aiw-spoke h2{margin:2.6em 0 .1em;font-size:clamp(19px,2.2vw,26px);font-weight:800;line-height:1.55;color:var(--navy-900)}
.aiw-spoke h3{margin:1.9em 0 0;font-size:clamp(16px,1.5vw,19px);font-weight:800;color:var(--navy-800)}
.aiw-spoke > p{margin-top:1.15em;font-size:clamp(15px,1.05vw,16.5px);line-height:2.05;color:var(--g700)}
.aiw-spoke strong{font-weight:800;color:var(--navy-900)}
.aiw-spoke ul{margin:1.1em 0 0;padding-left:1.3em}
.aiw-spoke li{margin-top:.55em;line-height:1.95;color:var(--g700)}

/* 補足（定義/違いの小囲み） */
.aiw-note{margin-top:1.5em;background:var(--teal-50);border:1px solid var(--teal-100);border-left:3px solid var(--teal-500);
  border-radius:10px;padding:18px 20px}
.aiw-note__k{font-size:12px;font-weight:800;letter-spacing:.05em;color:var(--teal-700)}
.aiw-note p{margin-top:8px;color:var(--g700);line-height:1.95}

/* 昇格（思想接続）ブロック */
.aiw-turn{margin-top:2.4em;background:var(--navy-900);color:#fff;border-radius:16px;padding:clamp(24px,3vw,38px)}
.aiw-turn h2{color:#fff;margin-top:0}
.aiw-turn p{color:rgba(255,255,255,.82);line-height:2}
.aiw-turn strong{color:#fff}
.aiw-turn__cta{margin-top:22px;display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:14px;
  background:var(--teal-500);color:#04241f;padding:13px 22px;border-radius:10px;transition:transform .25s}
.aiw-turn__cta:hover{transform:translateY(-2px)}
.aiw-turn__cta .arw{transition:transform .25s}.aiw-turn__cta:hover .arw{transform:translateX(4px)}

/* FAQ（details/summary） */
.aiw-faq{margin-top:1.1em}
.aiw-faq details{border:1px solid var(--g200);border-radius:11px;margin-top:12px;background:#fff}
.aiw-faq summary{list-style:none;cursor:pointer;padding:18px 20px;font-weight:800;color:var(--navy-900);font-size:15px;
  display:flex;justify-content:space-between;gap:14px;align-items:center;line-height:1.6}
.aiw-faq summary::-webkit-details-marker{display:none}
.aiw-faq summary::after{content:"＋";color:var(--teal-600);font-weight:800;flex:none}
.aiw-faq details[open] summary::after{content:"−"}
.aiw-faq details > p{margin:0;padding:0 20px 20px;color:var(--g700);line-height:1.95;font-size:14.5px}

/* さらに読む（JOURNAL） */
.aiw-read{margin-top:2.8em;padding-top:24px;border-top:1px solid var(--g200)}
.aiw-read__k{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--teal-600);text-transform:uppercase}
.aiw-read__list{margin-top:14px;display:grid;gap:10px}
.aiw-read__item{display:flex;gap:14px;align-items:baseline;padding:15px 17px;border:1px solid var(--g200);border-radius:11px;
  transition:border-color .2s,background .2s}
.aiw-read__item:hover{border-color:var(--teal-500);background:var(--g25)}
.aiw-read__vol{font-size:11px;font-weight:800;color:var(--teal-600);white-space:nowrap}
.aiw-read__ttl{font-size:14.5px;font-weight:700;color:var(--navy-800);line-height:1.65}

/* 相談CTA / 一覧へ戻る */
.aiw-back{margin-top:2.2em}
.aiw-back a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--navy-800)}
.aiw-back a:hover{color:var(--teal-600)}
.aiw-back .arw{transition:transform .25s}.aiw-back a:hover .arw{transform:translateX(-4px)}

/* responsive */
@media(max-width:760px){
  .aiw-doorgrid{grid-template-columns:1fr}
}
