@charset "UTF-8";



.uchimado-lp {
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", Meiryo, sans-serif;
    color: #333;
    line-height: 1.7;
    background:
        radial-gradient(ellipse at top left, #FFF5EB 0%, transparent 50%),
        radial-gradient(ellipse at top right, #FFE8D1 0%, transparent 55%),
        linear-gradient(180deg, #FFF8F0 0%, #FFEFDC 30%, #FFF5EB 60%, #FFEDD5 100%);
    background-attachment: fixed;
    overflow-x: hidden;
    position: relative;
}
.uchimado-lp * { box-sizing: border-box; }

.uchi-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.uchimado-lp img { max-width: 100%; height: auto; display: block; }

.uchi-city-image {
    width: min(1280px, calc(100% - 24px));
    margin: 18px auto 0;
}
.uchi-city-image img {
    width: 100%;
    border-radius: 24px;
    box-shadow: 0 18px 48px rgba(255, 145, 64, 0.16);
}
.uchi-city-image--intro { margin-top: 12px; margin-bottom: 12px; }
.uchi-city-image--bridge { margin-top: 8px; margin-bottom: 8px; }
@media (max-width: 767px) {
    .uchi-city-image { width: calc(100% - 8px); margin: 10px auto 0; }
    .uchi-city-image img { border-radius: 18px; }
    .uchi-city-image--intro { margin-top: 6px; margin-bottom: 6px; }
    .uchi-city-image--bridge { margin-top: 4px; margin-bottom: 2px; }
}

.uchi-container { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.uchi-container--wide { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.uchi-container--narrow { max-width: 880px; margin: 0 auto; padding: 0 24px; }

.uchimado-lp::before {
    content: "";
    position: fixed;
    top: 10%; left: -150px;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(255,165,80,0.15) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}
.uchimado-lp::after {
    content: "";
    position: fixed;
    bottom: 10%; right: -150px;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(255,200,150,0.2) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.uchi-section { position: relative; z-index: 1; padding: 80px 24px; }


.uchi-page-h1 {
    font-size: clamp(22px, 3.4vw, 34px);
    font-weight: 900;
    line-height: 1.5;
    text-align: center;
    margin: 0 auto 8px;
    padding: 0 24px;
    max-width: 1120px;
    color: #2A1A0A;
    letter-spacing: 0.02em;
}
.uchi-page-h1 .accent {
    background: linear-gradient(transparent 65%, #FFD699 65%);
    color: #C8410B;
    padding: 0 4px;
}
.uchi-page-h1 .area {
    display: inline-block;
    background: #FF6B00;
    color: #fff;
    font-size: 0.7em;
    padding: 2px 12px;
    border-radius: 6px;
    margin-right: 6px;
    vertical-align: middle;
}
.uchi-page-lead {
    text-align: center;
    font-size: clamp(14px, 1.9vw, 17px);
    line-height: 1.85;
    color: #4A3A2A;
    max-width: 880px;
    margin: 0 auto 12px;
    padding: 0 24px;
}
.uchi-page-meta {
    text-align: center;
    font-size: 12px;
    color: #8A7560;
    margin: 0 auto 18px;
    padding: 0 24px;
}
.uchi-page-meta time { color: #6B5A48; font-weight: 600; }


.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.9s cubic-bezier(0.2, 0.8, 0.2, 1),
                transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
    will-change: opacity, transform;
}
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal--up      { transform: translateY(60px); }
.reveal--left    { transform: translateX(-60px); }
.reveal--right   { transform: translateX(60px); }
.reveal--scale   { transform: scale(0.85); }
.reveal--3d      { transform: perspective(1000px) rotateX(15deg) translateY(40px); transform-origin: top center; }
.reveal.is-visible.reveal--left,
.reveal.is-visible.reveal--right { transform: translateX(0); }
.reveal.is-visible.reveal--scale { transform: scale(1); }
.reveal.is-visible.reveal--3d    { transform: perspective(1000px) rotateX(0deg) translateY(0); }
.reveal[data-delay="100"] { transition-delay: 0.1s; }
.reveal[data-delay="200"] { transition-delay: 0.2s; }
.reveal[data-delay="300"] { transition-delay: 0.3s; }
.reveal[data-delay="400"] { transition-delay: 0.4s; }
.reveal[data-delay="500"] { transition-delay: 0.5s; }
.reveal[data-delay="600"] { transition-delay: 0.6s; }


.uchi-header {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 14px 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 4px 16px rgba(255, 107, 0, 0.08);
    border-bottom: 1px solid rgba(255, 107, 0, 0.1);
}
.uchi-header__logo img { max-height: 56px; width: auto; }
.uchi-header__cta {
    background: linear-gradient(135deg, #06C755, #04a344);
    color: #fff;
    padding: 12px 24px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    font-size: 15px;
    box-shadow: 0 4px 14px rgba(6, 199, 85, 0.3);
    transition: transform .2s, box-shadow .2s;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.uchi-header__cta:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(6,199,85,0.45); }
.uchi-header__cta-icon { font-size: 1.1em; }
.uchi-header__cta-text--full { display: inline; }
.uchi-header__cta-text--short { display: none; }


.uchi-breadcrumb {
    max-width: 1280px;
    margin: 14px auto 0;
    padding: 0 24px;
    font-size: 13px;
    color: #6B5A48;
}
.uchi-breadcrumb ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: center;
}
.uchi-breadcrumb li { display: inline-flex; align-items: center; gap: 10px; }
.uchi-breadcrumb li:not(:last-child)::after {
    content: "›";
    color: #C8A88A;
    margin-left: 4px;
}
.uchi-breadcrumb a {
    color: #C8410B;
    text-decoration: none;
}
.uchi-breadcrumb a:hover { text-decoration: underline; }
.uchi-breadcrumb [aria-current="page"] { color: #4A3A2A; font-weight: 600; }


.uchi-hero { padding: 24px 12px 40px; text-align: center; }
.uchi-hero__image {
    max-width: 1280px;
    margin: 0 auto 24px;
    width: 100%;
}
.uchi-hero__image img {
    width: 100%;
    border-radius: 28px;
    box-shadow: 0 24px 60px rgba(255,107,0,0.2);
}
.uchi-hero__ctas {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 760px;
    margin: 0 auto;
    padding: 0 12px;
}
.uchi-hero__cta {
    flex: 1 1 320px;
    padding: 22px 16px;
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    font-size: 19px;
    text-align: center;
    box-shadow: 0 14px 30px rgba(0,0,0,0.18);
    transition: transform .25s, box-shadow .25s;
}
.uchi-hero__cta--orange { background: linear-gradient(135deg, #FF7A1A, #FF3B3B); }
.uchi-hero__cta--line   { background: linear-gradient(135deg, #06C755, #04a344); }
.uchi-hero__cta:hover { transform: translateY(-4px) scale(1.02); box-shadow: 0 22px 40px rgba(0,0,0,0.25); }


.uchi-local {
    background: rgba(255,255,255,0.7);
    backdrop-filter: blur(8px);
    border-radius: 24px;
    margin: 30px auto;
    padding: 48px 32px;
    max-width: 1080px;
    box-shadow: 0 12px 36px rgba(255,145,64,0.12);
    border: 1px solid rgba(255,165,80,0.2);
}
.uchi-local__title {
    font-size: clamp(20px, 2.8vw, 28px);
    font-weight: 900;
    color: #C8410B;
    text-align: center;
    margin: 0 0 24px;
    line-height: 1.5;
}
.uchi-local__title small { display: block; font-size: 0.55em; color: #6B5A48; font-weight: 600; margin-bottom: 6px; }
.uchi-local__lead {
    font-size: 16px;
    line-height: 1.95;
    color: #3A2A1A;
    margin: 0 0 26px;
}
.uchi-local__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
    margin: 0 0 26px;
}
.uchi-local__card {
    background: #fff;
    border-radius: 16px;
    padding: 22px 20px;
    box-shadow: 0 6px 18px rgba(255,145,64,0.1);
    border-top: 4px solid #FF6B00;
}
.uchi-local__card h3 {
    font-size: 16px;
    font-weight: 800;
    color: #C8410B;
    margin: 0 0 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.uchi-local__card h3::before {
    content: "📍";
    font-size: 1.1em;
}
.uchi-local__card p {
    font-size: 14px;
    line-height: 1.85;
    color: #4A3A2A;
    margin: 0;
}
.uchi-local__card strong { color: #C8410B; }


.uchi-localsubsidy {
    background: linear-gradient(135deg, #FFF5E6, #FFE8CF);
    border-radius: 28px;
    margin: 40px auto;
    padding: 48px 32px;
    max-width: 1080px;
    box-shadow: 0 16px 44px rgba(255,107,0,0.15);
    border: 2px dashed #FF8C42;
    position: relative;
}
.uchi-localsubsidy::before {
    content: "自社施工の専門店だから上乗せ補助OK";
    position: absolute;
    top: -16px;
    left: 50%;
    transform: translateX(-50%);
    background: #C8410B;
    color: #fff;
    padding: 6px 22px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.05em;
    box-shadow: 0 6px 16px rgba(200,65,11,0.4);
}
.uchi-localsubsidy__title {
    font-size: clamp(20px, 2.8vw, 28px);
    font-weight: 900;
    color: #2A1A0A;
    text-align: center;
    margin: 8px 0 18px;
    line-height: 1.5;
}
.uchi-localsubsidy__title em {
    font-style: normal;
    color: #C8410B;
    background: linear-gradient(transparent 60%, #FFD699 60%);
    padding: 0 6px;
}
.uchi-localsubsidy__lead {
    font-size: 15px;
    line-height: 1.95;
    color: #3A2A1A;
    margin: 0 0 24px;
    text-align: center;
}
.uchi-localsubsidy__compare {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: 12px;
    align-items: stretch;
    margin: 0 0 22px;
}
@media (max-width: 980px) {
    .uchi-localsubsidy__compare { grid-template-columns: 1fr; gap: 14px; }
}
.uchi-localsubsidy__box {
    background: #fff;
    border-radius: 18px;
    padding: 22px 18px;
    box-shadow: 0 8px 22px rgba(255,145,64,0.12);
    text-align: center;
    position: relative;
}
.uchi-localsubsidy__box h3 {
    font-size: 14px;
    color: #6B5A48;
    margin: 0 0 6px;
    font-weight: 700;
}
.uchi-localsubsidy__box .amount {
    font-size: clamp(26px, 4.6vw, 40px);
    font-weight: 900;
    color: #C8410B;
    line-height: 1.1;
    margin: 4px 0 6px;
}
.uchi-localsubsidy__box .amount small { font-size: 0.5em; margin-left: 4px; }
.uchi-localsubsidy__box p { font-size: 13px; color: #4A3A2A; margin: 0; line-height: 1.6; }

.uchi-localsubsidy__box--city {
    background: linear-gradient(180deg, #FFF8EE 0%, #FFFFFF 100%);
    border: 2px solid #FF9140;
    box-shadow: 0 10px 26px rgba(255,107,0,0.18);
}
.uchi-localsubsidy__box--city::before {
    content: "お客様限定";
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: #FF6B00;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    padding: 3px 12px;
    border-radius: 999px;
    letter-spacing: 0.05em;
    white-space: nowrap;
}
.uchi-localsubsidy__plus {
    align-self: center;
    font-size: 30px;
    font-weight: 900;
    color: #FF6B00;
}
@media (max-width: 980px) {
    .uchi-localsubsidy__plus { padding: 2px 0; }
}
.uchi-localsubsidy__note {
    font-size: 12px;
    color: #6B5A48;
    text-align: center;
    line-height: 1.7;
    margin: 0;
}


.uchi-budget-alert {
    background: #fff;
    border-radius: 24px;
    margin: 30px auto;
    padding: 36px 32px;
    max-width: 1080px;
    box-shadow: 0 14px 40px rgba(217, 56, 35, 0.18);
    border: 3px solid #D93823;
    position: relative;
    overflow: hidden;
}
.uchi-budget-alert::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 6px;
    background: repeating-linear-gradient(
        45deg,
        #D93823 0, #D93823 18px,
        #FFD700 18px, #FFD700 36px
    );
}
.uchi-budget-alert__icon {
    text-align: center;
    font-size: 38px;
    margin: 0 0 4px;
    line-height: 1;
}
.uchi-budget-alert__title {
    font-size: clamp(20px, 2.8vw, 26px);
    font-weight: 900;
    color: #C8240B;
    text-align: center;
    margin: 0 0 14px;
    line-height: 1.5;
}
.uchi-budget-alert__title em {
    font-style: normal;
    background: linear-gradient(transparent 60%, #FFE066 60%);
    padding: 0 6px;
}
.uchi-budget-alert__lead {
    font-size: 15px;
    line-height: 1.95;
    color: #3A2A1A;
    text-align: center;
    margin: 0 0 22px;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}
.uchi-budget-alert__lead strong { color: #C8240B; }
.uchi-budget-alert__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    max-width: 880px;
    margin: 0 auto 22px;
}
.uchi-budget-alert__stat {
    background: #FFF5F2;
    border: 1px solid #FFD0C2;
    border-radius: 14px;
    padding: 18px 16px;
    text-align: center;
}
.uchi-budget-alert__stat-label {
    font-size: 12px;
    color: #6B5A48;
    font-weight: 700;
    margin: 0 0 4px;
    letter-spacing: 0.05em;
}
.uchi-budget-alert__stat-value {
    font-size: clamp(22px, 3vw, 28px);
    font-weight: 900;
    color: #C8240B;
    line-height: 1.2;
    margin: 0 0 4px;
}
.uchi-budget-alert__stat-value small {
    font-size: 0.55em;
    color: #C8240B;
    margin-left: 2px;
}
.uchi-budget-alert__stat-desc {
    font-size: 12px;
    color: #4A3A2A;
    line-height: 1.5;
    margin: 0;
}
.uchi-budget-alert__cta {
    display: block;
    text-align: center;
    margin: 0 auto;
    background: linear-gradient(135deg, #D93823, #B82A18);
    color: #fff;
    padding: 18px 28px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    font-size: 16px;
    max-width: 480px;
    box-shadow: 0 12px 28px rgba(217,56,35,0.35);
    transition: transform .2s, box-shadow .2s;
}
.uchi-budget-alert__cta:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 18px 36px rgba(217,56,35,0.45);
}
.uchi-budget-alert__note {
    font-size: 11px;
    color: #8A7560;
    text-align: center;
    line-height: 1.7;
    margin: 14px 0 0;
}
@media (max-width: 767px) {
    .uchi-budget-alert {
        padding: 28px 18px;
        margin: 22px 8px;
        border-radius: 18px;
        border-width: 2px;
    }
    .uchi-budget-alert__icon { font-size: 30px; }
    .uchi-budget-alert__stats { grid-template-columns: 1fr; }
}


.uchi-problem { padding: 70px 24px; }
.uchi-problem__title {
    font-size: clamp(24px, 3.6vw, 36px);
    font-weight: 900;
    text-align: center;
    color: #2A1A0A;
    margin: 0 0 12px;
    line-height: 1.4;
}
.uchi-problem__title strong { color: #C8410B; background: linear-gradient(transparent 60%, #FFD699 60%); padding: 0 4px; }
.uchi-problem__sub {
    text-align: center;
    font-size: 16px;
    color: #6B5A48;
    margin: 0 0 36px;
}
.uchi-problem__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
    max-width: 1040px;
    margin: 0 auto;
}
.uchi-problem__item {
    background: #fff;
    padding: 22px 26px;
    border-radius: 16px;
    font-weight: 700;
    color: #3A2A1A;
    box-shadow: 0 8px 22px rgba(255,145,64,0.1);
    position: relative;
    padding-left: 56px;
    line-height: 1.6;
}
.uchi-problem__item::before {
    content: "💭";
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
}
.uchi-problem__answer {
    display: block;
    text-align: center;
    margin: 36px auto 0;
    background: linear-gradient(135deg, #FF7A1A, #FF3B3B);
    color: #fff;
    padding: 22px 24px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    font-size: 17px;
    max-width: 600px;
    box-shadow: 0 14px 34px rgba(255,107,0,0.3);
}


.uchi-subsidy-wrap { padding: 30px 16px; }
.uchi-subsidy {
    background: linear-gradient(135deg, #C8410B, #FF6B00);
    color: #fff;
    border-radius: 28px;
    padding: 50px 32px;
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
    box-shadow: 0 24px 56px rgba(200,65,11,0.3);
    position: relative;
    overflow: hidden;
}
.uchi-subsidy::before {
    content: "";
    position: absolute;
    top: -50px; left: -50px;
    width: 200px; height: 200px;
    background: radial-gradient(circle, rgba(255,255,255,0.15), transparent);
    border-radius: 50%;
}
.uchi-subsidy::after {
    content: "";
    position: absolute;
    bottom: -50px; right: -50px;
    width: 200px; height: 200px;
    background: radial-gradient(circle, rgba(255,255,255,0.15), transparent);
    border-radius: 50%;
}
.uchi-subsidy__label {
    display: inline-block;
    background: rgba(255,255,255,0.2);
    padding: 6px 20px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 14px;
}
.uchi-subsidy__title {
    font-size: clamp(22px, 3.2vw, 32px);
    font-weight: 900;
    margin: 0 0 12px;
    line-height: 1.4;
    color: #fff;
}
.uchi-subsidy__amount {
    font-size: clamp(54px, 8vw, 88px);
    font-weight: 900;
    line-height: 1;
    margin: 16px 0 8px;
    text-shadow: 0 6px 18px rgba(0,0,0,0.2);
}
.uchi-subsidy__amount small { font-size: 0.4em; margin-left: 6px; }
.uchi-subsidy__note { font-size: 13px; opacity: 0.9; margin: 0 0 20px; }
.uchi-subsidy__deadline {
    background: rgba(255,255,255,0.95);
    color: #C8410B;
    padding: 12px 20px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 15px;
    margin: 18px auto;
    max-width: 600px;
    line-height: 1.5;
}
.uchi-subsidy__features {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 24px;
    margin: 14px 0 0;
    font-size: 15px;
    font-weight: 700;
}


.uchi-section-title {
    font-size: clamp(22px, 3.2vw, 32px);
    font-weight: 900;
    text-align: center;
    color: #2A1A0A;
    margin: 0 0 32px;
    line-height: 1.4;
}
.uchi-title-image { max-width: 780px; margin: 0 auto 32px; }
.uchi-title-image img { width: 100%; }


.uchi-strengths { padding: 60px 24px; }
.uchi-strength-card {
    max-width: 880px;
    margin: 0 auto 24px;
}
.uchi-strength-card img {
    width: 100%;
    border-radius: 22px;
    box-shadow: 0 14px 36px rgba(255,145,64,0.18);
}


.uchi-numbers { padding: 60px 24px; background: rgba(255,255,255,0.5); }
.uchi-numbers__title-image { max-width: 780px; margin: 0 auto 28px; }
.uchi-numbers__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
    max-width: 1080px;
    margin: 0 auto;
}
.uchi-numbers__item {
    background: #fff;
    border-radius: 20px;
    padding: 28px 20px;
    text-align: center;
    box-shadow: 0 10px 28px rgba(255,145,64,0.14);
    border-top: 5px solid #FF6B00;
}
.uchi-numbers__label {
    font-size: 13px;
    color: #6B5A48;
    font-weight: 700;
    margin-bottom: 6px;
    letter-spacing: 0.05em;
}
.uchi-numbers__value {
    font-size: clamp(40px, 6vw, 56px);
    font-weight: 900;
    color: #C8410B;
    line-height: 1;
    margin: 6px 0 8px;
}
.uchi-numbers__value small { font-size: 0.4em; margin-left: 4px; color: #FF6B00; }
.uchi-numbers__desc { font-size: 14px; color: #4A3A2A; line-height: 1.5; }


.uchi-cases { padding: 60px 24px; }
.uchi-case-card {
    max-width: 880px;
    margin: 0 auto 24px;
}
.uchi-case-card img {
    width: 100%;
    border-radius: 22px;
    box-shadow: 0 14px 36px rgba(255,145,64,0.18);
}


.uchi-pricing { padding: 60px 24px; background: rgba(255,255,255,0.5); }
.uchi-pricing__image { max-width: 880px; margin: 0 auto 16px; }
.uchi-pricing__image img {
    width: 100%;
    border-radius: 22px;
    box-shadow: 0 14px 36px rgba(255,145,64,0.18);
}
.uchi-pricing__note {
    text-align: center;
    font-size: 13px;
    color: #6B5A48;
    line-height: 1.7;
    max-width: 880px;
    margin: 0 auto;
}


.uchi-voice { padding: 60px 24px; }
.uchi-voice__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    max-width: 1180px;
    margin: 0 auto;
}
.uchi-voice__card {
    background: #fff;
    padding: 32px 28px;
    border-radius: 22px;
    box-shadow: 0 12px 32px rgba(255,145,64,0.14);
    position: relative;
    border-top: 5px solid #FF6B00;
}
.uchi-voice__card::before {
    content: "“";
    position: absolute;
    top: 8px;
    left: 22px;
    font-size: 88px;
    color: rgba(255,107,0,0.12);
    font-family: serif;
    line-height: 1;
}
.uchi-voice__stars { color: #FFB300; font-size: 20px; margin-bottom: 12px; letter-spacing: 4px; }
.uchi-voice__title {
    font-size: 18px;
    font-weight: 900;
    color: #2A1A0A;
    margin: 0 0 10px;
    line-height: 1.4;
}
.uchi-voice__body {
    font-size: 15px;
    line-height: 1.8;
    color: #4A3A2A;
    margin: 0 0 18px;
}
.uchi-voice__meta {
    font-size: 13px;
    color: #8A7560;
    border-top: 1px solid #FFE8D1;
    padding-top: 12px;
}
.uchi-voice__decide {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #FFF5E5 0%, #FFE8D1 100%);
    border-left: 4px solid #FF6B00;
    padding: 8px 12px 8px 14px;
    border-radius: 0 8px 8px 0;
    font-size: 12.5px;
    font-weight: 700;
    color: #5A3700;
    margin-bottom: 10px;
    line-height: 1.5;
}
.uchi-voice__decide-label {
    display: inline-block;
    background: #C8410B;
    color: #fff;
    font-size: 10.5px;
    font-weight: 900;
    padding: 2px 8px;
    border-radius: 4px;
    margin-right: 6px;
    letter-spacing: 0.5px;
    flex-shrink: 0;
    white-space: nowrap;
}
.uchi-voice__decide strong { color: #C8410B; }


.uchi-process { padding: 60px 24px; }
.uchi-process__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
    max-width: 1180px;
    margin: 0 auto;
    counter-reset: step;
}
.uchi-process__item {
    background: #fff;
    border-radius: 20px;
    padding: 28px 22px 22px;
    box-shadow: 0 10px 28px rgba(255,145,64,0.12);
    position: relative;
    counter-increment: step;
}
.uchi-process__item::before {
    content: "STEP " counter(step);
    position: absolute;
    top: -14px;
    left: 22px;
    background: #FF6B00;
    color: #fff;
    padding: 4px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
}
.uchi-process__item h3 {
    font-size: 17px;
    font-weight: 800;
    color: #2A1A0A;
    margin: 14px 0 10px;
    line-height: 1.4;
}
.uchi-process__item p {
    font-size: 14px;
    line-height: 1.75;
    color: #4A3A2A;
    margin: 0;
}


.uchi-article {
    background: rgba(255,255,255,0.7);
    border-radius: 24px;
    margin: 40px auto;
    padding: 48px 36px;
    max-width: 920px;
    box-shadow: 0 12px 36px rgba(255,145,64,0.12);
}
.uchi-article h2 {
    font-size: clamp(20px, 2.6vw, 26px);
    font-weight: 900;
    color: #C8410B;
    border-left: 6px solid #FF6B00;
    padding-left: 14px;
    margin: 0 0 22px;
    line-height: 1.5;
}
.uchi-article h3 {
    font-size: clamp(17px, 2.2vw, 20px);
    font-weight: 800;
    color: #2A1A0A;
    margin: 28px 0 12px;
    padding-bottom: 6px;
    border-bottom: 2px dotted #FF8C42;
}
.uchi-article p {
    font-size: 15px;
    line-height: 1.95;
    color: #3A2A1A;
    margin: 0 0 16px;
}
.uchi-article ul {
    background: #FFF8F0;
    border-radius: 12px;
    padding: 18px 18px 18px 38px;
    margin: 0 0 18px;
}
.uchi-article ul li {
    font-size: 15px;
    line-height: 1.85;
    color: #3A2A1A;
    margin-bottom: 6px;
}
.uchi-article ul li::marker { color: #FF6B00; font-weight: 900; }
.uchi-article strong { color: #C8410B; }
.uchi-article a { color: #C8410B; text-decoration: underline; text-underline-offset: 3px; }


.uchi-faq { padding: 60px 24px; }
.uchi-faq__list { max-width: 920px; margin: 0 auto; }
.uchi-faq__item {
    background: #fff;
    border-radius: 16px;
    margin-bottom: 14px;
    box-shadow: 0 6px 18px rgba(255,145,64,0.1);
    overflow: hidden;
}
.uchi-faq__q {
    list-style: none;
    padding: 24px 64px 24px 76px;
    font-size: 17px;
    font-weight: 800;
    color: #2A1A0A;
    cursor: pointer;
    position: relative;
    line-height: 1.5;
}
.uchi-faq__q::-webkit-details-marker { display: none; }
.uchi-faq__q::before {
    content: "Q";
    position: absolute;
    left: 22px;
    top: 22px;
    width: 38px; height: 38px;
    background: #FF6B00;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 900;
}
.uchi-faq__q::after {
    content: "+";
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px; height: 30px;
    background: #FFE8D1;
    color: #C8410B;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    font-weight: 900;
    transition: transform .3s;
}
.uchi-faq__item[open] .uchi-faq__q::after { content: "−"; transform: translateY(-50%) rotate(180deg); }
.uchi-faq__a {
    padding: 0 24px 24px 76px;
    font-size: 15px;
    line-height: 1.85;
    color: #4A3A2A;
    position: relative;
}
.uchi-faq__a::before {
    content: "A";
    position: absolute;
    left: 22px;
    top: 0;
    width: 38px; height: 38px;
    background: #FFE8D1;
    color: #C8410B;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 900;
}


.uchi-form { padding: 60px 24px 100px; }
.uchi-form__head {
    max-width: 880px;
    margin: 0 auto;
}
.uchi-form__head img {
    width: 100%;
    border-radius: 22px 22px 0 0;
}
.uchi-form__wrap {
    max-width: 880px;
    margin: 0 auto;
    background: #fff;
    padding: 36px 32px;
    border-radius: 0 0 22px 22px;
    box-shadow: 0 16px 40px rgba(255,145,64,0.18);
}
.uchi-form__wrap .wpcf7-form label {
    display: block;
    font-weight: 700;
    color: #3A2A1A;
    margin: 18px 0 6px !important;
    font-size: 15px !important;
}
.uchi-form__wrap .wpcf7-form input[type="text"],
.uchi-form__wrap .wpcf7-form input[type="email"],
.uchi-form__wrap .wpcf7-form input[type="tel"],
.uchi-form__wrap .wpcf7-form input[type="number"],
.uchi-form__wrap .wpcf7-form input[type="url"],
.uchi-form__wrap .wpcf7-form select,
.uchi-form__wrap .wpcf7-form textarea {
    width: 100% !important;
    padding: 14px 18px !important;
    border: 2px solid #FFD699 !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    background: #FFFCF7 !important;
    transition: border-color .2s, background .2s, box-shadow .2s !important;
    font-family: inherit !important;
}
.uchi-form__wrap .wpcf7-form select {
    background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'><path fill='%23FF6B00' d='M7 10L0 0h14z'/></svg>") no-repeat right 16px center !important;
    padding-right: 44px !important;
    cursor: pointer;
}
.uchi-form__wrap .wpcf7-form input:focus,
.uchi-form__wrap .wpcf7-form select:focus,
.uchi-form__wrap .wpcf7-form textarea:focus {
    border-color: #FF6B00 !important;
    background: #FFFDFB !important;
    box-shadow: 0 0 0 4px rgba(255,107,0,0.15) !important;
}
.uchi-form__wrap .wpcf7-form textarea { min-height: 160px !important; resize: vertical; }
.uchi-form__wrap .wpcf7-form input::placeholder,
.uchi-form__wrap .wpcf7-form textarea::placeholder { color: #BBB !important; font-weight: 400 !important; }


.uchi-form__wrap .wpcf7-form .wpcf7-list-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 8px 24px 8px 0 !important;
    padding: 6px 0 !important;
    vertical-align: middle;
}
.uchi-form__wrap .wpcf7-form .wpcf7-list-item input[type="checkbox"],
.uchi-form__wrap .wpcf7-form .wpcf7-list-item input[type="radio"] {
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0;
    cursor: pointer;
    accent-color: #FF6B00;
    -webkit-appearance: auto !important;
    appearance: auto !important;
}
.uchi-form__wrap .wpcf7-form .wpcf7-list-item-label {
    font-size: 16px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    color: #333 !important;
    cursor: pointer;
}
.uchi-form__wrap .wpcf7-form .wpcf7-checkbox,
.uchi-form__wrap .wpcf7-form .wpcf7-radio {
    display: block;
    margin-top: 10px;
}
.uchi-form__wrap .wpcf7-form .wpcf7-acceptance {
    display: block !important;
    text-align: center !important;
    margin: 28px auto 0 !important;
}
.uchi-form__wrap .wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
    display: inline-flex !important;
    justify-content: center !important;
    margin: 0 auto !important;
}
.uchi-form__wrap .wpcf7-form p:has(.wpcf7-acceptance) { text-align: center !important; }
.uchi-form__wrap .wpcf7-response-output {
    margin: 24px 0 0 !important;
    padding: 16px 20px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    text-align: center;
}
.uchi-form__wrap .wpcf7-not-valid-tip {
    color: #D32F2F !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-top: 6px !important;
    display: block;
}
.uchi-form__wrap .wpcf7-form.invalid .wpcf7-response-output,
.uchi-form__wrap .wpcf7-form.unaccepted .wpcf7-response-output {
    border: 2px solid #FFCDD2 !important;
    background: #FFEBEE !important;
    color: #C62828 !important;
}
.uchi-form__wrap .wpcf7-form.sent .wpcf7-response-output {
    border: 2px solid #A5D6A7 !important;
    background: #E8F5E9 !important;
    color: #2E7D32 !important;
}


.uchi-rocket-wrap {
    position: relative;
    margin: 40px auto 0 !important;
    padding: 10px 0 0 0 !important;
    max-width: 780px !important;
    width: 100% !important;
    overflow: visible;
    min-height: 180px;
    text-align: center;
}
.uchi-form__wrap .wpcf7-form input.wpcf7-submit,
.uchi-form__wrap .wpcf7-form input[type="submit"],
.uchi-form__wrap .wpcf7-form input.wpcf7-form-control.has-spinner.wpcf7-submit {
    display: block !important;
    width: 100% !important;
    max-width: 780px !important;
    height: auto !important;
    min-height: 100px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background-color: transparent !important;
    background-image: url('https://esuwai.net/wp-content/uploads/2026/05/サッシ屋さんへ相談送信.png') !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center center !important;
    aspect-ratio: 780 / 180 !important;
    border: none !important;
    border-radius: 16px !important;
    outline: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    text-indent: -9999px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    filter: drop-shadow(0 14px 28px rgba(6,199,85,0.35));
    transition: filter .3s, transform .3s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    position: relative;
    z-index: 2;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.uchi-form__wrap .wpcf7-form input.wpcf7-submit:hover,
.uchi-form__wrap .wpcf7-form input[type="submit"]:hover {
    filter: drop-shadow(0 20px 40px rgba(6,199,85,0.55)) brightness(1.05);
    transform: translateY(-4px) scale(1.01) !important;
}
.uchi-form__wrap .wpcf7-form input.wpcf7-submit:active,
.uchi-form__wrap .wpcf7-form input[type="submit"]:active {
    transform: translateY(1px) scale(0.99) !important;
}
.uchi-form__wrap .wpcf7-spinner { display: none !important; }

.uchi-rocket-wrap.is-launching input.wpcf7-submit,
.uchi-rocket-wrap.is-launching input[type="submit"] {
    animation: rocketLaunch 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards !important;
    pointer-events: none !important;
}
@keyframes rocketLaunch {
    0%   { transform: translate(0, 0) scale(1); filter: drop-shadow(0 14px 28px rgba(6,199,85,0.35)); }
    2%   { transform: translate(-3px, 0) scale(1) rotate(-0.6deg); }
    4%   { transform: translate(3px, 0) scale(1) rotate(0.6deg); }
    6%   { transform: translate(-3px, 1px) rotate(-0.6deg); }
    8%   { transform: translate(3px, 0) rotate(0.6deg); }
    15%  { transform: translate(0, 8px) scale(0.96); filter: drop-shadow(0 6px 14px rgba(6,199,85,0.35)); }
    20%  { transform: translate(0, 6px) scale(0.97); }
    28%  { transform: translate(0, -20px) scale(1.02); filter: drop-shadow(0 24px 48px rgba(255,180,60,0.7)) brightness(1.1); }
    45%  { transform: translate(0, -130px) scale(0.88); filter: drop-shadow(0 28px 50px rgba(255,180,60,0.6)) brightness(1.05); }
    70%  { transform: translate(0, -340px) scale(0.45); opacity: 0.7; }
    100% { transform: translate(0, -640px) scale(0.12); opacity: 0; filter: drop-shadow(0 10px 30px rgba(6,199,85,0.2)); }
}
.uchi-rocket-flame {
    position: absolute; left: 50%; bottom: 0;
    transform: translateX(-50%) scaleY(0); transform-origin: top center;
    width: 0; height: 0; pointer-events: none; opacity: 0; z-index: 1;
}
.uchi-rocket-wrap.is-launching .uchi-rocket-flame {
    animation: flameEffect 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-delay: 0.1s;
}
@keyframes flameEffect {
    0%   { opacity: 0; transform: translateX(-50%) scaleY(0); width: 0; height: 0; }
    15%  { opacity: 1; transform: translateX(-50%) scaleY(1); width: 60%; height: 30px; }
    40%  { opacity: 1; transform: translateX(-50%) scaleY(1.5); width: 70%; height: 100px; }
    100% { opacity: 0; transform: translateX(-50%) scaleY(2); width: 30%; height: 220px; }
}
.uchi-rocket-flame::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(ellipse at top, #FFFFFF 0%, #FFE57F 20%, #FFB300 45%, #FF6F00 70%, transparent 100%);
    border-radius: 50% 50% 50% 50% / 10% 10% 90% 90%;
    filter: blur(2px);
}
.uchi-rocket-wrap.is-launching .uchi-rocket-flame::before {
    animation: flameFlicker 0.15s ease-in-out infinite alternate;
}
@keyframes flameFlicker {
    0%   { transform: scaleX(1) scaleY(1); opacity: 1; }
    100% { transform: scaleX(0.9) scaleY(1.1); opacity: 0.9; }
}
.uchi-rocket-smoke {
    position: absolute; left: 50%; bottom: 0;
    width: 14px; height: 14px;
    background: radial-gradient(circle, rgba(200,200,200,0.75) 0%, rgba(200,200,200,0) 70%);
    border-radius: 50%; pointer-events: none; opacity: 0; z-index: 0;
}
.uchi-rocket-wrap.is-launching .uchi-rocket-smoke { animation: smokeBurst 1.4s ease-out forwards; }
.uchi-rocket-wrap.is-launching .uchi-rocket-smoke.s1 { animation-delay: 0.2s; --dx: -80px; --dy: 40px; }
.uchi-rocket-wrap.is-launching .uchi-rocket-smoke.s2 { animation-delay: 0.25s; --dx: 80px;  --dy: 50px; }
.uchi-rocket-wrap.is-launching .uchi-rocket-smoke.s3 { animation-delay: 0.3s;  --dx: -140px; --dy: 20px; }
.uchi-rocket-wrap.is-launching .uchi-rocket-smoke.s4 { animation-delay: 0.35s; --dx: 140px;  --dy: 30px; }
.uchi-rocket-wrap.is-launching .uchi-rocket-smoke.s5 { animation-delay: 0.4s;  --dx: -200px; --dy: 10px; }
.uchi-rocket-wrap.is-launching .uchi-rocket-smoke.s6 { animation-delay: 0.45s; --dx: 200px;  --dy: 20px; }
@keyframes smokeBurst {
    0%   { opacity: 0; transform: translate(-50%, 0) scale(0.3); }
    20%  { opacity: 1; transform: translate(calc(-50% + var(--dx) * 0.3), calc(var(--dy) * 0.3)) scale(1.5); }
    100% { opacity: 0; transform: translate(calc(-50% + var(--dx)), var(--dy)) scale(4); }
}
.uchi-rocket-success {
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%) scale(0.5);
    background: linear-gradient(135deg, #06C755, #04a344);
    color: #fff; padding: 20px 40px;
    border-radius: 999px; font-size: 20px; font-weight: 900;
    letter-spacing: 0.05em;
    box-shadow: 0 12px 30px rgba(6,199,85,0.5);
    white-space: nowrap;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none; z-index: 3;
    transition: opacity .4s, transform .5s cubic-bezier(0.175, 0.885, 0.32, 1.275), visibility 0s .4s;
}
.uchi-rocket-wrap.is-launched .uchi-rocket-success {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, -50%) scale(1);
    transition-delay: 0s;
    animation: successBounce 0.6s ease;
}
@keyframes successBounce {
    0%,100% { transform: translate(-50%, -50%) scale(1); }
    50%     { transform: translate(-50%, -50%) scale(1.08); }
}
@media (prefers-reduced-motion: reduce) {
    .uchi-rocket-wrap.is-launching input.wpcf7-submit,
    .uchi-rocket-wrap.is-launching .uchi-rocket-flame,
    .uchi-rocket-wrap.is-launching .uchi-rocket-smoke {
        animation: none !important;
    }
    .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}


.uchi-fixed-cta {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(10px);
    box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
    padding: 12px 14px;
    display: flex;
    gap: 10px;
    z-index: 90;
    border-top: 2px solid #FF6B00;
}
.uchi-fixed-cta__btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 10px;
    border-radius: 14px;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    font-size: 15px;
    transition: transform .2s, box-shadow .2s;
}
.uchi-fixed-cta__btn:hover { transform: translateY(-3px) scale(1.03); }
.uchi-fixed-cta__btn--line { background: linear-gradient(135deg, #06C755, #04a344); box-shadow: 0 6px 18px rgba(6,199,85,0.4); }
.uchi-fixed-cta__btn--form { background: linear-gradient(135deg, #FF6B00, #FF3B3B); box-shadow: 0 6px 18px rgba(255,107,0,0.4); }
@media (min-width: 768px) {
    .uchi-fixed-cta {
        bottom: 40px; right: 40px; left: auto;
        flex-direction: column;
        width: 120px;
        padding: 20px 16px;
        border-radius: 24px;
        border-top: none;
        gap: 16px;
        box-shadow: 0 20px 48px rgba(0,0,0,0.2);
    }
    .uchi-fixed-cta__btn { flex-direction: column; padding: 14px 4px; gap: 6px; font-size: 13px; }
    .uchi-fixed-cta__btn .icon { font-size: 26px; }
}


.uchi-backtotop {
    position: fixed;
    bottom: 100px; right: 20px;
    width: 50px; height: 50px;
    border-radius: 50%;
    background: #FF6B00;
    color: #fff;
    border: none;
    font-size: 22px;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(255,107,0,0.4);
    z-index: 80;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s, transform .2s;
}
.uchi-backtotop::before { content: "▲"; }
.uchi-backtotop.is-visible { opacity: 1; visibility: visible; }
.uchi-backtotop:hover { transform: translateY(-3px); }
@media (min-width: 768px) {
    .uchi-backtotop { right: 180px; bottom: 50px; }
}


@media (max-width: 767px) {
    .uchi-section { padding: 40px 12px; }
    .uchi-header { padding: 10px 14px; }
    .uchi-header__logo img { max-height: 38px; }
    .uchi-header__cta { padding: 9px 14px; font-size: 12px; }
    .uchi-header__cta-text--full { display: none; }
    .uchi-header__cta-text--short { display: inline; }
    .uchi-hero { padding: 16px 6px 24px; }
    .uchi-hero__cta { font-size: 17px; padding: 18px 12px; flex: 1 1 100%; }
    .uchi-page-h1 { font-size: 22px; padding: 0 14px; }
    .uchi-page-lead { font-size: 14px; padding: 0 14px; }
    .uchi-problem { padding: 40px 14px; }
    .uchi-problem__item { padding: 18px 18px 18px 50px; font-size: 14px; }
    .uchi-problem__item::before { left: 14px; font-size: 18px; }
    .uchi-subsidy { padding: 32px 20px; border-radius: 22px; }
    .uchi-subsidy__amount { font-size: 64px; }
    .uchi-strengths { padding: 30px 6px; }
    .uchi-strength-card { max-width: 100%; padding: 0 6px; }
    .uchi-strength-card img { border-radius: 16px; }
    .uchi-numbers { padding: 30px 6px; }
    .uchi-numbers__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .uchi-numbers__item { padding: 18px 8px; }
    .uchi-numbers__value { font-size: 36px; }
    .uchi-cases { padding: 30px 4px; }
    .uchi-case-card { max-width: 100%; margin: 0 auto 16px; padding: 0 4px; }
    .uchi-case-card img { border-radius: 14px; }
    .uchi-pricing { padding: 20px 4px; }
    .uchi-pricing__image { max-width: 100%; padding: 0 4px; }
    .uchi-pricing__image img { border-radius: 14px; }
    .uchi-pricing__note { font-size: 12px; padding: 0 16px; }
    .uchi-voice { padding: 20px 12px 40px; }
    .uchi-voice__grid { grid-template-columns: 1fr; gap: 14px; }
    .uchi-voice__card { padding: 28px 22px; }
    .uchi-voice__card::before { font-size: 70px; top: 8px; left: 18px; }
    .uchi-voice__title { font-size: 17px; }
    .uchi-voice__body { font-size: 14px; }
    .uchi-faq { padding: 40px 12px; }
    .uchi-faq__list { max-width: 100%; }
    .uchi-faq__q { padding: 20px 54px 20px 62px; font-size: 15px; line-height: 1.5; }
    .uchi-faq__q::before { left: 16px; width: 32px; height: 32px; font-size: 15px; }
    .uchi-faq__q::after { right: 14px; width: 26px; height: 26px; font-size: 24px; }
    .uchi-faq__a { padding: 0 20px 20px 62px; font-size: 14px; }
    .uchi-faq__a::before { left: 16px; width: 32px; height: 32px; font-size: 15px; }
    .uchi-form { padding: 30px 4px 80px; }
    .uchi-form__head { max-width: 100%; padding: 0 8px; }
    .uchi-form__wrap { padding: 24px 16px; border-radius: 0 0 16px 16px; max-width: 100%; }
    .uchi-form__wrap .wpcf7-form input[type="text"],
    .uchi-form__wrap .wpcf7-form input[type="email"],
    .uchi-form__wrap .wpcf7-form input[type="tel"],
    .uchi-form__wrap .wpcf7-form input[type="number"],
    .uchi-form__wrap .wpcf7-form input[type="url"],
    .uchi-form__wrap .wpcf7-form select,
    .uchi-form__wrap .wpcf7-form textarea {
        padding: 14px 14px !important;
        font-size: 16px !important;
    }
    .uchi-rocket-wrap { max-width: 100% !important; padding: 14px 0 0 !important; min-height: 140px !important; margin-top: 30px !important; }
    .uchi-form__wrap .wpcf7-form input.wpcf7-submit,
    .uchi-form__wrap .wpcf7-form input[type="submit"] {
        max-width: 100% !important;
        min-height: 80px !important;
        aspect-ratio: 780 / 200 !important;
        filter: drop-shadow(0 10px 24px rgba(6,199,85,0.4)) !important;
    }

    
    .uchi-local { padding: 30px 18px; margin: 20px 8px; border-radius: 18px; }
    .uchi-localsubsidy { padding: 36px 18px 28px; margin: 28px 8px; border-radius: 22px; }
    .uchi-article { padding: 28px 20px; margin: 24px 8px; border-radius: 18px; }
    .uchi-process { padding: 30px 12px; }
    .uchi-process__list { grid-template-columns: 1fr; }
    .uchi-breadcrumb { font-size: 12px; padding: 0 14px; }
}
@media (max-width: 400px) {
    .uchi-problem__title { font-size: 22px; }
    .uchi-subsidy__amount { font-size: 60px; }
    .uchi-section-title { font-size: 22px; }
    .uchi-hero__cta { font-size: 16px; padding: 18px 12px; }
}


.uchi-window-method {
    padding: 70px 24px;
    background: #FFFAF0;
}
.uchi-window-method--alt {
    background: #FFF5E5;
}
.uchi-window-method__head {
    max-width: 880px;
    margin: 0 auto 32px;
    text-align: center;
}
.uchi-window-method__title-img {
    max-width: 860px;
    margin: 0 auto 22px;
}
.uchi-window-method__title-img img {
    width: 100%;
    height: auto;
    display: block;
}
.uchi-window-method__heading {
    font-size: 26px;
    font-weight: 900;
    color: #C8410B;
    margin-bottom: 14px;
    line-height: 1.4;
}
.uchi-window-method__lead {
    font-size: 16px;
    line-height: 1.95;
    color: #3A2A1A;
    background: #fff;
    padding: 22px 26px;
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(63,45,33,0.06);
    border-left: 6px solid #FF6B00;
    text-align: left;
}
.uchi-window-method__body {
    max-width: 1080px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 30px;
    align-items: start;
}
.uchi-window-method__visual {
    background: #fff;
    padding: 22px 26px;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(63,45,33,0.08);
    border: 2px solid #FFD699;
}
.uchi-window-method__visual h3 {
    font-size: 19px;
    font-weight: 900;
    color: #3A2A1A;
    border-bottom: 3px dashed #FF6B00;
    padding-bottom: 10px;
    margin-bottom: 16px;
}
.uchi-window-method__visual ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.uchi-window-method__visual li {
    padding: 10px 0 10px 32px;
    position: relative;
    font-size: 15px;
    line-height: 1.85;
    color: #3A2A1A;
    border-bottom: 1px dashed #F4D8B5;
}
.uchi-window-method__visual li:last-child { border-bottom: none; }
.uchi-window-method__visual li::before {
    content: "✓";
    position: absolute;
    left: 4px;
    top: 10px;
    width: 22px; height: 22px;
    background: #FF6B00;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 900;
}
.uchi-window-method__table-wrap {
    background: #fff;
    padding: 22px 26px;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(63,45,33,0.08);
    border: 2px solid #FFB266;
}
.uchi-window-method__table-wrap h3 {
    font-size: 18px;
    font-weight: 900;
    color: #C8410B;
    margin-bottom: 14px;
    text-align: center;
}
.uchi-window-method__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.uchi-window-method__table th,
.uchi-window-method__table td {
    border: 1px solid #FFD699;
    padding: 9px 6px;
    text-align: center;
    line-height: 1.4;
}
.uchi-window-method__table thead th {
    background: linear-gradient(135deg, #FF6B00 0%, #FF8A30 100%);
    color: #fff;
    font-weight: 800;
    font-size: 12px;
}
.uchi-window-method__table tbody th {
    background: #FFF5E5;
    color: #C8410B;
    font-weight: 800;
}
.uchi-window-method__table tbody td {
    color: #3A2A1A;
    font-weight: 700;
}
.uchi-window-method__table tbody td.muted {
    color: #999;
    font-weight: 400;
    background: #FAFAFA;
}
.uchi-window-method__note {
    font-size: 12px;
    color: #666;
    line-height: 1.7;
    margin-top: 12px;
    padding: 10px 14px;
    background: #FFF5E5;
    border-radius: 8px;
}

@media (max-width: 767px) {
    .uchi-window-method { padding: 50px 16px; }
    .uchi-window-method__heading { font-size: 21px; }
    .uchi-window-method__lead { padding: 18px 18px; font-size: 14px; line-height: 1.85; }
    .uchi-window-method__body { grid-template-columns: 1fr; gap: 18px; }
    .uchi-window-method__visual { padding: 18px 18px; }
    .uchi-window-method__visual h3 { font-size: 17px; }
    .uchi-window-method__visual li { font-size: 14px; }
    .uchi-window-method__table-wrap { padding: 18px 16px; }
    .uchi-window-method__table-wrap h3 { font-size: 16px; }
    .uchi-window-method__table { font-size: 11px; }
    .uchi-window-method__table th,
    .uchi-window-method__table td { padding: 7px 3px; font-size: 11px; }
}



.uchi-stickynav {
    position: fixed;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 80;
    display: flex;
    flex-direction: column;
    gap: 4px;
    pointer-events: none;
}
.uchi-stickynav__inner {
    display: flex;
    flex-direction: column;
    gap: 4px;
    pointer-events: auto;
    max-height: 96vh;
    overflow-y: auto;
    padding: 4px 0 8px;
    scrollbar-width: none;
}
.uchi-stickynav__inner::-webkit-scrollbar { display: none; }
.uchi-stickynav__title {
    font-size: 13px;
    font-weight: 900;
    color: #C8410B;
    background: #FFF5E5;
    padding: 6px 12px;
    border-radius: 4px;
    text-align: center;
    margin-bottom: 4px;
    letter-spacing: 0.04em;
    box-shadow: 0 2px 6px rgba(63,45,33,0.10);
}
.uchi-stickynav__item {
    display: block;
    background: #FFF7B2;
    color: #5A3700;
    text-decoration: none;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    padding: 8px 14px 8px 16px;
    width: 188px;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-radius: 2px 8px 2px 4px;
    box-shadow:
        2px 3px 4px rgba(63,45,33,0.18),
        inset 0 1px 0 rgba(255,255,255,0.4);
    position: relative;
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
    border-left: 3px solid #FFCC33;
}
.uchi-stickynav__item:nth-child(2n)  { background: #FFE6B2; border-left-color: #FFB266; transform: rotate(-1.2deg); }
.uchi-stickynav__item:nth-child(3n)  { background: #FFD9D2; border-left-color: #FF8E70; transform: rotate(0.8deg); }
.uchi-stickynav__item:nth-child(4n)  { background: #D6F0CC; border-left-color: #7AC56A; transform: rotate(-0.6deg); }
.uchi-stickynav__item:nth-child(5n)  { background: #CDE8FF; border-left-color: #5BAFFF; transform: rotate(1deg); }
.uchi-stickynav__item:hover {
    background: #FFF8C2;
    transform: rotate(0deg) translateX(4px) scale(1.02);
    box-shadow:
        4px 5px 8px rgba(63,45,33,0.22),
        inset 0 1px 0 rgba(255,255,255,0.5);
}
.uchi-stickynav__item:nth-child(2n):hover { background: #FFEBC2; }
.uchi-stickynav__item:nth-child(3n):hover { background: #FFE0DA; }
.uchi-stickynav__item:nth-child(4n):hover { background: #DEF5D5; }
.uchi-stickynav__item:nth-child(5n):hover { background: #D9EEFF; }
.uchi-stickynav__num {
    display: inline-block;
    background: #FF6B00;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    width: 20px; height: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 50%;
    margin-right: 7px;
    vertical-align: 1px;
}
.uchi-stickynav__item--cta {
    background: linear-gradient(135deg, #FF6B00 0%, #FF8A30 100%) !important;
    color: #fff !important;
    border-left-color: #C8410B !important;
    transform: rotate(0deg) !important;
    font-size: 15px !important;
}
.uchi-stickynav__item--cta:hover {
    background: linear-gradient(135deg, #FF7A1A 0%, #FFA030 100%) !important;
}
.uchi-stickynav__item--cta .uchi-stickynav__num {
    background: #fff;
    color: #C8410B;
}

@media (max-width: 1199px) {
    .uchi-stickynav { display: none; }
    .uchi-stickynav-mobile {
        position: fixed;
        bottom: 78px; 
        left: 0;
        right: 0;
        z-index: 60;
        background: rgba(255,250,235,0.98);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border-top: 2px solid #FFD699;
        border-bottom: 1px solid #FFE6C2;
        box-shadow: 0 -4px 14px rgba(63,45,33,0.10);
        padding: 8px 0 6px;
        display: block;
    }
    .uchi-stickynav-mobile__scroll {
        display: flex;
        gap: 6px;
        overflow-x: auto;
        padding: 4px 12px 8px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .uchi-stickynav-mobile__scroll::-webkit-scrollbar { display: none; }
    .uchi-stickynav-mobile__item {
        flex-shrink: 0;
        background: #FFF7B2;
        color: #5A3700;
        text-decoration: none;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.25;
        padding: 9px 13px;
        border-radius: 2px 6px 2px 4px;
        box-shadow: 1px 2px 3px rgba(63,45,33,0.18);
        border-left: 2px solid #FFCC33;
        white-space: nowrap;
    }
    .uchi-stickynav-mobile__item:nth-child(2n) { background: #FFE6B2; border-left-color: #FFB266; }
    .uchi-stickynav-mobile__item:nth-child(3n) { background: #FFD9D2; border-left-color: #FF8E70; }
    .uchi-stickynav-mobile__item:nth-child(4n) { background: #D6F0CC; border-left-color: #7AC56A; }
    .uchi-stickynav-mobile__item:nth-child(5n) { background: #CDE8FF; border-left-color: #5BAFFF; }
    .uchi-stickynav-mobile__item--cta {
        background: linear-gradient(135deg, #FF6B00 0%, #FF8A30 100%) !important;
        color: #fff !important;
        border-left-color: #C8410B !important;
    }
    
    body { padding-bottom: 130px; }
}
@media (min-width: 1200px) {
    .uchi-stickynav-mobile { display: none; }
}



.uchi-method-cta {
    background: linear-gradient(135deg, #FFF5E5 0%, #FFE8D1 100%);
    padding: 48px 24px;
    border-top: 4px dashed #FFB266;
    border-bottom: 4px dashed #FFB266;
}
.uchi-method-cta--alt {
    background: linear-gradient(135deg, #E5F5EC 0%, #C8E6D2 100%);
    border-top-color: #06A647;
    border-bottom-color: #06A647;
}
.uchi-method-cta--alt .uchi-method-cta__catch {
    background: linear-gradient(135deg, #06A647 0%, #06C755 100%) !important;
}
.uchi-method-cta--alt .uchi-method-cta__lead strong { color: #06A647 !important; }
.uchi-method-cta__inner {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}
.uchi-method-cta__lead {
    font-size: 17px;
    font-weight: 900;
    color: #3A2A1A;
    line-height: 1.7;
    margin-bottom: 8px;
}
.uchi-method-cta__lead strong {
    color: #C8410B;
    font-size: 22px;
    display: inline-block;
    padding: 0 4px;
    background: linear-gradient(transparent 60%, #FFE680 60%);
}
.uchi-method-cta__sub {
    font-size: 14px;
    color: #5A3A22;
    line-height: 1.85;
    margin-bottom: 22px;
}
.uchi-method-cta__buttons {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    align-items: stretch;
}
.uchi-method-cta__btn {
    flex: 0 1 280px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 18px 26px;
    font-size: 16px;
    font-weight: 900;
    text-decoration: none;
    border-radius: 60px;
    transition: transform .18s ease, box-shadow .18s ease;
    line-height: 1.4;
}
.uchi-method-cta__btn--line {
    background: linear-gradient(135deg, #06C755 0%, #08D964 100%);
    color: #fff;
    box-shadow: 0 8px 22px rgba(6,199,85,0.30);
}
.uchi-method-cta__btn--form {
    background: linear-gradient(135deg, #FF6B00 0%, #FF8A30 100%);
    color: #fff;
    box-shadow: 0 8px 22px rgba(255,107,0,0.30);
}
.uchi-method-cta__btn:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 12px 28px rgba(63,45,33,0.20);
}
.uchi-method-cta__btn::before {
    content: "";
    width: 22px;
    height: 22px;
    background: rgba(255,255,255,0.25);
    border-radius: 50%;
    display: inline-block;
}
@media (max-width: 767px) {
    .uchi-method-cta { padding: 36px 16px; }
    .uchi-method-cta__lead { font-size: 15px; }
    .uchi-method-cta__lead strong { font-size: 18px; }
    .uchi-method-cta__sub { font-size: 13px; }
    .uchi-method-cta__btn { flex: 1 1 100%; padding: 15px 20px; font-size: 15px; }
}



.uchi-pearglass-notice {
    padding: 60px 24px;
    background: linear-gradient(135deg, #FFF5E5 0%, #FFE8D1 100%);
}
.uchi-pearglass-notice__inner {
    max-width: 980px;
    margin: 0 auto;
}
.uchi-pearglass-notice__head {
    text-align: center;
    margin-bottom: 28px;
}
.uchi-pearglass-notice__catch {
    display: inline-block;
    background: #C8410B;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    padding: 6px 16px;
    border-radius: 999px;
    margin-bottom: 14px;
    letter-spacing: 0.5px;
}
.uchi-pearglass-notice__title {
    font-size: 26px;
    font-weight: 900;
    color: #3A2A1A;
    line-height: 1.5;
    margin: 0 0 14px;
}
.uchi-pearglass-notice__title strong { color: #C8410B; }
.uchi-pearglass-notice__lead {
    font-size: 15px;
    line-height: 1.95;
    color: #4A3A2A;
    background: #fff;
    padding: 24px 26px;
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(63,45,33,0.06);
    border-top: 5px solid #C8410B;
    text-align: left;
    overflow: hidden;
}
.uchi-pearglass-table-wrap {
    background: #fff;
    padding: 24px 26px;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(63,45,33,0.08);
    border: 2px solid #FFB266;
    margin-top: 26px;
}
.uchi-pearglass-table-wrap h3 {
    font-size: 18px;
    font-weight: 900;
    color: #C8410B;
    margin-bottom: 14px;
    text-align: center;
}
.uchi-pearglass-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.uchi-pearglass-table th,
.uchi-pearglass-table td {
    border: 1px solid #FFD699;
    padding: 12px 10px;
    text-align: center;
    line-height: 1.5;
}
.uchi-pearglass-table thead th {
    background: linear-gradient(135deg, #C8410B 0%, #E5601A 100%);
    color: #fff;
    font-weight: 800;
    font-size: 13px;
}
.uchi-pearglass-table tbody th {
    background: #FFF5E5;
    color: #C8410B;
    font-weight: 800;
    text-align: left;
}
.uchi-pearglass-table tbody td {
    color: #3A2A1A;
    font-weight: 700;
}
.uchi-pearglass-table .ng {
    color: #C8121E;
    font-weight: 900;
    background: #FFF0F0;
}
.uchi-pearglass-table .ok {
    color: #007E3F;
    font-weight: 900;
    background: #F0FAF4;
}
.uchi-pearglass-conclusion {
    margin-top: 26px;
    padding: 22px 26px;
    background: linear-gradient(135deg, #FFE8D1 0%, #FFD9B5 100%);
    border-radius: 14px;
    border-left: 6px solid #FF6B00;
    font-size: 15px;
    line-height: 1.9;
    color: #3A2A1A;
}
.uchi-pearglass-conclusion strong { color: #C8410B; font-weight: 900; }


.uchi-pearglass-solution {
    margin-top: 36px;
    padding: 36px 30px 32px;
    background: linear-gradient(135deg, #E5F5EC 0%, #C8E6D2 100%);
    border-radius: 22px;
    box-shadow: 0 14px 36px rgba(7,126,63,0.18);
    border: 4px solid #06A647;
    position: relative;
    overflow: hidden;
}
.uchi-pearglass-solution::before {
    content: "";
    position: absolute;
    top: -50px; right: -50px;
    width: 180px; height: 180px;
    background: radial-gradient(circle, rgba(6,166,71,0.20) 0%, rgba(6,166,71,0) 70%);
    pointer-events: none;
}
.uchi-pearglass-solution__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #06A647 0%, #06C755 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 900;
    padding: 10px 24px;
    border-radius: 999px;
    margin-bottom: 18px;
    box-shadow: 0 6px 18px rgba(6,166,71,0.4);
    text-shadow: 0 2px 4px rgba(0,0,0,0.15);
    letter-spacing: 0.5px;
    animation: solution-badge-pulse 2.5s ease-in-out infinite;
}
.uchi-pearglass-solution__badge-icon {
    font-size: 1.2em;
    animation: solution-sparkle 1.6s ease-in-out infinite;
}
@keyframes solution-badge-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 6px 18px rgba(6,166,71,0.4); }
    50%      { transform: scale(1.04); box-shadow: 0 8px 24px rgba(6,166,71,0.55); }
}
@keyframes solution-sparkle {
    0%, 100% { transform: scale(1) rotate(0deg); }
    50%      { transform: scale(1.3) rotate(15deg); }
}
.uchi-pearglass-solution__title {
    font-size: 26px;
    font-weight: 900;
    color: #1A4D2E;
    line-height: 1.5;
    margin: 0 0 24px;
    text-align: center;
}
.uchi-pearglass-solution__title strong { color: #06A647; }
.uchi-pearglass-solution__points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 24px 0;
}
.uchi-pearglass-solution__point {
    background: #fff;
    padding: 22px 16px 18px;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(7,126,63,0.10);
    border-top: 5px solid #06A647;
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease;
}
.uchi-pearglass-solution__point:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(6,166,71,0.20);
}
.uchi-pearglass-solution__point-icon {
    display: block;
    font-size: 44px;
    margin-bottom: 8px;
    line-height: 1;
}
.uchi-pearglass-solution__point-title {
    font-size: 16px;
    font-weight: 900;
    color: #1A4D2E;
    margin-bottom: 8px;
    line-height: 1.4;
}
.uchi-pearglass-solution__point-desc {
    font-size: 13px;
    color: #3A2A1A;
    line-height: 1.7;
}
.uchi-pearglass-solution__point-desc strong { color: #06A647; font-weight: 800; }
.uchi-pearglass-solution__lead {
    font-size: 15px;
    line-height: 1.95;
    color: #3A2A1A;
    background: rgba(255,255,255,0.85);
    padding: 22px 24px;
    border-radius: 14px;
    margin: 22px 0;
    text-align: left;
}
.uchi-pearglass-solution__lead strong { color: #06A647; font-weight: 900; }

.uchi-pearglass-solution__cta {
    margin-top: 26px;
    padding: 26px 24px;
    background: linear-gradient(135deg, #06A647 0%, #06C755 100%);
    border-radius: 18px;
    text-align: center;
    box-shadow: 0 10px 28px rgba(6,166,71,0.30);
    position: relative;
}
.uchi-pearglass-solution__cta-lead {
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 16px;
    line-height: 1.7;
    text-shadow: 0 2px 4px rgba(0,0,0,0.15);
}
.uchi-pearglass-solution__cta-lead strong { color: #FFE600; }
.uchi-pearglass-solution__cta-btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}
.uchi-pearglass-solution__cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 28px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(0,0,0,0.18);
    transition: transform .2s, box-shadow .2s;
    min-width: 240px;
}
.uchi-pearglass-solution__cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.25);
}
.uchi-pearglass-solution__cta-btn--line {
    background: #fff;
    color: #06A647;
    border: 3px solid #fff;
}
.uchi-pearglass-solution__cta-btn--form {
    background: #FF6B00;
    color: #fff;
    border: 3px solid #fff;
}

@media (max-width: 767px) {
    .uchi-pearglass-solution { padding: 28px 18px 24px; margin-top: 28px; }
    .uchi-pearglass-solution__badge { font-size: 13px; padding: 8px 18px; }
    .uchi-pearglass-solution__title { font-size: 19px; line-height: 1.55; }
    .uchi-pearglass-solution__points { grid-template-columns: 1fr; gap: 12px; }
    .uchi-pearglass-solution__point { padding: 20px 14px 16px; }
    .uchi-pearglass-solution__point-icon { font-size: 38px; }
    .uchi-pearglass-solution__point-title { font-size: 15px; }
    .uchi-pearglass-solution__point-desc { font-size: 12px; }
    .uchi-pearglass-solution__lead { font-size: 14px; padding: 18px 16px; line-height: 1.85; }
    .uchi-pearglass-solution__cta { padding: 22px 18px; }
    .uchi-pearglass-solution__cta-lead { font-size: 14px; line-height: 1.7; }
    .uchi-pearglass-solution__cta-btns { flex-direction: column; gap: 10px; }
    .uchi-pearglass-solution__cta-btn { font-size: 15px; padding: 14px 20px; min-width: 100%; }
}


.uchi-quicksim {
    padding: 50px 24px;
    background: linear-gradient(135deg, #FFFAF0 0%, #FFE8D1 100%);
    position: relative;
    overflow: hidden;
}
.uchi-quicksim::before {
    content: "";
    position: absolute;
    top: -40px; right: -40px;
    width: 180px; height: 180px;
    background: radial-gradient(circle, rgba(255,107,0,0.18) 0%, rgba(255,107,0,0) 70%);
    pointer-events: none;
}
.uchi-quicksim__inner {
    max-width: 760px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 24px;
    padding: 32px 28px 28px;
    box-shadow: 0 14px 40px rgba(63,45,33,0.12);
    border: 4px solid #FF6B00;
}
.uchi-quicksim__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #C8121E 0%, #FF6B00 100%);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    padding: 8px 20px;
    border-radius: 999px;
    margin-bottom: 14px;
    box-shadow: 0 6px 16px rgba(255,107,0,0.4);
    letter-spacing: 0.5px;
}
.uchi-quicksim__title {
    font-size: 24px;
    font-weight: 900;
    color: #3A2A1A;
    line-height: 1.5;
    margin: 0 0 8px;
    text-align: center;
}
.uchi-quicksim__title strong { color: #C8410B; }
.uchi-quicksim__sub {
    font-size: 14px;
    color: #6B5A48;
    text-align: center;
    margin: 0 0 22px;
    line-height: 1.7;
}
.uchi-quicksim__step {
    margin-bottom: 22px;
}
.uchi-quicksim__step-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 800;
    color: #3A2A1A;
    margin-bottom: 12px;
}
.uchi-quicksim__step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: #FF6B00;
    color: #fff;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 900;
    flex-shrink: 0;
}
.uchi-quicksim__options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.uchi-quicksim__option {
    background: #FFF8F0;
    border: 2px solid #FFD699;
    border-radius: 12px;
    padding: 14px 10px;
    text-align: center;
    cursor: pointer;
    transition: all .2s ease;
    font-weight: 700;
    color: #3A2A1A;
    font-size: 14px;
    user-select: none;
}
.uchi-quicksim__option:hover {
    background: #FFF5E5;
    border-color: #FF6B00;
}
.uchi-quicksim__option.is-selected {
    background: linear-gradient(135deg, #FF6B00 0%, #FF8C3D 100%);
    border-color: #C8410B;
    color: #fff;
    box-shadow: 0 6px 16px rgba(255,107,0,0.35);
    transform: translateY(-2px);
}
.uchi-quicksim__option-num {
    display: block;
    font-size: 22px;
    font-weight: 900;
    color: inherit;
    line-height: 1.2;
}
.uchi-quicksim__option-desc {
    display: block;
    font-size: 11px;
    margin-top: 2px;
    opacity: 0.85;
}

.uchi-quicksim__result {
    margin-top: 24px;
    padding: 24px 22px 22px;
    background: linear-gradient(135deg, #FFE8D1 0%, #FFD9B5 100%);
    border-radius: 16px;
    text-align: center;
    border: 3px dashed #FF6B00;
    transition: opacity .4s ease, transform .4s ease;
}
.uchi-quicksim__result.is-hidden {
    opacity: 0.4;
}
.uchi-quicksim__result-label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #6B5A48;
    margin-bottom: 6px;
}
.uchi-quicksim__result-value {
    display: block;
    font-size: 36px;
    font-weight: 900;
    color: #C8121E;
    line-height: 1.1;
    margin-bottom: 4px;
    letter-spacing: -1px;
    font-family: 'Arial Black', 'Impact', sans-serif;
}
.uchi-quicksim__result-value-main {
    font-size: 48px;
}
.uchi-quicksim__result-sub {
    display: block;
    font-size: 13px;
    color: #5A3700;
    margin-top: 6px;
    line-height: 1.65;
}
.uchi-quicksim__result-sub strong { color: #C8410B; }

.uchi-quicksim__cta {
    margin-top: 18px;
    text-align: center;
}
.uchi-quicksim__cta-btn {
    display: inline-block;
    padding: 14px 28px;
    background: linear-gradient(135deg, #06C755, #04a344);
    color: #fff;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none;
    font-size: 16px;
    box-shadow: 0 6px 18px rgba(6, 199, 85, 0.4);
    transition: transform .2s, box-shadow .2s;
}
.uchi-quicksim__cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(6,199,85,0.55);
}
.uchi-quicksim__note {
    font-size: 11px;
    color: #888;
    text-align: center;
    margin-top: 12px;
    line-height: 1.6;
}

@media (max-width: 767px) {
    .uchi-quicksim { padding: 36px 12px; }
    .uchi-quicksim__inner { padding: 26px 18px 22px; border-width: 3px; }
    .uchi-quicksim__title { font-size: 19px; }
    .uchi-quicksim__sub { font-size: 13px; }
    .uchi-quicksim__option-num { font-size: 18px; }
    .uchi-quicksim__option-desc { font-size: 10px; }
    .uchi-quicksim__option { padding: 12px 6px; font-size: 13px; }
    .uchi-quicksim__result-value-main { font-size: 36px; }
    .uchi-quicksim__result-value { font-size: 28px; }
    .uchi-quicksim__cta-btn { font-size: 15px; padding: 13px 22px; }
}


.uchi-pearglass-solution {
    margin-top: 36px;
    padding: 36px 30px 32px;
    background: linear-gradient(135deg, #E5F5EC 0%, #C8E6D2 100%);
    border-radius: 22px;
    box-shadow: 0 14px 36px rgba(7,126,63,0.18);
    border: 4px solid #06A647;
    position: relative;
    overflow: hidden;
}
.uchi-pearglass-solution::before {
    content: "";
    position: absolute;
    top: -50px; right: -50px;
    width: 180px; height: 180px;
    background: radial-gradient(circle, rgba(6,166,71,0.20) 0%, rgba(6,166,71,0) 70%);
    pointer-events: none;
}
.uchi-pearglass-solution__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #06A647 0%, #06C755 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 900;
    padding: 10px 24px;
    border-radius: 999px;
    margin-bottom: 18px;
    box-shadow: 0 6px 18px rgba(6,166,71,0.4);
    text-shadow: 0 2px 4px rgba(0,0,0,0.15);
    letter-spacing: 0.5px;
    animation: solution-badge-pulse 2.5s ease-in-out infinite;
}
.uchi-pearglass-solution__badge-icon {
    font-size: 1.2em;
    animation: solution-sparkle 1.6s ease-in-out infinite;
}
@keyframes solution-badge-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 6px 18px rgba(6,166,71,0.4); }
    50%      { transform: scale(1.04); box-shadow: 0 8px 24px rgba(6,166,71,0.55); }
}
@keyframes solution-sparkle {
    0%, 100% { transform: scale(1) rotate(0deg); }
    50%      { transform: scale(1.3) rotate(15deg); }
}
.uchi-pearglass-solution__title {
    font-size: 26px;
    font-weight: 900;
    color: #1A4D2E;
    line-height: 1.5;
    margin: 0 0 24px;
    text-align: center;
}
.uchi-pearglass-solution__title strong { color: #06A647; }
.uchi-pearglass-solution__points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 24px 0;
}
.uchi-pearglass-solution__point {
    background: #fff;
    padding: 22px 16px 18px;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(7,126,63,0.10);
    border-top: 5px solid #06A647;
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease;
}
.uchi-pearglass-solution__point:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(6,166,71,0.20);
}
.uchi-pearglass-solution__point-icon {
    display: block;
    font-size: 44px;
    margin-bottom: 8px;
    line-height: 1;
}
.uchi-pearglass-solution__point-title {
    font-size: 16px;
    font-weight: 900;
    color: #1A4D2E;
    margin-bottom: 8px;
    line-height: 1.4;
}
.uchi-pearglass-solution__point-desc {
    font-size: 13px;
    color: #3A2A1A;
    line-height: 1.7;
}
.uchi-pearglass-solution__point-desc strong { color: #06A647; font-weight: 800; }
.uchi-pearglass-solution__lead {
    font-size: 15px;
    line-height: 1.95;
    color: #3A2A1A;
    background: rgba(255,255,255,0.85);
    padding: 22px 24px;
    border-radius: 14px;
    margin: 22px 0;
    text-align: left;
}
.uchi-pearglass-solution__lead strong { color: #06A647; font-weight: 900; }

.uchi-pearglass-solution__cta {
    margin-top: 26px;
    padding: 26px 24px;
    background: linear-gradient(135deg, #06A647 0%, #06C755 100%);
    border-radius: 18px;
    text-align: center;
    box-shadow: 0 10px 28px rgba(6,166,71,0.30);
    position: relative;
}
.uchi-pearglass-solution__cta-lead {
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 16px;
    line-height: 1.7;
    text-shadow: 0 2px 4px rgba(0,0,0,0.15);
}
.uchi-pearglass-solution__cta-lead strong { color: #FFE600; }
.uchi-pearglass-solution__cta-btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}
.uchi-pearglass-solution__cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 28px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(0,0,0,0.18);
    transition: transform .2s, box-shadow .2s;
    min-width: 240px;
}
.uchi-pearglass-solution__cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.25);
}
.uchi-pearglass-solution__cta-btn--line {
    background: #fff;
    color: #06A647;
    border: 3px solid #fff;
}
.uchi-pearglass-solution__cta-btn--form {
    background: #FF6B00;
    color: #fff;
    border: 3px solid #fff;
}

@media (max-width: 767px) {
    .uchi-pearglass-solution { padding: 28px 18px 24px; margin-top: 28px; }
    .uchi-pearglass-solution__badge { font-size: 13px; padding: 8px 18px; }
    .uchi-pearglass-solution__title { font-size: 19px; line-height: 1.55; }
    .uchi-pearglass-solution__points { grid-template-columns: 1fr; gap: 12px; }
    .uchi-pearglass-solution__point { padding: 20px 14px 16px; }
    .uchi-pearglass-solution__point-icon { font-size: 38px; }
    .uchi-pearglass-solution__point-title { font-size: 15px; }
    .uchi-pearglass-solution__point-desc { font-size: 12px; }
    .uchi-pearglass-solution__lead { font-size: 14px; padding: 18px 16px; line-height: 1.85; }
    .uchi-pearglass-solution__cta { padding: 22px 18px; }
    .uchi-pearglass-solution__cta-lead { font-size: 14px; line-height: 1.7; }
    .uchi-pearglass-solution__cta-btns { flex-direction: column; gap: 10px; }
    .uchi-pearglass-solution__cta-btn { font-size: 15px; padding: 14px 20px; min-width: 100%; }
}
.uchi-pearglass-notice__sash-types {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 22px;
}
.uchi-pearglass-sash-card {
    background: #fff;
    padding: 18px 16px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(63,45,33,0.08);
    text-align: center;
    border-top: 4px solid #FFCC33;
}
.uchi-pearglass-sash-card--ng { border-top-color: #C8121E; }
.uchi-pearglass-sash-card--maybe { border-top-color: #FFB266; }
.uchi-pearglass-sash-card--ok { border-top-color: #007E3F; }
.uchi-pearglass-sash-card__type {
    font-size: 13px;
    color: #888;
    margin-bottom: 6px;
}
.uchi-pearglass-sash-card__name {
    font-size: 16px;
    font-weight: 900;
    color: #3A2A1A;
    margin-bottom: 8px;
}
.uchi-pearglass-sash-card__judge {
    font-size: 14px;
    font-weight: 800;
    padding: 6px 12px;
    border-radius: 8px;
    display: inline-block;
}
.uchi-pearglass-sash-card--ng .uchi-pearglass-sash-card__judge { background: #FFEAEA; color: #C8121E; }
.uchi-pearglass-sash-card--maybe .uchi-pearglass-sash-card__judge { background: #FFF0DD; color: #C8410B; }
.uchi-pearglass-sash-card--ok .uchi-pearglass-sash-card__judge { background: #E5F5EC; color: #007E3F; }

@media (max-width: 767px) {
    .uchi-pearglass-notice { padding: 50px 16px; }
    .uchi-pearglass-notice__title { font-size: 19px; line-height: 1.5; }
    .uchi-pearglass-notice__lead { padding: 18px 18px; font-size: 14px; }
    .uchi-pearglass-table-wrap { padding: 18px 16px; }
    .uchi-pearglass-table { font-size: 12px; }
    .uchi-pearglass-table th, .uchi-pearglass-table td { padding: 8px 5px; font-size: 12px; }
    .uchi-pearglass-notice__sash-types { grid-template-columns: 1fr; }
}





.uchi-pearglass-notice__sash-types {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 22px;
}
.uchi-pearglass-sash-card {
    background: #fff;
    padding: 18px 16px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(63,45,33,0.08);
    text-align: center;
    border-top: 4px solid #FFCC33;
}
.uchi-pearglass-sash-card--ng { border-top-color: #C8121E; }
.uchi-pearglass-sash-card--maybe { border-top-color: #FFB266; }
.uchi-pearglass-sash-card--ok { border-top-color: #007E3F; }
.uchi-pearglass-sash-card__type {
    font-size: 13px;
    color: #888;
    margin-bottom: 6px;
}
.uchi-pearglass-sash-card__name {
    font-size: 16px;
    font-weight: 900;
    color: #3A2A1A;
    margin-bottom: 8px;
}
.uchi-pearglass-sash-card__judge {
    font-size: 14px;
    font-weight: 800;
    padding: 6px 12px;
    border-radius: 8px;
    display: inline-block;
}
.uchi-pearglass-sash-card--ng .uchi-pearglass-sash-card__judge { background: #FFEAEA; color: #C8121E; }
.uchi-pearglass-sash-card--maybe .uchi-pearglass-sash-card__judge { background: #FFF0DD; color: #C8410B; }
.uchi-pearglass-sash-card--ok .uchi-pearglass-sash-card__judge { background: #E5F5EC; color: #007E3F; }

@media (max-width: 767px) {
    .uchi-pearglass-notice { padding: 50px 16px; }
    .uchi-pearglass-notice__title { font-size: 20px; }
    .uchi-pearglass-notice__lead { padding: 18px 18px; font-size: 14px; }
    .uchi-pearglass-table-wrap { padding: 18px 16px; }
    .uchi-pearglass-table { font-size: 12px; }
    .uchi-pearglass-table th, .uchi-pearglass-table td { padding: 8px 5px; font-size: 12px; }
    .uchi-pearglass-notice__sash-types { grid-template-columns: 1fr; }
}



.uchi-discount {
    padding: 50px 24px;
    background: linear-gradient(135deg, #FFF5E5 0%, #FFE0B5 50%, #FFD699 100%);
    position: relative;
    overflow: hidden;
}
.uchi-discount--mini {
    padding: 56px 24px;
}
.uchi-discount::before,
.uchi-discount::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,107,0,0.25) 0%, rgba(255,107,0,0) 70%);
    pointer-events: none;
    z-index: 0;
}
.uchi-discount::before { top: -60px; left: -60px; width: 240px; height: 240px; animation: discount-float 6s ease-in-out infinite; }
.uchi-discount::after  { bottom: -80px; right: -80px; width: 280px; height: 280px; animation: discount-float 7s ease-in-out infinite reverse; }

.uchi-discount__inner {
    max-width: 980px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    text-align: center;
}


.uchi-discount__badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: linear-gradient(135deg, #C8121E 0%, #FF1A2E 50%, #C8121E 100%);
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    padding: 16px 32px;
    border-radius: 18px;
    margin: 0 auto 22px;
    box-shadow: 0 10px 28px rgba(200,18,30,0.45), inset 0 -3px 0 rgba(0,0,0,0.15);
    animation: discount-badge-pulse 2.2s ease-in-out infinite;
    letter-spacing: 1px;
    width: 100%;
    max-width: 880px;
    box-sizing: border-box;
    line-height: 1.3;
    text-shadow: 0 2px 4px rgba(0,0,0,0.15);
}
.uchi-discount__badge::before,
.uchi-discount__badge::after {
    content: "✨";
    display: inline-block;
    font-size: 1.2em;
    animation: discount-sparkle 1.5s ease-in-out infinite;
}
.uchi-discount__badge::after { animation-delay: 0.75s; }


.uchi-discount__catch {
    font-size: 22px;
    font-weight: 900;
    color: #3A2A1A;
    line-height: 1.5;
    margin: 0 0 10px;
}
.uchi-discount__catch strong { color: #C8410B; }
.uchi-discount__catch-line {
    display: block;
    margin: 4px 0;
}
.uchi-discount__catch-line--1 {
    font-size: 0.78em;
    color: #5A3700;
    font-weight: 800;
}
.uchi-discount__catch-line--2 {
    font-size: 1.18em;
    color: #C8121E;
    margin: 8px 0;
    text-shadow: 0 2px 4px rgba(200,18,30,0.15);
}
.uchi-discount__catch-line--3 {
    font-size: 0.78em;
    color: #5A3700;
    font-weight: 800;
}


.uchi-discount__price-sub {
    display: inline-block;
    font-size: 11px;
    color: #888;
    font-weight: 600;
    margin-top: 2px;
}
.uchi-discount__price-from {
    font-size: 0.6em;
    font-weight: 800;
    color: #C8410B;
    margin-right: 2px;
    vertical-align: 6px;
}
.uchi-discount__price-tilde {
    display: inline-block;
    font-size: 0.7em;
    color: #C8410B;
    margin-left: 2px;
}


.uchi-discount__compare-note {
    text-align: center;
    font-size: 13px;
    color: #5A3700;
    margin: 4px auto 18px;
    padding: 10px 16px;
    background: rgba(255,255,255,0.7);
    border-radius: 10px;
    max-width: 600px;
    line-height: 1.7;
}
.uchi-discount__compare-note strong { color: #C8410B; font-weight: 900; }
@media (max-width: 767px) {
    .uchi-discount__catch { font-size: 20px; }
    .uchi-discount__price-sub { font-size: 10px; }
    .uchi-discount__compare-note { font-size: 12px; padding: 8px 12px; }
}


.uchi-discount__hero {
    margin: 22px auto 26px;
    display: inline-block;
    position: relative;
    padding: 18px 44px;
    background: #fff;
    border: 6px solid #FF6B00;
    border-radius: 24px;
    box-shadow: 0 14px 36px rgba(255,107,0,0.28), inset 0 -4px 0 rgba(0,0,0,0.04);
    animation: discount-hero-bounce 1.8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    transform-origin: center bottom;
}
.uchi-discount__hero::before {
    content: "";
    position: absolute;
    top: -14px; left: 14px;
    width: 28px; height: 28px;
    background: #FFD700;
    border-radius: 50%;
    box-shadow: 0 0 0 4px #fff, 0 0 0 6px #FF6B00;
    animation: discount-glow 1.4s ease-in-out infinite;
}
.uchi-discount__hero::after {
    content: "★";
    position: absolute;
    top: -9px; left: 22px;
    color: #C8410B;
    font-size: 16px;
    font-weight: 900;
    z-index: 2;
    animation: discount-spin 3s linear infinite;
}
.uchi-discount__hero-line1 {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: #5A3700;
    margin-bottom: 4px;
    line-height: 1.4;
}
.uchi-discount__hero-num {
    display: inline-block;
    font-size: 88px;
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(135deg, #C8121E 0%, #FF1A2E 50%, #FF6B00 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 4px 0 rgba(255,107,0,0.15);
    letter-spacing: -3px;
    animation: discount-num-wobble 2.4s ease-in-out infinite;
    transform-origin: center bottom;
    font-family: 'Arial Black', 'Impact', sans-serif;
}
.uchi-discount__hero-suffix {
    display: inline-block;
    font-size: 32px;
    font-weight: 900;
    color: #C8410B;
    margin-left: 6px;
    vertical-align: 18px;
    animation: discount-suffix-pop 2.4s ease-in-out infinite;
}
.uchi-discount__hero-off {
    display: inline-block;
    font-size: 48px;
    font-weight: 900;
    color: #fff;
    background: linear-gradient(135deg, #C8121E, #FF1A2E);
    padding: 4px 16px;
    border-radius: 12px;
    margin-left: 10px;
    transform: rotate(-6deg);
    box-shadow: 0 6px 14px rgba(200,18,30,0.4);
    animation: discount-off-shake 1.6s ease-in-out infinite;
    vertical-align: 12px;
    letter-spacing: 1px;
    font-family: 'Arial Black', 'Impact', sans-serif;
}


.uchi-discount__compare {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin: 8px auto 22px;
    flex-wrap: wrap;
    justify-content: center;
}
.uchi-discount__price-box {
    background: #fff;
    border-radius: 14px;
    padding: 14px 22px;
    box-shadow: 0 6px 16px rgba(63,45,33,0.10);
    text-align: center;
    min-width: 200px;
}
.uchi-discount__price-box--before { border: 2px solid #ccc; }
.uchi-discount__price-box--after  {
    border: 3px solid #FF6B00;
    transform: scale(1.05);
    animation: discount-price-pop 2.4s ease-in-out infinite;
}
.uchi-discount__price-label {
    display: block;
    font-size: 12px;
    color: #888;
    font-weight: 700;
    margin-bottom: 4px;
}
.uchi-discount__price-box--after .uchi-discount__price-label { color: #C8410B; }
.uchi-discount__price-value {
    display: block;
    font-size: 26px;
    font-weight: 900;
    color: #888;
    line-height: 1.1;
    text-decoration: line-through;
    text-decoration-thickness: 3px;
    text-decoration-color: #C8121E;
}
.uchi-discount__price-box--after .uchi-discount__price-value {
    color: #C8410B;
    font-size: 36px;
    text-decoration: none;
}
.uchi-discount__arrow {
    font-size: 36px;
    color: #FF6B00;
    font-weight: 900;
    animation: discount-arrow-slide 1.4s ease-in-out infinite;
}



.uchi-discount__reason {
    margin-top: 32px;
    padding: 32px 36px;
    background: #fff;
    border-radius: 24px;
    font-size: 18px;
    line-height: 1.9;
    color: #3A2A1A;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 14px 36px rgba(63,45,33,0.12);
    border: 4px solid #FF6B00;
    position: relative;
}
.uchi-discount__reason::before {
    content: "なぜ?";
    position: absolute;
    top: -22px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #C8121E 0%, #FF1A2E 100%);
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    padding: 6px 28px;
    border-radius: 999px;
    box-shadow: 0 6px 16px rgba(200,18,30,0.4);
    letter-spacing: 1px;
    line-height: 1.4;
    animation: discount-badge-pulse 2.4s ease-in-out infinite;
}
.uchi-discount__reason strong { color: #C8410B; font-weight: 900; }
.uchi-discount__reason-text {
    text-align: center;
    margin: 8px 0 20px;
}
.uchi-discount__reason-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 26px;
}
.uchi-discount__reason-point {
    background: linear-gradient(180deg, #FFF8F0 0%, #FFE8D1 100%);
    padding: 26px 18px;
    border-radius: 18px;
    box-shadow: 0 8px 22px rgba(63,45,33,0.10);
    border-top: 5px solid #FF6B00;
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease;
    position: relative;
    overflow: hidden;
}
.uchi-discount__reason-point::before {
    content: "";
    position: absolute;
    top: -30px;
    right: -30px;
    width: 80px; height: 80px;
    background: radial-gradient(circle, rgba(255,107,0,0.20) 0%, rgba(255,107,0,0) 70%);
    pointer-events: none;
}
.uchi-discount__reason-point:hover {
    transform: translateY(-6px) scale(1.03);
    box-shadow: 0 14px 32px rgba(255,107,0,0.25);
}
.uchi-discount__reason-point:nth-child(1) { border-top-color: #FF6B00; }
.uchi-discount__reason-point:nth-child(2) { border-top-color: #06C755; }
.uchi-discount__reason-point:nth-child(3) { border-top-color: #C8121E; }
.uchi-discount__reason-point-icon {
    display: block;
    font-size: 56px;
    margin-bottom: 10px;
    animation: discount-icon-bob 2.5s ease-in-out infinite;
    line-height: 1;
}
.uchi-discount__reason-point:nth-child(2) .uchi-discount__reason-point-icon { animation-delay: 0.3s; }
.uchi-discount__reason-point:nth-child(3) .uchi-discount__reason-point-icon { animation-delay: 0.6s; }
.uchi-discount__reason-point-title {
    font-size: 20px;
    font-weight: 900;
    color: #C8410B;
    line-height: 1.4;
    margin-bottom: 8px;
}
.uchi-discount__reason-point:nth-child(2) .uchi-discount__reason-point-title { color: #06A647; }
.uchi-discount__reason-point:nth-child(3) .uchi-discount__reason-point-title { color: #C8121E; }
.uchi-discount__reason-point-desc {
    font-size: 14px;
    color: #3A2A1A;
    line-height: 1.7;
    font-weight: 700;
}


.uchi-discount__note {
    margin-top: 22px;
    font-size: 13px;
    color: #5A3700;
    line-height: 1.85;
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
}
.uchi-discount__note strong { color: #C8410B; font-weight: 800; }


@keyframes discount-hero-bounce {
    0%, 100% { transform: scale(1) translateY(0); }
    25%      { transform: scale(1.04, 0.96) translateY(0); }
    50%      { transform: scale(0.98, 1.04) translateY(-6px); }
    75%      { transform: scale(1.02, 0.98) translateY(0); }
}
@keyframes discount-num-wobble {
    0%, 100% { transform: scale(1) rotate(0deg); }
    25%      { transform: scale(1.08) rotate(-1.5deg); }
    50%      { transform: scale(1.12) rotate(1.5deg); }
    75%      { transform: scale(1.05) rotate(-0.8deg); }
}
@keyframes discount-suffix-pop {
    0%, 100% { transform: scale(1) translateY(0); }
    50%      { transform: scale(1.2) translateY(-4px); }
}
@keyframes discount-off-shake {
    0%, 100% { transform: rotate(-6deg) scale(1); }
    25%      { transform: rotate(-9deg) scale(1.05); }
    50%      { transform: rotate(-3deg) scale(1.1); }
    75%      { transform: rotate(-8deg) scale(1.04); }
}
@keyframes discount-badge-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 6px 18px rgba(200,18,30,0.4); }
    50%      { transform: scale(1.04); box-shadow: 0 8px 24px rgba(200,18,30,0.6); }
}
@keyframes discount-sparkle {
    0%, 100% { transform: scale(1) rotate(0deg); opacity: 1; }
    50%      { transform: scale(1.4) rotate(20deg); opacity: 0.7; }
}
@keyframes discount-glow {
    0%, 100% { box-shadow: 0 0 0 4px #fff, 0 0 0 6px #FF6B00, 0 0 12px 6px rgba(255,215,0,0.6); }
    50%      { box-shadow: 0 0 0 4px #fff, 0 0 0 6px #FF6B00, 0 0 22px 12px rgba(255,215,0,0.9); }
}
@keyframes discount-spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
@keyframes discount-float {
    0%, 100% { transform: translate(0, 0); }
    50%      { transform: translate(20px, -20px); }
}
@keyframes discount-price-pop {
    0%, 100% { transform: scale(1.05); }
    50%      { transform: scale(1.10); }
}
@keyframes discount-arrow-slide {
    0%, 100% { transform: translateX(0); }
    50%      { transform: translateX(8px); }
}
@keyframes discount-icon-bob {
    0%, 100% { transform: translateY(0) scale(1); }
    50%      { transform: translateY(-6px) scale(1.1); }
}



.uchi-discount--mini .uchi-discount__hero-num   { font-size: 100px; }
.uchi-discount--mini .uchi-discount__hero-off   { font-size: 56px; padding: 6px 20px; vertical-align: 18px; }
.uchi-discount--mini .uchi-discount__hero-suffix{ font-size: 38px; vertical-align: 22px; }
.uchi-discount--mini .uchi-discount__hero-line1 { font-size: 17px; margin-bottom: 8px; }
.uchi-discount--mini .uchi-discount__catch      { font-size: 28px; line-height: 1.5; }

.uchi-quicksim .uchi-quicksim__options { grid-template-columns: repeat(2, 1fr); }
.uchi-quicksim__badge-text { word-break: keep-all; overflow-wrap: anywhere; text-align: center; }
.uchi-pearglass-notice__title { word-break: keep-all; overflow-wrap: anywhere; }

.sp-only { display: none; }
@media (max-width: 767px) {
    .sp-only { display: inline; }
    .pc-only { display: none; }
}
.uchi-discount--mini .uchi-discount__hero       { padding: 26px 56px; border-width: 7px; }
.uchi-discount--mini .uchi-discount__badge      { font-size: 22px; padding: 16px 32px; }
.uchi-discount--mini .uchi-discount__reason-points { display: none; }
.uchi-discount--mini .uchi-discount__compare       { display: none; }
.uchi-discount--mini .uchi-discount__reason        { display: none; }


@media (max-width: 767px) {
    .uchi-discount { padding: 36px 14px; }
    .uchi-discount__catch { font-size: 19px; }
    .uchi-discount__badge { font-size: 15px; padding: 12px 18px; gap: 8px; border-radius: 14px; }
    .uchi-discount__hero { padding: 14px 22px; border-width: 4px; }
    .uchi-discount__hero-num { font-size: 56px; letter-spacing: -2px; }
    .uchi-discount__hero-suffix { font-size: 22px; vertical-align: 10px; }
    .uchi-discount__hero-off { font-size: 30px; padding: 3px 10px; vertical-align: 6px; }
    .uchi-discount__hero-line1 { font-size: 13px; }
    .uchi-discount__compare { gap: 8px; }
    .uchi-discount__price-box { min-width: 140px; padding: 10px 14px; }
    .uchi-discount__price-value { font-size: 20px; }
    .uchi-discount__price-box--after .uchi-discount__price-value { font-size: 26px; }
    .uchi-discount__arrow { font-size: 24px; }

    
    .uchi-discount__reason { padding: 26px 18px; font-size: 15px; margin-top: 38px; border-width: 3px; }
    .uchi-discount__reason::before { font-size: 18px; padding: 5px 22px; top: -18px; }
    .uchi-discount__reason-text { font-size: 14px; }
    .uchi-discount__reason-points { grid-template-columns: 1fr; gap: 12px; }
    .uchi-discount__reason-point { padding: 20px 16px; }
    .uchi-discount__reason-point-icon { font-size: 44px; }
    .uchi-discount__reason-point-title { font-size: 17px; }
    .uchi-discount__reason-point-desc { font-size: 13px; }

    .uchi-discount--mini { padding: 40px 14px; }
    .uchi-discount--mini .uchi-discount__hero-num { font-size: 64px; }
    .uchi-discount--mini .uchi-discount__hero-off { font-size: 34px; padding: 4px 12px; vertical-align: 10px; }
    .uchi-discount--mini .uchi-discount__hero-suffix { font-size: 24px; vertical-align: 12px; }
    .uchi-discount--mini .uchi-discount__catch { font-size: 19px; }
    .uchi-discount--mini .uchi-discount__hero { padding: 18px 28px; }
    .uchi-discount--mini .uchi-discount__badge { font-size: 14px; padding: 10px 16px; }
}


@media (prefers-reduced-motion: reduce) {
    .uchi-discount__hero,
    .uchi-discount__hero-num,
    .uchi-discount__hero-suffix,
    .uchi-discount__hero-off,
    .uchi-discount__badge,
    .uchi-discount__price-box--after,
    .uchi-discount__arrow,
    .uchi-discount__reason-point-icon,
    .uchi-discount__hero::before,
    .uchi-discount__hero::after,
    .uchi-discount::before,
    .uchi-discount::after,
    .uchi-discount__badge::before,
    .uchi-discount__badge::after {
        animation: none !important;
    }
}




.uchi-prosec {
    padding: 70px 24px;
    background: linear-gradient(180deg, #FFFCF7 0%, #FFF6E8 100%);
}
.uchi-prosec--alt {
    background: linear-gradient(180deg, #FFF6E8 0%, #FFFCF7 100%);
}
.uchi-prosec__inner {
    max-width: 1080px;
    margin: 0 auto;
}
.uchi-prosec__head {
    text-align: center;
    margin-bottom: 32px;
}
.uchi-prosec__head img {
    max-width: 780px;
    width: 100%;
    height: auto;
}
.uchi-prosec__lead {
    max-width: 880px;
    margin: 0 auto 36px;
    padding: 22px 26px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(255,145,64,0.12);
    line-height: 2.0;
    font-size: 16px;
    color: #3A2A1A;
}
.uchi-prosec__lead strong { color: #C8410B; font-weight: 800; }
.uchi-prosec__lead .uchi-mark {
    background: linear-gradient(transparent 60%, #FFE57F 60%);
    padding: 0 4px;
    font-weight: 800;
}
.uchi-prosec__visual {
    max-width: 920px;
    margin: 0 auto 30px;
    text-align: center;
}
.uchi-prosec__visual img {
    width: 100%;
    height: auto;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(63,45,33,0.10);
}


.uchi-sim-table {
    max-width: 880px;
    margin: 0 auto 30px;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(255,145,64,0.16);
    border: 2px solid #FFD699;
}
.uchi-sim-table table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}
.uchi-sim-table th {
    background: linear-gradient(135deg, #FF8A3D, #FF6B00);
    color: #fff;
    padding: 14px 12px;
    text-align: center;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.02em;
}
.uchi-sim-table td {
    padding: 14px 12px;
    border-bottom: 1px solid #F0E6D6;
    text-align: center;
    color: #3A2A1A;
    line-height: 1.6;
}
.uchi-sim-table tr:nth-child(even) td { background: #FFFCF7; }
.uchi-sim-table tr:last-child td { border-bottom: none; }
.uchi-sim-table .uchi-amount {
    font-weight: 800;
    color: #C8410B;
    font-size: 16px;
}


.uchi-grade-cards {
    max-width: 1000px;
    margin: 0 auto 30px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.uchi-grade-card {
    background: #fff;
    border-radius: 16px;
    padding: 22px 18px;
    box-shadow: 0 8px 22px rgba(63,45,33,0.10);
    border: 3px solid #FFD699;
    text-align: center;
    position: relative;
}
.uchi-grade-card--ss { border-color: #FF6B00; background: linear-gradient(180deg, #FFF6E8 0%, #fff 100%); }
.uchi-grade-card--s { border-color: #FFAA66; }
.uchi-grade-card--a-out {
    border-color: #C5C5C5;
    background: #F5F5F5;
    opacity: 0.85;
}
.uchi-grade-card__badge {
    display: inline-block;
    padding: 4px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    color: #fff;
    margin-bottom: 12px;
    letter-spacing: 0.05em;
}
.uchi-grade-card--ss .uchi-grade-card__badge { background: #FF6B00; }
.uchi-grade-card--s .uchi-grade-card__badge { background: #FFAA66; }
.uchi-grade-card--a-out .uchi-grade-card__badge { background: #999; }
.uchi-grade-card__name {
    font-size: 22px;
    font-weight: 900;
    color: #3A2A1A;
    margin-bottom: 4px;
}
.uchi-grade-card--ss .uchi-grade-card__name { color: #C8410B; }
.uchi-grade-card__uw {
    font-size: 13px;
    color: #666;
    margin-bottom: 14px;
}
.uchi-grade-card__amount {
    font-size: 14px;
    color: #3A2A1A;
    margin-bottom: 6px;
}
.uchi-grade-card__amount strong {
    font-size: 20px;
    color: #C8410B;
    font-weight: 900;
}
.uchi-grade-card--a-out .uchi-grade-card__amount strong { color: #999; text-decoration: line-through; }
.uchi-grade-card__note {
    font-size: 12px;
    color: #666;
    margin-top: 10px;
    line-height: 1.5;
}
.uchi-grade-card__alert {
    margin-top: 12px;
    padding: 8px 10px;
    background: #FFE5E5;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    color: #C62828;
}


.uchi-craftsman-block {
    max-width: 980px;
    margin: 0 auto 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: stretch;
}
.uchi-craftsman-block__visual {
    background: #fff;
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 8px 22px rgba(63,45,33,0.10);
    display: flex;
    align-items: center;
    justify-content: center;
}
.uchi-craftsman-block__visual img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}
.uchi-craftsman-block__text {
    background: #fff;
    border-radius: 18px;
    padding: 26px 24px;
    box-shadow: 0 8px 22px rgba(63,45,33,0.10);
}
.uchi-craftsman-block__text h3 {
    font-size: 19px;
    font-weight: 900;
    color: #C8410B;
    margin-bottom: 12px;
    line-height: 1.5;
    border-bottom: 3px solid #FF6B00;
    padding-bottom: 10px;
}
.uchi-craftsman-block__text p {
    font-size: 15px;
    line-height: 1.95;
    color: #3A2A1A;
    margin-bottom: 12px;
}
.uchi-craftsman-block__text strong { color: #C8410B; font-weight: 800; }
.uchi-craftsman-stats {
    max-width: 980px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.uchi-craftsman-stat {
    background: #fff;
    border-radius: 14px;
    padding: 18px 12px;
    text-align: center;
    box-shadow: 0 6px 16px rgba(63,45,33,0.08);
    border: 2px solid #FFE0B5;
}
.uchi-craftsman-stat__number {
    font-size: 28px;
    font-weight: 900;
    color: #C8410B;
    line-height: 1.2;
}
.uchi-craftsman-stat__unit {
    font-size: 14px;
    color: #FF6B00;
    font-weight: 800;
    margin-left: 2px;
}
.uchi-craftsman-stat__label {
    font-size: 12px;
    color: #3A2A1A;
    line-height: 1.5;
    margin-top: 6px;
    font-weight: 700;
}


.uchi-case-pricing {
    max-width: 1080px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.uchi-case-pricing__card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(63,45,33,0.10);
    border: 2px solid #FFD699;
}
.uchi-case-pricing__visual {
    width: 100%;
    aspect-ratio: 4 / 3;
    background: #FFFCF7;
    display: flex;
    align-items: center;
    justify-content: center;
}
.uchi-case-pricing__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.uchi-case-pricing__body { padding: 18px 20px 22px; }
.uchi-case-pricing__title {
    font-size: 16px;
    font-weight: 900;
    color: #3A2A1A;
    margin-bottom: 10px;
    line-height: 1.5;
    border-bottom: 2px dashed #FFD699;
    padding-bottom: 8px;
}
.uchi-case-pricing__row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #3A2A1A;
    padding: 4px 0;
    line-height: 1.5;
}
.uchi-case-pricing__row .uchi-label { color: #666; }
.uchi-case-pricing__row .uchi-value { font-weight: 700; }
.uchi-case-pricing__row--total {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 2px solid #FF6B00;
    font-size: 15px;
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 12px;
    flex-wrap: nowrap;
    background: #FFF5E5;
    border-radius: 10px;
    padding: 12px 14px 10px;
    margin-left: -8px;
    margin-right: -8px;
}
.uchi-case-pricing__row--total .uchi-label {
    color: #5A3700 !important;
    font-weight: 800;
    font-size: 14px;
}
.uchi-case-pricing__row--total .uchi-value {
    color: #C8410B;
    font-weight: 900;
    font-size: 22px;
    letter-spacing: -0.02em;
}

@media (max-width: 767px) {
    .uchi-prosec { padding: 50px 16px; }
    .uchi-prosec__lead { padding: 18px 18px; font-size: 14px; line-height: 1.85; }
    .uchi-grade-cards { grid-template-columns: 1fr; }
    .uchi-craftsman-block { grid-template-columns: 1fr; }
    .uchi-craftsman-stats { grid-template-columns: repeat(2, 1fr); }
    .uchi-case-pricing { grid-template-columns: 1fr; }
    .uchi-case-pricing__card { max-width: 460px; margin: 0 auto; width: 100%; }
    .uchi-case-pricing__row--total { justify-content: center; gap: 18px; }
    .uchi-sim-table { font-size: 13px; }
    .uchi-sim-table th, .uchi-sim-table td { padding: 10px 8px; font-size: 13px; }
}


