:root {
    --towa-orange: #ff7a00;
    --towa-dark: #16213e;
    --towa-soft: #fff7ed;
    --towa-border: #e9ecef
}

body {
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Noto Sans SC",sans-serif;
    color: #1f2937;
    background: #f8fafc
}

.towa-header {
    box-shadow: 0 8px 30px rgba(15,23,42,.05)
}

.towa-logo-mark {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: linear-gradient(135deg,#ff7a00,#ffd166);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 800
}

.towa-brand-text {
    font-weight: 800;
    color: var(--towa-dark)
}

.nav-link {
    font-weight: 600;
    color: #334155
}

    .nav-link:hover {
        color: var(--towa-orange)
    }

.page-hero {
    background: linear-gradient(135deg,#fff7ed,#fff);
    padding: 72px 0 54px;
    border-bottom: 1px solid #ffedd5
}

    .page-hero h1 {
        font-weight: 900;
        color: var(--towa-dark)
    }

    .page-hero p {
        max-width: 760px;
        color: #64748b;
        font-size: 1.1rem;
        line-height: 1.8
    }

.section-heading span {
    color: var(--towa-orange);
    font-weight: 800
}

.section-heading h2 {
    font-weight: 900;
    color: var(--towa-dark)
}

.section-heading p {
    color: #64748b
}

.form-card, .account-card {
    background: #fff;
    border: 1px solid var(--towa-border);
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 12px 30px rgba(15,23,42,.05)
}

.form-card {
    max-width: 860px
}

.form-label {
    font-weight: 800;
    color: #334155
}

.form-control, .form-select {
    border-radius: 14px;
    padding: .8rem 1rem;
    border-color: #dbe3ee
}

    .form-control:focus, .form-select:focus {
        border-color: #fb923c;
        box-shadow: 0 0 0 .2rem rgba(251,146,60,.16)
    }

.towa-footer {
    background: #111827;
    color: #e5e7eb
}

.footer-brand {
    font-weight: 900
}

.footer-subtitle, .footer-description, .footer-consult-text {
    color: #9ca3af
}

.footer-tags span {
    display: inline-block;
    background: rgba(255,255,255,.08);
    border-radius: 999px;
    padding: 6px 10px;
    margin: 3px;
    color: #e5e7eb
}

.footer-title {
    font-weight: 900;
    color: #fff
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0
}

    .footer-links li {
        margin: .5rem 0
    }

    .footer-links a, .footer-consult-item a, .footer-bottom-links a {
        color: #cbd5e1;
        text-decoration: none
    }

        .footer-links a:hover, .footer-consult-item a:hover {
            color: #fff
        }

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1);
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap
}

.footer-bottom-links {
    display: flex;
    gap: 14px
}

.language-code {
    font-weight: 800;
    margin-right: 6px
}

.navbar .nav-link.towa-nav-active {
    color: var(--towa-orange);
    background: #fff7ed;
    border: 1px solid #ffd8a8;
    border-radius: 999px;
    box-shadow: 0 8px 22px rgba(249,115,22,.18);
    padding-left: 1rem;
    padding-right: 1rem
}

    .navbar .nav-link.towa-nav-active:hover {
        color: var(--towa-orange);
        background: #fff3df
    }

.navbar .btn.towa-nav-cta-active {
    box-shadow: 0 10px 24px rgba(249,115,22,.32);
    transform: translateY(-1px);
    border-color: #f59e0b
}

    .navbar .btn.towa-nav-cta-active::after {
        content: "";
        display: inline-block;
        width: .45rem;
        height: .45rem;
        margin-left: .45rem;
        border-radius: 999px;
        background: #fff;
        vertical-align: middle
    }

@media (max-width:991.98px) {
    .navbar .nav-link.towa-nav-active {
        display: inline-block;
        margin: .25rem 0
    }
}
/* a logo */
.towa-logo-img {
    height: 42px;
    width: auto;
    display: block
}

.navbar-brand {
    gap: .65rem !important
}

.footer-logo-img {
    height: 42px;
    width: auto;
    display: block
}

.towa-logo-mark {
    display: none !important
}

@media(max-width:575.98px) {
    .towa-logo-img {
        height: 36px
    }

    .footer-logo-img {
        height: 36px
    }
}

.footer-logo-img {
    height: 42px;
    width: auto;
    display: block;
}

.footer-logo-white {
    height: 42px;
    width: auto;
    display: block;
}

@media (max-width: 575.98px) {
    .footer-logo-img,
    .footer-logo-white {
        height: 36px;
    }
}
