@charset "UTF-8";
/* =========================================================
   NATURA JAPAN デザイン（共通ヘッダー・フッター／トップページ）
   既存テーマのCSSと衝突しないよう、すべて .nj- で始まるクラスに限定しています。
   ========================================================= */
:root{
  --nj-green:#285847;--nj-ink:#173e31;--nj-orange:#bd440b;--nj-muted:#56665e;
  --nj-sage:#edf3ed;--nj-line:#d9e2da;--nj-cream:#faf9f5;
}

/* ---------- ベース（既存テーマのスタイルを打ち消す） ---------- */
.nj-header,.nj-main,.nj-footer,.nj-mobile-cta,.nj-skip{
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  color:var(--nj-ink);font-size:16px;line-height:1.9;letter-spacing:normal;font-weight:400;font-synthesis:none;
  -webkit-font-smoothing:antialiased;
}
.nj-header *,.nj-main *,.nj-footer *{box-sizing:border-box}
.nj-header a,.nj-main a,.nj-footer a,a.nj-mobile-cta{color:inherit;text-underline-offset:5px;transition:none;-webkit-tap-highlight-color:transparent}
.nj-header a:hover,.nj-main a:hover,.nj-footer a:hover,a.nj-mobile-cta:hover{box-shadow:none;transform:none;opacity:1;color:inherit}
.nj-main h1,.nj-main h2,.nj-main h3,.nj-main p,.nj-main figure,.nj-footer p{margin:0;padding:0;border:0;background:none}
.nj-main h1,.nj-main h2,.nj-main h3{line-height:1.5;font-weight:700;color:inherit;font-family:inherit}
.nj-main h1::before,.nj-main h1::after,.nj-main h2::before,.nj-main h2::after,.nj-main h3::before,.nj-main h3::after{content:none}
.nj-main h1{font-size:clamp(36px,4.3vw,64px);letter-spacing:-.05em}
.nj-main h2{font-size:clamp(27px,3vw,40px);letter-spacing:-.035em}
.nj-main h3{font-size:21px}
.nj-main p+p{margin-top:18px}
.nj-main svg,.nj-header svg{width:40px;height:40px;flex-shrink:0}
.nj-main img{max-width:100%;display:block;box-shadow:none;border:0}
.nj-header :focus-visible,.nj-main :focus-visible,.nj-footer :focus-visible{outline:3px solid #ba5b28;outline-offset:5px}
.nj-container{width:min(1200px,calc(100% - 80px));margin-inline:auto}

/* ---------- 本文へ移動 ---------- */
a.nj-skip{position:fixed;top:-100px;left:10px;z-index:100;background:#fff;padding:12px}
a.nj-skip:focus{top:5px}

/* ---------- ボタン ---------- */
.nj-header a.nj-button,.nj-main a.nj-button{
  background:var(--nj-orange);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:27px;
  text-decoration:none;border:1px solid var(--nj-orange);border-radius:5px;padding:16px 24px;font-weight:700;line-height:1.6;
  transition:background .2s,transform .2s;max-width:100%;text-align:center;
}
.nj-header a.nj-button span,.nj-main a.nj-button span{font-size:20px;color:#fff}
.nj-header a.nj-button:hover,.nj-main a.nj-button:hover{background:#a03909;color:#fff;transform:translateY(-2px)}

/* ---------- ヘッダー ---------- */
.nj-header{background:#ffffffed;border-bottom:1px solid #ebefea;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.admin-bar .nj-header{top:32px}
.nj-header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:100px}
.nj-header a.nj-brand,.nj-footer a.nj-brand{text-decoration:none;display:inline-flex;flex-direction:column;line-height:1.4}
.nj-brand strong{font-size:25px;letter-spacing:.14em;font-weight:700}
.nj-brand span{font-size:12px;letter-spacing:.12em;margin-top:5px}
.nj-brand img.nj-logo{display:block;height:34px;width:auto;max-width:none;border:0;box-shadow:none}
.nj-footer .nj-brand img.nj-logo{height:32px}
.nj-slide-menu .nj-brand img.nj-logo{height:24px}
.nj-desktop-nav{display:flex;gap:26px;align-items:center;font-size:13px;font-weight:700}
.nj-desktop-nav>a:not(.nj-button){text-decoration:none;padding:10px 0}
.nj-desktop-nav>a[aria-current]{border-bottom:2px solid var(--nj-orange)}
.nj-header .nj-desktop-nav a.nj-button{font-size:13px;padding:12px 20px;gap:15px}
.nj-mobile-menu{display:none}

/* ---------- メインビジュアル ---------- */
.nj-hero{padding:48px 0 56px;overflow:hidden}
.nj-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:35px;align-items:center}
.nj-hero h1 em{color:var(--nj-orange);font-style:normal}
.nj-main .nj-eyebrow{font-size:11px;letter-spacing:.15em;font-weight:700;color:var(--nj-green);line-height:1.6;margin-bottom:18px}
.nj-main .nj-hero-copy>.nj-eyebrow{font-size:16px;letter-spacing:.08em;display:flex;align-items:center;gap:13px}
.nj-hero-copy>.nj-eyebrow span{width:25px;height:2px;background:var(--nj-orange)}
.nj-main .nj-hero-lead{font-size:18px;margin:24px 0 30px;line-height:1.9}
.nj-main .nj-hero-note{font-size:11px;color:var(--nj-muted);margin-top:13px}
.nj-hero-note a{display:block;text-decoration:none}
.nj-hero-photo{position:relative;z-index:0}
.nj-main .nj-hero-photo img{width:100%;height:490px;object-fit:cover;object-position:64% center;border-radius:45px 6px 45px 6px}
.nj-hero-photo::before{content:"";position:absolute;width:35%;height:70px;bottom:-13px;right:-15px;background:var(--nj-sage);border-radius:30px;z-index:-1}
.nj-hero-photo figcaption{position:absolute;bottom:22px;left:18px;right:18px;padding:12px 15px;background:#285847eb;color:#fff;border-radius:4px;font-size:13px;letter-spacing:.1em;line-height:1.9}

/* ---------- 見出し共通 ---------- */
.nj-section-heading{margin-bottom:30px}
.nj-main .nj-section-heading .nj-eyebrow{margin-bottom:10px}
.nj-main .nj-section-heading>p:last-child:not(.nj-eyebrow){font-size:13px;color:var(--nj-muted);margin-top:12px}
.nj-section-heading.nj-split{display:flex;justify-content:space-between;gap:30px;align-items:end}
.nj-main .nj-section-heading.nj-split>p{font-size:14px;color:var(--nj-muted);margin-top:0}

/* ---------- お困りごと ---------- */
.nj-concerns{background:var(--nj-sage);padding:45px 0 30px}
.nj-concerns .nj-section-heading{text-align:center}
.nj-concern-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.nj-main .nj-concern-grid a{background:#fff;border-radius:7px;display:flex;align-items:center;flex-direction:column;padding:25px 12px 19px;text-decoration:none;border:1px solid transparent;transition:transform .2s,border .2s;text-align:center}
.nj-main .nj-concern-grid a:hover{transform:translateY(-4px);border-color:var(--nj-green)}
.nj-concern-grid svg{margin-bottom:14px}
.nj-main .nj-concern-grid h3{font-size:16px}
.nj-concern-grid a>span{font-size:11px;color:var(--nj-muted);margin-top:10px}
.nj-main .nj-audience{text-align:center;font-size:12px;margin-top:24px;color:var(--nj-muted)}
.nj-audience span{margin-left:20px}

/* ---------- 支援内容 ---------- */
.nj-section{padding:75px 0}
.nj-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.nj-main a.nj-service-card{display:block;border:1px solid var(--nj-line);text-decoration:none;border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s;background:#fff}
.nj-main a.nj-service-card:hover{transform:translateY(-4px);box-shadow:0 12px 35px #28584710}
.nj-service-visual{height:155px;background:var(--nj-sage);display:flex;align-items:center;justify-content:space-between;padding:28px 30px;position:relative;overflow:hidden}
.nj-main .nj-service-visual svg{width:75px;height:75px}
.nj-service-visual>span{font-size:85px;line-height:1;font-weight:700;color:#28584715;letter-spacing:-6px}
.nj-service-visual.nj-bg-sage{background:var(--nj-sage)}
.nj-service-visual.nj-bg-beige{background:#f4eee3}
.nj-service-visual.nj-bg-mint{background:#eaf1ef}
.nj-service-visual.nj-bg-green{background:#e5eee5}
.nj-service-body{padding:25px}
.nj-main .nj-service-body h3{font-size:22px;margin-bottom:12px}
.nj-main .nj-service-body p{font-size:14px;color:var(--nj-muted)}
.nj-card-link{display:block;color:var(--nj-orange);font-size:13px;font-weight:700;margin-top:18px}

/* ---------- 会社について ---------- */
.nj-about{padding:70px 0;background:var(--nj-cream)}
.nj-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.nj-main .nj-about-grid>div:last-child>p{font-size:15px;color:var(--nj-muted)}
.nj-link-list{display:flex;flex-direction:column;align-items:flex-start}
.nj-main a.nj-text-link{display:inline-flex;gap:35px;font-size:14px;font-weight:700;border-bottom:1px solid var(--nj-line);padding:5px 0;text-decoration:none;margin-top:25px}
.nj-text-link span{color:var(--nj-orange)}

/* ---------- ご相談の流れ ---------- */
.nj-flow{background:var(--nj-green);color:#fff;padding:60px 0}
.nj-main .nj-flow .nj-eyebrow{color:#d5e5d7;text-align:center}
.nj-main .nj-flow h2{text-align:center;color:#fff}
.nj-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:40px 0 22px}
.nj-steps article{display:flex;gap:18px;align-items:flex-start}
.nj-step-icon{border-radius:50%;padding:20px;background:#fff;color:var(--nj-green);display:flex}
.nj-main .nj-step-icon svg{width:28px;height:28px}
.nj-step-number{color:#ffb17b;font-size:28px;font-weight:700;line-height:1.2}
.nj-main .nj-steps h3{font-size:19px;margin:8px 0;color:#fff}
.nj-main .nj-steps p{font-size:13px;color:#e0eee2;line-height:1.8}
.nj-main a.nj-text-link.nj-light{color:#fff;border-color:#ffffff50}
.nj-text-link.nj-light span{color:#ffb17b}

/* ---------- 相談例 ---------- */
.nj-example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.nj-example-grid article{border-top:1px solid var(--nj-line);padding-top:24px}
.nj-tag{background:var(--nj-sage);color:var(--nj-green);font-size:11px;padding:5px 12px;border-radius:3px;display:inline-block;font-weight:700;margin-bottom:16px;line-height:1.6}
.nj-main .nj-example-grid h3{font-size:21px;margin-bottom:17px}
.nj-main .nj-example-grid p{color:var(--nj-muted);font-size:14px}

/* ---------- よくある質問 ---------- */
.nj-faq{padding:60px 0;background:var(--nj-sage)}
.nj-faq-grid{display:grid;grid-template-columns:.6fr 1fr;gap:60px}
.nj-faq-grid details{border-bottom:1px solid #cedbce;padding:17px 0}
.nj-faq-grid details:first-child{padding-top:0}
.nj-faq-grid summary{cursor:pointer;font-weight:700;list-style:none;display:flex;gap:20px;justify-content:space-between}
.nj-faq-grid summary::-webkit-details-marker{display:none}
.nj-faq-grid summary::after{content:"+";font-size:24px;line-height:1}
.nj-faq-grid details[open] summary::after{content:"−"}
.nj-main .nj-faq-grid details p{color:var(--nj-muted);font-size:14px;margin-top:15px;padding-right:25px}

/* ---------- お問い合わせ誘導 ---------- */
.nj-cta{padding:65px 0}
.nj-cta-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}
.nj-main .nj-cta-grid h2{margin-bottom:20px}
.nj-main .nj-cta-text{color:var(--nj-muted);font-size:15px}
.nj-cta-grid a.nj-button{margin-top:26px}
.nj-cta-message{padding:40px 50px;background:var(--nj-cream);border-radius:8px;position:relative}
.nj-quote{display:block;font-family:Georgia,serif;color:#b2c8b6;font-size:90px;line-height:1}
.nj-main .nj-cta-message p{font-size:26px;color:var(--nj-green);line-height:1.8;letter-spacing:.04em}
.nj-cta-message small{display:block;font-size:10px;letter-spacing:.2em;margin-top:24px}

/* =========================================================
   下層ページ共通
   ========================================================= */
.nj-main ul,.nj-main ol{margin:0;padding:0}
.nj-main li{margin:0;padding:0}
.nj-main li::before{content:none}
.nj-muted{color:var(--nj-muted)}
.nj-main .nj-small{font-size:12px}
.nj-narrow{max-width:840px}

/* ---------- ページ見出し ---------- */
.nj-page-intro{padding:65px 0 55px;background:var(--nj-sage)}
.nj-main .nj-page-intro h1{font-size:clamp(34px,4vw,52px)}
.nj-main .nj-intro-text{max-width:720px;color:var(--nj-muted);margin-top:22px;font-size:16px}

/* ---------- ページ内リンク ---------- */
.nj-anchor-links{display:flex;gap:18px;flex-wrap:wrap;padding-top:30px}
.nj-main .nj-anchor-links a{font-size:13px;border:1px solid var(--nj-line);border-radius:4px;padding:10px 18px;text-decoration:none;line-height:1.9;transition:border-color .2s}
.nj-main .nj-anchor-links a:hover{border-color:var(--nj-green)}

/* ---------- 相談できること：詳細 ---------- */
.nj-service-detail{padding:65px 0;border-bottom:1px solid var(--nj-line);scroll-margin-top:125px}
.admin-bar .nj-service-detail{scroll-margin-top:157px}
.nj-detail-grid{display:grid;grid-template-columns:.8fr 1fr;gap:80px}
.nj-main .nj-detail-label>svg{width:55px;height:55px;margin-bottom:25px}
.nj-main .nj-detail-label h2{font-size:31px}
.nj-main .nj-detail-catch{margin-top:18px;color:var(--nj-muted);font-size:15px}
.nj-main .nj-detail-lead{font-size:18px;line-height:1.9;margin-bottom:28px}
.nj-main .nj-detail-body h3{font-size:17px;margin-top:30px}
.nj-main .nj-detail-body ul{font-size:14px;color:var(--nj-muted);padding-left:22px;margin:0 0 24px}
.nj-main .nj-detail-body ul.nj-bullet-list{list-style:disc}
.nj-main .nj-detail-body ul.nj-bullet-list li{display:list-item;padding:0}
.nj-main .nj-detail-body ul.nj-check-list{list-style:none;padding-left:0}
.nj-main .nj-check-list li{padding:7px 0}
.nj-main .nj-check-list li::before{content:"✓";color:var(--nj-orange);margin-right:12px}
.nj-main .nj-detail-body p.nj-muted{font-size:16px}
.nj-main .nj-detail-body p.nj-small{font-size:12px;margin-top:18px}
.nj-main .nj-note-line{padding-top:16px;border-top:1px solid var(--nj-line);margin-top:24px}
.nj-main .nj-detail-body a:not(.nj-button){color:var(--nj-green);text-decoration:underline}
.nj-detail-body a.nj-button{margin-top:20px}

/* ---------- ご相談の流れ：ステップ ---------- */
.nj-long-steps{list-style:none}
.nj-main .nj-long-steps li{display:flex;gap:30px;border-bottom:1px solid var(--nj-line);padding:32px 0}
.nj-main .nj-long-steps li:first-child{padding-top:0}
.nj-long-steps li>span{font-size:35px;color:var(--nj-orange);font-weight:700;line-height:1.5}
.nj-main .nj-long-steps h2{font-size:23px;margin-bottom:15px;letter-spacing:normal}
.nj-main .nj-long-steps p{font-size:15px;color:var(--nj-muted)}

/* ---------- ご相談の流れ：料金 ---------- */
.nj-soft-section{background:var(--nj-sage);padding:65px 0;scroll-margin-top:110px}
.admin-bar .nj-soft-section{scroll-margin-top:142px}
.nj-fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.nj-main .nj-fee-text{margin-top:20px;color:var(--nj-muted);font-size:14px}
.nj-fee-card{background:#fff;border-radius:7px;padding:25px;margin-bottom:18px}
.nj-main .nj-fee-card h3{margin-bottom:12px}
.nj-main .nj-fee-card p{font-size:14px;color:var(--nj-muted)}
.nj-tag.nj-tag-beige{background:#f4eee3;color:#69582b}

/* ---------- 会社紹介：メッセージ ---------- */
.nj-main p.nj-representative{margin-top:30px}
.nj-representative strong{font-size:20px;margin-left:18px;color:var(--nj-green);font-weight:700}

/* ---------- 会社紹介：代表の経歴 ---------- */
.nj-profile-section{scroll-margin-top:120px}
.admin-bar .nj-profile-section{scroll-margin-top:152px}
.nj-main .nj-profile-name{margin:0}
.nj-profile-name strong{font-size:25px;color:var(--nj-green);margin-left:15px;font-weight:700}
.nj-profile-grid{display:grid;grid-template-columns:.85fr 1.3fr;gap:65px}
.nj-main .nj-profile-grid h3{font-size:20px;padding-bottom:14px;border-bottom:2px solid var(--nj-green)}
.nj-profile-grid dl{margin:0}
.nj-profile-education>div{padding:23px 0;border-bottom:1px solid var(--nj-line)}
.nj-profile-grid dt{font-size:12px;color:var(--nj-muted);font-weight:700;line-height:1.9}
.nj-profile-grid dd{margin:7px 0 0;font-size:15px;line-height:1.8}
.nj-profile-grid dd small{display:block;color:var(--nj-muted);font-size:12px;margin-top:6px}
.nj-profile-career>div{position:relative;padding:16px 0 16px 23px;border-left:1px solid var(--nj-line);margin-left:5px}
.nj-profile-career>div::before{content:"";position:absolute;left:-5px;top:24px;width:9px;height:9px;border-radius:50%;background:var(--nj-orange)}
.nj-profile-career>div:first-child{margin-top:12px}
.nj-main .nj-source-note{margin-top:28px}

/* ---------- 会社紹介：会社概要 ---------- */
.nj-company-grid{display:grid;grid-template-columns:.6fr 1fr;gap:60px}
.nj-company-table{margin:0}
.nj-company-table>div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #cbd9cd;font-size:14px;line-height:1.9}
.nj-company-table dt{font-weight:700}
.nj-company-table dd{margin:0;color:var(--nj-muted)}
.nj-soft-section .nj-source-note{margin-top:30px}

/* ---------- テキストページ（プライバシーポリシーなど） ---------- */
.nj-main .nj-prose h2{font-size:25px;margin:40px 0 18px;letter-spacing:normal}
.nj-main .nj-prose h2:first-child{margin-top:0}
.nj-main .nj-prose h3{font-size:19px;margin:30px 0 14px}
.nj-main .nj-prose p,.nj-main .nj-prose li{font-size:15px;color:var(--nj-muted)}
.nj-main .nj-prose p{margin:0 0 18px}
.nj-main .nj-prose p+p{margin-top:0}
.nj-main .nj-prose ul,.nj-main .nj-prose ol{padding-left:25px;margin:0 0 22px}
.nj-main .nj-prose ul{list-style:disc}
.nj-main .nj-prose ol{list-style:decimal}
.nj-main .nj-prose li{display:list-item;margin-bottom:12px}
.nj-main .nj-prose a{color:var(--nj-green);text-decoration:underline}
.nj-main .nj-prose strong{color:var(--nj-ink)}
.nj-main .nj-prose .nj-contact-box{background:var(--nj-sage);border-radius:7px;padding:22px 25px;color:var(--nj-ink);line-height:2}
.nj-main .nj-prose .nj-policy-date{margin-top:40px;font-size:14px}
.nj-main .nj-prose .has-text-align-right{text-align:right}

/* ---------- 無料相談（フォーム） ---------- */
.nj-main [hidden]{display:none!important}
.nj-contact-grid{display:grid;grid-template-columns:.65fr 1fr;gap:75px;align-items:start}
.nj-main .nj-contact-aside h2{font-size:26px;margin-bottom:15px}
.nj-main .nj-contact-aside>p{font-size:14px;color:var(--nj-muted)}
.nj-main .nj-contact-aside a.nj-text-link{font-size:12px}
.nj-notice{background:#faf3e6;border-left:3px solid #b88033;padding:18px 20px;margin-top:35px;color:#695127}
.nj-notice strong{font-size:13px}
.nj-main .nj-notice p{font-size:12px;margin-top:8px;color:#695127}

.nj-main .nj-required-note{font-size:12px;color:var(--nj-muted);margin-bottom:28px}
.nj-required-note span,.nj-required{color:var(--nj-orange);font-size:10px;padding:3px 6px;border:1px solid #ebcab9;border-radius:3px;margin-left:8px;font-weight:400;line-height:1.4;display:inline-block;vertical-align:middle}
.nj-required-note span{margin-left:0;margin-right:4px}
.nj-optional{font-size:10px;margin-left:8px;color:var(--nj-muted);font-weight:400}
.nj-cf7 .nj-label{display:block;font-size:14px;font-weight:700;margin-bottom:9px}
.nj-cf7 .wpcf7-form-control-wrap{display:block;margin-bottom:25px}
.nj-cf7 input[type="text"],.nj-cf7 input[type="email"],.nj-cf7 input[type="tel"],.nj-cf7 select,.nj-cf7 textarea{
  display:block;width:100%;border:1px solid #bdcdbf;border-radius:4px;padding:13px 15px;background:#fff;color:var(--nj-ink);
  font-size:16px;font-family:inherit;line-height:1.6;box-shadow:none;margin:0;
}
.nj-cf7 select{appearance:auto}
.nj-cf7 textarea{resize:vertical;min-height:150px}
.nj-cf7 input::placeholder,.nj-cf7 textarea::placeholder{color:#78887d;font-size:14px}
.nj-cf7 input:focus,.nj-cf7 select:focus,.nj-cf7 textarea:focus{outline:2px solid var(--nj-green);outline-offset:1px;border-color:var(--nj-green)}
.nj-main .nj-input-help{font-size:11px;color:var(--nj-muted);margin:-12px 0 25px}
.nj-cf7 .nj-consent{font-size:12px;margin-bottom:30px}
.nj-cf7 .nj-consent .wpcf7-form-control-wrap{margin-bottom:0}
.nj-cf7 .nj-consent .wpcf7-list-item{margin:0;display:block}
.nj-cf7 .nj-consent label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.nj-cf7 .nj-consent input[type="checkbox"]{margin:4px 0 0;width:18px;height:18px;accent-color:var(--nj-green);flex-shrink:0}
.nj-cf7 .nj-consent a{color:var(--nj-green);text-decoration:underline}
.nj-cf7 .nj-real-submit{display:none!important}
.nj-cf7 .wpcf7-spinner{display:none}
.nj-cf7 .wpcf7-not-valid-tip{color:var(--nj-orange);font-size:12px;margin-top:6px;display:block}
.nj-cf7 .wpcf7-not-valid{border-color:var(--nj-orange)!important}
.nj-cf7 .wpcf7-response-output:empty{display:none}
.nj-main .nj-cf7 .wpcf7-response-output{margin:24px 0 0;padding:14px 18px;border:1px solid var(--nj-orange);border-radius:4px;font-size:13px;color:var(--nj-orange);background:#fff}
.nj-main button.nj-button{font-family:inherit;font-size:16px;cursor:pointer;background:var(--nj-orange);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--nj-orange);border-radius:5px;padding:16px 24px;font-weight:700;line-height:1.6;transition:background .2s,transform .2s}
.nj-main button.nj-button:hover{background:#a03909;transform:translateY(-2px)}
.nj-main .nj-button.nj-secondary,.nj-main a.nj-button.nj-secondary{background:transparent;color:var(--nj-green);border-color:var(--nj-green)}
.nj-main .nj-button.nj-secondary:hover,.nj-main a.nj-button.nj-secondary:hover{background:var(--nj-sage);color:var(--nj-green)}
.nj-main button.nj-button:disabled{opacity:.6;cursor:wait;transform:none}
.nj-main button.nj-button.is-sending::after{content:"";width:14px;height:14px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:nj-spin .8s linear infinite}
@keyframes nj-spin{to{transform:rotate(360deg)}}

.nj-review-panel{background:var(--nj-sage);padding:30px;border-radius:7px}
.nj-main .nj-review-panel h2{font-size:27px;margin-bottom:14px}
.nj-main .nj-review-panel h2:focus{outline:none}
.nj-main .nj-review-panel>p{font-size:14px}
.nj-review-panel dl{margin:10px 0 0}
.nj-review-panel dl>div{border-bottom:1px solid #cbd9cd;padding:14px 0}
.nj-review-panel dt{font-size:12px;font-weight:700;margin-bottom:5px}
.nj-review-panel dd{margin:0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.nj-review-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}
.nj-main .nj-review-actions .nj-button{font-size:13px;padding:12px 18px}
.nj-completion-icon{margin-bottom:18px;color:var(--nj-green)}
.nj-main .nj-completion-icon svg{width:55px;height:55px}
.nj-review-panel a.nj-button{margin-top:20px}

/* =========================================================
   スマホ下部メニュー（buttons-footer-mobile.php／スライドインライト）
   ========================================================= */
#footer-mobile-buttons.nj-fmb,.nj-slide-menu,.nj-slide-overlay{display:none}
@media (max-width:760px){
  /* ID付きで指定（Simplicity標準のフッターボタンCSSより優先させるため） */
  #footer-mobile-buttons.nj-fmb{
    display:flex;position:fixed;top:auto;left:0;right:0;bottom:0;z-index:100002;width:auto;height:auto;opacity:1;
    background:var(--nj-green);border-top:1px solid #ffffff26;box-shadow:0 -4px 16px #173e3126;
    box-sizing:border-box;height:calc(55px + env(safe-area-inset-bottom));padding:0 0 env(safe-area-inset-bottom);gap:0;text-align:center;align-items:stretch;
    font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  }
  #footer-mobile-buttons.nj-fmb a.nj-fmb-button{
    flex:1 1 0;float:none;width:auto;position:relative;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    min-height:0;height:55px;padding:0 4px;box-sizing:border-box;border-radius:0;color:#fff;text-decoration:none;line-height:1.2;text-align:center;
    background:transparent;transition:background .2s;box-shadow:none;transform:none;opacity:1;letter-spacing:normal;
  }
  #footer-mobile-buttons.nj-fmb a.nj-fmb-button:hover,
  #footer-mobile-buttons.nj-fmb a.nj-fmb-button:active{background:#ffffff1f;color:#fff;box-shadow:none;transform:none;opacity:1}
  #footer-mobile-buttons.nj-fmb .menu-icon{display:block;font-size:18px;line-height:1;color:#fff}
  #footer-mobile-buttons.nj-fmb .menu-icon .fa{display:block;color:#fff}
  #footer-mobile-buttons.nj-fmb .menu-caption{display:block;font-size:10.5px;font-weight:700;color:#fff;font-family:inherit}
  #footer-mobile-buttons.nj-fmb .menu-caption::before{content:none}
  /* 中央の「無料相談」：オレンジで強調 */
  #footer-mobile-buttons.nj-fmb a.nj-fmb-contact{flex:1.3 1 0;background:var(--nj-orange);box-shadow:none}
  #footer-mobile-buttons.nj-fmb a.nj-fmb-contact:hover,
  #footer-mobile-buttons.nj-fmb a.nj-fmb-contact:active{background:#a03909}
  #footer-mobile-buttons.nj-fmb a.nj-fmb-contact[aria-current]{background:#d9825c}
  #footer-mobile-buttons.nj-fmb a#footer-button-menu[aria-expanded="true"] .fa{color:#fff}

  /* スライドインメニュー */
  .nj-slide-menu{
    display:flex;flex-direction:column;position:fixed;top:0;bottom:calc(55px + env(safe-area-inset-bottom));left:0;z-index:100001;width:min(300px,82vw);
    background:#f8f8f8;color:#333;padding:20px 20px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;
    transform:translateX(-105%);transition:transform .3s ease;box-shadow:4px 0 24px #0000001a;
    font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;letter-spacing:normal;
  }
  html.nj-menu-open .nj-slide-menu{transform:none}
  .nj-slide-menu-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:16px;border-bottom:1px solid #e3e3e3;margin-bottom:8px}
  .nj-slide-menu a.nj-brand{text-decoration:none;color:var(--nj-ink);display:flex;flex-direction:column;line-height:1.4}
  .nj-slide-menu .nj-brand strong{font-size:18px;letter-spacing:.12em}
  .nj-slide-menu .nj-brand span{font-size:10px;letter-spacing:.1em;margin-top:4px}
  .nj-slide-menu-close{background:none;border:0;font-size:22px;color:#333;padding:4px 8px;cursor:pointer;line-height:1}
  .nj-slide-menu nav{display:flex;flex-direction:column}
  .nj-slide-menu nav a{display:block;padding:14px 4px;border-bottom:1px solid #ececec;color:#333;text-decoration:none;font-size:14px;font-weight:700;box-shadow:none;transform:none;opacity:1}
  .nj-slide-menu nav a[aria-current]{color:var(--nj-orange)}
  .nj-slide-menu a.nj-slide-menu-cta{
    margin-top:22px;display:flex;justify-content:center;align-items:center;gap:14px;background:var(--nj-orange);color:#fff;
    text-decoration:none;border-radius:5px;padding:14px 18px;font-weight:700;font-size:14px;box-shadow:none;transform:none;opacity:1;
  }
  /* 背景を暗くしてぼかす（Simplicityのスライドインと同じ演出） */
  .nj-slide-overlay{display:block;position:fixed;inset:0;z-index:100000;background:#111;opacity:.3}
  .nj-slide-overlay[hidden]{display:none}
  html.nj-menu-open .nj-header,html.nj-menu-open .nj-main,html.nj-menu-open .nj-footer,html.nj-menu-open #body{filter:blur(5px)}
  html.nj-menu-open{overflow:hidden}

  /* 下部メニューがあるときは、ヘッダーの「メニュー」とテーマの「トップへ戻る」ボタンを隠す */
  .nj-has-fmb .nj-mobile-menu{display:none}
  .nj-has-fmb #page-top{display:none!important}
  .nj-has-fmb .nj-footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.nj-slide-menu{transition:none}}

/* ---------- フッター ---------- */
.nj-footer{background:#244c3e;color:#fff;padding:50px 0 23px;clear:both}
.nj-footer .nj-brand strong,.nj-footer .nj-brand span{color:#fff}
.nj-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.nj-footer p{font-size:13px;color:#d9e8de;margin-top:18px}
.nj-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:12px;align-content:start}
.nj-footer nav a{text-decoration:none;color:#fff}
.nj-footer nav a:hover{text-decoration:underline}
.nj-footer-bottom{border-top:1px solid #ffffff25;padding-top:20px;margin-top:40px;display:flex;justify-content:space-between;gap:16px;color:#c9dfd1;font-size:11px}
.nj-footer-bottom small{font-size:11px}

/* ---------- レスポンシブ ---------- */
@media (min-width:1450px){.nj-main .nj-hero-photo img{height:510px}}

@media (max-width:1050px){
  .nj-container{width:calc(100% - 48px)}
  .nj-desktop-nav{gap:16px}
  .nj-brand strong{font-size:21px}
  .nj-brand img.nj-logo{height:30px}
  .nj-main .nj-hero h1{font-size:44px}
  .nj-hero-grid{gap:25px}
  .nj-main .nj-hero-photo img{height:440px}
  .nj-steps article{flex-direction:column}
  .nj-step-icon{padding:15px}
  .nj-service-body{padding:20px}
  .nj-main .nj-service-body h3{font-size:19px}
  .nj-main .nj-concern-grid h3{font-size:14px}
  .nj-about-grid{gap:40px}
  .nj-cta-grid{gap:30px}
  .nj-detail-grid,.nj-fee-grid{gap:40px}
}
@media (max-width:1050px) and (min-width:761px){
  .nj-concern-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:782px){.admin-bar .nj-header{top:46px}}
@media (max-width:600px){.admin-bar .nj-header{top:0}}

@media (max-width:760px){
  .nj-container{width:calc(100% - 40px)}
  .nj-header-inner{min-height:78px}
  .nj-desktop-nav{display:none}
  .nj-brand strong{font-size:20px}
  .nj-header .nj-brand img.nj-logo{height:26px}
  .nj-footer .nj-brand img.nj-logo{height:28px}
  .nj-slide-menu .nj-brand img.nj-logo{height:24px}
  .nj-brand span{font-size:10px}
  .nj-mobile-menu{display:block;position:relative}
  .nj-mobile-menu>summary{font-size:12px;padding:10px;cursor:pointer;list-style:none}
  .nj-mobile-menu>summary::-webkit-details-marker{display:none}
  .nj-mobile-menu nav{position:absolute;right:0;top:45px;width:220px;background:#fff;border:1px solid var(--nj-line);box-shadow:0 10px 25px #28584718;border-radius:6px;padding:12px;display:grid;gap:3px}
  .nj-mobile-menu nav a{padding:9px 12px;font-size:13px;text-decoration:none}

  .nj-hero{padding:35px 0 38px}
  .nj-hero-grid{grid-template-columns:1fr;gap:28px}
  .nj-main .nj-hero h1{font-size:clamp(34px,6vw,48px)}
  .nj-main .nj-hero-lead{font-size:16px;margin:20px 0 25px}
  .nj-main .nj-hero-copy>.nj-eyebrow{font-size:13px}
  .nj-main .nj-hero-photo img{height:300px;border-radius:28px 5px 28px 5px}
  .nj-hero-photo figcaption{font-size:12px;bottom:15px}
  .nj-header a.nj-button,.nj-main a.nj-button{font-size:14px;padding:15px 20px;gap:18px;min-height:48px}

  .nj-concerns{padding:34px 0 25px}
  .nj-concern-grid{grid-template-columns:1fr 1fr;gap:12px}
  .nj-concern-grid>a:last-child:nth-child(odd){grid-column:1/-1}
  .nj-main .nj-concern-grid a{padding:20px 10px 15px}
  .nj-main .nj-concern-grid h3{font-size:13px}
  .nj-main .nj-concern-grid svg{width:32px;height:32px}
  .nj-concern-grid a>span{font-size:10px}
  .nj-main .nj-audience{font-size:11px}
  .nj-audience span{display:block;margin:6px 0 0}

  .nj-section{padding:45px 0}
  .nj-section-heading.nj-split{display:block}
  .nj-main .nj-section-heading.nj-split>p{margin-top:18px}
  .nj-section-heading{margin-bottom:23px}
  .nj-main .nj-section-heading h2{font-size:26px}
  .nj-service-grid,.nj-example-grid{grid-template-columns:1fr;gap:20px}
  .nj-main a.nj-service-card{display:grid;grid-template-columns:100px 1fr}
  .nj-service-visual{height:100%;padding:20px;min-height:200px;justify-content:center}
  .nj-main .nj-service-visual svg{width:52px;height:52px}
  .nj-service-visual>span{display:none}
  .nj-service-body{padding:20px}
  .nj-main .nj-service-body h3{font-size:19px}
  .nj-main .nj-service-body p{font-size:13px}
  .nj-card-link{font-size:12px;margin-top:12px}

  .nj-about{padding:45px 0}
  .nj-about-grid,.nj-faq-grid,.nj-cta-grid{grid-template-columns:1fr;gap:28px}
  .nj-main .nj-about-grid h2{font-size:28px}
  .nj-main .nj-about-grid>div:last-child>p{font-size:14px}

  .nj-flow{padding:42px 0}
  .nj-main .nj-flow h2{font-size:26px}
  .nj-steps{grid-template-columns:1fr;gap:26px;margin-top:30px}
  .nj-steps article{flex-direction:row;gap:20px}
  .nj-main .nj-steps h3{font-size:18px;margin:4px 0}
  .nj-step-number{font-size:23px}
  .nj-step-icon{padding:16px}
  .nj-main .nj-steps p{font-size:12px}

  .nj-example-grid{gap:26px}
  .nj-faq{padding:40px 0}
  .nj-faq-grid summary{font-size:14px}
  .nj-cta{padding:42px 0}
  .nj-main .nj-cta-grid h2{font-size:30px}
  .nj-cta-message{padding:22px 30px}
  .nj-quote{font-size:60px}
  .nj-main .nj-cta-message p{font-size:22px}

  /* 下層ページ */
  .nj-page-intro{padding:38px 0}
  .nj-main .nj-page-intro h1{font-size:34px}
  .nj-main .nj-intro-text{font-size:14px}
  .nj-anchor-links{gap:8px;padding-top:22px}
  .nj-main .nj-anchor-links a{font-size:11px;padding:8px 11px}
  .nj-service-detail{padding:40px 0;scroll-margin-top:95px}
  .admin-bar .nj-service-detail{scroll-margin-top:95px}
  .nj-detail-grid,.nj-fee-grid{grid-template-columns:1fr;gap:28px}
  .nj-main .nj-detail-label h2{font-size:28px}
  .nj-main .nj-detail-label>svg{margin-bottom:15px}
  .nj-main .nj-detail-label .nj-eyebrow{margin-bottom:10px}
  .nj-main .nj-detail-catch{margin-top:12px}
  .nj-main .nj-detail-lead{font-size:16px;margin-bottom:20px}
  .nj-main .nj-long-steps li{gap:20px;padding:25px 0}
  .nj-long-steps li>span{font-size:27px}
  .nj-main .nj-long-steps h2{font-size:20px}
  .nj-main .nj-long-steps p{font-size:14px}
  .nj-soft-section{padding:42px 0}
  .nj-fee-card{padding:20px}
  .nj-profile-grid,.nj-company-grid{grid-template-columns:1fr;gap:32px}
  .nj-company-grid{gap:28px}
  .nj-main .nj-profile-name{margin-top:14px}
  .nj-profile-name strong{font-size:22px}
  .nj-profile-grid dd{font-size:14px}
  .nj-profile-section,.admin-bar .nj-profile-section{scroll-margin-top:95px}
  .nj-company-table>div{grid-template-columns:76px 1fr;gap:15px;font-size:13px}
  .nj-main .nj-source-note{font-size:11px}
  .nj-main .nj-prose h2{font-size:22px}
  .nj-main .nj-prose p,.nj-main .nj-prose li{font-size:14px}
  .nj-main .nj-prose .nj-contact-box{padding:18px 20px}
  .nj-contact-grid{grid-template-columns:1fr;gap:35px}
  .nj-main .nj-contact-aside h2{font-size:23px}
  .nj-notice{margin-top:22px}
  .nj-review-panel{padding:22px}
  .nj-main .nj-review-panel h2{font-size:23px}
  .nj-review-actions{gap:10px}
  .nj-main .nj-review-actions .nj-button{width:100%}

  .nj-footer{padding:35px 0 90px}
  .nj-footer-grid{grid-template-columns:1fr;gap:28px}
  .nj-footer nav{font-size:11px;gap:15px 10px}
  .nj-footer-bottom{margin-top:30px;flex-wrap:wrap}

}

@media (prefers-reduced-motion:reduce){
  .nj-header *,.nj-main *,.nj-footer *{transition:none!important}
}
