/* ═══════════════════════════════════════
   Pages — Shared Sub-page Styles
   ═══════════════════════════════════════ */

.current{color:var(--gold)!important}

/* ── Service Detail ── */
.svc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center}
.svc-detail-grid.reverse .svc-detail-info{order:2}
.svc-detail-grid.reverse .svc-detail-visual{order:1}
.svc-detail-num{font-family:var(--display);font-size:4rem;font-weight:300;color:var(--cream2);line-height:1;display:block;margin-bottom:16px}
.svc-detail-info h2{font-size:clamp(1.4rem,2.5vw,2rem);margin-bottom:16px}
.svc-lead{font-size:.95rem;line-height:1.9;margin-bottom:24px}
.svc-checklist{margin-bottom:24px}
.svc-checklist li{padding:8px 0 8px 20px;font-size:.92rem;position:relative;border-bottom:1px solid var(--border)}
.svc-checklist li:last-child{border-bottom:none}
.svc-checklist li::before{content:'';position:absolute;left:0;top:14px;width:6px;height:6px;background:var(--gold);border-radius:50%}
.svc-notice{padding:20px 24px;background:var(--cream);margin:24px 0;border-left:3px solid var(--gold)}
.svc-notice.warning{background:#fff8f0;border-left-color:#e74c3c}
.svc-notice strong{display:block;margin-bottom:4px;font-size:.9rem}
.svc-notice p{font-size:.88rem;line-height:1.7;margin:0}
.svc-detail-visual{overflow:hidden;aspect-ratio:4/3}
.svc-detail-visual img{width:100%;height:100%;object-fit:cover;filter:brightness(.85);transition:.6s var(--ease)}
.svc-detail-visual:hover img{transform:scale(1.03);filter:brightness(.95)}

/* ── Process ── */
.process-sec{background:var(--navy);color:var(--white)}
.process-sec .sec-title{color:var(--white)}
.center-head{text-align:center;margin-bottom:clamp(32px,4vw,48px)}
.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.p-step{padding:clamp(28px,3vw,40px);border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);transition:.4s var(--ease)}
.p-step:hover{background:rgba(255,255,255,.07);transform:translateY(-4px)}
.p-step-num{font-family:var(--display);font-size:2.5rem;font-weight:300;color:var(--gold);opacity:.4;display:block;margin-bottom:12px}
.p-step h3{font-family:var(--serif);color:var(--white);font-weight:500;font-size:1.1rem;margin-bottom:10px}
.p-step p{font-size:.88rem;color:rgba(255,255,255,.55);line-height:1.7}

/* ── Cases Full ── */
.case-full-list{max-width:800px;margin:0 auto}
.case-full{padding:clamp(32px,4vw,48px);border:1px solid var(--border);margin-bottom:24px;background:var(--white);transition:.4s var(--ease)}
.case-full:hover{box-shadow:var(--shadow-m)}
.case-full-header{margin-bottom:20px}
.case-full h2{font-size:clamp(1.1rem,2vw,1.4rem);margin-top:12px}
.case-flow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.case-flow span{padding:6px 14px;font-size:.8rem;background:var(--bg);border:1px solid var(--border)}
.flow-result{background:var(--cream)!important;color:var(--gold-dark);font-weight:600;border-color:var(--cream2)!important}
.case-full p{font-size:.92rem;line-height:1.85;margin-bottom:16px}
.case-full blockquote{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--txt3);padding:16px 0 0 20px;margin-top:16px;border-top:1px solid var(--border);position:relative}
.case-full blockquote::before{content:'"';font-family:var(--display);font-size:2rem;color:var(--gold);position:absolute;left:0;top:12px}
.disclaimer{text-align:center;font-size:.82rem;color:var(--txt3);margin-top:32px}

/* ── Info Grid (About) ── */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.info-card{padding:clamp(24px,3vw,36px);border:1px solid var(--border);background:var(--bg)}
.info-card h3{font-family:var(--serif);font-size:1.05rem;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.info-card li{padding:6px 0;font-size:.88rem;border-bottom:1px solid rgba(0,0,0,.04)}
.info-card li:last-child{border-bottom:none}

/* ── Column Articles ── */
.col-list{max-width:800px;margin:0 auto}
.col-article{padding:clamp(32px,4vw,48px);border:1px solid var(--border);background:var(--white);margin-bottom:24px;scroll-margin-top:100px}
.col-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--txt3);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.col-cat{padding:3px 12px;background:var(--cream);color:var(--gold-dark);font-weight:600;letter-spacing:.03em}
.col-cat.warn{background:#fff8f0;color:#b45309}
.col-cat.danger{background:#fff5f5;color:#c0392b}
.col-article h2{font-size:clamp(1.1rem,2vw,1.5rem);margin-bottom:20px}
.col-body h3{font-size:1.05rem;margin:24px 0 8px;padding-left:14px;border-left:2px solid var(--gold)}
.col-lead{font-size:.95rem;line-height:1.9;padding:16px 20px;background:var(--bg);margin-bottom:20px}
.col-body p{font-size:.92rem;line-height:1.85;margin-bottom:12px}
.col-cta{text-align:center;margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}

/* ── FAQ ── */
.faq-list{max-width:720px;margin:0 auto}
.faq-item-wrap{border:1px solid var(--border);background:var(--white);margin-bottom:8px;transition:.3s var(--ease)}
.faq-item-wrap:hover{border-color:var(--gold)}
.faq-q{width:100%;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;background:none;border:none;font-family:var(--serif);font-size:1rem;font-weight:500;color:var(--txt);text-align:left;min-height:44px;transition:.3s}
.faq-q span{font-size:1.4rem;color:var(--txt3);transition:transform .3s var(--ease);font-weight:300}
.faq-item-wrap.active .faq-q span{transform:rotate(45deg);color:var(--gold)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-item-wrap.active .faq-a{max-height:300px}
.faq-a p{padding:0 24px 20px;font-size:.92rem;line-height:1.85;color:var(--txt2)}

/* ── Contact ── */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px}
.contact-card{padding:clamp(28px,3vw,40px);border:1px solid var(--border);background:var(--white);text-align:center;transition:.4s var(--ease)}
.contact-card:hover{border-color:var(--gold);box-shadow:var(--shadow-m)}
.contact-card h3{font-family:var(--serif);font-size:1.1rem;margin-bottom:10px}
.contact-card p{font-size:.88rem;color:var(--txt3);margin-bottom:16px;line-height:1.6}
.contact-num{font-family:var(--display);font-size:1.6rem;font-weight:600;color:var(--gold-dark);letter-spacing:.03em;display:block}
.contact-email{font-size:.95rem;color:var(--gold-dark);font-weight:500}
.contact-card address{font-style:normal;font-size:.88rem;color:var(--txt2);line-height:1.6}
.contact-notice{padding:clamp(24px,3vw,36px);background:var(--cream);margin-bottom:48px;border-left:3px solid var(--gold)}
.contact-notice h3{font-family:var(--serif);font-size:1.1rem;margin-bottom:12px}
.contact-notice li{padding:6px 0;font-size:.9rem;padding-left:16px;position:relative}
.contact-notice li::before{content:'·';position:absolute;left:0;color:var(--gold)}
.contact-form-wrap{max-width:600px;margin:0 auto}
.contact-form-wrap h3{font-family:var(--serif);font-size:1.3rem;text-align:center;margin-bottom:8px}
.contact-form-wrap>p{text-align:center;font-size:.9rem;color:var(--txt3);margin-bottom:28px}
.form-row{margin-bottom:16px}
.form-row label{display:block;font-size:.85rem;font-weight:500;margin-bottom:6px;color:var(--txt)}
.form-row label span{color:var(--gold-dark)}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:12px 16px;border:1px solid var(--border);font-family:var(--sans);font-size:.9rem;background:var(--white);outline:none;transition:.3s;min-height:44px}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--gold)}
.form-row textarea{resize:vertical}
.form-agree{margin-top:20px;margin-bottom:8px}
.agree-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.9rem;line-height:1.5}
.agree-label input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0}
.agree-check{flex-shrink:0;width:20px;height:20px;border:1px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;transition:.3s;margin-top:1px}
.agree-label input:checked~.agree-check{background:var(--gold-dark);border-color:var(--gold-dark)}
.agree-label input:checked~.agree-check::after{content:'';width:5px;height:10px;border:solid var(--white);border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}
.agree-text{color:var(--txt);font-weight:500}
.agree-text span{color:var(--gold-dark)}
.agree-detail{margin-top:8px;padding:12px 16px;background:var(--bg);border:1px solid var(--border);font-size:.8rem;line-height:1.7;color:var(--txt3)}
.form-submit{width:100%;margin-top:8px}
.form-note{text-align:center;font-size:.78rem;color:var(--txt3);margin-top:12px}
.form-success{text-align:center;padding:48px 24px}
.form-success h3{font-family:var(--serif);font-size:1.3rem;margin-bottom:12px;color:var(--gold-dark)}
.form-success p{font-size:.95rem;line-height:1.8}

/* ── Responsive ── */
@media(max-width:1024px){
    .svc-detail-grid{grid-template-columns:1fr;gap:32px}
    .svc-detail-grid.reverse .svc-detail-info{order:1}
    .svc-detail-grid.reverse .svc-detail-visual{order:2}
    .process-steps{grid-template-columns:1fr}
    .info-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto 48px}
}
@media(max-width:768px){
    .case-flow{flex-direction:column}
    .case-flow span{text-align:center}
    .svc-detail-visual{aspect-ratio:16/9}
    .svc-detail-num{font-size:2.8rem}
    .svc-detail-info h2{font-size:clamp(1.2rem,4vw,1.6rem)}
    .svc-notice{padding:16px 18px}
    .process-steps{gap:16px}
    .p-step{padding:24px}
    .col-article{padding:24px}
    .col-meta{gap:8px;font-size:.75rem}
    .col-body h3{font-size:.95rem}
    .case-full{padding:24px}
    .case-full h2{font-size:clamp(1rem,3.5vw,1.2rem)}
    .case-results span{padding:5px 12px;font-size:.75rem}
    .faq-q{padding:16px 18px;font-size:.92rem}
    .faq-a p{padding:0 18px 16px;font-size:.88rem}
    .contact-form-wrap h3{font-size:1.1rem}
    .form-row input,.form-row select,.form-row textarea{padding:10px 14px;font-size:.88rem}
    .info-card{padding:20px}
    .info-card h3{font-size:.95rem}
    .info-card li{font-size:.82rem}
}
@media(max-width:480px){
    .svc-detail-num{font-size:2.2rem}
    .svc-lead{font-size:.88rem}
    .svc-checklist li{font-size:.85rem;padding:6px 0 6px 18px}
    .svc-checklist li::before{top:12px;width:5px;height:5px}
    .col-article{padding:18px}
    .col-lead{padding:12px 16px;font-size:.88rem}
    .col-body p{font-size:.85rem}
    .col-cta{margin-top:20px;padding-top:16px}
    .case-full{padding:18px}
    .case-full p{font-size:.85rem}
    .case-full blockquote{font-size:.88rem;padding-left:16px}
    .case-full blockquote::before{font-size:1.5rem}
    .faq-q{padding:14px 16px;font-size:.88rem}
    .faq-a p{padding:0 16px 14px;font-size:.85rem}
    .contact-notice{padding:18px}
    .contact-notice li{font-size:.84rem}
    .agree-label{font-size:.84rem}
    .agree-detail{padding:10px 12px;font-size:.75rem}
    .agree-check{width:18px;height:18px}
}