/* Shared public-site presentation. Brand copper is retained across every route. */
:root{color-scheme:dark;--site-bg:#0c0c0f;--site-panel:#201c1c;--site-line:#3d3432;--site-text:#f4f1ee;--site-muted:#aaa2a0;--site-copper:#be7350}
html,body{background:var(--site-bg);color:var(--site-text)}
#site-header,body.home #site-header{background:rgba(12,12,15,.96);border-bottom:1px solid var(--site-line);backdrop-filter:none}
#site-header .nav-link,body.home #site-header .nav-link,#mobile-menu-button{color:#e8e3e0}
#site-header .nav-link:hover,body.home #site-header .nav-link:hover{color:#d4906e}
#site-header img{max-width:150px;object-fit:contain}
#mobile-menu{background:rgba(12,12,15,.98)}
footer{background:#0c0c0f!important;border-top:1px solid var(--site-line)!important}
footer a:hover{color:#d4906e!important}
.moru-progress{background:#be7350!important}
.card,.security-front .card{border-color:var(--site-line);border-radius:5px;box-shadow:0 12px 30px #00000014}
.card.moru-spot{background-image:radial-gradient(420px circle at var(--mx,50%) var(--my,-100%),#be735014,transparent 65%)}
.card:hover{border-color:#83543e}
.btn-primary,.btn-accent,#site-header .btn-primary,body.home #site-header .btn-primary,.security-button{background:#be7350;color:#160e0b;border:1px solid #ce8a65;border-radius:3px;box-shadow:none}
.btn-primary:hover,.btn-accent:hover,#site-header .btn-primary:hover,body.home #site-header .btn-primary:hover,.security-button:hover{background:#d4906e;color:#160e0b;box-shadow:0 5px 24px #be735020}
.wpcf7-form-control.wpcf7-submit{background:#be7350;color:#160e0b;border:1px solid #ce8a65;border-radius:3px;box-shadow:none}
.wpcf7-form-control.wpcf7-submit:hover{background:#d4906e;color:#160e0b}
.pagination .page-numbers.current,.pagination .page-numbers:hover{background:#be7350;color:#160e0b}
.btn-secondary{border:1px solid #72605a;border-radius:3px;color:#ded6d2;background:transparent}
.btn-secondary:hover{color:#f1c0a3;border-color:#be7350;background:#be735010}
.text-primary-dark{color:#d4906e}
.decoration-line{height:2px;background:#be7350}
.badge-primary,.badge-cyan{border-radius:3px;color:#dca07e}
.heading-xl,.heading-lg,.heading-md{color:#f4f1ee;letter-spacing:-.04em}
.section{border-color:var(--site-line)}
.site-cta{border-top:1px solid #4a3028;border-bottom:1px solid #302522}
.bg-white{background-color:#201c1c}
.prose{--tw-prose-body:#c4bdba;--tw-prose-headings:#f4f1ee;--tw-prose-lead:#aaa2a0;--tw-prose-links:#d4906e;--tw-prose-bold:#e8e3e0;--tw-prose-counters:#b89e90;--tw-prose-bullets:#be7350;--tw-prose-hr:#3d3432;--tw-prose-quotes:#d8d2cf;--tw-prose-quote-borders:#be7350;--tw-prose-captions:#aaa2a0;--tw-prose-code:#d4906e;--tw-prose-pre-code:#d8d2cf;--tw-prose-pre-bg:#171315;--tw-prose-th-borders:#51413b;--tw-prose-td-borders:#3d3432;color:#c4bdba;overflow-wrap:anywhere}
.prose :where(h1,h2,h3,h4,strong,th){color:#f4f1ee}
.prose :where(a){color:#d4906e}.prose :where(a):hover{color:#f1c0a3}
.prose blockquote p{color:#c4bdba}
.prose :where(pre){background:#171315!important;color:#d8d2cf}
.prose :where(pre code){color:inherit}
.prose :where(table){display:block;max-width:100%;overflow-x:auto;border-color:#3d3432}
.prose :where(img){border-color:#3d3432}
.prose :where(thead th){color:#e8e3e0;background:#be735015}
.prose :where(tbody td){border-color:#3d3432}
.prose :where(hr){border-color:#3d3432}
.form-input,.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]),.wpcf7 textarea,.wpcf7 select{background:#201c1c;color:#f4f1ee;border:1px solid #51413b;border-radius:4px;color-scheme:dark}
.form-input::placeholder,.wpcf7 input::placeholder,.wpcf7 textarea::placeholder{color:#a69a94;opacity:1}
input,textarea,select{accent-color:#be7350;scroll-margin-top:100px}
input:-webkit-autofill{-webkit-text-fill-color:#f4f1ee;-webkit-box-shadow:0 0 0 1000px #201c1c inset;caret-color:#f4f1ee}
select option{background:#201c1c;color:#f4f1ee}
.wpcf7-not-valid-tip{color:#fca5a5}.wpcf7-response-output{color:#f4f1ee;background:#201c1c}
.resource-checkbox-card{position:relative;background:#201c1c!important;border-color:#51413b!important}
.resource-checkbox-card:hover,.resource-checkbox-card.selected{background:#be735012!important;border-color:#be7350!important}
.checkbox-indicator{background:#151214!important;border-color:#72605a!important}
.resource-checkbox-card.selected .checkbox-indicator{background:#be7350!important;color:#160e0b}
.resource-checkbox-card input[type=checkbox]{display:block!important;position:absolute;width:1px;height:1px;opacity:0}
.resource-checkbox-card:focus-within{outline:2px solid #d4906e;outline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #d4906e;outline-offset:4px}
#back-to-top{background:#be7350;color:#160e0b;border:1px solid #d4906e}
@media(max-width:767px){.heading-xl{line-height:1.4}.heading-lg{line-height:1.45}.prose{font-size:15px;line-height:1.9}main{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Corporate-page rhythm and touch-friendly mobile refinements. */
.company-page>section:first-child,.services-page>section:first-child,.process-page>section:first-child,.contact-page>section:first-child,.news-page>section:first-child{border-bottom:1px solid #382c28}
.company-page .card,.services-page .card,.contact-page .card{border-radius:6px}
.news-page .news-item{padding:30px 0}.news-page .news-item a:hover .news-title{color:#dfa17e}.news-page .news-title{line-height:1.65}.news-page .filter-btn{min-height:44px;display:inline-flex;align-items:center}.news-page .filter-btn.active{color:#160e0b;background:#be7350}
.services-page>section[id]{scroll-margin-top:90px}
.services-page>section[id] .heading-lg{font-size:clamp(26px,3vw,40px);line-height:1.4}
.security-hero .ev-note{color:#aaa2a0;font-size:14px;font-weight:400;line-height:1.9;max-width:470px}
@media(max-width:767px){
 #site-header nav{height:64px}#mobile-menu-button,#mobile-menu-close{min-width:44px;min-height:44px;display:grid;place-items:center}#site-header img{max-width:120px;height:28px}main#main{padding-top:64px}
 .container-custom{padding-left:22px;padding-right:22px}.security-hero{padding-top:30px}.security-hero-description{font-size:15px;line-height:1.95}.security-hero h1{font-size:clamp(28px,7.5vw,38px)}
 .security-hero-actions{gap:8px;margin:22px 0 12px}.security-button{min-height:48px;font-size:15px}.security-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px}.security-hero .ev-note{font-size:14px;margin-top:12px}.security-hero-topics{font-size:13px;line-height:1.7;gap:6px 12px}.security-art{max-width:320px}.security-art figcaption{font-size:13px}.security-motion-toggle{min-height:44px;font-size:13px;padding:10px 4px}.security-hero-bottom a{display:inline-flex;align-items:center;min-height:44px}.security-hero-bottom{gap:4px;padding-block:12px}
 .security-deliverable>p{font-size:15px}.security-deliverable>a{min-height:44px}.security-report>div{font-size:14px}.security-report span{font-size:13px}.security-sample{height:auto;min-height:270px}.security-access{font-size:15px}.security-access small,.security-steps small{font-size:13px}.security-sample-note{font-size:14px}
 .company-page>section:first-child,.services-page>section:first-child,.process-page>section:first-child,.contact-page>section:first-child,.news-page>section:first-child{padding-block:40px}.company-page>section:first-child p,.services-page>section:first-child p,.process-page>section:first-child p,.contact-page>section:first-child p,.news-page>section:first-child p{font-size:15px;line-height:1.9}
 .company-page .section,.services-page .section,.contact-page .section,.news-page .section{padding-block:48px}.company-page .card,.contact-page .contact-form-card,.services-page .card{padding:24px}.company-page .gap-12,.contact-page .gap-12{gap:28px}.services-page .gap-16{gap:24px}.services-page .mb-16{margin-bottom:32px}
 .company-page .company-facts,.company-page .company-facts tbody,.company-page .company-facts tr,.company-page .company-facts th,.company-page .company-facts td{display:block;width:100%;text-align:left}.company-page .company-facts th{padding:16px 18px 6px!important;background:none!important;font-size:14px;color:#dfa17e}.company-page .company-facts td{padding:0 18px 18px!important;font-size:15px;line-height:1.85}.company-page .company-facts tr{border-bottom:1px solid #3d3432}
 .contact-page>.evidence .ev-band{padding:18px;margin:20px 0 0;font-size:15px;line-height:1.9}.contact-page>.evidence .ev-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px}.contact-page .wpcf7 input:not([type=checkbox]):not([type=radio]),.contact-page .wpcf7 textarea,.contact-page .wpcf7 select,.form-input{font-size:16px}.wpcf7-acceptance label{align-items:flex-start;line-height:1.9}.contact-page .ev-actions{gap:10px}.contact-page .ev-actions a{min-height:44px}
 #mobile-menu nav a,#mobile-menu li>a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid #332925;padding:12px 0;font-size:18px}footer li a{display:inline-flex;align-items:center;min-height:36px;line-height:1.65}footer .gap-12{gap:32px}footer .py-16{padding-block:44px}
 .news-page .news-item{padding-block:24px}.news-page .news-item .gap-4{gap:10px}.news-page .news-title{font-size:18px}.news-page .news-item p{font-size:15px;line-height:1.9}.news-page .news-date{font-size:14px}
 .security-front a.group.card{padding:20px}.security-front a.group.card>.flex{gap:14px}.security-front a.group.card .w-14{width:40px;height:40px}.security-front a.group.card h3{font-size:17px;line-height:1.6}.security-front a.group.card p{font-size:15px;line-height:1.85}.security-front a.group.card .line-clamp-2{display:block;-webkit-line-clamp:unset;overflow:visible}
 .process-page .counter{font-size:44px}.process-page .card{padding:24px}.process-page .text-6xl{font-size:44px}
}
@media(hover:none){.card:hover,.security-button:hover{transform:none}.card.moru-spot{background-image:none}.card{backdrop-filter:none}.hover-lift:hover{transform:none}}
@media(max-width:767px){.contact-page .trust-indicators{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:24px}.contact-page .trust-item{display:block;padding:10px 3px;border:0;border-radius:3px}.contact-page .trust-item svg{width:20px;height:20px;margin:0 auto 8px}.contact-page .trust-item p{font-size:13px;line-height:1.6}.contact-page .trust-item svg+p{margin-left:0}}
@media(max-width:767px){.company-facts{min-width:0!important}.company-comparison{min-width:0!important;table-layout:fixed;width:100%}.company-comparison th,.company-comparison td{padding:12px 8px!important;font-size:14px;line-height:1.8;overflow-wrap:anywhere}.process-page .process-step{display:block;position:relative;margin-bottom:20px}.process-page .process-step>.flex-shrink-0{position:absolute;top:20px;left:20px;z-index:2}.process-page .process-step-number{width:28px;height:28px;font-size:14px}.process-page .process-step-line{display:none}.process-page .process-step>.card{padding:20px}.process-page .process-step .card>.flex:first-child{padding-left:40px;gap:12px}.process-page .process-step .icon-box{display:none}.process-page .process-step h3{font-size:18px;line-height:1.55}.process-page .process-step p{font-size:15px;line-height:1.9}}
@media(max-width:767px){#back-to-top{width:44px;height:44px;right:12px;bottom:max(16px,env(safe-area-inset-bottom));background:#211916;color:#dfa17e;border-color:#78513d}body:has(.contact-page) #back-to-top{display:none}}

/* Content stays visible during navigation, including when JavaScript is unavailable. */
.animate-on-scroll,.animate-on-scroll.animated{opacity:1;transform:none;transition:none}

/* 2026-11-02 可読性の下限：ヒーローの補助テキスト・Tailwindのtext-xsを底上げ */
.security-hero-topics{font-size:15px!important;color:#c9c5cc!important;gap:10px 22px!important}
.security-hero-bottom{font-size:15px!important;color:#c9c3c2!important}
.security-hero-bottom a{font-weight:600}
.security-text-link{font-size:15px!important}
.security-button{font-size:15px!important}
.security-hero .security-eyebrow{font-size:13px!important}
.security-hero-description{font-size:16px!important}
@media(max-width:767px){.security-hero-description{font-size:15px!important}.security-hero-topics,.security-hero-bottom{font-size:14px!important}}
/* 2026-11-02 見出しを説明文に変更（「何の会社か」が1行目でわかる）。長くなったので折り返しを許可しサイズを抑える */
.security-hero h1{white-space:normal!important;font-size:clamp(30px,2.9vw,44px)!important;line-height:1.5!important;letter-spacing:-.03em!important;word-break:auto-phrase}
@media(max-width:767px){.security-hero h1{font-size:clamp(26px,7vw,32px)!important}.security-br-wide{display:none}}
.security-hero h1 .nw{display:inline-block}
