/*─────────────────────────────────────────────────────────
    Base
─────────────────────────────────────────────────────────*/
    #wrap{position:relative; overflow-x:clip;}
    .w_custom{position: relative; width: calc(100% - 60px); max-width: var(--container); margin-inline: auto;}
    main{padding-block: var(--row-gap140);}
    main:has(.full-sec){width: 100%; max-width: 100%;}
    main:has(.pt-dn){padding-top: 0;}
    main:has(.pd-dn){padding-bottom: 0;}

    .link{position: absolute; inset: 0; z-index: 3;}

    @media (max-width:860px) {
        .w_custom{width: calc(100% - 40px);}
    }
    @media (max-width:360px) {
        .w_custom{width: calc(100% - 30px);}
    }

/*─────────────────────────────────────────────────────────
    FAQ
─────────────────────────────────────────────────────────*/
    .pf-faq-wrap { padding-bottom: 3rem; }
    .pf-faq { margin-top: 2.5rem; }
    .pf-faq-title { font-size: 1.125rem; font-weight: 700; color: #0f172a; margin-bottom: 1rem; }
    .pf-faq-title-sub { color: #94a3b8; font-size: .875rem; font-weight: 400; }
    .pf-faq-list { display: flex; flex-direction: column; gap: .5rem; }
    .pf-faq-item { border: 1px solid #e2e8f0; overflow: hidden; background: #fff; }
    .pf-faq-toggle { width: 100%; text-align: left; padding: 1rem 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; background: transparent; border: 0; cursor: pointer; transition: background-color .15s; }
    .pf-faq-toggle:hover { background: rgba(248, 250, 252, .6); }
    .pf-faq-q { display: flex; align-items: center; gap: .75rem; min-width: 0; }
    .pf-faq-badge { flex-shrink: 0; width: 1.75rem; height: 1.75rem; display: inline-flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 700; color: #fff; }
    .pf-faq-badge--q { background: #1b1b1b; }
    .pf-faq-badge--a { background: #707070; }
    .pf-faq-question { font-weight: 500; font-size: .875rem; color: #0f172a; }
    .pf-faq-arrow { width: 1.25rem; height: 1.25rem; color: #94a3b8; flex-shrink: 0; transition: transform .2s; }
    .pf-faq-item.is-open .pf-faq-arrow { transform: rotate(180deg); }
    .pf-faq-answer { display: none; }
    .pf-faq-a { display: flex; gap: .75rem; border-top: 1px solid #e2e8f0; padding: 1rem 1.25rem; background: rgba(248, 250, 252, .6); }
    .pf-faq-answer-text { flex: 1; font-size: .875rem; color: #0f172a; line-height: 1.625; white-space: pre-line; }
    .pf-faq-answer-text.db-user-content { white-space: normal; }
    .pf-faq-prefix { font-size: .75rem; background: #e2e8f0; color: #334155; padding: .125rem .375rem; border-radius: .25rem; margin-right: .25rem; }

/*─────────────────────────────────────────────────────────
    Header
─────────────────────────────────────────────────────────*/
    #header{ position:fixed; inset:0 0 auto 0; z-index:1000; height:var(--header-h); background:transparent; backdrop-filter:none; border-bottom:1px solid rgba(255,255,255,.005); transition:all 0.4s; }
    #header .w_custom{max-width: 1800px; height: 100%; display: flex; align-items: center; justify-content: space-between;}
    #header .brand{display: flex;align-items: center;gap: clamp(14px, 2vw, 26px);min-width: 0;}
    #header .logo{display:flex; align-items:center; gap:12px; min-width:0;}
    #header .logo a{display:block;width:36px;border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 2px 8px -2px rgba(20,16,10,.35);}
    #header .logo .brand__logo{width: auto;height: auto;aspect-ratio: unset;border-radius: 0;box-shadow: none;}
    #header .brand__text{display:grid;gap: 4px;font-size: 20px;font-weight: 800;letter-spacing: -0.01em;}
    #header .brand__text strong{font-weight:inherit;}
    #header .brand__reg{font-weight: 700;letter-spacing: 0;}
    #header .header__tel{ display:flex; align-items:center; gap:8px; margin-left:clamp(14px,2vw,24px); padding:8px 16px; border:1px solid rgba(255,255,255,.35); border-radius:999px; font-size:18px; font-weight:700; color:#fff; }
    #header .header__tel .ico{ color:#fff; font-size:18px; fill:currentColor; stroke:none; }