/*
Theme Name: Nisshin Solution
Description: 日新ソリューション専用テーマ。固定6ページ・全国47都道府県・共通ヘッダーと買取サービス。
Author: One's Web Design
Version: 1.3.1
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: nisshin-solution
*/


@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;600;700;900&display=swap');


:root {
    --green: #00682f;
    --green2: #0a7f3e;
    --green-dark: #073d23;
    --yellow: #ffe200;
    --ink: #161b18;
    --muted: #65716a;
    --cream: #f5f4ef;
    --line: #dce4de;
    --header: 94px;
    --ease: cubic-bezier(.19,1,.22,1);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    line-height: 1.7;
}


/* =========================
   Heading Font
========================= */

h1,
h2,
h3,
h4,
h5,
h6,
.section-title h2,
.area-head h2,
.intro-copy h2,
.service-card h3,
.strength-copy h3,
.lawyer-copy h2,
.case-card h3,
.flow-list h3,
.company-panel h2,
.contact-copy h2 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
}


/* メインビジュアル */
.hero h1 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
}


/* 小見出し・英字ラベル */
.section-kicker,
.section-title > p,
.lawyer-copy > p,
.area-head > p,
.contact-copy > p,
.photo-label {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 600;
}


/* ナビ・ボタン類 */
.desktop-nav,
.mobile-menu,
.pill,
.hero-btn,
.dark-btn,
.outline-btn,
.big-contact {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

button,summary {
    font: inherit;
}

button {
    cursor: pointer;
}

.container {
    width: min(1180px,calc(100% - 48px));
    margin: auto;
}

.section-pad {
    padding: 110px 0;
}

.section-kicker,.section-title>p,.lawyer-copy>p,.area-head>p,.contact-copy>p {
    margin: 0 0 14px;
    color: var(--green);
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: .16em;
}

.section-title h2,.area-head h2 {
    margin: 0;
    font-size: clamp(34px,4.2vw,58px);
    line-height: 1.22;
    letter-spacing: -.04em;
}

.section-title>span,.area-head>span {
    display: block;
    margin-top: 18px;
    color: var(--muted);
    font-size: 15px;
}

.section-title {
    margin-bottom: 46px;
}

.section-title.light {
    color: white;
}

.section-title.light>p {
    color: #aee78b;
}

.section-title.compact {
    margin-bottom: 28px;
}

.section-title.compact h2 {
    font-size: 40px;
}

.section-title.compact>span {
    max-width: 560px;
}

/* header */
.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 50;
    height: var(--header);
    display: flex;
    align-items: center;
    gap: 20px;
    padding-left: 18px;
    background: #fff;
    border-bottom: 1px solid #eef1ee;
}

.brand {
    flex: 0 0 245px;
}

.brand img {
    display: block;
    width: 100%;
    height: auto;
}

.desktop-nav {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 17px;
    height: 100%;
    margin-left: auto;
}

.desktop-nav > a,
.desktop-nav summary {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0;
    list-style: none;
    cursor: pointer;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 700;
}

.desktop-nav summary::-webkit-details-marker {
    display: none;
}

.desktop-nav summary::after {
    content: "";
    width: 5px;
    height: 5px;
    margin-left: 7px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
}

.desktop-nav > a::before,
.desktop-nav summary::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 6px;
    background: var(--yellow);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .35s var(--ease);
}

.desktop-nav > a:hover::before,
.desktop-nav summary:hover::before,
.desktop-nav details[open] summary::before {
    transform: scaleX(1);
}

.desktop-nav details {
    position: relative;
}

.submenu {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 4px;
}

.desktop-nav .submenu {
    position: absolute;
    top: 100%;
    left: -25px;
    width: 380px;
    max-height: 65vh;
    overflow: auto;
    padding: 18px;
    background: #fff;
    border-radius: 15px;
    box-shadow: 0 15px 45px rgba(0,0,0,.13);
    animation: dropdown .35s var(--ease);
}


.submenu a {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 12px 10px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.5;
}

.submenu a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: #edf2e8;
    transform: translateX(-102%);
    transition: transform .35s var(--ease);
}

.submenu a:hover::before {
    transform: translateX(0);
}

.submenu a:hover {
    color: var(--green);
}


/* 対応エリア：地域別メガメニュー */
.desktop-nav .area-mega {
    position: fixed;
    top: var(--header);
    left: 50%;
    width: min(960px, calc(100vw - 48px));
    max-height: calc(100vh - var(--header) - 24px);
    padding: 0;
    overflow: auto;
    display: block;
    transform: translateX(-50%);
    border: 0;
    border-top: 3px solid var(--green);
    border-radius: 0 0 8px 8px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(0, 35, 18, .16);
}

.area-mega-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 26px 16px;
    border-bottom: 1px solid #e6ebe7;
    background: #fff;
}

.area-mega-en {
    color: var(--green);
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
}

.area-mega-head strong {
    display: inline;
    color: var(--ink);
    font-size: 14px;
    font-weight: 700;
}

.area-mega-head small {
    display: inline;
    margin-left: 12px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 500;
}

.area-region-grid {
    display: block;
    padding: 8px 26px 14px;
    background: #fff;
}

.area-region {
    display: grid;
    grid-template-columns: 120px 1fr;
    align-items: center;
    min-height: 52px;
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid #edf0ed;
    border-radius: 0;
    background: transparent;
}

.area-region:last-child {
    border-bottom: 0;
}

.area-region:hover {
    box-shadow: none;
    transform: none;
}

.area-region-title {
    margin: 0;
    padding-left: 13px;
    border-left: 3px solid var(--green);
    color: var(--green-dark);
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}

.area-region-title span {
    display: none;
}

.area-region-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
}

.area-region-links a {
    position: relative;
    padding: 4px 13px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #39433d;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    transition: color .2s ease;
}

.area-region-links a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 12px;
    background: #dfe5e0;
    transform: translateY(-50%);
}

.area-region-links a:last-child::after {
    display: none;
}

.area-region-links a::before {
    display: none;
}

.area-region-links a:hover {
    border: 0;
    background: transparent;
    color: var(--green);
    transform: none;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: none;
}

.freedial-box {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1d2528;
    white-space: nowrap;
}

.freedial-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    line-height: 1;
}

.freedial-number-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.freedial-number-row img {
    width: 29px;
}

.freedial-number-row strong {
    font: 900 22px/1 Arial,sans-serif;
    letter-spacing: .02em;
}

.freedial-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    width: 100%;
    margin-top: 5px;
    font-size: 10px;
    font-weight: 700;
}

.freedial-meta em {
    padding: 3px 5px;
    background: #2879d0;
    color: #fff;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
}

.pill {
    height: 60px;
    border-radius: 34px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.pill i,
.hero-btn i,
.service-card a i,
.cta-ribbon a i,
.dark-btn i,
.outline-btn i,
.big-contact i {
    width: 0;
    height: 0;
    margin-left: 2px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid currentColor;
}

.pill-mail {
    background: var(--yellow);
    color: #1e291f;
}

.pill-line {
    background: #06c755;
    color: #fff;
}

.mail-ico {
    position: relative;
    width: 17px;
    height: 12px;
    border: 1.5px solid currentColor;
    border-radius: 2px;
}

.mail-ico::after {
    content: "";
    position: absolute;
    left: 3px;
    top: -4px;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
}

.line-ico {
    padding: 5px 4px;
    border: 1.5px solid currentColor;
    border-radius: 5px;
    font: 900 8px/1 Arial,sans-serif;
}

.menu-toggle {
    align-self: stretch;
    flex: 0 0 86px;
    border: 0;
    background: #f2f1ec;
    color: var(--green);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    font-size: 11px;
    font-weight: 900;
	padding-top: 7px;
}

.dots {
    display: flex;
    gap: 4.5px;
}

.dots i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.menu-open {
    overflow: hidden;
}

.menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 59;
    background: rgba(6,31,19,.56);
    backdrop-filter: blur(4px);
}

.mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 60;
    width: min(550px,100%);
    height: 100dvh;
    padding: 0 38px 30px;
    overflow: auto;
    overscroll-behavior: contain;
    background: radial-gradient(ellipse at top,#0b8241,#005429);
    color: #fff;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: opacity .4s,visibility .4s,transform .4s var(--ease);
}

.mobile-menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.mobile-menu-head {
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.mobile-menu-logo {
    display: block;
    width: min(260px,68vw);
}

.mobile-menu-logo img {
    width: 100%;
    height: auto;
    background: #fff;
    padding: 8px;
    border-radius: 8px;
}

.menu-close {
    border: 0;
    background: none;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.menu-close b {
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
}

.menu-close span {
    font-size: 10px;
    letter-spacing: .1em;
}

.mobile-menu nav {
    padding: 16px 25px;
    background: #fff;
    color: var(--ink);
    border-radius: 15px;
}

.mobile-menu nav > a,
.mobile-menu summary {
    display: block;
    padding: 18px 0;
    border-bottom: 1px solid #eee;
    list-style: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
}

.mobile-menu summary::-webkit-details-marker {
    display: none;
}

.mobile-menu summary::after {
    content: "+";
    float: right;
    color: var(--green);
}

.mobile-menu details[open] > summary::after {
    content: "−";
}

.mobile-menu .submenu {
    padding: 10px 0;
}


.mobile-menu .area-mega {
    position: static;
    display: block;
    width: 100%;
    max-height: none;
    padding: 4px 0 0;
    overflow: visible;
    transform: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.mobile-menu .area-mega-head {
    display: block;
    padding: 10px 4px 12px;
    border-bottom: 1px solid #e8ece9;
    background: transparent;
}

.mobile-menu .area-mega-en {
    display: block;
    margin-bottom: 3px;
    font-size: 9px;
}

.mobile-menu .area-mega-head strong {
    display: block;
    font-size: 12px;
}

.mobile-menu .area-mega-head small {
    display: block;
    margin: 2px 0 0;
    font-size: 9px;
}

.mobile-menu .area-region-grid {
    display: block;
    padding: 0;
    background: transparent;
}

.mobile-menu .area-region {
    display: block;
    min-height: 0;
    padding: 11px 4px;
    border-bottom: 1px solid #ecefec;
    background: transparent;
}

.mobile-menu .area-region-title {
    margin: 0 0 6px;
    padding-left: 9px;
    font-size: 11px;
}

.mobile-menu .area-region-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.mobile-menu .area-region-links a {
    width: auto;
    padding: 4px 9px;
    border-bottom: 0;
    background: transparent;
    font-size: 10px;
    font-weight: 500;
}

.mobile-menu .area-region-links a::after {
    height: 10px;
}

.mobile-contact {
    display: grid;
    gap: 12px;
    margin-top: 20px;
}

.mobile-contact .freedial-box {
    padding: 15px;
    background: #fff;
    color: var(--ink);
    border-radius: 14px;
    justify-content: center;
}

.mobile-contact .freedial-main {
    align-items: center;
}

.mobile-contact .freedial-meta {
    justify-content: center;
}

.mobile-contact .pill {
    justify-content: center;
}

@keyframes dropdown {
    from {
        opacity: 0;
        translate: 0 14px;
    }
    to {
        opacity: 1;
        translate: 0 0;
    }
}

/* hero */

main {
    padding-top: var(--header);
}

.hero {
    position: relative;
    height: calc(100svh - var(--header));
    min-height: 690px;
    overflow: hidden;
    color: #fff;
    background: var(--green-dark);
}

.hero-bg {
    position: absolute;
    inset: 0;
}

.hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
    animation: heroZoom 14s ease-in-out infinite alternate;
}

.hero-bg>span {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,rgba(45, 113, 194) 0%,rgba(0, 175, 201,.9) 25%,rgba(3,30,17,.62) 100%);
}

.hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px 20px;
}

.hero-kicker {
    margin: 0 0 20px;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: .08em;
}

.hero h1 {
    font-size: clamp(68px,7.6vw,116px);
    line-height: 1.08;
    letter-spacing: -.07em;
    margin: 0;
    font-weight: 900;
    text-shadow: 0 4px 30px #00291455;
}

.hero h1 span {
    color: var(--yellow);
}

.hero-lead {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.85;
    margin: 28px 0;
}

.hero-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    color: var(--green-dark);
    border-radius: 999px;
    padding: 18px 36px;
    font-weight: 900;
    box-shadow: 0 10px 30px #001d1138;
}

.hero-stamp {
    position: absolute;
    z-index: 3;
    right: 5%;
    top: 17%;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: var(--yellow);
    color: var(--green-dark);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    transform: rotate(8deg);
    box-shadow: 0 0 0 6px rgba(255,226,0,.25),0 8px 20px rgba(0,0,0,.12);
}

.hero-stamp small {
    display: block;
    margin-bottom: 2px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.hero-stamp strong {
    display: block;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 38px;
    font-weight: 700;
    line-height: 1;
}

.hero-stamp em {
    display: block;
    margin-top: 4px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.hero-stamp span {
    display: block;
    margin-top: 8px;
    padding-top: 7px;
    border-top: 1px solid rgba(7,61,35,.3);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.trust-band {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    background: #fff;
    border-bottom: 1px solid var(--line);
}

.trust-band div {
    padding: 25px 20px;
    text-align: center;
    border-right: 1px solid var(--line);
}

.trust-band div:last-child {
    border-right: 0;
}

.trust-band strong {
    display: block;
    color: var(--green);
    font-size: 20px;
}

.trust-band span {
    display: block;
    font-size: 12px;
    color: var(--muted);
    margin-top: 4px;
}

/* intro */

.intro {
    background: #fff;
}

.split-intro {
    display: grid;
    grid-template-columns: 45% 55%;
    gap: 80px;
    align-items: center;
}

.intro-photo {
    position: relative;
}

.intro-photo img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 0 60px 0 60px;
}

.photo-label {
    position: absolute;
    left: -22px;
    bottom: 34px;
    background: var(--green);
    color: #fff;
    padding: 14px 25px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 600;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .12em;
}

.intro-copy h2 {
    font-size: clamp(38px,4.6vw,64px);
    line-height: 1.2;
    letter-spacing: -.05em;
    margin: 0 0 30px;
}

.intro-copy h2 em {
    font-style: normal;
    color: var(--green);
}

.intro-copy>p:not(.section-kicker) {
    color: #4d5b52;
    margin: 0 0 15px;
    font-size: 16px;
}

.intro-points {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 28px;
}

.intro-points span {
    padding: 9px 14px;
    background: #eef5f0;
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
    border-radius: 999px;
}

/* services */

.scenario {
    background: var(--cream);
}

.service-cards {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 24px;
}

.service-card {
    display: grid;
    grid-template-columns: 42% 58%;
    overflow: hidden;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 12px 40px #16351f0d;
    color: inherit;
    transition: background-color .35s var(--ease), box-shadow .35s var(--ease), transform .35s var(--ease);
}

.service-card:hover {
    background: #eef7f1;
    box-shadow: 0 18px 48px rgba(0, 55, 28, .12);
    transform: translateY(-3px);
}

.service-card figure {
    position: relative;
    min-height: 360px;
    margin: 0;
    overflow: hidden;
}

.service-card figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s var(--ease);
}

.service-card:hover figure img {
    transform: scale(1.07);
}

.service-card figure b {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    padding: 14px 18px;
    background: var(--green);
    color: #fff;
    font: 900 24px/1 Arial,sans-serif;
}

.service-card>div {
    padding: 34px;
}

.service-card h3 {
    margin: 0 0 14px;
    font-size: 26px;
}

.service-card p {
    margin: 0 0 16px;
    color: #536157;
    font-size: 14px;
}

.service-card ul {
    display: grid;
    gap: 6px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.service-card li {
    font-size: 13px;
    font-weight: 800;
}

.service-card li:before {
    content: "✓";
    margin-right: 7px;
    color: var(--green);
}

.service-more {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--green);
    font-size: 13px;
    font-weight: 900;
}

.service-more i {
    width: 0;
    height: 0;
    margin-left: 2px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid currentColor;
    transition: transform .3s var(--ease);
}

.service-card:hover .service-more i {
    transform: translateX(3px);
}

/* purchase ticker */

.purchase-strip {
    display: flex;
    height: 64px;
    align-items: stretch;
    border-bottom: 1px solid var(--line);
    background: #fbfaf6;
    overflow: hidden;
}

.purchase-strip-label {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    background: var(--yellow);
    padding: 0 34px;
    color: #1f271f;
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
}

.purchase-strip-window {
    flex: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.purchase-strip-track {
    display: flex;
    align-items: center;
    gap: 28px;
    min-width: max-content;
    padding-left: 28px;
    animation: purchaseMarquee 34s linear infinite;
    font-size: 14px;
    font-weight: 800;
    color: #252c27;
}

.purchase-strip-track i {
    font-style: normal;
    color: #8eaf83;
    font-size: 20px;
}

.purchase-strip:hover .purchase-strip-track {
    animation-play-state: paused;
}

@keyframes purchaseMarquee {
    to {
        transform: translateX(-50%);
    }
}

/* CTA ribbon */

.cta-ribbon {
    position: relative;
    overflow: hidden;
    padding: 48px 0 56px;
    background: var(--green);
    color: #fff;
}

.cta-ribbon::after {
    content: "NISSHIN SOLUTION";
    position: absolute;
    right: -20px;
    top: 62px;
    color: rgba(255,255,255,.045);
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 72px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.cta-ribbon > .container {
    position: relative;
    z-index: 1;
}

.cta-ribbon-copy {
    margin-bottom: 30px;
    text-align: center;
}

.cta-ribbon-copy small {
    display: block;
    margin-bottom: 8px;
    color: #d5ecdd;
    font-size: 12px;
    font-weight: 700;
}

.cta-ribbon-copy strong {
    display: block;
    font-size: clamp(26px, 2.5vw, 38px);
    font-weight: 700;
    line-height: 1.45;
}

.cta-ribbon-panel {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 28px;
    align-items: center;
    padding: 34px 42px;
    border-radius: 18px;
    background: #fff;
    color: var(--ink);
}

.cta-ribbon-tel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding-right: 12px;
    color: var(--ink);
}

.cta-tel-meta {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
    color: #4d5751;
    font-size: 11px;
    font-weight: 600;
}

.cta-tel-meta em {
    padding: 3px 6px;
    background: #2879d0;
    color: #fff;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
}

.cta-tel-label {
    display: block;
    margin-bottom: 12px;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.4;
}

.cta-tel-number {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--green);
    font-family: Arial, sans-serif;
    font-size: clamp(28px, 2.8vw, 42px);
    font-weight: 900;
    line-height: 1;
    letter-spacing: .01em;
    white-space: nowrap;
}

.cta-tel-number img {
    width: 38px;
    flex: 0 0 38px;
}

.cta-ribbon-contact {
    min-height: 88px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 14px 18px;
    border-radius: 8px;
    color: #fff;
    text-align: center;
    box-shadow: 0 5px 0 rgba(0,0,0,.18);
    transition: transform .25s ease, filter .25s ease, box-shadow .25s ease;
}

.cta-ribbon-contact:hover {
    transform: translateY(-2px);
    filter: brightness(1.03);
    box-shadow: 0 7px 0 rgba(0,0,0,.16);
}

.cta-ribbon-contact small {
    display: block;
    color: inherit;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}

.cta-ribbon-contact strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: inherit;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
}

.cta-ribbon-line {
    background: #06c755;
}

.cta-ribbon-mail {
    background: var(--yellow);
    color: var(--green-dark);
}

.cta-ribbon-contact .line-ico {
    flex: none;
}

.cta-ribbon-contact .mail-ico {
    flex: none;
}

/* items */

.items {
    background: #fff;
}

.items-layout {
    display: grid;
    grid-template-columns: 40% 60%;
    gap: 60px;
    align-items: start;
}

.items-photo {
    position: sticky;
    top: 130px;
}

.items-photo img {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    border-radius: 60px 0 60px 0;
}

.items-photo>div {
    position: absolute;
    left: -18px;
    bottom: 34px;
    background: var(--green-dark);
    color: #fff;
    padding: 24px 26px;
}

.items-photo small {
    display: block;
    color: #aee78b;
    font: 800 10px/1 Arial,sans-serif;
    letter-spacing: .13em;
    margin-bottom: 8px;
}

.items-photo strong {
    font-size: 24px;
    line-height: 1.45;
}

.item-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.item-tile {
    min-height: 132px;
    display: grid;
    grid-template-columns: 92px 30px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px 16px 12px 12px;
    overflow: hidden;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #fff;
    transition: background-color .3s ease;
}

.item-thumb {
    width: 92px;
    height: 92px;
    margin: 0;
    overflow: hidden;
    border-radius: 10px;
    background: #eef2ef;
}

.item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s var(--ease);
}

.item-tile:hover {
    background: #f2f8f4;
}

.item-tile:hover .item-thumb img {
    transform: scale(1.08);
}

.item-tile > span {
    color: var(--green);
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

.item-tile h3 {
    margin: 0 0 4px;
    font-size: 18px;
}

.item-tile p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.6;
}

.item-tile b {
    color: var(--green);
    font-size: 24px;
    transition: transform .3s ease;
}

.item-tile:hover b {
    transform: translateX(3px);
}

/* strengths */

.strengths {
    background: var(--green-dark);
    color: #fff;
    overflow: hidden;
}

.strength-row {
    display: grid;
    grid-template-columns: 120px 1fr 42%;
    align-items: center;
    border-top: 1px solid #ffffff22;
    padding: 42px 0;
    gap: 35px;
}

.strength-row:last-child {
    border-bottom: 1px solid #ffffff22;
}

.strength-num {
    font: 900 70px/1 Arial,sans-serif;
    color: #ffffff18;
}

.strength-copy small {
    color: #9cd78a;
    font: 800 10px/1 Arial,sans-serif;
    letter-spacing: .14em;
}

.strength-copy h3 {
    font-size: 28px;
    line-height: 1.4;
    margin: 9px 0 14px;
}

.strength-copy p {
    color: #d2ded6;
    font-size: 14px;
    margin: 0;
    max-width: 520px;
}

.strength-row figure {
    margin: 0;
}

.strength-row figure img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: 0 36px 0 36px;
}

.strength-row.reverse figure {
    order: 2;
}

/* lawyer */

.lawyer {
    background: #f7f6f1;
}

.lawyer-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #fff;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: 0 18px 60px #173b2510;
}

.lawyer-photo img {
    width: 100%;
    height: 100%;
    min-height: 440px;
    object-fit: cover;
}

.lawyer-copy {
    padding: 60px;
}

.lawyer-copy h2 {
    font-size: 42px;
    line-height: 1.3;
    margin: 0 0 18px;
}

.lawyer-copy>p:not(:first-child) {
    color: #526158;
}

.lawyer-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 24px 0;
}

.lawyer-tags span {
    background: #eff5f1;
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
    padding: 9px 12px;
}

.dark-btn,.outline-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 999px;
    padding: 15px 24px;
    font-weight: 900;
    font-size: 13px;
}

.dark-btn {
    background: var(--green-dark);
    color: white;
}

.outline-btn {
    border: 1px solid var(--green);
    color: var(--green);
    background: white;
}

/* results */

.results {
    background: #fff;
}

.case-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px;
}

.case-card {
    display: block;
    border: 1px solid var(--line);
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    color: inherit;
    transition: background-color .35s var(--ease), box-shadow .35s var(--ease), transform .35s var(--ease);
}

.case-card:hover {
    background: #eef7f1;
    box-shadow: 0 18px 48px rgba(0, 55, 28, .12);
    transform: translateY(-3px);
}

.case-thumb {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f4f6f4;
}

.case-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s var(--ease);
}

.case-card:hover .case-thumb img {
    transform: scale(1.07);
}

.case-card > .case-body {
    padding: 24px;
}

.case-card small {
    color: var(--green);
    font-weight: 900;
}

.case-card h3 {
    font-size: 20px;
    line-height: 1.45;
    margin: 8px 0;
    transition: color .3s var(--ease);
}

.case-card:hover h3 {
    color: var(--green);
}

.case-card p {
    font-size: 13px;
    color: var(--muted);
    margin: 0 0 14px;
}

.case-card span {
    display: inline-block;
    background: #eff6f1;
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
    padding: 6px 9px;
}

.center-btn {
    text-align: center;
    margin-top: 38px;
}

/* flow */

.flow {
    background: var(--cream);
}

.flow-list {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
    padding: 0;
}

.flow-list li {
    position: relative;
    min-width: 0;
    overflow: visible;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: 0 10px 28px rgba(0, 57, 31, .06);
    transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}

.flow-list li:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(0, 57, 31, .11);
}

.flow-list li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -13px;
    z-index: 4;
    width: 24px;
    height: 24px;
    border-top: 3px solid var(--green);
    border-right: 3px solid var(--green);
    transform: translateY(-50%) rotate(45deg);
}

.flow-photo {
    position: relative;
    margin: 0;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 21px 21px 0 0;
    background: #eaf2ed;
}

.flow-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s var(--ease);
}

.flow-list li:hover .flow-photo img {
    transform: scale(1.06);
}

.flow-icon {
    position: absolute;
    right: 14px;
    bottom: 14px;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    border: 4px solid rgba(255, 255, 255, .92);
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 21px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 7px 18px rgba(0, 57, 31, .18);
}

.flow-body {
    padding: 24px 24px 28px;
}

.flow-list b {
    display: block;
    margin-bottom: 8px;
    color: var(--green);
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .13em;
}

.flow-list h3 {
    margin: 0 0 10px;
    color: var(--ink);
    font-size: 20px;
    line-height: 1.45;
}

.flow-list p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.8;
}

@media (max-width: 1000px) {
    .flow-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .flow-list li::after {
        display: none;
    }
}

@media (max-width: 600px) {
    .flow-list {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .flow-photo {
        aspect-ratio: 16 / 9;
    }

    .flow-body {
        padding: 20px 20px 24px;
    }

    .flow-icon {
        width: 52px;
        height: 52px;
        font-size: 18px;
    }
}

/* =========================
   Areas
========================= */

.areas {
    position: relative;
    overflow: hidden;
}

.area-service {
    position: relative;
    isolation: isolate;
    min-height: 920px;
    padding: 96px 0 88px;
    overflow: hidden;
    background: url("images/area-bg.jpg") center center / cover no-repeat;
}

.area-service::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(45, 113, 194, .82) 0%,
        rgba(45, 113, 194, .72) 42%,
        rgba(45, 113, 194, .56) 72%,
        rgba(45, 113, 194, .42) 100%
    );
}

.area-service-inner {
    position: relative;
    z-index: 1;
}

.area-service-content {
    width:100%;
}

.area-service-title {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 18px;
}

.area-service-badge {
    width: 104px;
    height: 104px;
    flex: 0 0 104px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 5px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: var(--green-dark);
    text-align: center;
    box-shadow: 0 10px 24px rgba(4, 65, 86, .1);
}

.area-service-badge small {
    margin-bottom: -2px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.area-service-badge strong {
    font-size: 38px;
    font-weight: 900;
    line-height: 1;
}

.area-service-badge em {
    margin-top: 2px;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

.area-service-title p {
    margin: 0 0 6px;
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
}

.area-service-title h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(38px, 4.2vw, 60px);
    font-weight: 800;
    line-height: 1.16;
    letter-spacing: -.04em;
    text-shadow: 0 3px 16px rgba(0, 58, 86, .12);
}

.area-service-lead {
    max-width: 640px;
    margin: 0 0 30px;
    color: #15485b;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.8;
}

.area-service-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 26px;
}

.area-service-group {
    min-width: 0;
}

.area-service-group h3 {
    position: relative;
    display: inline-flex;
    align-items: center;
	width: 100%;
    min-height: 38px;
    margin: 0 0 12px;
    padding: 7px 16px 7px 0px;
    overflow: hidden;
    color: #fff;
    border-radius: 4px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}

.area-service-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.area-service-links a {
    min-height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: #fff;
    color:var(--green);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    box-shadow: 0 5px 14px rgba(0, 54, 38, .08);
    transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.area-service-links a:hover {
    background: var(--yellow);
    color: var(--green-dark);
    transform: translateY(-2px);
    box-shadow: 0 9px 20px rgba(0, 54, 38, .12);
}

.area-service-more {
    margin-top: 34px;
}

.area-service-more a {
    min-width: 250px;
    min-height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 0 28px;
    border: 2px solid var(--green-dark);
    border-radius: 999px;
    background: #fff;
    color: var(--green-dark);
    font-size: 14px;
    font-weight: 800;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.area-service-more a i {
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid currentColor;
}

.area-service-more a:hover {
    background: var(--green-dark);
    color: #fff;
    transform: translateY(-2px);
}

@media (max-width: 1100px) {
    .area-service {
        min-height: 0;
    }

    .area-service-content {
        width: 70%;
    }

}

@media (max-width: 900px) {
    .area-service {
        padding: 76px 0;
    }

    .area-service-content {
        width: 100%;
    }


    .area-service-title,
    .area-service-lead,
    .area-service-groups,
    .area-service-more {
        position: relative;
        z-index: 2;
    }
}

@media (max-width: 767px) {
    .area-service {
        padding: 62px 0 66px;
        background-position: 58% center;
    }

    .area-service-title {
        align-items: center;
        gap: 14px;
    }

    .area-service-badge {
        width: 82px;
        height: 82px;
        flex-basis: 82px;
        border-width: 4px;
    }

    .area-service-badge small {
        font-size: 9px;
    }

    .area-service-badge strong {
        font-size: 30px;
    }

    .area-service-badge em {
        font-size: 8px;
    }

    .area-service-title p {
        font-size: 10px;
    }

    .area-service-title h2 {
        font-size: 31px;
    }

    .area-service-lead {
        margin-bottom: 24px;
        font-size: 12px;
    }

    .area-service-groups {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .area-service-group h3 {
        min-height: 34px;
        padding: 6px 13px 6px 17px;
        font-size: 15px;
    }

    .area-service-links {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }

    .area-service-links a {
        min-height: 42px;
        padding: 8px 10px;
        font-size: 12px;
    }


    .area-service-more {
        margin-top: 30px;
    }

    .area-service-more a {
        width: 100%;
        min-width: 0;
    }
}

/* faq */

.faq {
    background: #f7f6f1;
}

.faq-layout {
    display: grid;
    grid-template-columns: 32% 68%;
    gap: 80px;
}

.sticky-title {
    position: sticky;
    top: 140px;
    align-self: start;
}

.faq-list {
    display: grid;
    gap: 12px;
}

.faq-list details {
    background: #fff;
    border-radius: 16px;
    padding: 0 24px;
}

.faq-list summary {
    cursor: pointer;
    list-style: none;
    padding: 24px 34px 24px 0;
    font-weight: 900;
    position: relative;
}

.faq-list summary::-webkit-details-marker {
    display: none;
}

.faq-list summary:after {
    content: "＋";
    position: absolute;
    right: 0;
    top: 20px;
    color: var(--green);
    font-size: 24px;
}

.faq-list details[open] summary:after {
    content: "−";
}

.faq-list summary b {
    color: var(--green);
    font: 900 22px/1 Arial,sans-serif;
    margin-right: 12px;
}

.faq-list details p {
    margin: 0;
    padding: 0 0 24px 38px;
    color: var(--muted);
    font-size: 14px;
}

/* company */

.company {
    background: #fff;
}

.company-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid var(--line);
    border-radius: 28px;
    overflow: hidden;
}

.company-panel>div {
    padding: 55px;
}

.company-panel>div:first-child {
    background: #f5f7f5;
}

.company-panel img {
    width: 330px;
    margin-bottom: 26px;
}

.company-panel p {
    color: var(--muted);
}

.company-panel small {
    color: var(--green);
    font: 800 11px/1 Arial,sans-serif;
    letter-spacing: .13em;
}

.company-panel h2 {
    font-size: 30px;
    margin: 10px 0;
}

/* contact/footer */

.contact-section {
    background: var(--green-dark);
    color: #fff;
    padding: 82px 0;
}

.contact-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.contact-copy>p {
    color: #aee78b;
}

.contact-copy h2 {
    font-size: clamp(36px,4.5vw,60px);
    line-height: 1.25;
    letter-spacing: -.04em;
    margin: 0 0 18px;
}

.contact-copy>span {
    color: #cddbd2;
    font-size: 14px;
}

.contact-panel {
    background: #fff;
    border-radius: 26px;
    padding: 28px;
    color: var(--ink);
}

.contact-tel {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 12px 0 24px;
    border-bottom: 1px solid var(--line);
}

.contact-tel>div {
    display: flex;
    flex-direction: column;
}

.contact-tel small {
    font-size: 11px;
    font-weight: 800;
}

.contact-tel strong {
    display: flex;
    align-items: center;
    gap: 8px;
    font: 900 32px/1 Arial,sans-serif;
    margin: 6px 0;
}

.contact-tel strong img {
    width: 34px;
}

.contact-tel em {
    font-style: normal;
    font-size: 11px;
}

.contact-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 18px;
}

.big-contact {
    min-height: 68px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
}

.big-contact.mail {
    background: var(--yellow);
    color: var(--green-dark);
}

.big-contact.line {
    background: #06c755;
    color: white;
}

.site-footer {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 12%, rgba(0, 104, 47, .32), transparent 34%),
        radial-gradient(circle at 88% 82%, rgba(10, 127, 62, .18), transparent 30%),
        linear-gradient(135deg, #0b1510 0%, #111d17 58%, #07110d 100%);
    color: #e4ebe6;
}

.site-footer::before {
    content: "NISSHIN SOLUTION";
    position: absolute;
    right: -1vw;
    bottom: 58px;
    color: #fff;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(76px, 11vw, 170px);
    font-weight: 900;
    line-height: .8;
    letter-spacing: -.06em;
    white-space: nowrap;
    opacity: .025;
    pointer-events: none;
}

.site-footer::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--green), #16a45b 62%, var(--yellow));
}

.footer-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(300px, 34%) 1fr;
    gap: 64px;
    padding: 78px 0 60px;
}

.footer-brand {
    position: relative;
    align-self: start;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(0, 104, 47, .12));
    box-shadow: 0 24px 55px rgba(0, 0, 0, .14);
}

.footer-brand::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: var(--yellow);
}

.footer-brand img {
    width: min(280px, 100%);
    margin: 0 0 24px;
    padding: 0;
    background: transparent;
    filter: brightness(0) invert(1);
    opacity: .96;
}

.footer-brand p {
    margin: 0 0 24px;
    color: #b8c6bd;
    font-size: 13px;
    line-height: 1.9;
}

.footer-brand > a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 2px;
    color: #fff;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 28px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .01em;
    transition: color .25s ease;
}

.footer-brand > a::before {
    content: "TEL";
    display: inline-grid;
    place-items: center;
    min-width: 42px;
    height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--yellow);
    color: var(--green-dark);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
}

.footer-brand > a:hover {
    color: var(--yellow);
}

.footer-brand small {
    display: block;
    margin-top: 10px;
    color: #8fa097;
    font-size: 11px;
    letter-spacing: .02em;
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
}

.footer-links > div {
    padding: 26px 22px 24px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 18px;
    background: rgba(255, 255, 255, .035);
    transition:
        transform .3s var(--ease),
        background-color .3s ease,
        border-color .3s ease;
}

.footer-links > div:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .055);
}

.footer-links h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.footer-links h3::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--yellow);
    box-shadow: 0 0 0 4px rgba(255, 226, 0, .08);
}

.footer-links a {
    position: relative;
    display: block;
    padding: 8px 20px 8px 0;
    color: #aebbb2;
    font-size: 12px;
    line-height: 1.5;
    transition:
        color .2s ease,
        transform .2s ease;
}

.footer-links a::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 2px;
    color: var(--yellow);
    font-size: 17px;
    line-height: 1;
    opacity: .45;
    transform: translateY(-50%);
    transition:
        right .2s ease,
        opacity .2s ease;
}

.footer-links a:hover {
    color: #fff;
    transform: translateX(3px);
}

.footer-links a:hover::after {
    right: -1px;
    opacity: 1;
}

.footer-bottom {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 66px;
    padding: 14px max(24px, calc((100% - 1180px) / 2));
    border-top: 1px solid rgba(255, 255, 255, .08);
    background: rgba(0, 0, 0, .12);
    color: #738078;
    font-size: 10px;
}

.footer-bottom a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: #d2ddd5;
    font-weight: 800;
    letter-spacing: .06em;
    transition:
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease;
}

.footer-bottom a:hover {
    border-color: var(--yellow);
    background: var(--yellow);
    color: var(--green-dark);
}

/* reveal */

.reveal-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .85s var(--ease),transform .85s var(--ease);
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: none;
}

@keyframes heroZoom {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.035);
    }
}

/* responsive */

@media (max-width:1480px) {
    .site-header {
        gap: 14px;
    }

    .desktop-nav {
        gap: 13px;
    }

    .desktop-nav a {
        font-size: 12px;
    }

    .brand {
        flex-basis: 215px;
        width: 215px;
    }

    .pill {
        padding: 0 15px;
    }

    .freedial-number-row strong {
        font-size: 20px;
    }

.header-actions {
        margin-left: 10px;
    }

    .menu-toggle {
        flex-basis: 74px;
        width: 74px;
    }
}

@media (max-width:1380px) {
    .desktop-nav > a:nth-last-child(-n+2) {
        display: none;
    }
}

@media (max-width:1230px) {
    .header-actions .freedial-box {
        display: none;
    }

    .service-card {
        grid-template-columns: 38% 62%;
    }

    .service-card>div {
        padding: 26px;
    }

    .pref-grid {
        grid-template-columns: repeat(6,1fr);
    }
}

@media (max-width:1023px) {
    :root {
        --header: 78px;
    }

    .desktop-nav {
        display: none;
    }

    .header-actions {
        margin-left: auto;
    }

    .hero {
        min-height: 650px;
    }

    .hero-stamp {
        width: 110px;
        height: 110px;
        right: 4%;
        top: 16%;
    }

    .hero-stamp strong {
        font-size: 28px;
    }

    .trust-band {
        grid-template-columns: repeat(2,1fr);
    }

    .split-intro,.items-layout,.lawyer-box,.faq-layout,.contact-wrap {
        grid-template-columns: 1fr;
    }

    .intro-photo {
        max-width: 720px;
    }

    .service-cards {
        grid-template-columns: 1fr;
    }

    .service-card figure {
        min-height: 320px;
    }

    .items-photo {
        position: relative;
        top: auto;
    }

    .items-photo img {
        aspect-ratio: 16/9;
    }

    .strength-row {
        grid-template-columns: 95px 1fr 38%;
    }

    .flow-list {
        grid-template-columns: repeat(2,1fr);
        gap: 12px;
    }

    .flow-list li {
        border-right: 0;
        border-radius: 18px !important;
    }

    .flow-list li:after {
        display: none;
    }

    .pref-grid {
        grid-template-columns: repeat(5,1fr);
    }

    .sticky-title {
        position: relative;
        top: auto;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .lawyer-photo img {
        min-height: 340px;
    }
}

@media (max-width:767px) {
    :root {
        --header: 72px;
    }

    .container {
        width: min(100% - 32px,1180px);
    }

    .section-pad {
        padding: 74px 0;
    }

    .site-header {
        padding-left: 14px;
    }

    .brand {
        flex: 0 0 min(210px, 56vw);
        width: min(210px, 56vw);
    }

    .header-actions {
        display: none;
    }

    .menu-toggle {
        margin-left: auto;
        flex-basis: 70px;
        width: 70px;
        gap: 8px;
    }

    .mobile-menu {
        padding: 20px;
    }

    .mobile-menu-head>img {
        width: 220px;
    }

    .hero {
        height: 690px;
        min-height: 0;
    }

    .hero-bg img {
        object-position: 56% bottom;
    }

    .hero-content {
        padding: 20px 18px;
    }

    .hero-kicker {
        font-size: 12px;
        max-width: 290px;
    }

    .hero h1 {
        font-size: clamp(48px,13.7vw,70px);
        line-height: 1.15;
    }

    .hero-lead {
        font-size: 14px;
    }

    .hero-stamp {
        top: auto;
        bottom: 92px;
        right: 20px;
        width: 92px;
        height: 92px;
    }

    .trust-band {
        grid-template-columns: 1fr 1fr;
    }

    .trust-band div {
        padding: 18px 10px;
    }

    .trust-band strong {
        font-size: 16px;
    }

    .trust-band span {
        font-size: 10px;
    }

    .split-intro {
        gap: 44px;
    }

    .intro-copy h2 {
        font-size: 38px;
    }

    .photo-label {
        left: 0;
        bottom: 18px;
    }

    .section-title h2,.area-head h2 {
        font-size: 36px;
    }

    .service-card {
        display: block;
    }

    .service-card figure {
        min-height: 230px;
    }

    .service-card>div {
        padding: 24px;
    }

    .items-layout {
        gap: 42px;
    }

    .items-photo img {
        aspect-ratio: 4/3;
        border-radius: 36px 0 36px 0;
    }

    .items-photo>div {
        left: 0;
        bottom: 20px;
    }

    .item-grid {
        grid-template-columns: 1fr;
    }

    .item-tile {
        min-height: 110px;
    }

    .strength-row,.strength-row.reverse {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 36px 0;
    }

    .strength-num {
        font-size: 50px;
    }

    .strength-row figure,.strength-row.reverse figure {
        order: initial;
    }

    .strength-row figure img {
        height: 220px;
    }

    .lawyer-copy {
        padding: 30px 24px;
    }

    .lawyer-copy h2 {
        font-size: 32px;
    }

    .case-grid {
        grid-template-columns: 1fr;
    }

    .flow-list {
        grid-template-columns: 1fr;
    }

    .flow-list li {
        min-height: 220px;
    }

    .faq-layout {
        gap: 32px;
    }

    .company-panel {
        grid-template-columns: 1fr;
    }

    .company-panel>div {
        padding: 32px 24px;
    }

    .contact-panel {
        padding: 20px 15px;
    }

    .contact-tel strong {
        font-size: 25px;
    }

    .contact-row {
        grid-template-columns: 1fr;
    }

    .footer-links {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
    }

    .footer-bottom {
        padding: 18px 16px;
    }

    .section-title.compact h2 {
        font-size: 34px;
    }
}

@media (max-width:480px) {
}

@media (max-width:1023px) {
    .cta-ribbon-panel {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        padding: 28px;
    }

    .cta-ribbon-tel {
        grid-column: 1 / -1;
        align-items: center;
        padding-right: 0;
        text-align: center;
    }

    .cta-tel-meta {
        justify-content: center;
    }
}

@media (max-width:767px) {
    .cta-ribbon {
        padding: 38px 0 42px;
    }

    .cta-ribbon-copy {
        margin-bottom: 22px;
    }

    .cta-ribbon-copy strong {
        font-size: 23px;
    }

    .cta-ribbon-panel {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 22px 16px;
        border-radius: 14px;
    }

    .cta-ribbon-tel {
        grid-column: auto;
        padding: 4px 0 16px;
        border-bottom: 1px solid var(--line);
    }

    .cta-tel-label {
        margin-bottom: 9px;
        font-size: 18px;
    }

    .cta-tel-number {
        font-size: 31px;
    }

    .cta-tel-number img {
        width: 32px;
        flex-basis: 32px;
    }

    .cta-ribbon-contact {
        min-height: 76px;
    }

    .cta-ribbon::after {
        font-size: 44px;
    }
}

@media (max-width:420px) {
    .pref-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .footer-links {
        grid-template-columns: 1fr;
    }
.contact-tel strong {
        font-size: 22px;
    }

    .freedial-number-row strong {
        font-size: 24px;
    }
}

@media (prefers-reduced-motion:reduce) {
    * {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }

    .reveal-on-scroll {
        opacity: 1;
        transform: none;
    }
}

@media (max-width:767px) {
    .purchase-strip {
        height: 56px;
    }

    .purchase-strip-label {
        padding: 0 18px;
        font-size: 12px;
    }

    .purchase-strip-track {
        gap: 22px;
        padding-left: 22px;
        font-size: 12px;
    }

    .purchase-strip-track i {
        font-size: 17px;
    }
}


@media (max-width:767px) {
    .hero-stamp {
        top: auto;
        right: 18px;
        bottom: 85px;
        width: 110px;
        height: 110px;
    }

    .hero-stamp small {
        font-size: 9px;
    }

    .hero-stamp strong {
        font-size: 28px;
    }

    .hero-stamp em {
        font-size: 10px;
    }

    .hero-stamp span {
        margin-top: 5px;
        padding-top: 4px;
        font-size: 8px;
    }
}


@media (max-width: 420px) {
    .mobile-menu .area-region-grid {
        grid-template-columns: 1fr;
    }

    .mobile-menu .area-region-links {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

/* =========================================================
   DROPDOWN / HERO REFINEMENT
   2026-09-09
========================================================= */

/* 買取サービス・買取品目：画像付きメニュー */
.desktop-nav .menu-panel {
    width: 560px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.desktop-nav .item-panel {
    width: 620px;
}

.menu-card {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 14px;
    align-items: center;
    padding: 10px;
    border-radius: 10px;
    background: transparent;
    transition: background-color .25s ease;
}

.menu-card::before {
    display: none !important;
}

.menu-card img {
    display: block;
    width: 96px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 7px;
}

.menu-card-body {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.menu-card-body strong {
    color: var(--ink);
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.menu-card-body small {
    display: block;
    color: var(--muted);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.6;
}

.menu-card:hover {
    background: #f5f7f3;
    color: inherit;
}

.menu-card:hover .menu-card-body strong {
    color: var(--green);
}

/* 対応エリア：ヘッダーを横幅100%で上段表示 */
.area-mega-head {
    display: block;
    width: 100%;
    padding: 20px 26px 16px;
    border-bottom: 1px solid #e6ebe7;
    background: #fff;
}

.area-mega-en {
    display: block;
    margin: 0 0 8px;
    color: var(--green);
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
}

.area-mega-head strong {
    display: block;
    margin: 0 0 4px;
    color: var(--ink);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
}

.area-mega-head small {
    display: block;
    margin: 0;
    color: var(--muted);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.7;
}

/* ヒーロー人物 */
.hero-content {
    z-index: 3;
    width: min(100% - 40px, 900px);
    margin: 0 auto;
    padding: 40px 20px;
}

.hero-people {
    position: absolute;
    z-index: 2;
    left: calc(50% + 600px);
    right: auto;
    bottom: 0;
    width: 800px;
    transform: translateX(-50%);
    pointer-events: none;
}

.hero-people img {
    display: block;
    width: 100%;
    height: auto;
}

.hero-stamp {
    z-index: 4;
}

/* ハンバーガーメニュー内 */
.mobile-menu .submenu.menu-panel {
    display: grid;
    gap: 0;
    padding: 8px 0 2px;
}

.mobile-menu .menu-card {
    grid-template-columns: 76px 1fr;
    gap: 11px;
    padding: 10px 0;
    border-bottom: 1px solid #ecefec;
    border-radius: 0;
}

.mobile-menu .menu-card img {
    width: 76px;
    border-radius: 6px;
}

.mobile-menu .menu-card-body strong {
    font-size: 12px;
}

.mobile-menu .menu-card-body small {
    font-size: 9px;
}

.mobile-menu .area-mega-head {
    display: block;
    width: 100%;
    max-width: none;
    grid-column: 1 / -1;
    padding: 12px 4px 14px;
    border-bottom: 1px solid #e8ece9;
    background: transparent;
}

.mobile-menu .area-mega-head strong {
    font-size: 14px;
}

.mobile-menu .area-mega-head small {
    font-size: 9px;
}

@media (max-width: 1180px) {
    .hero-content {
        width:100%;
    }
    .hero-people {
    left: calc(50% + 400px);
    right: auto;
    bottom: 0;
    width: 700px;
    transform: translateX(-50%);
    pointer-events: none;
}
    .hero-people img { width: 60vw;}
}

@media (max-width: 1023px) {
    .hero-content {
        width: 100%;
    }

    .hero-people {


    }
}

@media (max-width: 767px) {
    .hero {
        height: 740px;
    }

    .hero-content {
        width: calc(100% - 32px);
        margin: 0 auto;
        padding: 34px 16px 225px;
    }

    .hero-people {
        left: calc(50% + 65vw);
    }
	.hero-people img{ width: 300px;}

    .hero-stamp {
        right: -10px;
        top: -10px;
    }

    .mobile-menu .area-region-links a {
        padding-right: 9px;
    }
}


/* 買取品目：写真付きカード SP調整 */
@media (max-width: 767px) {
    .item-tile {
        grid-template-columns: 78px 28px 1fr auto;
        min-height: 102px;
        padding: 10px 12px 10px 10px;
        gap: 10px;
    }

    .item-thumb {
        width: 78px;
        height: 78px;
        border-radius: 8px;
    }

    .item-tile h3 {
        font-size: 16px;
    }

    .item-tile p {
        font-size: 11px;
    }
}

@media (max-width: 420px) {
    .item-tile {
        grid-template-columns: 72px 1fr auto;
    }

    .item-tile > span {
        position: absolute;
        margin: 6px;
        padding: 3px 5px;
        border-radius: 4px;
        background: var(--green);
        color: #fff;
        z-index: 2;
    }

    .item-thumb {
        width: 72px;
        height: 72px;
    }
}


/* =========================
   Footer responsive refinement
========================= */
@media (max-width: 1023px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 60px 0 46px;
    }

    .footer-brand {
        max-width: none;
    }
}

@media (max-width: 767px) {
    .footer-grid {
        padding: 50px 0 34px;
    }

    .footer-brand {
        padding: 24px 22px;
        border-radius: 18px;
    }

    .footer-brand img {
        width: 235px;
        margin-bottom: 20px;
    }

    .footer-brand > a {
        font-size: 25px;
    }

    .footer-links {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .footer-links > div {
        padding: 21px 18px;
        border-radius: 15px;
    }

    .footer-bottom {
        gap: 14px;
        padding: 16px;
        flex-wrap: wrap;
    }
}

@media (max-width: 520px) {
    .footer-links {
        grid-template-columns: 1fr;
    }

    .footer-brand > a {
        font-size: 23px;
    }

    .site-footer::before {
        bottom: 90px;
        font-size: 86px;
    }
}


/* =========================================================
   MOBILE FIXED CONTACT BAR
   767px以下のみ表示
========================================================= */
.mobile-fixed-contact {
    display: none;
}

@media (max-width: 767px) {
    body {
        padding-bottom: 76px;
    }

    .mobile-fixed-contact {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 55;
        display: grid;
        grid-template-columns: 1.45fr .85fr .85fr;
        gap: 5px;
        padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, .97);
        border-top: 1px solid rgba(0, 104, 47, .18);
        box-shadow: 0 -8px 24px rgba(5, 32, 19, .12);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    .mobile-fixed-contact > a {
        position: relative;
        min-width: 0;
        height: 58px;
        border-radius: 8px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-weight: 700;
        line-height: 1.1;
        transition: transform .2s ease, opacity .2s ease;
    }

    .mobile-fixed-contact > a:active {
        transform: scale(.98);
        opacity: .88;
    }

    .mobile-fixed-contact__tel {
        background: #fff;
        color: #1d2528;
        border: 1.5px solid #2fa8df;
    }

    .mobile-fixed-contact__tel-main {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-width: 0;
    }

    .mobile-fixed-contact__tel-main img {
        width: 22px;
        height: auto;
        flex: 0 0 22px;
    }

    .mobile-fixed-contact__tel strong {
        font-family: Arial, sans-serif;
        font-size: 16px;
        font-weight: 900;
        letter-spacing: .01em;
        white-space: nowrap;
    }

    .mobile-fixed-contact__tel small {
        margin-top: 4px;
        color: #3774b9;
        font-size: 8px;
        font-weight: 700;
        white-space: nowrap;
    }

    .mobile-fixed-contact__line {
        background: #06c755;
        color: #fff;
    }

    .mobile-fixed-contact__mail {
        background: var(--yellow);
        color: #172019;
    }

    .mobile-fixed-contact__line strong,
    .mobile-fixed-contact__mail strong {
        font-size: 13px;
        font-weight: 900;
    }

    .mobile-fixed-contact__line small,
    .mobile-fixed-contact__mail small {
        margin-top: 3px;
        font-size: 9px;
        font-weight: 700;
    }

    .mobile-fixed-contact__line-icon {
        display: none;
    }

    .mobile-fixed-contact__mail-icon {
        position: relative;
        display: none;
        width: 15px;
        height: 11px;
        margin-bottom: 2px;
        border: 1.5px solid currentColor;
        border-radius: 2px;
    }

    .mobile-fixed-contact__mail-icon::after {
        content: "";
        position: absolute;
        top: -4px;
        left: 3px;
        width: 7px;
        height: 7px;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg);
    }
}

@media (max-width: 380px) {
    .mobile-fixed-contact {
        grid-template-columns: 1.35fr .82fr .82fr;
        gap: 4px;
        padding-right: 5px;
        padding-left: 5px;
    }

    .mobile-fixed-contact__tel strong {
        font-size: 14px;
    }

    .mobile-fixed-contact__tel-main img {
        width: 19px;
        flex-basis: 19px;
    }

    .mobile-fixed-contact__line strong,
    .mobile-fixed-contact__mail strong {
        font-size: 12px;
    }
}

/* =========================================================
   COMPANY PAGE
   2026-09-10
========================================================= */
.company-page-hero {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    display: flex;
    align-items: center;
    color: #fff;
    background: var(--green-dark);
}

.company-page-hero-bg {
    position: absolute;
    inset: 0;
}

.company-page-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
    filter: saturate(.78);
}

.company-page-hero-bg span {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(3, 43, 24, .96) 0%, rgba(4, 66, 34, .86) 44%, rgba(6, 68, 36, .48) 100%);
}

.company-page-hero-inner {
    position: relative;
    z-index: 1;
    padding-top: 36px;
}

.breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 54px;
    color: rgba(255, 255, 255, .68);
    font-size: 11px;
    font-weight: 600;
}

.breadcrumb a {
    transition: color .2s ease;
}

.breadcrumb a:hover {
    color: #fff;
}

.breadcrumb i {
    width: 18px;
    height: 1px;
    background: rgba(255, 255, 255, .35);
}

.company-page-kicker {
    margin: 0 0 12px;
    color: #b8e893;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
}

.company-page-hero h1 {
    margin: 0;
    font-size: clamp(48px, 6.5vw, 82px);
    line-height: 1.08;
    letter-spacing: -.05em;
}

.company-page-lead {
    margin: 24px 0 0;
    color: rgba(255, 255, 255, .86);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.9;
}

.company-message {
    background: #fff;
}

.company-message-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 90px;
    align-items: start;
}

.company-message-title h2 {
    margin: 0;
    font-size: clamp(38px, 4.4vw, 58px);
    line-height: 1.3;
    letter-spacing: -.045em;
}

.company-message-copy {
    padding-top: 28px;
}

.company-message-copy p {
    margin: 0 0 20px;
    color: #526159;
    font-size: 16px;
    line-height: 2.05;
}

.company-profile-section {
    background: var(--cream);
}

.company-profile-table {
    margin: 0;
    overflow: hidden;
    border-top: 2px solid var(--green-dark);
    background: #fff;
}

.company-profile-row {
    display: grid;
    grid-template-columns: 220px 1fr;
    border-bottom: 1px solid var(--line);
}

.company-profile-row dt,
.company-profile-row dd {
    margin: 0;
    padding: 25px 28px;
}

.company-profile-row dt {
    display: flex;
    align-items: center;
    color: var(--green-dark);
    background: #f3f7f4;
    font-size: 13px;
    font-weight: 800;
}

.company-profile-row dd {
    color: #435149;
    font-size: 14px;
    line-height: 1.9;
}

.company-profile-row dd strong {
    color: var(--ink);
}

.company-profile-row dd a {
    color: var(--green);
    font-weight: 700;
}

.company-office-section {
    background: #fff;
}

.company-office-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}

.company-office-card {
    position: relative;
    padding: 42px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
}

.company-office-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--green), var(--green2), var(--yellow));
}

.company-office-card > span {
    display: block;
    margin-bottom: 14px;
    color: var(--green);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .16em;
}

.company-office-card h3 {
    margin: 0 0 18px;
    font-size: 30px;
}

.company-office-card > p {
    min-height: 84px;
    margin: 0 0 28px;
    color: #526159;
    font-size: 14px;
    line-height: 1.9;
}

.company-office-card dl {
    margin: 0;
    border-top: 1px solid var(--line);
}

.company-office-card dl > div {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 14px;
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
}

.company-office-card dt {
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
}

.company-office-card dd {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
}

.company-business-section {
    background: var(--green-dark);
    color: #fff;
}

.company-business-layout {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 80px;
    align-items: start;
}

.company-business-layout .section-title {
    position: sticky;
    top: calc(var(--header) + 42px);
    margin-bottom: 0;
}

.company-business-layout .section-title > span {
    color: #b9cabe;
}

.company-business-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(255,255,255,.16);
}

.company-business-list li {
    display: grid;
    grid-template-columns: 62px 1fr;
    align-items: center;
    min-height: 88px;
    border-bottom: 1px solid rgba(255,255,255,.16);
}

.company-business-list span {
    color: rgba(255,255,255,.24);
    font: 900 26px/1 Arial, sans-serif;
}

.company-business-list strong {
    font-size: 17px;
    line-height: 1.5;
}

.company-permit-section {
    background: #fff;
}

.permit-primary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 34px;
}

.permit-primary-item {
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #f8faf8;
}

.permit-primary-item span {
    display: block;
    margin-bottom: 8px;
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
}

.permit-primary-item strong {
    font-size: 15px;
    line-height: 1.65;
}

.permit-waste {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 20px;
}

.permit-waste-head {
    padding: 28px 32px;
    border-bottom: 1px solid var(--line);
    background: var(--green-dark);
    color: #fff;
}

.permit-waste-head h3 {
    margin: 0 0 5px;
    font-size: 20px;
}

.permit-waste-head p {
    margin: 0;
    color: #c2d1c7;
    font-size: 12px;
}

.permit-waste ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
}

.permit-waste li {
    display: grid;
    grid-template-columns: 100px 1fr;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 12px 22px;
    border-bottom: 1px solid var(--line);
}

.permit-waste li:nth-child(odd) {
    border-right: 1px solid var(--line);
}

.permit-waste li span {
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
}

.permit-waste li strong {
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 900px) {
    .company-message-grid,
    .company-business-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .company-business-layout .section-title {
        position: static;
    }

    .company-profile-row {
        grid-template-columns: 170px 1fr;
    }
}

@media (max-width: 767px) {
    .company-page-hero {
        min-height: 390px;
    }

    .company-page-hero-inner {
        padding-top: 20px;
    }

    .breadcrumb {
        margin-bottom: 38px;
    }

    .company-page-hero h1 {
        font-size: 48px;
    }

    .company-page-lead {
        font-size: 15px;
    }

    .company-message-title h2 {
        font-size: 34px;
    }

    .company-message-copy {
        padding-top: 0;
    }

    .company-profile-row {
        grid-template-columns: 1fr;
    }

    .company-profile-row dt,
    .company-profile-row dd {
        padding: 17px 20px;
    }

    .company-profile-row dt {
        padding-bottom: 8px;
        background: #f6f8f6;
    }

    .company-profile-row dd {
        padding-top: 8px;
    }

    .company-office-grid {
        grid-template-columns: 1fr;
    }

    .company-office-card {
        padding: 32px 24px;
    }

    .company-office-card > p {
        min-height: auto;
    }

    .permit-primary,
    .permit-waste ul {
        grid-template-columns: 1fr;
    }

    .permit-waste li:nth-child(odd) {
        border-right: 0;
    }

    .permit-waste li {
        grid-template-columns: 88px 1fr;
    }
}

@media (max-width: 420px) {
    .company-page-hero h1 {
        font-size: 42px;
    }

    .company-business-list li {
        grid-template-columns: 50px 1fr;
    }

    .company-business-list strong {
        font-size: 15px;
    }
}



/* =========================================================
   PREFECTURE PAGE / SAITAMA
   ========================================================= */
.prefecture-page {
    background: #fff;
}

.prefecture-hero {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    color: #fff;
    background: var(--green-dark);
}

.prefecture-hero-bg {
    position: absolute;
    inset: 0;
}

.prefecture-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(.88) contrast(1.02);
}

.prefecture-hero-bg span {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(3, 55, 30, .96) 0%, rgba(3, 65, 34, .89) 46%, rgba(3, 65, 34, .52) 72%, rgba(2, 35, 20, .62) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .22));
}

.prefecture-hero-inner {
    position: relative;
    z-index: 2;
    padding-top: 38px;
    padding-bottom: 76px;
}

.prefecture-hero .breadcrumb {
    color: rgba(255, 255, 255, .72);
}

.prefecture-hero .breadcrumb a:hover {
    color: #fff;
}

.prefecture-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 70px;
    align-items: center;
    min-height: 515px;
}

.prefecture-hero h1 {
    margin: 0;
    font-size: clamp(48px, 5.6vw, 76px);
    line-height: 1.16;
    letter-spacing: -.045em;
}

.prefecture-hero h1 em {
    color: var(--yellow);
    font-style: normal;
}

.prefecture-hero-lead {
    max-width: 760px;
    margin: 28px 0 0;
    font-size: 17px;
    font-weight: 600;
    line-height: 2;
}

.prefecture-hero-actions {
    display: flex;
    align-items: stretch;
    gap: 12px;
    margin-top: 34px;
}

.prefecture-primary-btn,
.prefecture-tel-btn {
    min-height: 66px;
    border-radius: 999px;
}

.prefecture-primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-width: 250px;
    padding: 0 28px;
    background: var(--yellow);
    color: #17261d;
    font-weight: 900;
}

.prefecture-primary-btn i,
.prefecture-cta-mail i,
.prefecture-cta-line i {
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid currentColor;
}

.prefecture-tel-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 24px;
    border: 1px solid rgba(255, 255, 255, .36);
    background: rgba(255, 255, 255, .08);
    backdrop-filter: blur(8px);
}

.prefecture-tel-btn small {
    font-size: 9px;
    font-weight: 800;
}

.prefecture-tel-btn strong {
    margin-top: 3px;
    font: 900 22px/1.1 Arial, sans-serif;
    letter-spacing: .02em;
}

.prefecture-hero-card {
    padding: 34px 30px;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 26px;
    background: rgba(255, 255, 255, .11);
    box-shadow: 0 26px 70px rgba(0, 25, 13, .26);
    backdrop-filter: blur(12px);
}

.prefecture-hero-card-label {
    color: #c8ef9f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
}

.prefecture-hero-card > strong {
    display: block;
    margin-top: 8px;
    font-size: 27px;
    line-height: 1.4;
}

.prefecture-hero-card ul {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

.prefecture-hero-card li {
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    font-size: 13px;
}

.prefecture-hero-card li b {
    color: #c8ef9f;
}

.saitama-intro {
    background: #fff;
}

.saitama-intro-grid {
    display: grid;
    grid-template-columns: 1.12fr .8fr;
    gap: 76px;
    align-items: center;
}

.saitama-intro-copy h2,
.saitama-local-heading h2,
.saitama-municipality-head h2,
.saitama-office-title h2,
.prefecture-cta h2 {
    margin: 0;
    font-size: clamp(36px, 4.3vw, 58px);
    line-height: 1.28;
    letter-spacing: -.045em;
}

.saitama-intro-copy > p:not(.section-kicker) {
    margin: 21px 0 0;
    color: #4c5b53;
    font-size: 16px;
    line-height: 2;
}

.saitama-intro-photo {
    position: relative;
}

.saitama-intro-photo img {
    width: 100%;
    aspect-ratio: 5 / 4;
    object-fit: cover;
    border-radius: 52px 0 52px 0;
}

.saitama-intro-photo > div {
    position: absolute;
    right: -22px;
    bottom: 28px;
    width: min(310px, 76%);
    padding: 23px 26px;
    background: var(--green);
    color: #fff;
}

.saitama-intro-photo small,
.saitama-local-heading > p,
.saitama-municipality-head > div > p,
.saitama-office-title > p,
.prefecture-cta-grid > div:first-child > p {
    display: block;
    margin: 0 0 8px;
    color: #aee78b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
}

.saitama-intro-photo strong {
    display: block;
    font-size: 23px;
    line-height: 1.55;
}

.saitama-local-value {
    padding: 82px 0;
    background: #f4f5f1;
}

.saitama-local-value-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 76px;
    align-items: center;
}

.saitama-local-photo {
    overflow: hidden;
    border-radius: 0 52px 0 52px;
    box-shadow: 0 22px 55px rgba(7, 61, 35, .12);
}

.saitama-local-photo img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.saitama-local-heading {
    margin-bottom: 28px;
}

.saitama-local-heading > p {
    color: var(--green);
}

.saitama-local-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.saitama-local-copy > p {
    margin: 0 0 16px;
    color: #46554c;
    font-size: 16px;
    line-height: 2;
}

.saitama-local-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.saitama-local-tags span {
    padding: 8px 14px;
    border: 1px solid #cfddd3;
    border-radius: 999px;
    background: #fff;
    color: var(--green);
    font-size: 12px;
    font-weight: 800;
}

.prefecture-items {
    background: #fff;
}

.prefecture-item-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.prefecture-item-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    transition: transform .35s var(--ease), border-color .35s, box-shadow .35s;
}

.prefecture-item-card:hover {
    transform: translateY(-5px);
    border-color: #b8d5c1;
    box-shadow: 0 18px 36px rgba(8, 77, 41, .09);
}

.prefecture-item-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    transition: transform .55s var(--ease);
}

.prefecture-item-card:hover img {
    transform: scale(1.06);
}

.prefecture-item-card > span {
    display: grid;
    grid-template-columns: 28px 1fr;
    column-gap: 8px;
    padding: 18px;
}

.prefecture-item-card small {
    grid-row: 1 / 3;
    color: var(--green);
    font-size: 10px;
    font-weight: 900;
}

.prefecture-item-card strong {
    font-size: 18px;
    line-height: 1.35;
}

.prefecture-item-card em {
    margin-top: 6px;
    color: var(--muted);
    font-size: 11px;
    font-style: normal;
    line-height: 1.6;
}

.prefecture-scenes {
    background: var(--green-dark);
}

.prefecture-scenes .section-title > span {
    color: rgba(255, 255, 255, .7);
}

.prefecture-scene-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 20px;
    background: rgba(255, 255, 255, .16);
}

.prefecture-scene-card {
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 20px;
    padding: 34px;
    background: #0b4d2d;
    color: #fff;
    transition: background .3s ease;
}

.prefecture-scene-card:hover {
    background: #11663a;
}

.prefecture-scene-card > b {
    color: rgba(255, 255, 255, .22);
    font-size: 42px;
    line-height: 1;
}

.prefecture-scene-card small {
    color: #b9e893;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
}

.prefecture-scene-card strong {
    display: block;
    margin-top: 5px;
    font-size: 22px;
}

.prefecture-scene-card p {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.8;
}

.saitama-reasons {
    background: #f5f4ef;
}

.saitama-reason-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.saitama-reason {
    position: relative;
    min-height: 330px;
    padding: 36px 30px;
    overflow: hidden;
    border-top: 4px solid var(--green);
    background: #fff;
}

.saitama-reason > span {
    position: absolute;
    right: 20px;
    bottom: -18px;
    color: #edf4ef;
    font-size: 100px;
    font-weight: 900;
    line-height: 1;
}

.saitama-reason small {
    color: var(--green);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}

.saitama-reason h3 {
    position: relative;
    z-index: 1;
    margin: 17px 0 0;
    font-size: 25px;
    line-height: 1.55;
}

.saitama-reason p {
    position: relative;
    z-index: 1;
    margin: 17px 0 0;
    color: #536158;
    font-size: 14px;
    line-height: 1.9;
}

.prefecture-flow {
    background: #fff;
}

.prefecture-flow-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.prefecture-flow-list li {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
}

.prefecture-flow-list > li > span {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    min-width: 58px;
    padding: 10px 12px;
    background: var(--green);
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    text-align: center;
}

.prefecture-flow-list img {
    width: 100%;
    height: 145px;
    object-fit: cover;
}

.prefecture-flow-list li > div {
    padding: 22px 20px 24px;
}

.prefecture-flow-list small {
    color: var(--green);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .14em;
}

.prefecture-flow-list h3 {
    margin: 5px 0 0;
    font-size: 20px;
}

.prefecture-flow-list p {
    margin: 11px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.8;
}

.saitama-municipalities {
    background: #eff5f1;
}

.saitama-municipality-head {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 60px;
    align-items: end;
    margin-bottom: 42px;
}

.saitama-municipality-head > div > p {
    color: var(--green);
}

.saitama-municipality-head > span {
    padding-bottom: 8px;
    color: #58655d;
    font-size: 14px;
    line-height: 1.9;
}

.municipality-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.municipality-region {
    display: grid;
    grid-template-columns: 145px 1fr;
    gap: 18px;
    align-items: start;
    padding: 22px 24px;
    border: 1px solid #d7e3da;
    background: #fff;
}

.municipality-region h3 {
    margin: 0;
    padding-left: 12px;
    border-left: 3px solid var(--green);
    color: var(--green-dark);
    font-size: 16px;
}

.municipality-region > div {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 0;
}

.municipality-region span {
    position: relative;
    padding: 1px 10px;
    color: #4d5b52;
    font-size: 12px;
    line-height: 1.8;
}

.municipality-region span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 11px;
    background: #dbe3dd;
    transform: translateY(-50%);
}

.municipality-region span:last-child::after {
    display: none;
}

.saitama-office {
    background: #fff;
}

.saitama-office-panel {
    display: grid;
    grid-template-columns: 1.2fr 1fr auto;
    gap: 48px;
    align-items: center;
    padding: 52px 56px;
    border-radius: 24px;
    background: var(--green-dark);
    color: #fff;
}

.saitama-office-title > p {
    color: #b7e991;
}

.saitama-office-title h2 {
    font-size: 34px;
}

.saitama-office-title > span {
    display: block;
    margin-top: 12px;
    color: rgba(255, 255, 255, .7);
    font-size: 13px;
}

.saitama-office-panel dl {
    margin: 0;
}

.saitama-office-panel dl > div {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.saitama-office-panel dt {
    color: #b7e991;
    font-size: 11px;
    font-weight: 800;
}

.saitama-office-panel dd {
    margin: 0;
    font-size: 13px;
    line-height: 1.7;
}

.saitama-office-panel dd a {
    font: 900 22px/1.2 Arial, sans-serif;
}

.saitama-office-panel dd small {
    display: block;
    margin-top: 5px;
    color: rgba(255, 255, 255, .64);
    font-size: 9px;
}

.saitama-office-panel .outline-btn {
    border-color: rgba(255, 255, 255, .5);
    color: #fff;
}

.prefecture-faq {
    background: #f7f7f4;
}

.prefecture-cta {
    padding: 76px 0;
    background: var(--yellow);
    color: #17261d;
}

.prefecture-cta-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 70px;
    align-items: center;
}

.prefecture-cta-grid > div:first-child > p {
    color: var(--green);
}

.prefecture-cta h2 {
    font-size: clamp(34px, 3.8vw, 50px);
}

.prefecture-cta-grid > div:first-child > span {
    display: block;
    margin-top: 14px;
    font-size: 14px;
    font-weight: 700;
}

.prefecture-cta-actions {
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr;
    gap: 10px;
}

.prefecture-cta-tel,
.prefecture-cta-mail,
.prefecture-cta-line {
    min-height: 92px;
    border-radius: 14px;
}

.prefecture-cta-tel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 14px 20px;
    background: #fff;
}

.prefecture-cta-tel small {
    color: var(--green);
    font-size: 10px;
    font-weight: 900;
}

.prefecture-cta-tel strong {
    margin-top: 4px;
    font: 900 23px/1 Arial, sans-serif;
}

.prefecture-cta-tel em {
    margin-top: 6px;
    color: var(--muted);
    font-size: 9px;
    font-style: normal;
    font-weight: 700;
}

.prefecture-cta-mail,
.prefecture-cta-line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 16px;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.prefecture-cta-mail {
    background: var(--green);
}

.prefecture-cta-line {
    background: #06c755;
}

@media (max-width: 1100px) {
    .prefecture-hero-grid {
        grid-template-columns: 1fr 300px;
        gap: 36px;
    }

    .prefecture-item-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .prefecture-flow-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .saitama-office-panel {
        grid-template-columns: 1fr 1fr;
    }

    .saitama-office-panel .outline-btn {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .prefecture-cta-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }
}

@media (max-width: 900px) {
    .prefecture-hero-grid,
    .saitama-intro-grid,
    .saitama-local-value-grid,
    .saitama-municipality-head {
        grid-template-columns: 1fr;
    }

    .prefecture-hero-grid {
        gap: 28px;
        padding-top: 40px;
    }

    .prefecture-hero-card {
        max-width: 560px;
    }

    .saitama-intro-grid,
    .saitama-local-value-grid {
        gap: 40px;
    }

    .saitama-intro-photo {
        max-width: 700px;
    }

    .saitama-intro-photo > div {
        right: 0;
    }

    .municipality-grid {
        grid-template-columns: 1fr;
    }

    .saitama-municipality-head {
        gap: 22px;
    }

    .saitama-reason-grid {
        grid-template-columns: 1fr;
    }

    .saitama-reason {
        min-height: 0;
    }
}

@media (max-width: 767px) {
    .prefecture-hero {
        min-height: 0;
    }

    .prefecture-hero-inner {
        padding-top: 22px;
        padding-bottom: 54px;
    }

    .prefecture-hero-grid {
        min-height: 0;
        padding-top: 24px;
    }

    .prefecture-hero h1 {
        font-size: 39px;
    }

    .prefecture-hero-lead {
        margin-top: 20px;
        font-size: 14px;
        line-height: 1.9;
    }

    .prefecture-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 26px;
    }

    .prefecture-primary-btn,
    .prefecture-tel-btn {
        min-height: 60px;
    }

    .prefecture-primary-btn {
        min-width: 0;
    }

    .prefecture-tel-btn {
        align-items: center;
    }

    .prefecture-hero-card {
        padding: 25px 22px;
        border-radius: 18px;
    }

    .prefecture-hero-card > strong {
        font-size: 22px;
    }

    .saitama-intro-copy h2,
    .saitama-local-heading h2,
    .saitama-municipality-head h2,
    .saitama-office-title h2,
    .prefecture-cta h2 {
        font-size: 32px;
    }

    .saitama-intro-copy > p:not(.section-kicker),
    .saitama-local-copy > p {
        font-size: 14px;
    }

    .saitama-intro-photo img {
        border-radius: 30px 0 30px 0;
    }

    .saitama-intro-photo > div {
        bottom: 16px;
        width: 78%;
        padding: 17px 18px;
    }

    .saitama-intro-photo strong {
        font-size: 18px;
    }

    .saitama-local-value {
        padding: 58px 0;
    }

    .saitama-local-photo {
        border-radius: 0 30px 0 30px;
    }

    .saitama-local-heading {
        margin-bottom: 22px;
    }

    .prefecture-item-grid,
    .prefecture-scene-grid,
    .prefecture-flow-list {
        grid-template-columns: 1fr;
    }

    .prefecture-item-card {
        display: grid;
        grid-template-columns: 120px 1fr;
    }

    .prefecture-item-card img {
        height: 100%;
        min-height: 118px;
    }

    .prefecture-scene-card {
        grid-template-columns: 46px 1fr;
        gap: 14px;
        padding: 26px 22px;
    }

    .prefecture-scene-card > b {
        font-size: 32px;
    }

    .prefecture-scene-card strong {
        font-size: 19px;
    }

    .saitama-reason {
        padding: 28px 24px;
    }

    .saitama-reason h3 {
        font-size: 21px;
    }

    .municipality-region {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 18px;
    }

    .municipality-region > div {
        margin-left: -7px;
    }

    .saitama-office-panel {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 34px 24px;
        border-radius: 18px;
    }

    .saitama-office-panel .outline-btn {
        grid-column: auto;
        width: 100%;
        justify-content: center;
    }

    .prefecture-cta {
        padding: 58px 0 130px;
    }

    .prefecture-cta-actions {
        grid-template-columns: 1fr;
    }

    .prefecture-cta-tel,
    .prefecture-cta-mail,
    .prefecture-cta-line {
        min-height: 72px;
    }
}

/* =========================================================
   SAITAMA PRIORITY PAGE / SEO + DESIGN REFINEMENT
   2026-09-10
========================================================= */



/* hero */
.saitama-page .prefecture-hero {
    min-height: 720px;
}

.saitama-page .prefecture-hero-bg img {
    transform: scale(1.035);
}

.saitama-page .prefecture-hero-bg span {
    background:
        radial-gradient(circle at 76% 48%, rgba(8, 122, 65, .05) 0%, rgba(8, 122, 65, .02) 25%, transparent 52%),
        linear-gradient(90deg, rgba(2, 42, 23, .98) 0%, rgba(3, 60, 32, .96) 43%, rgba(3, 62, 33, .68) 68%, rgba(2, 33, 19, .76) 100%);
}

.saitama-page .prefecture-hero-grid {
    grid-template-columns: minmax(0, 1fr) 345px;
    gap: 76px;
}

.saitama-page .prefecture-hero-copy {
    max-width: 800px;
}

.saitama-page .prefecture-hero h1 {
    font-size: clamp(43px, 4.8vw, 48px);
    line-height: 1.18;
    letter-spacing: -.045em;
}

.saitama-page .prefecture-hero h1 em {
    display: inline-block;
    margin: 5px 0 3px;
    color: var(--yellow);
    font-size: 1.52em;
    font-style: normal;
    letter-spacing: -.035em;
}

.prefecture-keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 24px 0 0;
}

.prefecture-keywords span {
    padding: 8px 14px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    backdrop-filter: blur(8px);
}




/* hero直下の実績・特徴バー */
.prefecture-proofbar {
    position: relative;
    z-index: 4;
    margin-top: -1px;
    background: #fff;
    border-bottom: 1px solid var(--line);
}

.prefecture-proofbar-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.prefecture-proofbar-grid > div {
    position: relative;
    padding: 27px 24px 28px;
    border-right: 1px solid var(--line);
}

.prefecture-proofbar-grid > div:last-child {
    border-right: 0;
}

.prefecture-proofbar-grid small {
    display: block;
    margin-bottom: 5px;
    color: var(--green);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .18em;
}

.prefecture-proofbar-grid strong {
    display: block;
    color: var(--green-dark);
    font-size: 20px;
    line-height: 1.35;
}

.prefecture-proofbar-grid span {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.5;
}

/* Intro */
.saitama-page .saitama-intro {
    
}

.saitama-page .saitama-intro-copy h2 {
    font-size: clamp(34px, 3.6vw, 50px);
}

.saitama-page .saitama-intro-photo {
    box-shadow: 0 26px 60px rgba(8, 65, 35, .13);
}

/* 破産管財・倒産・廃業・店じまい：最重要4カード */
.saitama-page .prefecture-scenes {
    position: relative;
    overflow: hidden;
    background: #073d23;
}

.saitama-page .prefecture-scenes::before {
    content: "BUSINESS ASSET PURCHASE";
    position: absolute;
    right: -30px;
    top: 22px;
    color: rgba(255, 255, 255, .035);
    font-size: clamp(70px, 9vw, 148px);
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}

.saitama-page .prefecture-scene-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.saitama-page .prefecture-scene-card {
    display: grid;
    grid-template-columns: 42% 58%;
    gap: 0;
    min-height: 330px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 22px;
    background: #fff;
    color: var(--ink);
    transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s ease;
}

.saitama-page .prefecture-scene-card:hover {
    background: #fff;
    border-color: rgba(255, 226, 0, .65);
    transform: translateY(-6px);
    box-shadow: 0 24px 55px rgba(0, 18, 9, .28);
}

.saitama-page .prefecture-scene-card figure {
    margin: 0;
    overflow: hidden;
    background: #dfe9e2;
}

.saitama-page .prefecture-scene-card figure img {
    width: 100%;
    height: 100%;
    min-height: 330px;
    object-fit: cover;
    transition: transform .65s var(--ease);
}

.saitama-page .prefecture-scene-card:hover figure img {
    transform: scale(1.07);
}

.prefecture-scene-body {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 32px 30px;
}

.prefecture-scene-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.saitama-page .prefecture-scene-meta b {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    font-size: 14px;
    line-height: 1;
}

.saitama-page .prefecture-scene-meta small {
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
}

.saitama-page .prefecture-scene-card strong {
    margin: 0;
    color: var(--ink);
    font-size: 24px;
    line-height: 1.48;
}

.saitama-page .prefecture-scene-card p {
    margin: 14px 0 24px;
    color: #5b665f;
    font-size: 13px;
    line-height: 1.85;
}

.saitama-page .prefecture-scene-body > span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
}

.saitama-page .prefecture-scene-body > span::after {
    content: "→";
    transition: transform .25s ease;
}

.saitama-page .prefecture-scene-card:hover .prefecture-scene-body > span::after {
    transform: translateX(5px);
}

/* reasons */
.saitama-page .saitama-reason {
    border: 1px solid #dfe7e1;
    border-top: 0;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(9, 64, 35, .06);
}

.saitama-page .saitama-reason::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 72px;
    height: 4px;
    background: var(--green);
}

/* area list */
.saitama-page .municipality-region {
    border-radius: 14px;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.saitama-page .municipality-region:hover {
    transform: translateY(-2px);
    border-color: #b8d4c0;
    box-shadow: 0 12px 26px rgba(8, 74, 39, .06);
}

/* FAQ */
.saitama-page .prefecture-faq .faq-list details {
    background: #fff;
}

@media (max-width: 1023px) {
    .saitama-page .prefecture-hero-grid {
        grid-template-columns: 1fr 300px;
        gap: 34px;
    }

    .prefecture-proofbar-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .prefecture-proofbar-grid > div:nth-child(2) {
        border-right: 0;
    }

    .prefecture-proofbar-grid > div:nth-child(-n+2) {
        border-bottom: 1px solid var(--line);
    }

    .saitama-page .prefecture-scene-card {
        grid-template-columns: 1fr;
    }

    .saitama-page .prefecture-scene-card figure img {
        min-height: 220px;
        height: 220px;
    }
}

@media (max-width: 767px) {
    .saitama-page .prefecture-hero {
        min-height: auto;
    }

    .saitama-page .prefecture-hero-inner {
        padding-top: 24px;
        padding-bottom: 48px;
    }

    .saitama-page .prefecture-hero-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        min-height: 0;
    }

    .saitama-page .prefecture-hero h1 {
        font-size: clamp(34px, 10.4vw, 38px);
        line-height: 1.22;
    }

    .saitama-page .prefecture-hero h1 em {
        font-size: 1.37em;
        line-height: 1.45;
    }

    .prefecture-keywords {
        margin-top: 18px;
    }

    .prefecture-keywords span {
        padding: 7px 11px;
        font-size: 10px;
    }

    .prefecture-proofbar-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .prefecture-proofbar-grid > div {
        padding: 20px 14px;
    }

    .prefecture-proofbar-grid strong {
        font-size: 17px;
    }

    .prefecture-proofbar-grid span {
        font-size: 9px;
    }

    .saitama-page .prefecture-scene-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .saitama-page .prefecture-scene-card {
        grid-template-columns: 42% 58%;
        min-height: 245px;
        border-radius: 16px;
    }

    .saitama-page .prefecture-scene-card figure img {
        height: 100%;
        min-height: 245px;
    }

    .prefecture-scene-body {
        padding: 22px 18px;
    }

    .prefecture-scene-meta {
        margin-bottom: 10px;
    }

    .saitama-page .prefecture-scene-meta b {
        width: 34px;
        height: 34px;
        font-size: 11px;
    }

    .saitama-page .prefecture-scene-card strong {
        font-size: 18px;
    }

    .saitama-page .prefecture-scene-card p {
        margin: 10px 0 16px;
        font-size: 11px;
        line-height: 1.72;
    }
}

@media (max-width: 520px) {
    .saitama-page .prefecture-scene-card {
        grid-template-columns: 1fr;
    }

    .saitama-page .prefecture-scene-card figure img {
        height: 190px;
        min-height: 190px;
    }
}


/* =========================================================
   LOWER PAGE BREADCRUMB + SAITAMA HERO / RESULTS v3
   2026-09-10
========================================================= */

/* 下層ページ共通パンくず：TOP ─ 現在ページ */
.subpage-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 54px;
    color: rgba(255, 255, 255, .72);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
}

.subpage-breadcrumb::before,
.subpage-breadcrumb > * + *::before {
    content: none !important;
    display: none !important;
}

.subpage-breadcrumb .breadcrumb-line {
    display: block;
    width: 20px;
    height: 1px;
    flex: 0 0 20px;
    margin: 0 1px;
    background: rgba(255, 255, 255, .42);
}

.subpage-breadcrumb a {
    color: rgba(255, 255, 255, .88);
}

.subpage-breadcrumb a:hover {
    color: #fff;
}

.subpage-breadcrumb > span:last-child {
    color: rgba(255, 255, 255, .76);
}

/* 埼玉県ヒーロー：TOPの人物素材を使用 */
.saitama-page .prefecture-hero {
    min-height: 735px;
}

.saitama-page .prefecture-hero-grid {
    position: relative;
    grid-template-columns: minmax(0, 1fr) minmax(390px, .78fr);
    gap: 24px;
    align-items: end;
    min-height: 560px;
}

.saitama-page .prefecture-hero-copy {
    position: relative;
    z-index: 3;
    align-self: center;
    max-width: 790px;
    padding-bottom: 26px;
}

.prefecture-hero-visual {
    position: relative;
    z-index: 2;
    align-self: end;
    min-height: 520px;
    pointer-events: none;
}

.prefecture-hero-visual::before {
    content: "";
    position: absolute;
    right: 4%;
    bottom: 16px;
    width: 82%;
    height: 26%;
    border-radius: 50%;
    background: rgba(0, 0, 0, .22);
    filter: blur(32px);
}

.prefecture-hero-visual img {
    position: absolute;
    right: -45px;
    bottom: -76px;
    width: min(700px, 45vw);
    max-width: none;
    filter: drop-shadow(0 18px 26px rgba(0, 25, 13, .22));
}

/* 埼玉県買取実績 */
.prefecture-results {
    position: relative;
    overflow: hidden;
    background: #fff;
}

.prefecture-results::before {
    content: "CASE STUDY";
    position: absolute;
    top: 30px;
    right: -8px;
    color: rgba(0, 104, 47, .035);
    font: 900 clamp(70px, 10vw, 150px)/1 Arial, sans-serif;
    letter-spacing: -.05em;
    pointer-events: none;
}

.prefecture-results .container {
    position: relative;
    z-index: 1;
}

.prefecture-case-grid .case-card {
    border-radius: 26px;
}

.prefecture-case-grid .case-thumb {
    aspect-ratio: 16 / 10.5;
}

.prefecture-results-note {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 28px;
    padding: 18px 22px;
    border-left: 4px solid var(--green);
    background: #f3f7f4;
    color: var(--muted);
    font-size: 12px;
}

.prefecture-results-note b {
    flex: none;
    color: var(--green);
    font-size: 12px;
}

@media (max-width: 1023px) {
    .saitama-page .prefecture-hero-grid {
        grid-template-columns: minmax(0, 1fr) 340px;
        gap: 10px;
    }

    .prefecture-hero-visual {
        min-height: 470px;
    }

    .prefecture-hero-visual img {
        right: -75px;
        bottom: -70px;
        width: 480px;
    }
}

@media (max-width: 767px) {
    .subpage-breadcrumb {
        margin-bottom: 34px;
        font-size: 10px;
    }

    .subpage-breadcrumb .breadcrumb-line {
        width: 18px;
        flex-basis: 18px;
    }

    .saitama-page .prefecture-hero-grid {
        display: block;
        min-height: 0;
    }

    .saitama-page .prefecture-hero-copy {
        padding-bottom: 0;
    }

    .prefecture-hero-visual {
        min-height: 330px;
        margin-top: 24px;
    }

    .prefecture-hero-visual img {
        right: 40%;
        bottom: -48px;
        width: min(420px, 128vw);
        transform: translateX(54%);
    }

    .prefecture-results-note {
        display: block;
        padding: 16px 18px;
    }

    .prefecture-results-note b,
    .prefecture-results-note span {
        display: block;
    }

    .prefecture-results-note span {
        margin-top: 5px;
    }
}

/* TOP: 会社紹介を1カラムに統一 */
#company .company-panel--single {
  display: block;
  background: #f5f7f5;
  text-align: center;
}
#company .company-panel--single > .company-panel-content {
  padding: 60px 32px;
  background: transparent;
}
#company .company-panel--single small { display: block; }
#company .company-panel--single h2 { margin: 24px 0; line-height: 1; }
#company .company-panel--single h2 img {
  display: block;
  width: 360px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
#company .company-panel--single p { margin: 0; line-height: 2; }
#company .company-panel--single .outline-btn { margin-top: 26px; }
#company .company-mobile-break { display: none; }
@media (max-width: 767px) {
  #company .company-panel--single > .company-panel-content { padding: 40px 22px; }
  #company .company-panel--single h2 { margin: 22px 0; }
  #company .company-panel--single h2 img { width: 290px; }
  #company .company-panel--single p { font-size: 13px; }
  #company .company-mobile-break { display: inline; }
}

/* TOP: お問い合わせは見出し上・CTA下の1カラム */
.contact-section { padding: 72px 0 78px; }
.contact-section .contact-wrap {
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
  justify-items: center;
}
.contact-section .contact-copy { width: 100%; text-align: center; }
.contact-section .contact-copy > p {
  margin: 0 0 20px;
  font-size: 11px;
  letter-spacing: .16em;
}
.contact-section .contact-copy h2 {
  margin: 0 0 20px;
  font-size: clamp(26px, 3vw, 48px);
  line-height: 1.65;
  letter-spacing: .015em;
}
.contact-section .contact-title-line { display: block; }
.contact-section .contact-copy > span {
  display: block;
  margin: 0 auto;
  font-size: 13px;
  line-height: 2;
}
.contact-section .contact-panel {
  box-sizing: border-box;
  width: 100%;
  max-width: 880px;
  padding: 28px 32px;
  border-radius: 22px;
}
.contact-section .contact-tel > div { align-items: center; }
.contact-section .contact-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-section .big-contact.mail { background: #ffe200; }
.contact-section .big-contact.line { background: #06c755; }
@media (max-width: 767px) {
  .contact-section { padding: 48px 0; }
  .contact-section .contact-wrap { gap: 26px; }
  .contact-section .contact-copy h2 {
    font-size: clamp(18px, 4.8vw, 26px);
    line-height: 1.8;
    letter-spacing: 0;
  }
  .contact-section .contact-copy > span { font-size: 12px; }
  .contact-section .contact-panel { padding: 22px 16px; border-radius: 18px; }
  .contact-section .contact-tel strong { font-size: clamp(23px, 6.7vw, 30px); }
  .contact-section .contact-tel strong img { width: 28px; }
  .contact-section .contact-tel em { font-size: 10px; }
  .contact-section .contact-row { gap: 8px; }
  .contact-section .big-contact { min-height: 58px; font-size: 12px; gap: 7px; border-radius: 10px; }
}

/* Shared footer: TOP / company / saitama */
.site-footer.site-footer--modern {
  background: #082d20;
  color: #fff;
  border-top: 1px solid #ffffff24;
}
.site-footer--modern::before,
.site-footer--modern::after,
.site-footer--modern .footer-brand::before { display: none; }
.site-footer--modern .footer-grid {
  width: min(1180px, calc(100% - 80px));
  max-width: 1180px;
  grid-template-columns: minmax(280px, 1fr) minmax(0, 1.65fr);
  gap: 88px;
  padding: 76px 0 58px;
  align-items: start;
}
.site-footer--modern .footer-brand {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  overflow: visible;
}
.site-footer--modern .footer-brand img {
  display: block;
  width: 300px;
  max-width: 100%;
  height: auto;
  margin: 0 0 26px;
}
.site-footer--modern .footer-brand p {
  font-size: 12px;
  line-height: 2;
  color: #b8ccc0;
  margin: 0 0 28px;
}
.site-footer--modern .footer-brand > a {
  display: inline-flex;
  flex-wrap: wrap;
  font-family: Arial, sans-serif;
  font-size: clamp(25px, 2.3vw, 32px);
  font-weight: 700;
  gap: 12px;
  letter-spacing: -.025em;
}
.site-footer--modern .footer-brand > a::before {
  content: 'TEL';
  min-width: 0;
  width: auto;
  height: auto;
  padding: 0;
  background: none;
  border-radius: 0;
  color: #ffe200;
  font-size: 10px;
  letter-spacing: .1em;
}
.site-footer--modern .footer-brand small {
  color: #a2b7aa;
  font-size: 10px;
  margin-top: 12px;
  line-height: 1.8;
}
.site-footer--modern .footer-links {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}
.site-footer--modern .footer-links > div,
.site-footer--modern .footer-links > div:hover {
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  transform: none;
  box-shadow: none;
}
.site-footer--modern .footer-links h3 {
  display: block;
  margin: 0 0 14px;
  padding: 0 0 20px;
  border-bottom: 1px solid #ffffff26;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}
.site-footer--modern .footer-links h3::before { display: none; }
.site-footer--modern .footer-links h3 small {
  display: block;
  margin-bottom: 10px;
  color: #93b29f;
  font: 10px/1.4 Arial, sans-serif;
  letter-spacing: .16em;
}
.site-footer--modern .footer-links a {
  padding: 10px 0;
  color: #c6d6cc;
  font-size: 12px;
  line-height: 1.8;
  text-decoration: none;
  text-underline-offset: 5px;
}
.site-footer--modern .footer-links a::after { display: none; }
.site-footer--modern .footer-links a:hover {
  color: #ffe200;
  text-decoration: underline;
  transform: none;
}
.site-footer--modern .footer-wordmark {
  width: min(1180px, calc(100% - 80px));
  margin: 0 auto;
  padding: 6px 0 28px;
  color: #ffffff12;
  font: 700 clamp(24px, 7.8vw, 112px)/1 Arial, sans-serif;
  letter-spacing: -.055em;
  white-space: nowrap;
  pointer-events: none;
}
.site-footer--modern .footer-bottom {
  width: min(1180px, calc(100% - 80px));
  margin: 0 auto;
  min-height: 80px;
  padding: 18px 0;
  background: none;
  color: #a2b7aa;
  border-top: 1px solid #ffffff24;
  font-size: 10px;
  gap: 20px;
}
.site-footer--modern .footer-bottom a {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #ffffff38;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
}
.site-footer--modern a:focus-visible { outline: 2px solid #ffe200; outline-offset: 5px; }
@media (max-width: 1023px) {
  .site-footer--modern .footer-grid { grid-template-columns: 1fr; gap: 44px; padding: 56px 0 36px; }
  .site-footer--modern .footer-brand { max-width: none; }
  .site-footer--modern .footer-links { gap: 32px; }
}
@media (max-width: 600px) {
  .site-footer--modern .footer-grid,
  .site-footer--modern .footer-wordmark,
  .site-footer--modern .footer-bottom { width: calc(100% - 40px); }
  .site-footer--modern .footer-grid { padding: 44px 0 28px; gap: 36px; }
  .site-footer--modern .footer-brand img { width: 275px; margin-bottom: 22px; }
  .site-footer--modern .footer-brand > a { font-size: 28px; }
  .site-footer--modern .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 22px; }
  .site-footer--modern .footer-links > div:last-child { grid-column: 1 / -1; }
  .site-footer--modern .footer-links > div:last-child > a { display: inline-block; margin-right: 22px; }
  .site-footer--modern .footer-links h3 { font-size: 12px; padding-bottom: 15px; margin-bottom: 8px; }
  .site-footer--modern .footer-links a { font-size: 11px; padding: 10px 0; }
  .site-footer--modern .footer-wordmark { padding: 0 0 24px; font-size: 7.65vw; }
  .site-footer--modern .footer-bottom { flex-direction: row; flex-wrap: wrap; padding: 20px 0; gap: 14px; font-size: 9px; }
  .site-footer--modern .footer-bottom a { padding: 0 13px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer--modern a { transition: none; }
}

/* 本社案内：見出し・会社案内と所在地・電話を整理 */
.saitama-office .office-card {
 display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
 gap:64px;align-items:center;padding:48px 52px;
 border-radius:22px;background:#073e28;color:#fff;
}
.office-card .office-card__label {margin:0 0 17px;color:#b7e991;font-size:10px;font-weight:700;letter-spacing:.16em;}
.office-card h2 {margin:0;font-size:32px;line-height:1.6;letter-spacing:.025em;color:#fff;}
.office-card h2 span {display:block;}
.office-card .office-card__description {max-width:440px;margin:18px 0 24px;font-size:13px;line-height:2;color:#d3e0d7;}
.office-card .office-card__button {
 display:inline-flex;align-items:center;justify-content:space-between;gap:28px;
 min-height:50px;padding:12px 22px;border:1px solid #fff;border-radius:999px;
 background:#fff;color:#073e28;font-size:13px;font-weight:700;text-decoration:none;
 transition:background .2s,color .2s;
}
.office-card .office-card__button span {color:inherit;font-size:18px;}
.office-card .office-card__button:hover {background:#ffe200;border-color:#ffe200;color:#073e28;}
.office-card .office-card__details {margin:0;min-width:0;}
.office-card .office-card__details>div {padding:24px 0;border-top:1px solid #ffffff30;}
.office-card .office-card__details>div:last-child {border-bottom:1px solid #ffffff30;}
.office-card .office-card__details dt {margin-bottom:12px;color:#b7e991;font-size:11px;font-weight:700;}
.office-card .office-card__details dd {margin:0;font-size:14px;line-height:1.9;color:#fff;}
.office-card .office-card__phone {display:inline-block;color:#fff;font:700 clamp(25px,2.6vw,32px)/1.4 Arial,sans-serif;white-space:nowrap;text-decoration:none;}
.office-card .office-card__phone:hover {color:#ffe200;}
.office-card .office-card__details small {display:block;margin-top:8px;color:#c4d6ca;font-size:10px;line-height:1.8;}
.office-card a:focus-visible {outline:3px solid #ffe200;outline-offset:5px;}
@media(max-width:1023px) {
 .saitama-office .office-card {gap:32px;padding:36px;}
 .office-card h2 {font-size:28px;}
}
@media(max-width:767px) {
 .saitama-office .office-card {grid-template-columns:minmax(0,1fr);gap:30px;padding:30px 24px;border-radius:18px;}
 .office-card h2 {font-size:27px;line-height:1.65;}
 .office-card .office-card__description {font-size:12px;}
 .office-card .office-card__button {width:100%;box-sizing:border-box;}
 .office-card .office-card__details>div {padding:20px 0;}
 .office-card .office-card__phone {font-size:28px;}
 .office-card .office-card__details dd {font-size:13px;}
}
@media(prefers-reduced-motion:reduce) {.office-card a {transition:none;}}

/* 埼玉県：査定ガイドと事前準備 */
.saitama-page .saitama-intro-copy h2 {font-size:clamp(25px,2.8vw,36px);line-height:1.65;letter-spacing:.01em;}
.saitama-page .saitama-local-heading h2 {font-size:clamp(24px,2.7vw,34px);line-height:1.65;letter-spacing:.01em;}
.saitama-page .saitama-guide {background:#f5f6f1;}
.saitama-page .saitama-preparation {background:#fff;}
.saitama-page .saitama-guide h2,.saitama-page .saitama-preparation h2 {font-size:clamp(25px,3vw,38px);line-height:1.6;letter-spacing:.01em;}
.saitama-page .saitama-guide .section-title>span,.saitama-page .saitama-preparation .section-title>span {display:block;max-width:780px;line-height:2;font-size:14px;margin-top:18px;}
.saitama-guide-list {margin:32px 0 0;}
.saitama-guide-list>div {display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:32px;border-top:1px solid #d3ddd5;padding:26px 0;}
.saitama-guide-list dt {font-size:17px;font-weight:700;line-height:1.8;}
.saitama-guide-list dt span {color:#008443;font:12px Arial;margin-right:16px;}
.saitama-guide-list dd {margin:0;color:#4d6054;font-size:14px;line-height:2;}
.saitama-guide-note {margin:8px 0 0;padding:20px 24px;border-left:3px solid #008443;background:#fff;color:#4d6054;font-size:13px;line-height:2;}
.saitama-preparation-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:36px;}
.saitama-preparation-grid article {border-top:3px solid #008443;padding-top:24px;}
.saitama-preparation-grid h3 {font-size:20px;line-height:1.6;margin:0 0 18px;}
.saitama-preparation-grid p {font-size:14px;line-height:2;color:#4d6054;margin:12px 0 0;}
.saitama-guide-contact {display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f1f5ef;padding:24px 28px;margin-top:36px;border-radius:8px;}
.saitama-guide-contact p {margin:0;font-size:13px;line-height:1.9;}
.saitama-guide-contact a {display:inline-flex;align-items:center;justify-content:center;gap:24px;background:#ffe200;color:#073e28;border-radius:999px;padding:17px 24px;font-size:13px;font-weight:700;flex-shrink:0;}
.saitama-guide-contact a:focus-visible {outline:3px solid #008443;outline-offset:4px;}
@media(max-width:767px) {
 .saitama-guide-list>div {grid-template-columns:1fr;gap:10px;padding:22px 0;}
 .saitama-guide-list dd,.saitama-preparation-grid p {font-size:13px;}
 .saitama-preparation-grid {grid-template-columns:1fr;gap:28px;}
 .saitama-guide-contact {flex-direction:column;align-items:stretch;padding:24px;}
 .saitama-guide-contact a {gap:14px;padding:16px;font-size:12px;}
}

/* 関東エリア：全ページ共通の相互リンク */
.kanto-related {padding:38px 0;background:#f1f5ef;color:#073e28;}
.kanto-related p {margin:0 0 18px;font-size:15px;font-weight:700;}
.kanto-related .container>div {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;}
.kanto-related a {display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:12px 16px;background:#fff;border:1px solid #d6e1d8;border-radius:6px;color:#073e28;font-size:13px;}
.kanto-related a:hover {border-color:#008443;background:#e6f2e7;}
.kanto-related a:focus-visible {outline:3px solid #008443;outline-offset:3px;}
@media(max-width:1023px){.kanto-related .container>div {grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:600px){.kanto-related .container>div {grid-template-columns:repeat(2,minmax(0,1fr));}.kanto-related {padding:30px 0;}}


/* 全地域共通：所在地を前提にしない相談案内 */
.saitama-office .regional-consult {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:center;padding:44px 48px;border-radius:20px;background:#073e28;color:#fff;}
.regional-consult__label {margin:0 0 16px;color:#b7e991;font-size:10px;font-weight:700;letter-spacing:.14em;}
.regional-consult h2 {margin:0;font-size:clamp(26px,2.8vw,34px);line-height:1.6;letter-spacing:.015em;}
.regional-consult h2 span {display:block;}
.regional-consult__description {margin:18px 0 0;color:#d3e0d7;font-size:13px;line-height:2;}
.regional-consult__actions {display:grid;gap:18px;min-width:0;}
.regional-consult__phone {display:flex;flex-direction:column;gap:8px;color:#fff;text-decoration:none;}
.regional-consult__phone small {font-size:11px;color:#d3e0d7;}
.regional-consult__phone strong {font:700 clamp(25px,2.8vw,34px)/1.3 Arial,sans-serif;}
.regional-consult__phone>span {font-size:10px;color:#d3e0d7;}
.regional-consult__mail {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 24px;border-radius:999px;background:#ffe200;color:#073e28;font-size:13px;font-weight:700;}
.regional-consult__mail:hover {background:#fff17a;}
.regional-consult a:focus-visible {outline:3px solid #ffe200;outline-offset:5px;}
/* 全市区町村を市・区・郡に分けて表示 */
.municipality-complete .saitama-municipality-head {align-items:start;}
.municipality-complete .saitama-municipality-head h2 {font-size:clamp(26px,3vw,38px);line-height:1.5;}
.municipality-complete .saitama-municipality-head .municipality-total {margin:14px 0 0;color:#376349;letter-spacing:.02em;font-size:13px;}
.municipality-complete .saitama-municipality-head>span {font-size:13px;line-height:2;}
.municipality-complete .municipality-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.municipality-complete .municipality-region {display:block;padding:24px;background:#fff;border:1px solid #dbe5dc;border-radius:8px;min-width:0;}
.municipality-complete .municipality-region--wide {grid-column:1/-1;}
.municipality-complete .municipality-region h3 {margin:0 0 16px;padding:0;border:0;font-size:15px;line-height:1.7;}
.municipality-complete .municipality-region>div {display:flex;flex-wrap:wrap;gap:8px 10px;}
.municipality-complete .municipality-region>div>span {padding:6px 10px;background:#f3f6f1;color:#375440;border-radius:4px;font-size:12px;line-height:1.7;}
@media(max-width:767px){
 .saitama-office .regional-consult {grid-template-columns:minmax(0,1fr);gap:28px;padding:30px 24px;}
 .regional-consult h2 {font-size:26px;}
 .regional-consult__description {font-size:12px;}
 .municipality-complete .municipality-grid {grid-template-columns:1fr;gap:14px;}
 .municipality-complete .municipality-region {padding:20px;}
 .municipality-complete .municipality-region>div {gap:7px;}
 .municipality-complete .municipality-region>div>span {font-size:11px;padding:5px 8px;}
}

/* 破産管財の買取：ページ専用 */
.bankruptcy-page{--bk-green:#073e28;--bk-green-2:#005f36;--bk-yellow:#ffe200;--bk-paper:#f4f5f0;color:#153a2a;overflow:hidden}
.bankruptcy-page .section-pad{padding:108px 0}
.bankruptcy-page .bk-label{margin:0 0 18px;color:#008443;font-size:12px;font-weight:800;letter-spacing:.16em}
.bk-hero{position:relative;isolation:isolate;min-height:650px;background:#062f21;color:#fff;overflow:hidden}
.bk-hero__image{position:absolute;inset:0;z-index:-1}
.bk-hero__image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,44,29,.97) 0%,rgba(3,53,34,.9) 47%,rgba(3,53,34,.28) 78%,rgba(3,53,34,.12) 100%)}
.bk-hero__image img{width:100%;height:100%;object-fit:cover;object-position:center}
.bk-hero__inner{padding-top:26px}
.bk-breadcrumb{margin:0 0 86px;color:#fff;font-size:11px;opacity:.72}
.bk-breadcrumb a{color:#fff}
.bk-hero__copy{max-width:720px;padding-bottom:82px}
.bk-hero .bk-label{color:#bce2ca}
.bk-hero h1{margin:0;color:#fff;font-size:clamp(42px,5vw,68px);font-weight:800;line-height:1.33;letter-spacing:.015em;text-wrap:balance}
.bk-hero h1>span{display:block;margin-bottom:8px;color:var(--bk-yellow);font-size:.53em;line-height:1.65;letter-spacing:.04em}
.bk-hero__copy>p:not(.bk-label){max-width:640px;margin:24px 0 0;color:#d9e7df;font-size:16px;line-height:2}
.bk-hero__actions{display:flex;align-items:center;gap:24px;margin-top:32px;flex-wrap:wrap}
.bk-primary{display:flex;align-items:center;justify-content:space-between;gap:32px;min-width:230px;padding:18px 24px;border-radius:5px;background:var(--bk-yellow);color:#153a2a;font-size:14px;font-weight:800}
.bk-phone{display:flex;flex-direction:column;color:#fff}
.bk-phone small{font-size:11px;color:#c9dbd0}.bk-phone strong{margin-top:4px;font:800 26px/1.2 Arial,sans-serif}
.bk-summary{background:#fff;border-bottom:1px solid #dce5df}
.bk-summary__grid{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0}
.bk-summary__grid>div{padding:0 24px;border-right:1px solid #dce5df}.bk-summary__grid>div:first-child{padding-left:0}.bk-summary__grid>div:last-child{border:0}
.bk-summary small{display:block;color:#008443;font-size:11px;letter-spacing:.14em}.bk-summary strong{display:block;margin-top:8px;font-size:16px}.bk-summary span{display:block;margin-top:6px;color:#607268;font-size:12px}
.bk-intro{background:#fff}.bk-intro__grid{display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:center}
.bk-intro__copy h2,.bk-prepare__heading h2{margin:0 0 28px;font-size:clamp(32px,4vw,48px);line-height:1.45;letter-spacing:.025em}
.bk-intro__copy>p:not(.bk-label){margin:18px 0 0;color:#4d6055;font-size:16px;line-height:2.15}
.bk-intro__visual{position:relative;margin:0 18px 22px 0}.bk-intro__visual::before{content:"";position:absolute;inset:32px -18px -22px 32px;z-index:-1;background:#e9eee8}
.bk-intro__visual>img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.bk-intro__visual figcaption{position:absolute;right:-28px;bottom:28px;padding:22px 26px;background:var(--bk-green);color:#fff}.bk-intro__visual small{display:block;color:#acd4b9;font-size:10px;letter-spacing:.13em}.bk-intro__visual strong{display:block;margin-top:8px;font-size:18px;line-height:1.55}
.bk-assets{background:var(--bk-paper)}
.bk-assets__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.bk-assets__grid>:is(a,.bk-asset-card){display:block;color:#153a2a}.bk-assets__grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:4px}.bk-assets__grid :is(a,.bk-asset-card)>span{display:grid;grid-template-columns:28px 1fr;padding:18px 0;border-bottom:1px solid #cfd9d1}.bk-assets__grid small{grid-row:span 2;color:#008443;font-size:11px}.bk-assets__grid strong{font-size:19px}.bk-assets__grid em{margin-top:6px;color:#607268;font-size:13px;font-style:normal;line-height:1.7}
.bk-scene{position:relative;background:var(--bk-green);color:#fff}.bk-scene .section-title.light h2{color:#fff}.bk-scene .section-title.light>p{color:#a9d4b8}.bk-scene .section-title.light>span{color:#cbdcd1}
.bk-scene__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}.bk-scene article{display:grid;grid-template-columns:58px 1fr;padding:34px 0;border-top:1px solid #ffffff2e}.bk-scene article>span{color:var(--bk-yellow);font:700 22px/1.4 Arial,sans-serif}.bk-scene h3{margin:0;color:#fff;font-size:21px;line-height:1.6}.bk-scene p{grid-column:2;margin:14px 0 0;color:#c9dbd0;font-size:15px;line-height:2}
.bk-prepare{background:#fff}.bk-prepare__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}.bk-prepare__heading{position:sticky;top:130px}.bk-prepare__heading>span{display:block;color:#607268;font-size:15px;line-height:2}
.bk-prepare__list{border-top:1px solid #d5dfd7}.bk-prepare__list article{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:28px 0;border-bottom:1px solid #d5dfd7}.bk-prepare__list b{color:#008443;font:700 22px/1.4 Arial,sans-serif}.bk-prepare__list h3{margin:0;font-size:20px}.bk-prepare__list p{margin:10px 0 0;color:#4d6055;font-size:15px;line-height:2}
.bk-flow{background:var(--bk-paper)}.bk-flow__list{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:38px 0 0;padding:0;list-style:none}.bk-flow__list li{position:relative;background:#fff}.bk-flow__list li>span{position:absolute;left:14px;top:14px;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#008443;color:#fff;font:700 12px Arial}.bk-flow__list img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.bk-flow__list li>div{padding:22px}.bk-flow__list small{color:#008443;font-size:10px;letter-spacing:.13em}.bk-flow__list h3{margin:8px 0 0;font-size:18px}.bk-flow__list p{margin:12px 0 0;color:#52645a;font-size:14px;line-height:1.9}
/* Keep the shared section spacing above and below the notice on every service page. */
.bk-notice{background:#fff}.bk-notice__box{padding:40px 46px;border:1px solid #ccd9cf;border-left:5px solid #008443;background:#f8faf7}.bk-notice__box h2{margin:0;font-size:27px}.bk-notice__box ul{display:grid;grid-template-columns:1fr 1fr;gap:16px 50px;margin:26px 0 0;padding-left:20px}.bk-notice__box li{color:#4d6055;font-size:14px;line-height:1.9}
.bk-faq{background:#f4f5f0}.bk-faq .faq-layout{align-items:start}.bk-faq .section-title.compact{position:sticky;top:130px}.bk-faq .faq-list details{border-bottom-color:#d1dbd3}
.bankruptcy-page a:focus-visible,.bankruptcy-page summary:focus-visible{outline:3px solid #008443;outline-offset:5px}
@media(hover:hover){.bk-primary:hover{background:#fff17a}.bk-assets__grid a:hover img{filter:brightness(.92)}}
@media(max-width:1023px){.bk-intro__grid{gap:45px}.bk-prepare__grid{gap:45px}.bk-flow__list{grid-template-columns:1fr 1fr}.bk-hero{min-height:590px}.bk-breadcrumb{margin-bottom:60px}}
@media(max-width:767px){
 .bankruptcy-page .section-pad{padding:68px 0}.bk-hero{min-height:0}.bk-hero__image::after{background:linear-gradient(180deg,rgba(3,44,29,.96),rgba(3,53,34,.82))}.bk-hero__inner{padding-top:18px}.bk-breadcrumb{margin-bottom:40px;font-size:10px}.bk-hero__copy{padding-bottom:58px}.bk-hero h1{font-size:clamp(31px,9vw,43px);line-height:1.48}.bk-hero h1>span{font-size:.58em}.bk-hero__copy>p:not(.bk-label){font-size:14px;line-height:1.95}.bk-hero__actions{align-items:stretch;flex-direction:column;gap:18px}.bk-primary{box-sizing:border-box;width:100%;min-width:0}.bk-phone strong{font-size:25px}
 .bk-summary__grid{grid-template-columns:1fr 1fr;padding:10px 0}.bk-summary__grid>div,.bk-summary__grid>div:first-child{padding:18px 12px;border:0}.bk-summary__grid>div:nth-child(-n+2){border-bottom:1px solid #dce5df}.bk-summary strong{font-size:14px}.bk-summary span{font-size:11px}
 .bk-intro__grid,.bk-prepare__grid{grid-template-columns:1fr;gap:42px}.bk-intro__copy h2,.bk-prepare__heading h2{font-size:29px}.bk-intro__copy>p:not(.bk-label){font-size:15px}.bk-intro__visual{margin:0 10px 20px 0}.bk-intro__visual>img{aspect-ratio:5/4}.bk-intro__visual figcaption{right:-10px;bottom:-20px;padding:18px 20px}.bk-intro__visual strong{font-size:16px}
 .bk-assets__grid{grid-template-columns:1fr 1fr;gap:24px 16px}.bk-assets__grid>:is(a,.bk-asset-card):first-child{grid-column:1/-1}.bk-assets__grid strong{font-size:16px}.bk-assets__grid em{font-size:11px}.bk-assets__grid :is(a,.bk-asset-card)>span{grid-template-columns:1fr;gap:5px}
 .bk-scene__grid{grid-template-columns:1fr}.bk-scene article{grid-template-columns:48px 1fr;padding:26px 0}.bk-scene h3{font-size:18px}.bk-scene p{font-size:14px}.bk-prepare__heading,.bk-faq .section-title.compact{position:static}.bk-prepare__list article{grid-template-columns:45px 1fr}.bk-prepare__list p{font-size:14px}
 .bk-flow__list{grid-template-columns:1fr 1fr;gap:16px}.bk-flow__list li>div{padding:17px}.bk-flow__list h3{font-size:16px}.bk-flow__list p{font-size:12px}.bk-notice__box{padding:28px 24px}.bk-notice__box ul{grid-template-columns:1fr;gap:12px}.bk-notice__box li{font-size:13px}
}
@media(max-width:390px){.bk-flow__list{grid-template-columns:1fr}.bk-assets__grid{grid-template-columns:1fr}.bk-assets__grid>:is(a,.bk-asset-card):first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.bankruptcy-page *{animation:none!important;transition:none!important}.bankruptcy-page .reveal-on-scroll{opacity:1;transform:none}}

/* 破産管財ページ：パンくずとSEOコンテンツ */
.bankruptcy-page .bk-breadcrumb {display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:#fff;font-size:12px;}
.bankruptcy-page .bk-breadcrumb .breadcrumb-line {display:block!important;flex:0 0 24px;width:24px;height:1px;margin:0;background:rgba(255,255,255,.62);}
.bk-page-nav {background:#fff;border-bottom:1px solid #dce5df;}
.bk-page-nav .container {display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;padding-top:24px;padding-bottom:24px;}
.bk-page-nav p {margin:0;color:#153a2a;font-size:14px;font-weight:800;white-space:nowrap;}
.bk-page-nav .container>div {display:flex;flex-wrap:wrap;gap:8px 20px;}
.bk-page-nav a {color:#456256;font-size:13px;text-decoration:underline;text-decoration-color:#b9c9be;text-underline-offset:5px;}
.bk-page-nav a:hover {color:#008443;text-decoration-color:#008443;}
.bk-understanding {background:#fff;}
.bk-understanding__grid {display:grid;grid-template-columns:1fr 1fr;gap:34px;}
.bk-understanding article {display:grid;grid-template-columns:43% 1fr;min-width:0;border-top:1px solid #cfdad2;padding-top:24px;}
.bk-understanding figure {margin:0;overflow:hidden;}
.bk-understanding figure img {display:block;width:100%;height:100%;min-height:290px;object-fit:cover;}
.bk-understanding article>div {padding:4px 0 0 26px;}
.bk-understanding small {color:#008443;font-size:12px;font-weight:700;letter-spacing:.12em;}
.bk-understanding h3 {margin:10px 0 12px;font-size:21px;line-height:1.6;}
.bk-understanding p {margin:0;color:#506359;font-size:15px;line-height:2;}
.bk-understanding ul {margin:16px 0 0;padding:14px 0 0;border-top:1px solid #e1e7e2;list-style:none;}
.bk-understanding li {position:relative;padding:5px 0 5px 15px;color:#42594d;font-size:14px;line-height:1.7;}
.bk-understanding li::before {content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;background:#008443;}
.bk-value {background:#eaf1eb;}
.bk-value__grid {display:grid;grid-template-columns:.75fr 1.25fr;gap:88px;align-items:start;}
.bk-value__heading h2 {margin:0;font-size:clamp(29px,3.3vw,43px);line-height:1.6;letter-spacing:.015em;}
.bk-value__content {padding-left:38px;border-left:1px solid #bdcec1;}
.bk-value__content p {margin:0 0 18px;color:#42594d;font-size:16px;line-height:2.15;}
.bk-value__content p:last-child {margin-bottom:0;}
@media(max-width:1023px){
 .bk-page-nav .container {grid-template-columns:1fr;gap:14px;}
 .bk-understanding article {grid-template-columns:38% 1fr;}
 .bk-understanding figure img {min-height:330px;}
 .bk-value__grid {gap:45px;}
}
@media(max-width:767px){
 .bankruptcy-page .bk-breadcrumb {gap:9px;font-size:11px;}
 .bankruptcy-page .bk-breadcrumb .breadcrumb-line {flex-basis:16px;width:16px;}
 .bk-page-nav .container {padding-top:20px;padding-bottom:20px;}
 .bk-page-nav .container>div {display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
 .bk-page-nav a {padding:8px 0;font-size:12px;line-height:1.7;}
 .bk-understanding__grid {grid-template-columns:1fr;gap:34px;}
 .bk-understanding article {grid-template-columns:1fr;}
 .bk-understanding figure img {min-height:0;aspect-ratio:16/9;}
 .bk-understanding article>div {padding:20px 0 0;}
 .bk-understanding p {font-size:14px;}
 .bk-value__grid {grid-template-columns:1fr;gap:28px;}
 .bk-value__heading h2 {font-size:28px;}
 .bk-value__content {padding:24px 0 0;border-left:0;border-top:1px solid #bdcec1;}
.bk-value__content p {font-size:15px;}
}

/* Essential page content must remain readable without scroll JavaScript. */
.bankruptcy-page .bk-content-visible,
.bankruptcy-page .reveal-on-scroll {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

/* Shared service review cards without an image column. */
.bankruptcy-page .bk-understanding article.service-review-card {display:block; padding:28px 0;}
.bankruptcy-page .bk-understanding .service-review-card>div {padding:0;}

/* WordPress integration */
body.admin-bar .site-header{top:32px}
body.admin-bar .mobile-menu{top:32px;max-height:calc(100dvh - 32px)}
@media(max-width:782px){body.admin-bar .site-header{top:46px}body.admin-bar .mobile-menu{top:46px;max-height:calc(100dvh - 46px)}}
@media(max-width:600px){#wpadminbar{position:fixed}}
.nisshin-skip-link{position:fixed;left:12px;top:-100px;background:#fff;color:#073d23;padding:12px 20px;z-index:100000}
.nisshin-skip-link:focus{top:12px}
.nisshin-default{padding:80px 0;min-height:50vh}
.nisshin-default h1{font-size:clamp(28px,4vw,46px);margin-bottom:32px}
.nisshin-default img{max-width:100%;height:auto}
.area-index-hero{padding:28px 0 76px;background:#073e28;color:#fff}
.area-index-hero .breadcrumb{margin-bottom:60px;color:#c1d8ca;display:flex;gap:16px}
.area-index-hero .breadcrumb a{color:inherit}
.area-index-label{font-size:12px;font-weight:800;letter-spacing:.16em;color:#cbe4a9}
.area-index-hero h1{font-size:clamp(36px,5vw,60px);margin:12px 0 24px}
.area-index-hero p:last-child{font-size:16px;line-height:2}
.area-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.area-index-card{padding:32px;border:1px solid #d6e1d8;border-radius:14px;background:#f7f9f5;color:#073e28;transition:background .2s,transform .2s}
.area-index-card:hover{background:#eaf3e8;transform:translateY(-3px)}
.area-index-card>span{font-size:10px;letter-spacing:.16em;color:#618171}
.area-index-card h3{font-size:28px;margin:12px 0}
.area-index-card p{font-size:14px;color:#506359}
.area-index-card b{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding-top:24px;border-top:1px solid #d6e1d8;margin-top:24px}
.area-index-card i{font-style:normal}
.area-index-note{font-size:14px;line-height:2;margin-top:36px;color:#506359}
@media(max-width:767px){.area-index-grid{grid-template-columns:1fr 1fr;gap:12px}.area-index-card{padding:20px 16px}.area-index-card h3{font-size:23px}.area-index-card p{font-size:12px}.area-index-hero{padding-bottom:52px}.area-index-hero p:last-child{font-size:14px}.area-index-hero .breadcrumb{margin-bottom:36px}}
@media(max-width:359px){.area-index-grid{grid-template-columns:1fr}}

/* Nationwide area navigation, shared across every page. */
.area-directory{padding:44px 0;background:#f1f5ef;color:#073e28}
.area-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.area-directory-heading p{margin:0;font-size:16px;font-weight:800}
.area-directory-heading>a{font-size:12px;color:#376349;text-underline-offset:5px}
.area-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.area-directory-region{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;align-items:start;padding:18px 0;border-top:1px solid #d6e1d8}
.area-directory-region h2{margin:7px 0 0;font-size:13px;line-height:1.7}
.area-directory-region>div{display:flex;flex-wrap:wrap;gap:7px}
.area-directory-region a{display:flex;align-items:center;gap:12px;padding:7px 10px;background:#fff;border:1px solid #d6e1d8;border-radius:5px;color:#073e28;font-size:12px;line-height:1.6;transition:background .2s,border-color .2s}
.area-directory-region a:hover,.area-directory-region a[aria-current="page"]{background:#e3efdf;border-color:#5a9366}
.area-directory a:focus-visible,.area-index-jump a:focus-visible{outline:3px solid #008443;outline-offset:3px}
.area-index-jump{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:48px}
.area-index-jump a{display:flex;gap:22px;align-items:center;padding:12px 18px;border:1px solid #d6e1d8;border-radius:6px;color:#073e28;font-size:13px}
.area-index-jump a:hover{background:#eaf3e8}
.area-index-region{margin-top:48px;scroll-margin-top:130px}
.area-index-region>h2{margin:0 0 24px;border-left:4px solid #008443;padding-left:18px;font-size:25px;line-height:1.5}
.municipality-source{margin:22px 0 0;color:#667a6c;font-size:11px;line-height:1.8}
.municipality-source a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.area-directory-grid{grid-template-columns:1fr}.area-directory-region{grid-template-columns:100px minmax(0,1fr)}}
@media(max-width:600px){.area-directory{padding:32px 0}.area-directory-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:18px}.area-directory-region{grid-template-columns:1fr;gap:12px;padding:18px 0}.area-directory-region h2{margin:0}.area-directory-region a{font-size:12px;padding:8px 11px}.area-index-jump{gap:8px;margin-bottom:32px}.area-index-jump a{font-size:12px;padding:10px 12px;gap:12px}.area-index-region{margin-top:36px}.area-index-region>h2{font-size:22px}}
