/* 2026-09 リニューアル（サービス紹介資料ベース）。既存の styles.css / reference.css の上に重ねる。 */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ===== ファーストビュー ===== */
.rn-hero-kicker{display:flex;align-items:center;gap:calc(var(--u)*10);font-size:calc(var(--u)*14);font-weight:700;letter-spacing:.04em;color:var(--blue)}
.rn-hero-kicker:before{content:'';width:calc(var(--u)*26);height:2px;background:currentColor}
.rf-hero-copy .rn-hero-title{width:auto;height:auto;margin:calc(var(--u)*12) 0 0;font-size:calc(var(--u)*33);line-height:1.45;font-weight:700;letter-spacing:.01em;color:var(--ink);font-feature-settings:'palt'}
.rn-hero-title em{font-style:normal;color:var(--blue)}
.rf-hero-copy .rn-hero-lead{white-space:normal;margin-top:calc(var(--u)*16);font-size:calc(var(--u)*13);line-height:1.85;color:#333b45}
.hero-sofa .rn-hero-quote{width:calc(var(--u)*240);height:auto;overflow:visible;transform:rotate(-3deg)}
.hero-sofa .rn-hero-quote img{height:auto;object-fit:contain}
@media(min-width:761px){.rf-hero-copy{top:calc(var(--u)*110)}.hero-sofa .rn-hero-quote{top:calc(var(--u)*30);right:calc(var(--u)*18)}}
@media(max-width:760px){
.rn-hero-kicker{font-size:13px;gap:8px}
.rn-hero-kicker:before{width:20px}
.rf-hero-copy .rn-hero-title{aspect-ratio:auto;font-size:clamp(21px,6.8vw,32px);line-height:1.55;letter-spacing:0;margin-top:10px}
.rf-hero-copy .rn-hero-lead{font-size:13px;line-height:2;margin-top:14px}
.hero-sofa .rn-hero-quote{left:16px;top:24px;width:200px;height:auto}
}

/* ===== 悩み（項目が長いため高さを可変に） ===== */
@media(min-width:761px){
.rf-challenge{height:auto;min-height:calc(var(--u)*249)}
.rf-challenge-photo{bottom:0;height:auto}
.rf-challenge-copy{position:relative;left:auto;top:auto;width:calc(var(--u)*540);padding:calc(var(--u)*28) 0 calc(var(--u)*30) calc(var(--u)*51)}
.rf-challenge li{white-space:normal}
}

/* ===== AX GYMとは：研修・受託・コンサルとの違い（資料の比較表） ===== */
.rn-diff{grid-column:1/-1;padding-top:calc(var(--u)*24);border-top:1px solid #d6e6f2}
.rn-diff-label{display:flex;align-items:center;gap:calc(var(--u)*12);margin-bottom:calc(var(--u)*14);font-size:calc(var(--u)*15);font-weight:700;letter-spacing:.02em}
.rn-diff-label:before{content:'';width:calc(var(--u)*4);height:calc(var(--u)*18);border-radius:2px;background:var(--blue)}
.rn-diff-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #d6e6f2;border-radius:calc(var(--u)*10);overflow:hidden;background:#fff;font-size:calc(var(--u)*13)}
.rn-diff-table th,.rn-diff-table td{padding:calc(var(--u)*13) calc(var(--u)*20);border-bottom:1px solid #e3edf5;text-align:left;line-height:1.6}
.rn-diff-table thead th{padding-top:calc(var(--u)*10);padding-bottom:calc(var(--u)*10);background:#fafcfe;font-size:calc(var(--u)*11);font-weight:600;color:var(--muted)}
.rn-diff-table thead th.is-ax{color:var(--blue)}
.rn-diff-table tbody th{width:16%;background:#f5f9fc;font-weight:700}
.rn-diff-table td{width:38%;color:var(--muted)}
.rn-diff-table td.is-ax{width:46%;background:#eef6fc;color:var(--blue-deep);font-weight:700}
.rn-diff-table td.is-ax:before{content:'→';margin-right:calc(var(--u)*8)}
.rn-diff-table tr:last-child>*{border-bottom:0}
.rn-diff-table tr.is-goal td.is-ax{background:var(--blue);color:#fff}
@media(max-width:760px){
.rn-diff{margin-top:32px;padding-top:24px}
.rn-diff-label{gap:10px;margin-bottom:14px;font-size:15px}
.rn-diff-label:before{width:4px;height:18px}
/* スマホは行ごとに縦並び：観点 → よくあるやり方 → AX GYM */
.rn-diff-table{display:block;border-radius:10px;font-size:13px}
.rn-diff-table thead{display:none}
.rn-diff-table tbody,.rn-diff-table tr,.rn-diff-table th,.rn-diff-table td{display:block;width:auto}
.rn-diff-table tr{padding:14px 16px;border-bottom:1px solid #e3edf5}
.rn-diff-table tr:last-child{border-bottom:0}
.rn-diff-table tbody th,.rn-diff-table td,.rn-diff-table td.is-ax{width:auto;padding:0;border:0;background:none}
.rn-diff-table tbody th{margin-bottom:4px;font-size:12px;color:var(--muted)}
.rn-diff-table td:not(.is-ax){font-size:12px}
.rn-diff-table td.is-ax{margin-top:2px;font-size:14px}
.rn-diff-table td.is-ax:before{margin-right:6px}
.rn-diff-table tr.is-goal{background:var(--blue)}
.rn-diff-table tr.is-goal td.is-ax{background:none}
.rn-diff-table tr.is-goal>*{color:#fff}
}

/* ===== 4つの特徴 ===== */
.rf-continuation .rn-features{background:#fff}
.rn-feature-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:40px 0 0;padding:0;list-style:none}
.rn-feature-list>li{display:flex;flex-direction:column;padding:26px 24px 28px;border:1px solid #d6e6f2;border-radius:12px;background:#f7fbfe}
.rn-feature-no{font-family:'DM Sans',sans-serif;font-size:28px;font-weight:700;line-height:1;color:var(--blue)}
.rn-feature-list h3{margin-top:16px;font-size:18px;line-height:1.65;letter-spacing:0;word-break:auto-phrase}
.rn-feature-list p{margin-top:12px;font-size:13px;line-height:1.9;color:var(--muted)}
.rn-feature-list>li.is-goal{border-color:var(--blue);background:var(--blue);color:#fff}
.rn-feature-list>li.is-goal .rn-feature-no,.rn-feature-list>li.is-goal p{color:#fff}
.rn-review-tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none}
.rn-review-tags li{padding:3px 12px;border:1px solid #7fb0da;border-radius:99px;background:#fff;color:var(--blue);font-size:12px;font-weight:700}
@media(max-width:1000px){.rn-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
.rn-feature-list{grid-template-columns:1fr;gap:12px;margin-top:30px}
.rn-feature-list>li{display:grid;grid-template-columns:40px 1fr;column-gap:6px;padding:20px 18px 22px}
.rn-feature-no{grid-row:1/4;font-size:22px;padding-top:2px}
.rn-feature-list h3{margin-top:0;font-size:16px}
.rn-feature-list p{margin-top:8px}
}

/* ===== 取り組みテーマの例 ===== */
.rf-continuation .work-cases{background:#f3f9fd}
.work-cases h2+.work-case-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:34px}
.work-cases .real-case{padding:18px 18px 20px}
.work-cases .real-case-number{font-size:10px}
.work-cases .real-case h3{min-height:0;margin:6px 0 0;font-size:16px;line-height:1.5}
.work-cases .real-case-art{height:92px;margin:8px 0 10px}
.work-cases .real-case-art img{width:min(100%,190px)}
.work-cases .real-case .case-before{padding-top:10px}
.work-cases .case-before h4,.work-cases .case-after h4{margin-bottom:3px;font-size:10px}
.work-cases .case-before h4 span,.work-cases .case-after h4 span{display:none}
.work-cases .case-before p{font-size:12px;line-height:1.7}
.work-cases .real-case .case-after{margin-top:10px;padding:11px 12px}
.work-cases .case-after p{font-size:12.5px;line-height:1.75}
.work-cases .fine-print{margin-top:14px}
@media(max-width:1000px){.work-cases h2+.work-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
.work-cases h2+.work-case-grid{grid-template-columns:1fr;gap:12px;margin-top:26px}
.work-cases .real-case{display:grid;grid-template-columns:92px 1fr;column-gap:14px;padding:16px}
.work-cases .real-case-number,.work-cases .real-case h3{grid-column:1/-1}
.work-cases .real-case-art{grid-row:3/5;align-self:start;height:auto;margin:10px 0 0}
.work-cases .real-case-art img{width:100%}
.work-cases .real-case .case-before{grid-column:2;border-top:0;padding-top:10px}
.work-cases .real-case .case-after{grid-column:2;margin-top:8px;padding:10px}
}

/* ===== 具体的な流れ（5ステップ） ===== */
.rf-continuation .process{background:#fff}
@media(min-width:1001px){.rn-process-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}}
.rn-process-grid .step-number i{display:block;margin-bottom:6px;font-size:11px;font-style:normal;font-weight:700;letter-spacing:.14em}
.rn-process-grid h3{margin:18px 0 12px;font-size:19px}
.rn-process-grid p{font-size:13px;line-height:1.95}
.rf-continuation .rn-process-grid li.is-goal{border-top:3px solid var(--blue)}
@media(max-width:1000px) and (min-width:641px){
.rn-process-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:36px}
.rn-process-grid li:not(:last-child):after{display:none}
}
@media(max-width:640px){
.rn-process-grid li{min-height:124px}
.rn-process-grid .step-number{top:26px}
.rn-process-grid .step-number i{margin-bottom:4px;font-size:9px;letter-spacing:.08em}
.rn-process-grid h3{margin:0 0 8px;font-size:19px}
.rf-continuation .rn-process-grid li.is-goal{border-top-width:1px}
}

/* ===== 料金 ===== */
.rn-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;margin-top:44px}
.rn-plan{position:relative;display:flex;flex-direction:column;padding:32px 28px 26px;border:1px solid #c7ddee;border-radius:12px;background:#fff}
.rn-plan.is-recommended{padding:31px 27px 25px;border:2px solid var(--blue);box-shadow:0 18px 44px #005cbb1c}
.rn-plan-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);padding:4px 18px;border-radius:99px;background:var(--blue);color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;white-space:nowrap}
.rf-continuation .rn-plan-name{font-size:21px;letter-spacing:.02em;text-align:center}
.rn-plan-price{display:flex;align-items:baseline;justify-content:center;gap:6px;margin-top:10px;line-height:1.2}
.rn-plan-price span{font-size:13px}
.rn-plan-price strong{font-family:'DM Sans',sans-serif;font-size:58px;font-weight:500;letter-spacing:-.04em;line-height:1}
.rn-plan-price b{font-size:19px;font-weight:600}
.rn-plan-spec{margin:20px 0 0;border-top:1px solid #e3edf5}
.rn-plan-spec>div{display:grid;grid-template-columns:76px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid #e3edf5}
.rn-plan-spec dt{font-size:12px;color:var(--muted);line-height:1.8}
.rn-plan-spec dd{margin:0;font-size:14px;font-weight:600;line-height:1.7}
.rn-plan-spec dd small{display:block;font-size:12px;font-weight:400;color:var(--muted)}
.rn-plan.is-recommended .rn-plan-spec>div:first-child dd{color:var(--blue-deep)}
.rn-extras{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:22px}
.rn-option,.rn-trial{display:flex;flex-wrap:wrap;align-items:center;align-content:center;gap:6px 18px;padding:22px 26px;border-radius:12px}
.rn-option{background:#e5f2fc}
.rn-trial{border:2px solid var(--blue);background:#fff}
.rn-extra-label{padding:3px 12px;border-radius:6px;background:var(--blue);color:#fff;font-size:12px;font-weight:700}
.rn-trial .rn-extra-label{background:#e5f2fc;color:var(--blue-deep)}
.rn-extra-price{font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap}
.rn-extra-price strong{font-family:'DM Sans',sans-serif;font-size:30px;font-weight:600;margin:0 2px}
.rn-extra-price small{font-size:13px}
.rn-extra-text{flex-basis:100%;font-size:13px;line-height:1.8;color:var(--muted)}
.reference-design .rn-trial-button{min-height:46px;margin-top:8px;padding:10px 24px;gap:14px;font-size:13px}
.rn-price-note{margin-top:18px;font-size:11px;line-height:1.9;color:var(--muted)}
@media(max-width:900px){
.rn-plans{grid-template-columns:1fr;gap:28px;max-width:520px;margin-left:auto;margin-right:auto}
.rn-extras{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto}
.rn-price-note{max-width:520px;margin-left:auto;margin-right:auto}
}
@media(max-width:640px){
.rn-plans{margin-top:34px}
.rn-plan{padding:28px 22px 20px}
.rn-plan.is-recommended{padding:27px 21px 19px}
.rn-plan-price strong{font-size:50px}
.rn-option,.rn-trial{padding:20px}
.reference-design .rn-trial-button{width:100%;justify-content:center}
}

/* ===== エキスパート ===== */
.rn-partner-role{display:block;margin-top:8px;font-size:12px;font-style:normal;letter-spacing:.02em;color:#4c535b}
.partner-copy>p.rn-partner-kicker{margin:-12px 0 10px;font-size:13px;font-weight:700;color:var(--ink)}
.rn-partner-facts{margin-top:0;padding-top:0;border-top:0;flex-wrap:wrap;gap:12px}
.rn-partner-facts>span{flex:1 1 0;min-width:110px;padding:14px 16px;border-radius:10px;background:#f1f8fd;font-size:11px}
.rn-partner-facts b{color:var(--blue)}
.rn-partner-points{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.rn-partner-points li{position:relative;padding-left:18px;font-size:13px;line-height:1.9;color:var(--muted)}
.rn-partner-points li:before{content:'';position:absolute;left:2px;top:.8em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.partner-copy>p.rn-sns-lead{margin-top:20px;font-size:13px;color:var(--ink);font-weight:500}
.rn-sns{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.rn-sns-link{display:inline-flex;align-items:center;gap:12px;padding:10px 20px 10px 16px;border:1px solid #c7ddee;border-radius:99px;background:#fff;color:var(--ink);transition:border-color .2s,background .2s,transform .2s}
.rn-sns-link:hover{border-color:var(--blue);background:var(--blue-pale);transform:translateY(-2px)}
.rn-sns-link svg{flex-shrink:0;width:22px;height:22px}
.rn-sns-link:first-child svg{color:#e52d27}
.rn-sns-text{display:flex;flex-direction:column;line-height:1.4}
.rn-sns-text b{font-size:13px;font-weight:600}
.rn-sns-text small{font-size:11px;color:var(--muted)}
.rn-sns-link i{margin-left:4px;font-style:normal;color:var(--blue)}
@media(max-width:640px){
.partner-copy>p.rn-partner-kicker{margin-top:-8px}
.rn-partner-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rn-partner-facts>span{min-width:0;padding:12px 10px;font-size:10px}
.rn-partner-facts b{font-size:clamp(17px,5vw,22px)}
.rn-sns{flex-direction:column}
.rn-sns-link i{margin-left:auto}
}

/* ===== 運営会社 ===== */
.rf-continuation .rn-company{padding:84px 0;background:linear-gradient(180deg,#f6f9fb,#fff 70%);border-bottom:1px solid var(--line)}
.rn-company-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.rn-company-intro>p:not(.eyebrow){margin-top:16px;font-size:13px;line-height:2;color:var(--muted)}
.rn-company-logo{display:block;width:118px;height:auto;margin-top:26px}
.rn-company-link{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding-bottom:2px;border-bottom:1px solid currentColor;font-size:13px;font-weight:600;color:var(--blue)}
.rn-company-link:hover{color:var(--blue-deep)}
.rn-company-table{margin:0;border-top:1px solid var(--line)}
.rn-company-table>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:17px 4px;border-bottom:1px solid var(--line)}
.rn-company-table dt{font-size:12px;font-weight:500;line-height:1.9;color:var(--muted)}
.rn-company-table dd{margin:0;font-size:14px;line-height:1.8}
@media(max-width:760px){
.rf-continuation .rn-company{padding:55px 0}
.rn-company-grid{grid-template-columns:1fr;gap:30px}
.rn-company-table>div{grid-template-columns:1fr;gap:2px;padding:14px 0}
.rn-company-table dd{font-size:13px}
}

/* 文節単位で折り返す（Safariでも効くよう inline-block で制御） */
.rn-phrase span{display:inline-block}
@media(max-width:640px){.partner-copy h2.rn-phrase{font-size:23px}}
