/* ==========================================================
   トップページ専用CSS（旧：トップページ本文の <style>）
   トップページ（is_front_page）にだけ読み込まれる。
   ========================================================== */

/* ----------------------------------------------------------
   1. ヘッダー・全体レイアウト・文字サイズ
   ---------------------------------------------------------- */
.wp-block-post-content{font-size:1rem;color:#333333}
.wp-block-post-content,.wp-block-post-content button,.wp-block-post-content input,.wp-block-post-content textarea,.wp-block-post-content select,.wp-block-post-content .wp-element-button{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important}
.nj-toggle,.nj-burger{display:none}
/* letter spacing */
.wp-block-post-content,.wp-block-post-content *{letter-spacing:0.05em}
/* body weight */
.wp-block-post-content p,.wp-block-post-content li,.wp-block-post-content .nj-bubble,.wp-block-post-content .nf-label,.wp-block-post-content .nejin-form label,.wp-block-post-content .nf-note{font-weight:600!important}
.wp-block-post-content .nj-fs-24,.wp-block-post-content .nj-fs-26,.wp-block-post-content .nj-fs-32,.wp-block-post-content .nj-fs-28,.wp-block-post-content .nj-fs-34,.wp-block-post-content .nj-fs-36,.wp-block-post-content .nj-fs-40,.wp-block-post-content .nj-fs-48,.wp-block-post-content .nj-fs-56,.wp-block-post-content h2,.wp-block-post-content h3{font-weight:700!important}
.nj-header{position:relative;z-index:100}
.nj-logo .wp-block-image{margin:0!important}
.nj-logo-nejin{border-left:1px solid #999;padding-left:0.875rem!important;margin-left:0.875rem!important}
.nj-logo a{display:block}
.nj-logo .nj-logo-nejin.wp-block-image{margin-left:0.6rem!important;padding-left:0.6rem!important}

.wp-block-post-content .nj-btn-arrow{display:inline!important;font-size:1.6em;line-height:0;vertical-align:-0.06em;font-weight:700}
.wp-block-post-content p.nj-initial{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}
.wp-block-post-content .nj-card .wp-block-image img{border-radius:0.5rem}
.wp-block-post-content p.nj-hero-lead{font-size:1.925rem!important}
@media (max-width:767px){.wp-block-post-content p.nj-hero-lead{font-size:1.375rem!important}}
@media (max-width:767px){.wp-block-post-content p.nj-card-title mark:not(.card-number){vertical-align:baseline!important}}
@media (max-width:767px){.wp-block-post-content p.nj-card-title .nj-card-desc{display:block;margin-top:0.375rem}}
@media (max-width:767px){.wp-block-post-content .nj-card.nj-card{padding:1.25rem 1rem!important}.wp-block-post-content .nj-card ul.wp-block-list{padding-left:0!important}}
@media (max-width:767px){.wp-block-post-content p.nj-card-title .nj-dl{display:block}}
@media (max-width:767px){.wp-block-post-content .nj-card ul.wp-block-list li{text-align:justify!important;text-justify:inter-character}}
@media (max-width:767px){.wp-block-post-content .nj-hero .wp-block-button,.wp-block-post-content .nj-hero .wp-block-button .wp-block-button__link{font-size:1.0625rem!important}}
@media (max-width:767px){.wp-block-post-content .nj-logo .nj-logo-kaisha.wp-block-image img{width:8rem!important;max-width:none!important}.wp-block-post-content .nj-logo .nj-logo-nejin.wp-block-image img{width:7rem!important;max-width:none!important}}
@media (max-width:767px){.wp-block-post-content .nj-hero .wp-block-buttons{margin-bottom:1.5rem!important}}
@media (max-width:767px){.wp-block-post-content p.nj-card-title .nj-card-desc.nj-one{white-space:nowrap;font-size:min(1.125rem,4.7vw)}}
.wp-block-post-content .nj-nb{display:inline-block}
html{scroll-behavior:smooth}
.wp-block-post-content p.nj-card-title mark.card-number{position:relative;top:-0.1em}
@media (min-width:768px){.wp-block-post-content p.nj-tri{margin-top:2.5rem!important}.wp-block-post-content p.nj-tri+*{margin-top:2.5rem!important}}
.wp-block-post-content #set p.nj-set-label{font-size:1.5rem!important}
@media (max-width:767px){.wp-block-post-content #set p.nj-set-label{font-size:1.125rem!important}.wp-block-post-content #set p.nj-set-label mark{font-size:1rem!important}}
.wp-block-post-content #learning .nj-devices{margin-top:4rem!important}
@media (max-width:767px){.wp-block-post-content #learning .nj-devices{margin-top:3rem!important}}
.wp-block-post-content p.nj-card-title .nj-card-desc{color:#555555}
.wp-block-post-content .nj-menu .wp-block-button{font-size:1rem!important}
@media (min-width:768px){.wp-block-post-content #flow .nj-flow p.nj-fs-19{font-size:1.125rem!important}}
.wp-block-post-content .nj-rcard.nj-rcard{height:15rem!important}
@media (max-width:767px){.wp-block-post-content .nj-rcard.nj-rcard{height:17.5rem!important}}
.wp-block-post-content .nj-rcard .nj-post-img.nj-post-img{height:9rem!important}
@media (max-width:767px){.wp-block-post-content .nj-rcard .nj-post-img.nj-post-img{height:12rem!important}}
.wp-block-post-content .nj-rcard .nj-post-img{padding:0!important;align-items:flex-start!important}
.wp-block-post-content .nj-rcard .nj-post-img img.nj-people{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center 20%!important}
.wp-block-post-content .nj-logo .nj-logo-nejin{transform:translateY(-11%)}
.wp-block-post-content .wp-block-button.nj-btn-lg{font-size:1.25rem!important}
@media (max-width:767px){.wp-block-post-content .wp-block-button.nj-btn-lg{font-size:1.0625rem!important}.wp-block-post-content .wp-block-button.nj-btn-lg .wp-block-button__link{padding:0.875rem 1.25rem!important;white-space:nowrap}}
.wp-block-post-content .nj-header{position:sticky!important;top:0;z-index:100;background:#fff;box-shadow:0 0.125rem 0.5rem rgba(0,0,0,.08)}
body.admin-bar .wp-block-post-content .nj-header{top:32px}
@media (max-width:782px){body.admin-bar .wp-block-post-content .nj-header{top:46px}}
html{scroll-padding-top:6.5rem}
@media (max-width:767px){html{scroll-padding-top:4.5rem}}
.wp-block-post-content .nj-steps .wp-block-column>p{margin-top:0.5rem!important}
.wp-site-blocks>footer.wp-block-template-part{margin-block-start:0!important;margin-top:0!important}
.wp-block-post-content .wp-block-button__link{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;will-change:transform}
@media (hover:hover){.wp-block-post-content .wp-block-button__link:hover{transform:scale(1.06);box-shadow:0 0.5rem 1.25rem rgba(0,0,0,.22)}}
@media (prefers-reduced-motion:reduce){.wp-block-post-content .wp-block-button__link{transition:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (max-width:767px){.wp-block-post-content #risk{padding-top:2.5rem!important}}
.wp-block-post-content #risk .wp-block-column>h3{font-size:1.0625rem!important;margin-bottom:0.5em!important}
@media (max-width:767px){.wp-block-post-content #risk .wp-block-column>h3{font-size:0.9375rem!important}}
.wp-block-post-content p.nj-tri{font-size:0!important;line-height:0!important;color:transparent!important}
.wp-block-post-content p.nj-tri::before{content:"";display:inline-block;width:3.5rem;height:2rem;background:#f9a413;clip-path:polygon(0 0,100% 0,50% 100%)}
@media (max-width:767px){.wp-block-post-content p.nj-tri::before{width:2.75rem;height:1.5rem}}
@media (min-width:768px){.wp-block-post-content .nj-card p.nj-card-title{font-size:1.3125rem!important}.wp-block-post-content .nj-card p.nj-card-title mark.card-number{font-size:2.25rem!important}}
@media (max-width:767px){.wp-block-post-content .nj-logo{flex-wrap:nowrap!important;align-items:center!important}.wp-block-post-content .nj-logo .wp-block-image{flex:0 0 auto!important;width:auto!important;margin:0!important}.wp-block-post-content .nj-logo .nj-logo-nejin.wp-block-image{margin-left:0.6rem!important;padding-left:0.6rem!important}.wp-block-post-content .nj-logo .nj-logo-nejin img{width:6.375rem!important;max-width:none!important}}
.wp-block-post-content .nj-rcard{height:15rem!important;min-height:0!important}
.wp-block-post-content .nj-rcard{gap:0.9rem!important}
.wp-block-post-content .nj-post-img{height:8rem;display:flex;align-items:flex-end;justify-content:center;box-sizing:border-box}
.wp-block-post-content .nj-rcard img.nj-people{height:100%!important;width:auto!important;max-width:100%!important;object-fit:contain}
.wp-block-post-content p:has(u){line-height:2!important}
/* round line caps */
.wp-block-post-content hr.wp-block-separator{border-radius:999px!important;border:0!important}
.wp-block-post-content u{text-decoration:none!important;padding-bottom:0.4rem;background-image:radial-gradient(circle,#f9a413 0.125rem,transparent calc(0.125rem + 0.5px)),radial-gradient(circle,#f9a413 0.125rem,transparent calc(0.125rem + 0.5px)),linear-gradient(#f9a413,#f9a413);background-size:0.25rem 0.25rem,0.25rem 0.25rem,calc(100% - 0.25rem) 0.25rem;background-position:left bottom,right bottom,center bottom;background-repeat:no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.nj-card-title mark:first-child{border-right:0!important;position:relative}
.nj-card-title mark:first-child::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:2px;height:0.9em;border-radius:999px;background:#159845}
.wp-block-post-content .nj-logo-nejin{border-left:0!important;position:relative}
.wp-block-post-content .nj-logo-nejin::before{content:"";position:absolute;left:0;top:8%;bottom:8%;width:1px;border-radius:999px;background:#999}
.nj-impact{gap:2rem!important}
.nj-impact>.wp-block-column{display:flex;flex-direction:column;gap:2rem}
.nj-impact>.wp-block-column>*{margin:0!important}
.nj-steps img{width:10rem!important;max-width:100%!important;height:auto!important;display:block;margin:0 auto}
.nj-flow{align-items:stretch!important}
.nj-flow>.wp-block-column:not(.nj-arrow){align-self:stretch!important;display:flex;flex-direction:column}
.nj-flow>.wp-block-column:not(.nj-arrow)>.wp-block-group{flex:1;margin:0!important;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start}
.nj-flow>.nj-arrow{align-self:center!important}
.nj-card .wp-block-image{display:flex;justify-content:flex-end;margin-left:auto!important;margin-right:0!important;float:none!important}
.nj-card>.wp-block-columns{align-items:stretch!important}
.nj-card>.wp-block-columns>.wp-block-column:last-child{align-self:stretch!important;display:flex}
.nj-card>.wp-block-columns>.wp-block-column:last-child .wp-block-image{width:100%;height:100%;margin:0!important}
.nj-card>.wp-block-columns>.wp-block-column:last-child img{width:100%!important;height:100%!important;object-fit:cover;display:block}
#risk .wp-block-column>h3{margin-bottom:1em!important}
#risk .wp-block-column>.nj-rcard{margin-top:0!important}
.wp-block-post-content p.nj-card-title{display:flex;align-items:center;flex-wrap:wrap;row-gap:0.25rem}
.nj-card-title mark{display:inline-flex;align-items:center}
.wp-block-post-content .nj-fs-13{font-size:0.8125rem!important}
.wp-block-post-content .nj-fs-14{font-size:0.875rem!important}
.wp-block-post-content .nj-fs-15{font-size:0.9375rem!important}
.wp-block-post-content .nj-fs-16{font-size:1rem!important}
.wp-block-post-content .nj-fs-17{font-size:1.0625rem!important}
.wp-block-post-content .nj-fs-19{font-size:1.1875rem!important}
.wp-block-post-content .nj-fs-20{font-size:1.25rem!important}
.wp-block-post-content .nj-fs-22{font-size:1.375rem!important}
.wp-block-post-content .nj-fs-24{font-size:1.5rem!important}
.wp-block-post-content .nj-fs-26{font-size:1.625rem!important}
.wp-block-post-content .nj-fs-28{font-size:1.75rem!important}
.wp-block-post-content .nj-fs-34{font-size:2.125rem!important}
.wp-block-post-content .nj-fs-32{font-size:2rem!important}
.wp-block-post-content .nj-fs-36{font-size:2.25rem!important}
.wp-block-post-content .nj-fs-40{font-size:2.5rem!important}
.wp-block-post-content .nj-fs-48{font-size:3rem!important}
.wp-block-post-content .nj-fs-56{font-size:3.5rem!important}
.wp-block-post-content .wp-block-button[class*="nj-fs-"] .wp-block-button__link{font-size:inherit!important}
@media (max-width:767px){
 .nj-header{padding-top:0.625rem!important;padding-bottom:0.625rem!important}
 .nj-header-row{flex-wrap:nowrap!important;align-items:center}
 .nj-logo{margin:0!important}
 .nj-logo-kaisha img{width:7.25rem!important}
 .nj-logo-nejin img{width:6.375rem!important}
 .nj-logo-nejin{padding-left:0.625rem!important;margin-left:0.625rem!important}
 .nj-burger{display:flex;flex-direction:column;justify-content:center;gap:0.375rem;width:2.75rem;height:2.75rem;margin:0 0 0 auto!important;cursor:pointer;border-radius:0.375rem;background:#159845;padding:0 0.6875rem;box-sizing:border-box;flex:0 0 2.75rem}
 .nj-burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .25s}
 .nj-toggle:checked+.nj-burger span:nth-child(1){transform:translateY(0.5rem) rotate(45deg)}
 .nj-toggle:checked+.nj-burger span:nth-child(2){opacity:0}
 .nj-toggle:checked+.nj-burger span:nth-child(3){transform:translateY(-0.5rem) rotate(-45deg)}
 .nj-menu{display:none!important;position:absolute;left:0;right:0;top:100%;margin:0!important;background:#fff;box-shadow:0 0.5rem 1rem rgba(0,0,0,.12);padding:0.5rem 1.25rem 1.5rem;flex-direction:column!important;align-items:stretch!important;gap:1rem!important;box-sizing:border-box}
 .nj-header:has(.nj-toggle:checked) .nj-menu{display:flex!important}
 .nj-menu>p{margin:0!important;font-size:1rem!important}
 .nj-menu>p a{display:block;padding:0.875rem 0.25rem;border-bottom:1px solid #e5e5e5;text-decoration:none;color:#333}
 .nj-menu .wp-block-buttons{flex-direction:column;align-items:stretch;gap:0.625rem}
 .nj-menu .wp-block-button,.nj-menu .wp-block-button__link{width:100%;text-align:center;box-sizing:border-box}
 #risk,#feature,#learning,#flow,#price,#set,#contact{padding-top:3.5rem!important;padding-bottom:3.5rem!important}
 .wp-block-post-content .nj-fs-34,.wp-block-post-content .nj-fs-32{font-size:1.5rem!important;letter-spacing:0.05em!important}
 .wp-block-post-content .nj-fs-48{font-size:2rem!important}
 .wp-block-post-content .nj-fs-36{font-size:1.5rem!important}
 .wp-block-post-content .nj-fs-40{font-size:1.3125rem!important}
 .wp-block-post-content .nj-fs-28{font-size:1.25rem!important}
 .wp-block-post-content .nj-fs-26{font-size:1.25rem!important}
 .wp-block-post-content .nj-fs-24{font-size:1.125rem!important}
 .wp-block-post-content .nj-fs-22,.wp-block-post-content .nj-fs-20,.wp-block-post-content .nj-fs-19{font-size:1rem!important}
 .nj-hero{padding-top:1.75rem!important}
 .nj-hero-cols{gap:1rem!important}
 .nj-hero .wp-block-buttons{gap:0.75rem;flex-direction:column!important;align-items:stretch!important;width:100%}
 .nj-hero .wp-block-buttons .wp-block-button{width:100%!important;margin:0!important}
 .nj-hero .wp-block-buttons .wp-block-button__link{display:block;width:100%!important;box-sizing:border-box;text-align:center}
 .nj-hero .wp-block-button__link{padding:0.625rem 1.375rem!important}
 .nj-hero .wp-block-button{font-size:0.9375rem!important}
 .nj-hero img.wp-image-8{width:17.5rem!important}
 .nj-hero-visual{align-items:flex-end!important}
 .wp-block-post-content .nj-vcopy{writing-mode:vertical-rl!important;font-size:1.375rem!important;line-height:1.5!important;white-space:nowrap}
 .nj-card{padding:1.6rem!important}
 .nj-card>.wp-block-columns>.wp-block-column:last-child img{height:auto!important}
 .nj-card mark.card-number{font-size:2rem!important}
 .wp-block-post-content p.nj-card-title{display:block}
 .nj-card-title mark{display:inline-block!important;vertical-align:middle}
 .nj-card-title mark.card-number{vertical-align:-0.15em}
 .nj-arrow{display:none!important}
 .nj-steps,.nj-flow{display:grid!important;grid-template-columns:1fr 1fr;gap:1.25rem 0.75rem!important}
 .nj-steps img{max-width:9.375rem;margin:0 auto;display:block}
 .nj-flow .wp-block-group{height:100%;box-sizing:border-box;padding:1rem!important}
 .wp-block-post-content .nj-plus p{font-size:2rem!important;margin:0!important;line-height:1}
 .nj-set-cta .wp-block-buttons{justify-content:center!important}
 .nj-set-cta p{text-align:center}
 #set>.wp-block-group{padding:1.25rem!important}
 #price .wp-block-group{padding:1.5rem 1rem!important}
 /* --- mobile: center & 90% width --- */
 .wp-block-post-content>.alignfull{padding-left:5vw!important;padding-right:5vw!important}
 .wp-block-post-content>.alignfull>*{max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
 .wp-block-post-content .wp-block-columns,.wp-block-post-content .wp-block-column,.wp-block-post-content .wp-block-group:not(.alignfull){margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box}
 .wp-block-post-content p,.wp-block-post-content h2,.wp-block-post-content h3{text-align:center!important}
 .wp-block-post-content .wp-block-buttons{justify-content:center!important}
 .wp-block-post-content .wp-block-image{margin-left:auto!important;margin-right:auto!important;text-align:center;width:100%}
 .wp-block-post-content .wp-block-image img{width:100%!important;max-width:100%!important;height:auto!important}
 .wp-block-post-content .nj-logo{width:auto}
 .wp-block-post-content .nj-logo-kaisha img{width:7.25rem!important}
 .nj-logo-nejin img{width:6.375rem!important}
 .nj-logo-nejin{padding-left:0.625rem!important;margin-left:0.625rem!important}
 .wp-block-post-content .nj-steps img{width:100%!important;max-width:10rem!important}
 .wp-block-post-content .nj-hero-visual .wp-block-image{width:100%}
 .wp-block-post-content .wp-block-list{text-align:left}
 .wp-block-post-content .nj-menu>p{text-align:left!important}
 .wp-block-post-content .nj-card p,.wp-block-post-content .nj-card .wp-block-list{text-align:left!important}
 .nejin-form .nf-label,.nejin-form .nf-note{text-align:left}

 .nejin-form .nf-row{align-items:stretch!important}
 .nejin-form .nf-field{width:100%}
 .nejin-submit{width:100%!important}
}

/* ----------------------------------------------------------
   2. リスクカード（#risk）
   ---------------------------------------------------------- */
.nj-rcard{box-sizing:border-box;width:100%;max-width:21.25rem;min-height:14.375rem;margin:0 auto;background:#fff;border:2px solid #cfdccf;border-radius:1rem;padding:1rem;display:flex;flex-direction:column;justify-content:center;gap:0.625rem;text-align:left;font-size:0.875rem;line-height:1.5;color:#333}
.nj-rcard .nj-av{width:2.25rem;height:2.25rem;flex:0 0 2.25rem}
.nj-post-head{display:flex;gap:0.625rem;align-items:flex-start}
.nj-post-name{font-weight:700;font-size:0.875rem}
.nj-post-id{color:#999;font-size:0.75rem}
.nj-rcard p.nj-post-text{margin:0.125rem 0 0;font-weight:700;font-size:0.875rem;text-align:left!important}
.nj-post-img{background:#e3f0e5;border-radius:0.625rem;padding:0.75rem 0.75rem 0;overflow:hidden}
.nj-rcard img.nj-people{display:block;width:100%!important;height:auto!important}
.nj-chat{display:flex;align-items:center;gap:0.5rem}
.nj-chat-r{justify-content:flex-end}
.nj-chat-r .nj-bubble{text-align:right}
.nj-bubble{background:#EAF2E2;border-radius:1rem;padding:0.4rem 0.75rem;font-size:0.875rem;flex:1}
@media (max-width:767px){.wp-block-post-content .nj-rcard.nj-rcard{max-width:100%}}

/* ----------------------------------------------------------
   3. BowNowフォーム
   ---------------------------------------------------------- */
.nejin-bownow-form iframe{display:block;width:100%;min-height:68.75rem}@media (max-width:767px){.nejin-bownow-form iframe{min-height:87.5rem}}

/* ----------------------------------------------------------
   4. フッター
   ---------------------------------------------------------- */
.nj-foot{color:#fff;font-size:0.8rem;line-height:1.6}
.nj-foot a{color:#fff;text-decoration:none}
.nj-foot a:hover{opacity:.8}
.nj-foot-wrap{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:2rem;align-items:start}
.nj-foot-logo img{display:block;width:12.5rem;max-width:100%;height:auto}
.nj-foot-sns{display:flex;gap:1rem;margin:1.75rem 0 0;padding:0;list-style:none}
.nj-foot-sns svg{display:block;width:2rem;height:2rem;fill:#fff}
.wp-block-post-content .nj-foot h4{font-size:0.8rem!important;font-weight:700;margin:0 0 1.25rem;line-height:1.6}
.nj-foot ul.nj-foot-list{list-style:none;margin:0;padding:0 0 0 1.25rem}
.wp-block-post-content .nj-foot ul.nj-foot-list li{line-height:1.6rem;font-weight:400!important}
.nj-foot-col-links a{display:block;font-weight:700;line-height:1.6}
.wp-block-post-content .nj-foot p.nj-foot-copy{text-align:center;font-size:0.75rem!important;margin:3rem 0 0}
.nj-foot-spacer{height:2.53rem}
@media (max-width:767px){
 .nj-foot-wrap{grid-template-columns:1fr;gap:2.5rem;justify-items:start;padding:0 1rem}
 .nj-foot-sns{margin-top:1.25rem}
 .nj-foot-spacer{display:none}
 .nj-foot h4{margin-bottom:1rem}
 .wp-block-post-content .nj-foot p,.wp-block-post-content .nj-foot h4{text-align:left!important}
 .wp-block-post-content .nj-foot p.nj-foot-copy{text-align:center!important}
}

/* ----------------------------------------------------------
   5. ページ先頭へ戻るボタン
   ---------------------------------------------------------- */
.nj-totop{position:fixed;right:1.25rem;bottom:1.25rem;z-index:90;width:3rem;height:3rem;border-radius:50%;background:#159845;display:flex;align-items:center;justify-content:center;box-shadow:0 0.25rem 0.75rem rgba(0,0,0,.2);opacity:0;visibility:hidden;transform:translateY(0.5rem);transition:opacity .3s,visibility .3s,transform .3s}
.nj-totop.is-show{opacity:1;visibility:visible;transform:none}
.nj-totop svg{width:1.5rem;height:1.5rem;display:block}
@media (hover:hover){.nj-totop:hover{transform:scale(1.08)}}
@media (max-width:767px){.nj-totop{right:1rem;bottom:1rem;width:2.75rem;height:2.75rem}}

/* ==========================================================
   部品のスタイル（旧：ブロック設定・本文中の style="..."）
   色・文字サイズ・余白などはここで変える。
   ブロックの右パネルで色やサイズを変えると style="..." が
   付き直すので、変更はこのファイルで行う。
   ========================================================== */

/* ---------- 余白（ユーティリティ） ----------
   :root を付けているのは、テーマの「最初・最後の要素の余白を0にする」指定より優先させるため */
:root .mt-s{margin-top:0.5rem}
:root .mt-l{margin-top:2.5rem}
:root .mb-l{margin-bottom:3rem}
.is-hidden{display:none}

/* ---------- 大枠：ヘッダー・ファーストビュー・セクション・フッター ---------- */
.site-header{background-color:#ffffff;padding:1rem 1.25rem}
.hero{background-color:#f2f2f2;padding:3rem 1.25rem 0px}
.section{background-color:#ffffff;padding:5rem 1.25rem}
.section--tight-top{padding-top:3.5rem}
.section--green{background-color:#dfefe2}
.section--gray{background-color:#f2f2f2}
.site-footer{background-color:#159845;padding:3.5rem 1.25rem 1.5rem}
/* ヘッダー・ファーストビュー・各セクション・フッターの間にすき間（白い帯）を作らない
   （テーマ標準のブロック間余白 1.2rem を打ち消す） */
.wp-block-post-content>.alignfull{margin-top:0}

/* ---------- カラム幅（PC表示時。スマホでは縦積みで100%） ---------- */
.wp-block-columns>.wp-block-column.w-4{flex-basis:4%}
.wp-block-columns>.wp-block-column.w-6{flex-basis:6%}
.wp-block-columns>.wp-block-column.w-8{flex-basis:8%}
.wp-block-columns>.wp-block-column.w-32{flex-basis:32%}
.wp-block-columns>.wp-block-column.w-42{flex-basis:42%}
.wp-block-columns>.wp-block-column.w-58{flex-basis:58%}
.wp-block-columns>.wp-block-column.w-68{flex-basis:68%}
@media (min-width:782px){
 .wp-block-columns>.wp-block-column:is(.w-4,.w-6,.w-8,.w-32,.w-42,.w-58,.w-68){flex-grow:0}
}

/* ---------- 見出し・リード・本文 ---------- */
.section-title-bar{background-color:#159845;color:#159845;margin-bottom:1rem;margin-top:0}
.section-title{color:#159845;font-size:2rem;font-weight:700;letter-spacing:0.06em}
.section-lead{color:#333333;font-size:1.25rem;font-weight:700;margin-top:0.75rem}
.lead-text{color:#333333;font-size:1rem;line-height:1.9;margin-top:0.75rem}
.section-message{color:#333333;font-size:1.625rem;font-weight:700}
.section-message--small{font-size:1.5rem}
.sub-title{color:#159845;font-size:1.1875rem;font-weight:700;letter-spacing:0.06em}
.hero-lead{color:#333333;font-size:1.75rem;font-weight:700;line-height:1.6}
.body-text{color:#333333;font-size:1rem;font-weight:700}
.text-label{color:#333333;font-size:0.9375rem;font-weight:700}
.note{color:#333333;font-size:0.875rem}
.note--relaxed{line-height:1.8}
.phone-number{color:#333333;font-size:2.25rem;font-weight:700}

/* ---------- ボタン ---------- */
.wp-block-button:is(.button-primary,.button-outline)>.wp-block-button__link.wp-element-button{border-radius:2.5rem;font-size:1.0625rem;font-weight:700;padding:0.625rem 1.5rem}
.wp-block-button.button-primary>.wp-block-button__link.wp-element-button{background-color:#159845;color:#ffffff}
.wp-block-button.button-outline>.wp-block-button__link.wp-element-button{background-color:#ffffff;border-color:#f9a413;border-style:solid;border-width:2px;color:#333333}
.wp-block-button.button-outline--red>.wp-block-button__link.wp-element-button{border-color:#e0402a}
.wp-block-button.button-wide>.wp-block-button__link.wp-element-button{padding-left:2.25rem;padding-right:2.25rem}
.wp-block-button.button-large>.wp-block-button__link.wp-element-button{padding:0.875rem 3rem}

/* ボタンの上に付ける一言（例：＼お忙しい方・お急ぎの方向け15分相談／）
   ボタンに has-caption、文言に <span class="button-caption"> を付けて使う */
.wp-block-buttons:has(>.has-caption){align-items:flex-end}
.wp-block-button.has-caption{padding-top:1.75rem}
.wp-block-button.has-caption>.wp-block-button__link{position:relative}
/* PC・タブレットでは横並びを保ち、一言付きのボタンを残りの幅いっぱいに広げる */
@media (min-width:768px){
 .wp-block-buttons:has(>.has-caption){flex-wrap:nowrap}
 .wp-block-buttons>.wp-block-button.has-caption{flex:1 1 auto}
 .wp-block-buttons>.wp-block-button.has-caption>.wp-block-button__link{width:100%;white-space:nowrap}
 .wp-block-buttons:has(>.has-caption)>.wp-block-button:not(.has-caption){flex:0 0 auto}
}
.button-caption{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);margin-bottom:0.375rem;width:max-content;max-width:calc(100% + 2rem);white-space:normal;text-align:center;color:#159845;font-size:0.875rem;font-weight:700;line-height:1.4;pointer-events:none}
/* 画面が狭いPC・タブレットでは、横並びを保つためにボタンの左右の余白を詰める */
@media (min-width:782px) and (max-width:1099px){
 .nj-hero .wp-block-button.button-wide>.wp-block-button__link.wp-element-button{padding-left:1.25rem;padding-right:1.25rem}
 .nj-hero .wp-block-buttons:has(>.has-caption){gap:0.75rem}
 .nj-hero .wp-block-button.has-caption{padding-top:3rem}
}

/* ---------- 画像 ---------- */
.logo-company img{width:10rem;height:auto}
.logo-service img{width:8.75rem;height:auto}
.hero-image img{width:22.5rem;height:auto}
.devices-image img{width:32.5rem;height:auto}
img.nj-freecall{height:0.77em;width:auto;margin-right:0.3em;vertical-align:-0.015em}

/* ---------- 区切り線・記号 ---------- */
.divider{background-color:#9cc7a8;color:#9cc7a8}
.icon-triangle{color:#f9a413;font-size:3.5rem;line-height:1}
.arrow-icon{color:#f9a413;font-size:1.625rem}
.arrow-icon--green{color:#159845;font-size:1.25rem}
.plus-icon{color:#999999;font-size:3rem}

/* ---------- リスク（#risk）のピル ---------- */
.pill{background-color:#159845;border-radius:3.125rem;padding:0.8rem 1rem}
.pill-text{color:#ffffff;font-size:1.375rem;font-weight:700;line-height:1.4}

/* ---------- カード（#feature） ---------- */
.card{background-color:#ffffff;border-color:#9cc7a8;border-style:solid;border-radius:1rem;border-width:1px;padding:1.6rem}
.card-title{color:#333333;font-size:1.5rem;font-weight:700}
.card-list{font-size:1rem;font-weight:700;line-height:1.9;padding-left:1.2em}

/* ---------- 導入の流れ（#flow） ---------- */
.step-box{background-color:#ffffff;border-color:#cccccc;border-style:solid;border-radius:0px;border-width:1px;padding:1.75rem 1.5rem}
.step-number{color:#159845;font-size:1.375rem;font-weight:700;letter-spacing:0.1em}
.step-title{color:#333333;font-size:1.1875rem;font-weight:700}

/* ---------- 費用（#price） ---------- */
.price-box{background-color:#dfefe2;border-radius:1.5rem;padding:2.25rem 2rem}
.price-text{color:#333333;font-size:1.0625rem;font-weight:700}
.price-figure{color:#333333;font-size:2.5rem;font-weight:700;line-height:1.2}
.price-small{font-size:0.6em}
.price-unit{font-size:0.8em}
.price-unit--month{margin-left:0.6em}
.tax-note{font-size:1rem}
.tax-note--lg{font-size:1.4rem}

/* ---------- 採用一括セット（#set） ---------- */
.compare-box{background-color:#ffffff;border-left:5px solid #e0402a;border-right:5px solid #159845;border-radius:0px;padding:2rem}
.set-label{color:#333333;font-size:1.25rem;font-weight:700}

/* ---------- お問い合わせ（#contact） ---------- */
.notice-box{background-color:#ffffff;border-color:#159845;border-style:solid;border-radius:0px;border-width:1px;padding:1rem}
.business-hours{font-size:0.5em;font-weight:400}

/* ---------- 文中の装飾（マーカー・文字色・ラベル） ---------- */
mark.text-orange{background-color:rgba(0,0,0,0);color:#f9a413}
mark.text-green{background-color:rgba(0,0,0,0);color:#159845}
mark.text-red{background-color:rgba(0,0,0,0);color:#e0402a}
mark.text-lg{font-size:1.2em}
mark.text-xl{font-size:1.5em;line-height:1}
mark.price-number{font-size:1.4em;line-height:1}
mark.marker{background-color:#faad2b;color:#333333}
mark.card-number{background-color:rgba(0,0,0,0);color:#159845;font-size:2.5rem;line-height:1;display:inline-block;padding-right:0.875rem;margin-right:0.875rem;border-right:2px solid #159845}
mark.label{color:#ffffff;border-radius:62.4375rem;padding:0.1875rem 1.125rem;font-size:1.1875rem;vertical-align:0.125rem}
mark.label--green{background-color:#159845}
mark.label--red{background-color:#e0402a}
mark.label--price{padding:0.25rem 1.375rem;font-size:1.125rem;vertical-align:baseline}

/* ---------- BowNowフォームの外枠 ---------- */
.nejin-bownow-form{max-width:70rem;margin:0 auto}
