/* =====================================================================
   LUXE PAPER — 記事・ガイド・診断ページ用テーマ（style.css の上に重ねる）
   MAGAZINE と同じ“紙面”の世界観で、長文の可読性を優先
   ===================================================================== */
:root{
  --pink:#B12A66; --pink-light:rgba(156,31,85,.16); --pink-pale:#FBF3F6; --red:#9C1F55; --red-light:rgba(156,31,85,.12); --strawberry:#9C1F55;
  --white:#FFFDFE; --offwhite:#F8EEF2; --gray-light:#F3E7EC; --text:#2A0E1C; --text-sub:#6E4D5C; --radius:4px; --radius-sm:2px;
  --shadow:none; --shadow-card:none; --font-main:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  --serif:"Bodoni Moda","Didot",Georgia,serif; --caps:"Jost","Futura",system-ui,sans-serif; --mincho:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --ink:#07070A; --rose:#FF3B9D; --blush:#FF8FC7; --champ:#E5D2AE; --wine:#9C1F55; --tab-h:66px;
}
html,body{background:#F8EEF2!important}
body{color:var(--text);font-family:var(--font-main);font-size:15.5px;line-height:1.95;-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom,0px))}
h1,h2,h3,h4{font-family:var(--mincho);font-weight:500!important;letter-spacing:.04em;color:var(--text)}
/* 装飾絵文字・旧装飾の撤去 */
.logo-icon,.strawberry-sep,.rc-icon,.slc-icon,.burger,.fixed-line-btn,#back-top,.cta-qr,.blog-card-img,.blog-list-card-img{display:none!important}
/* ---- Header (ink) ---- */
.site-header{background:rgba(7,7,10,.92)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)!important;box-shadow:none!important;height:60px!important}
.site-logo{font-family:var(--caps)!important;font-weight:500!important;font-size:11px!important;letter-spacing:.42em!important;color:#fff!important;text-transform:uppercase}
.site-header nav a:not(.nav-line){color:rgba(255,255,255,.7)!important;font-family:var(--caps);font-size:11px;letter-spacing:.14em}
.nav-line{background:transparent!important;border:1px solid rgba(255,255,255,.35)!important;color:#fff!important;border-radius:999px!important;font-size:11px!important}
@media (max-width:768px){#nav-menu{display:none!important}}
.breadcrumb{background:transparent!important;font-family:var(--caps);font-size:10px!important;letter-spacing:.14em}
.breadcrumb a{color:var(--wine)!important}
/* ---- Heroes ---- */
.seo-hero,.article-header{background:#F3E4EA!important;border-bottom:1px solid rgba(156,31,85,.18)!important;padding-top:44px!important}
.seo-hero h1,.article-header h1{font-size:clamp(24px,6.6vw,34px)!important;line-height:1.5!important;color:var(--text)!important}
.cat-badge,.article-cat,.blog-card-cat,.blog-list-card-cat{background:transparent!important;border:1px solid rgba(156,31,85,.5)!important;color:var(--wine)!important;border-radius:999px!important;font-family:var(--caps);font-size:9.5px!important;letter-spacing:.24em!important;font-weight:500!important;padding:3px 11px!important;text-transform:uppercase}
.article-meta{font-family:var(--caps);font-size:10px!important;letter-spacing:.12em;color:var(--text-sub)!important}
.lead{font-family:var(--mincho)!important;font-size:15px!important;line-height:2.1!important;color:var(--text)!important}
.section-title .sub{font-family:var(--caps)!important;font-size:10px!important;letter-spacing:.36em!important;color:var(--wine)!important;font-weight:500!important}
.section-title h2{font-family:var(--serif)!important;font-size:clamp(28px,8vw,40px)!important}
/* ---- Body copy ---- */
.seo-body,.article-body{max-width:680px!important}
.seo-body h2,.article-body h2{font-size:21px!important;border:0!important;padding:0 0 12px!important;margin:52px 0 18px!important;border-bottom:1px solid rgba(156,31,85,.22)!important;background:none!important;position:relative}
.seo-body h2::before,.article-body h2::before{content:"";display:block;width:28px;height:1px;background:var(--wine);margin-bottom:14px}
.seo-body h3,.article-body h3{background:none!important;border-left:0!important;padding:0!important;font-size:16.5px!important;color:var(--wine)!important;margin:34px 0 10px!important}
.seo-body p,.article-body p,.seo-body li,.article-body li{color:#3E2230!important;line-height:2!important}
.check-list-seo li,.check-list li{border-bottom:1px solid rgba(156,31,85,.12)!important}
.check-list-seo li::before,.check-list li::before{color:var(--wine)!important;content:"—"!important;font-weight:400!important}
.info-box-seo,.info-box{background:#FFFDFE!important;border:1px solid rgba(156,31,85,.2)!important;border-left:2px solid var(--wine)!important;border-radius:0!important}
.article-toc{background:#FFFDFE!important;border:1px solid rgba(156,31,85,.18)!important;border-radius:0!important}
.legal-notice,[style*="background:#f9f9f9"]{background:transparent!important;border:0!important;border-top:1px solid rgba(156,31,85,.18)!important;border-radius:0!important;padding:16px 0!important;color:#7B5E6B!important}
/* ---- Cards (blog / related / internal links) ---- */
.blog-card,.blog-list-card,.related-card,.seo-link-item,.shop-related-card{background:#FFFDFE!important;border:1px solid rgba(156,31,85,.16)!important;border-radius:0!important;box-shadow:none!important;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s!important}
.blog-card:active,.blog-list-card:active,.related-card:active{transform:translateY(-2px)}
.blog-card-body h3,.blog-list-card-body h3,.related-card h4{font-family:var(--mincho)!important;font-weight:500!important;font-size:15px!important;line-height:1.6!important}
.blog-card-footer,.blog-list-card-footer,.read-more{font-family:var(--caps)!important;font-size:10px!important;letter-spacing:.24em!important;color:var(--wine)!important;border-top:1px solid rgba(156,31,85,.12)!important;text-transform:uppercase}
.blog-card-body,.blog-list-card-body{padding:20px 18px!important}
.blog-card{border-top:3px solid var(--wine)!important}
.blog-list-card:nth-child(3n+2){background:var(--wine)!important}
.blog-list-card:nth-child(3n+2) *{color:#fff!important;border-color:rgba(255,255,255,.4)!important}
.seo-internal-links{background:transparent!important;border:0!important;border-top:1px solid rgba(156,31,85,.2)!important;border-radius:0!important;padding:26px 0!important}
.seo-link-item{font-family:var(--mincho);font-weight:500!important;min-height:52px}
/* ---- FAQ ---- */
.faq-item{background:transparent!important;border:0!important;border-bottom:1px solid rgba(156,31,85,.18)!important;border-radius:0!important;box-shadow:none!important}
.faq-question{font-family:var(--mincho)!important;font-weight:500!important;background:transparent!important;color:var(--text)!important}
.faq-toggle{color:var(--wine)!important;background:transparent!important}
/* ---- Buttons / CTA ---- */
.btn-line,.btn-line-large{background:#06C755!important;border-radius:999px!important;box-shadow:none!important;font-weight:600!important;letter-spacing:.06em}
.btn-outline{border:1px solid var(--wine)!important;color:var(--wine)!important;background:transparent!important;border-radius:999px!important;box-shadow:none!important}
.seo-line-cta,.article-cta{background:#07070A!important;border:0!important;border-radius:0!important;color:#fff!important;padding:40px 24px!important}
.seo-line-cta *,.article-cta *{color:rgba(255,255,255,.86)!important}
.seo-line-cta h3,.article-cta h3{font-family:var(--serif)!important;font-size:24px!important;color:#fff!important}
.seo-line-cta .btn-line,.article-cta .btn-line{color:#fff!important}
.cta-section{background:radial-gradient(80% 50% at 50% 0%,rgba(255,59,157,.16),transparent 70%),#07070A!important;color:#fff!important;padding:72px 24px!important}
.cta-section h2{font-family:var(--serif)!important;color:#fff!important;font-size:clamp(28px,8vw,40px)!important}
.cta-section p{color:rgba(255,255,255,.66)!important;font-family:var(--mincho)}
.reading-progress-bar{background:var(--rose)!important}
/* ---- Footer (ink) ---- */
.site-footer{background:#07070A!important;color:rgba(255,255,255,.6)!important;border-top:0!important}
.footer-logo{font-family:var(--serif)!important;font-size:30px!important;letter-spacing:.06em;color:#fff!important}
.footer-nav h4{font-family:var(--caps)!important;font-size:10px!important;letter-spacing:.3em!important;color:var(--champ)!important}
.footer-nav a,.footer-desc,.footer-bottom,.footer-bottom p{color:rgba(255,255,255,.55)!important}
.footer-bottom{background:transparent!important;border-top:1px solid rgba(255,255,255,.06)!important}
/* ---- Diagnosis (JOB MATCH) ---- */
.diag-card,.question-card{background:#FFFDFE!important;border:1px solid rgba(156,31,85,.16)!important;border-radius:0!important;box-shadow:none!important}
.q-num{font-family:var(--caps)!important;letter-spacing:.3em!important;color:var(--wine)!important;background:transparent!important}
.q-text{font-family:var(--mincho)!important;font-weight:500!important;font-size:19px!important;line-height:1.7!important}
.opt-btn,.options button{background:#FFFDFE!important;border:1px solid rgba(156,31,85,.22)!important;border-radius:14px!important;box-shadow:none!important;min-height:56px;font-family:var(--mincho);font-weight:500!important;color:var(--text)!important;transition:transform .25s cubic-bezier(.34,1.4,.64,1),border-color .2s,background .2s!important}
.opt-btn:active,.options button:active{transform:scale(.97)}
.opt-btn.selected,.opt-btn.active,.options button.selected{border-color:var(--rose)!important;background:rgba(255,59,157,.07)!important}
.progress-bar,.progress-fill{background:var(--wine)!important}
.result-type{font-family:var(--serif)!important}
/* ---- Bottom nav (shared with portal) ---- */
.p-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:200;padding-bottom:env(safe-area-inset-bottom,0px);background:rgba(7,7,10,.86);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border-top:1px solid rgba(255,255,255,.06)}
.p-bottom-nav__inner{height:var(--tab-h);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;max-width:640px;margin:0 auto}
.p-bottom-nav__item,.p-bottom-nav__trial{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:100%;color:rgba(244,240,242,.45);text-decoration:none!important}
.p-bottom-nav__icon svg{width:22px;height:22px}
.p-bottom-nav__item:active .p-bottom-nav__icon,.p-bottom-nav__trial:active .p-bottom-nav__trial-icon{transform:scale(.88)}
.p-bottom-nav__icon,.p-bottom-nav__trial-icon{transition:transform .25s cubic-bezier(.34,1.4,.64,1)}
.p-bottom-nav__en{font-family:var(--caps);font-size:8.5px;letter-spacing:.2em;font-weight:500}
.p-bottom-nav__ja{display:none}
.p-bottom-nav__item.active{color:#fff}
.p-bottom-nav__item.active::before{content:"";position:absolute;top:0;width:18px;height:2px;border-radius:2px;background:var(--rose)}
.p-bottom-nav__item.active .p-bottom-nav__icon{color:var(--rose)}
.p-bottom-nav__trial-icon{width:46px;height:46px;margin-top:-18px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 30% 25%,#2a1426,#120a14);border:1px solid rgba(255,59,157,.55);box-shadow:0 8px 24px -8px rgba(255,59,157,.55),inset 0 0 0 4px rgba(7,7,10,.6)}
.p-bottom-nav__trial-icon svg{width:21px;height:21px}
.p-bottom-nav__trial .p-bottom-nav__en{color:var(--blush)}
.p-bottom-nav__item--line .p-bottom-nav__icon{color:#2ED573}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.result-emoji{display:none!important}
.btn-line,.btn-line-large,a.btn-line,a.btn-line-large{color:#fff!important}
.breadcrumb ol{list-style:none!important;display:flex;flex-wrap:wrap;gap:6px;padding:0!important;margin:0!important}
.breadcrumb li{list-style:none!important}
.breadcrumb li+li::before{content:"—";margin-right:6px;opacity:.5}
.opt-icon{display:none!important}
/* チャットボット起動ボタンをデザイン言語に合わせる（機能はそのまま） */
#sb-btn{background:rgba(7,7,10,.9)!important;border:1px solid rgba(255,59,157,.5)!important;box-shadow:0 10px 28px -10px rgba(255,59,157,.6)!important;width:50px!important;height:50px!important;right:16px!important;bottom:calc(var(--tab-h) + 16px + env(safe-area-inset-bottom,0px))!important;font-size:0!important;color:transparent!important}
#sb-btn::after{content:"";position:absolute;inset:0;margin:auto;width:22px;height:22px;background:#FF8FC7;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3Cpath d='M8 10.5h8'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3Cpath d='M8 10.5h8'/%3E%3C/svg%3E") center/contain no-repeat}
#sb-btn *{display:none!important}
#sb-window{bottom:calc(var(--tab-h) + 78px + env(safe-area-inset-bottom,0px))!important;border-radius:4px!important;border:1px solid rgba(156,31,85,.2)!important}
#sb-head{background:#07070A!important}
.check-list-seo li,.check-list li,.seo-body .check-list-seo li{list-style:none!important}
.cta-section::before,.cta-section::after,.hero::before,.hero::after{content:none!important;display:none!important}
.result-shops span,.result-shops [class*="tag"],.shop-tags span,.shop-tag{background:#FFFDFE!important;color:var(--wine)!important;border:1px solid rgba(156,31,85,.35)!important;font-family:var(--mincho);font-weight:500!important}

/* v9: 旧ページのフェードインは常に表示（JS未実行で空白になるのを防止） */
.fade-in{opacity:1!important;transform:none!important}
/* v15.4 ブログ一覧の特集ブロック（生成） */
.gen-cats{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 10px;font-size:.85rem}
.gen-cats a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
.gen-cat{margin:18px 0 10px;font-size:1rem}
/* v15.5 既存ランディングの求人ブロック（生成） */
.gen-shops{margin:28px 0;padding:18px 16px;border:1px solid rgba(255,255,255,.14);border-radius:14px}
.gen-shops h2{margin-top:0}
.gen-shops__note{font-size:.8rem;line-height:1.75;opacity:.8}
.gen-shops ul{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}
.gen-shops li a{display:grid;gap:2px;min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;text-decoration:none}
.gen-shops li b{font-size:.95rem}.gen-shops li span{font-size:.78rem;opacity:.8}
.gen-shops__all{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}

/* v15.6 旧記事の「次に読む・探す」導線 */
.seo-next{margin:32px 0 8px;padding:20px 18px;border:1px solid rgba(156,31,85,.25);border-radius:14px;background:rgba(255,255,255,.55)}
.seo-next__h{font-size:15px;margin:0 0 10px;letter-spacing:.04em}
.seo-next__h+ul+.seo-next__h{margin-top:18px}
.seo-next__l{margin:0;padding-left:1.1em;line-height:1.9;font-size:14px}
.seo-next__b{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.seo-next__b a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:8px;border:1px solid rgba(156,31,85,.35);border-radius:10px;font-size:13px;text-decoration:none}
.seo-next .seo-next__b,.seo-next .seo-next__b li{list-style:none!important;padding-left:0!important}
.seo-next .seo-next__b li::before,.seo-next .seo-next__b li::marker{content:none!important;display:none!important}
.seo-next .seo-next__h{font-size:17px!important;margin:0 0 10px!important;padding:0!important;border:0!important}
.seo-next .seo-next__h::before,.seo-next .seo-next__h::after{display:none!important}
.seo-next .seo-next__b{margin:0!important}

/* ===== v15.7 条件別ページの追加本文 ===== */
.gen-intent{margin:28px 0}
.gen-intent .ix-h2{margin-top:28px}
.gen-intent p{line-height:1.9}
.gen-intent a{text-decoration:underline;text-underline-offset:3px}
/* v15.8 改訂のお知らせ */
.rev-note{margin:0 0 22px;padding:12px 14px;border-left:3px solid #c2185b;background:rgba(194,24,91,.06);font-size:.88rem;line-height:1.8}

/* v15.9 記事内の比較表（横スクロールせず折り返す） */
.art-tbl{margin:16px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.art-tbl table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.6}
.art-tbl th,.art-tbl td{padding:8px 9px;border:1px solid rgba(255,61,154,.28);text-align:left;vertical-align:top;word-break:break-word}
.art-tbl th{background:rgba(255,61,154,.12);font-weight:700;white-space:nowrap}
/* v15.9.7 公式SNSリンク（旧デザインのフッター・/sns/） */
.sns-links{margin:18px auto 6px;max-width:1100px;padding:0 20px}
.sns-links__h{margin:0 0 10px;font-size:12px;letter-spacing:.18em;opacity:.75}
.sns-links ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.sns-links li{margin:0}
.sns-links a{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border:1px solid currentColor;border-radius:999px;color:inherit;font-size:13px;text-decoration:none;opacity:.9}
.sns-links a:hover,.sns-links a:focus-visible{opacity:1}
.sns-links--page{margin:32px auto}
