/* ============================================================
   front-page.css
   トップページ専用スタイル
   Figma: ALab5I9rg3b4HbOipUDkNi  node: 14615-126039
   カラーパレット:
     Brand Blue  : #01B0F1
     Brand Navy  : #005E95
     Beige       : #F9F1E8
     Beige-Dark  : #E3D5C3
     Light Blue  : #E7F5FF
     Dark Text   : #404040
   フォント方針(Figmaレイヤーコピー準拠):
     基本書体      : 'Yu Gothic'（フォールバック: Noto Sans JP）
     見出し/ラベル : font-weight 700, letter-spacing 0.1em
     本文/説明文   : font-weight 500, letter-spacing 0.05em
     英字見出し    : font-weight 700, letter-spacing 0.5em, uppercase
     例外          : hero-features-section の県名見出しのみ Noto Sans JP
============================================================ */

/* ============================================================
   FV (ファーストビュー)
   Figma: Frame 196  1920×990
   - 背景写真フルカバー
   - 左下: 家画像 (0, bottom) 560×300
   - 中央左: チェックリスト (left 20%, top 55%)
   - 中央: 縦書き見出し (left 36%, top 17%)
   - 中央右: 実績バッジ円 (left 47%, top 66%)
   - 底部: ティッカーバー
============================================================ */
.fv-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #000;
}

/* --- 背景画像 (PC) --- */
.fv-section_bg {
    position: relative;
    width: 100%;
    height: clamp(560px, 51.6vw, 990px);
    overflow: hidden;
}

.fv-section_bg::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;

    background: linear-gradient(
        180deg,
        rgba(1, 176, 241, 0.7) 0%,
        rgba(0, 146, 200, 1) 100%
    );
}

.fv-section_bg_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

/* --- コンテンツオーバーレイ --- */
.fv-section_content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
}

/* 暗めのグラデーションオーバーレイ */
.fv-section_content::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(0, 0, 0, 0.35) 0%,
        rgba(0, 0, 0, 0.15) 60%,
        rgba(0, 0, 0, 0.05) 100%
    );
    z-index: -1;
}

/* --- 装飾：五角形アウトライン --- */
.fv-section_pentagon {
    position: absolute;
    overflow: hidden;
    left: 50.1%;
    top: 19%;
    width: 35.8%;
    aspect-ratio: 1.048 / 1;
    z-index: 0;
    pointer-events: none;
    border-radius: 8px;
}

.fv-section_pentagon_img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity .8s;
}

.fv-section_pentagon_img.is-active {
    opacity: 1;
}

/* --- 左下: 植物のイラスト --- */
.fv-section_left_leaf {
    position: absolute;
    left: -40px; /* 画面端から少しはみ出す */
    bottom: -30px; /* 画面端から少しはみ出す */
    width: clamp(260px, 29.2vw, 560px); /* 560/1920 */
    pointer-events: auto;
    z-index: 2;
}

.fv-section_left_leaf_img {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(4px 0 12px rgba(0, 0, 0, 0.4));
}

/* --- チェックリスト (20.4%, 55.2%) --- */
.fv-section_features {
    position: absolute;
    left: 20.4%;  /* 392/1920 */
    top: 55.2%;   /* 546/990  */
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: auto;
    z-index: 3;
}

.fv-section_features_item {
    display: flex;
    gap: 10px;
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(14px, 1.25vw, 24px);
    font-weight: 400;
    color: #fff;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
    white-space: nowrap;
    letter-spacing: 0.1em;
}

.fv-section_features_check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(18px, 1.15vw, 22px);
    height: clamp(18px, 1.15vw, 22px);
    border-radius: 4px;
    background-color: #fff;
    flex-shrink: 0;
}

.fv-section_features_check::after {
    content: "";
    display: block;
    width: 45%;
    height: 30%;
    border-left: 2px solid #01B0F1;
    border-bottom: 2px solid #01B0F1;
    transform: rotate(-45deg) translate(10%, 10%);
}

.fv-section_features_text {
    display: inline-block;
    padding-bottom: 8px;
}

/* --- 縦書き見出し (35.8%, 17.2%) --- */
.fv-section_ttl {
    position: absolute;
    left: 35.8%;  /* 688/1920 */
    top: 17.2%;   /* 170/990  */
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(6px, 0.625vw, 12px);
    pointer-events: auto;
    z-index: 3;
}

.fv-section_ttl_company,
.fv-section_ttl_service,
.fv-section_ttl_area {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    display: block;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
    font-family: "Yu Gothic", "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.22em;
    line-height: 1.5;
}

.fv-section_ttl_company {
    font-size: clamp(32px, 3.75vw, 72px);
}

.fv-section_ttl_service {
    font-size: clamp(20px, 2.5vw, 48px);
}

.fv-section_ttl_area {
    font-size: clamp(20px, 2.5vw, 48px);
}

/* --- 実績バッジ (46.7%, 65.8%) --- */
.fv-section_badge {
    position: absolute;
    left: 46.7%;   /* 897/1920  */
    top: 65.8%;    /* 651/990   */
    transform: none;       /* reset style.css transform */
    align-self: auto;      /* reset */
    line-height: normal;   /* reset */
    flex-shrink: initial;  /* reset */
    width: clamp(110px, 13.96vw, 268px);
    height: clamp(110px, 13.96vw, 268px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    pointer-events: auto;
    z-index: 3;
}

.fv-section_badge_bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 0;
}

.fv-section_badge_content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

.fv-section_badge_label {
    margin: 0;
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(9px, 1.04vw, 20px);
    font-weight: 400;
    color: #fff;
    background-color: #01B0F1;
    padding: 2px 8px;
    border-radius: 20px;
    text-align: center;
    letter-spacing: 0.2em;
}

.fv-section_badge_count {
    margin: 0;
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(22px, 3vw, 64px);
    font-weight: 400;
    color: #01B0F1;
    line-height: 1.05;
    letter-spacing: 0.05em;
}

.fv-section_badge_unit {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(12px, 1.67vw, 24px);
    font-weight: 400;
    color: #01B0F1;
    margin-left: -4px;
}

.fv-section_badge_suffix {
    margin: 0;
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(12px, 1.67vw, 32px);
    font-weight: 400;
    color: #01B0F1;
    letter-spacing: 0.05em;
}

/* --- キャップオーバーレイ（Figma: img_main_cap_透過 1  56.2%, 79.4%  218×156） --- */
.fv-section_cap {
    position: absolute;
    left: 56.2%;    /* 1079/1920 */
    top:  79.4%;    /* 786/990  */
    width: clamp(100px, 11.35vw, 218px);
    pointer-events: auto;
    z-index: 3;
}

.fv-section_cap_img {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(2px 4px 8px rgba(0,0,0,0.25));
}

/* --- 右上: 植物のイラスト --- */
.fv-section_right_leaf {
    position: absolute;
    right: -20px; /* 画面端から少しはみ出す */
    top: 40px;
    width: clamp(260px, 29.2vw, 560px); /* 560/1920 */
    pointer-events: auto;
    z-index: 2;
}

.fv-section_right_leaf_img {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(4px 0 12px rgba(0, 0, 0, 0.4));
}

/* ============================================================
   hero-features-section
   見出し + 5ペンタゴン + 白カード（青枠・ベージュ影・円形写真）
============================================================ */
.hero-features-section {
    background-color: #F9F1E8;
    padding: clamp(40px, 5vw, 72px) 0 clamp(48px, 6vw, 88px);
}

.hero-features-section_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(16px, 4%, 80px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.hero-features-section_headline {
    text-align: center;
    margin-bottom: clamp(24px, 3vw, 40px);
    background: transparent;
    padding: 0;
    border-radius: 0;
    max-width: none;
    width: 100%;
}

.hero-features-section_heading {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.hero-features-section_pref {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(18px, 2.08vw, 32px);
    font-weight: 700;
    color: #404040;
    line-height: 1.5;
}

.hero-features-section_ttl {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(22px, 2.5vw, 40px);
    font-weight: 700;
    color: #01B0F1;
    line-height: 1.3;
}

.hero-features-section_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    gap: clamp(8px, 1.5vw, 20px);
    list-style: none;
    margin: 0 0 -28px;
    padding: 0;
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 900px;
}

.hero-features-section_item {
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    min-width: auto;
    min-height: auto;
}

.hero-features-section_pentagon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(72px, 9vw, 140px);
    height: auto;
    aspect-ratio: 1.048 / 1;
    background-color: #01B0F1;
    clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
    padding: 18px 8px 10px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.hero-features-section_pentagon::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../images/pentagon-bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.2;
    pointer-events: none;
    z-index: 0;
    background-size: 145%;
}

.hero-features-section_label {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(10px, 0.9vw, 14px);
    font-weight: 700;
    color: #fff;
    line-height: 1.45;
    text-align: center;
    letter-spacing: 0.1em;
    position: relative;
    z-index: 1;
}

.hero-features-section_card-wrap {
    position: relative;
    width: 90%;
    max-width: 1040px;
    z-index: 1;
    min-width: 800px;
}

.hero-features-section_card-wrap {
    min-width: initial;
    width: 100%;
}

.hero-features-section_card {
    position: relative;
    background: #fff;
    border: 3px solid #01B0F1;
    border-radius: 24px;
    box-shadow: inset 0 0 0 10px #E3D5C3;
    padding: clamp(48px, 6vw, 72px) clamp(24px, 4vw, 56px);
    overflow: visible;
}

.hero-features-section_photo {
    position: absolute;
    margin: 0;
    border-radius: 50%;
    overflow: hidden;
    z-index: 3;
}

.hero-features-section_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-features-section_photo--1 {
    width: clamp(90px, 12vw, 200px);
    height: clamp(90px, 12vw, 200px);
    top: 15%;
    left: -30px;
}

.hero-features-section_photo--2 {
    width: clamp(80px, 18vw, 200px);
    height: clamp(80px, 18vw, 200px);
    bottom: 15%;
    left: -20px;
}

.hero-features-section_photo--3 {
    width: clamp(100px, 13vw, 180px);
    height: clamp(100px, 13vw, 180px);
    top: 40%;
    right: -40px;
    transform: translateY(-50%);
}

.hero-features-section_card_body {
    position: relative;
    text-align: center;
}

.hero-features-section_card_ttl {
    font-family: "Yu Gothic", 游ゴシック, YuGothic, "Noto Sans JP", sans-serif;
    font-size: clamp(20px, 2vw, 32px);
    font-weight: 700;
    color: #404040;
    line-height: 1.8;
    letter-spacing: 0.1em;
    margin: 0 0 clamp(20px, 2.5vw, 32px);
}

.hero-features-section_card_txt {
    font-family: "Yu Gothic", 游ゴシック, YuGothic, "Noto Sans JP", sans-serif;
    font-size: clamp(13px, 0.9vw, 16px);
    color: #404040;
    line-height: 2.5;
    letter-spacing: 0.05em;
    margin: 0;
}

.hero-features-section_mascot {
    position: absolute;
    right: 16px;
    bottom: -16px;
    width: clamp(80px, 13vw, 200px);
    height: auto;
    pointer-events: none;
}

@media (max-width: 768px) {
    .hero-features-section {
        padding: 28px 0 40px;
    }

    .hero-features-section_headline {
        margin-bottom: 20px;
    }

    .hero-features-section_heading {
        gap: 2px;
    }

    .hero-features-section_list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: -16px;
        gap: 14px;
    }

    .hero-features-section_item {
        grid-column: auto;
        width: auto;
        min-height: auto;
        padding: 0;
    }

    .hero-features-section_item:nth-child(4),
    .hero-features-section_item:nth-child(5) {
        width: auto;
        margin-left: 0;
    }

    .hero-features-section_pentagon {
        width: 115px;
        height: 105px;
        padding: 14px 4px 8px;
    }

    .hero-features-section_label {
        font-size: 12px;
    }

    .hero-features-section_card {
        border-radius: 20px;
        padding: 36px 24px 26px;
        box-shadow: inset 0 0 0 8px #E3D5C3;
    }

    .hero-features-section_card_ttl {
        font-size: 17px;
        line-height: 1.5;
        margin-bottom: 16px;
    }

    .hero-features-section_card_txt {
        font-size: 13px;
        line-height: 2;
        text-align: left;
    }

    .hero-features-section_photo--1 {
        display: none;
    }

    .hero-features-section_photo--2 {
        display: none;
    }

    .hero-features-section_photo--3 {
        display: none;
    }

    .hero-features-section_mascot {
        width: 64px;
        bottom: -70px;
        right: -15px;
    }
}

/* 極小幅端末：5つのペンタゴンが折り返さないようさらに詰める */
@media (max-width: 400px) {
    .hero-features-section_list {
        gap: 4px;
    }

    .hero-features-section_pentagon {
        width: 105px;
        height: 95px;
        padding: 14px 4px 8px;
    }    

    .hero-features-section_label {
        font-size: 12px;
        letter-spacing: 0.05em;
    }
}

/* ============================================================
   青エリア（選ばれる理由 + お客様の声 + 料金 + 火災保険）
   Figma: 青ドットエリア bg:#01B0F1
============================================================ */
.blue-area {
    background-color: #01B0F1;
    position: relative;
}

.blue-area::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.12) 1px, transparent 1px);
    background-size: 24px 24px;
    pointer-events: none;
    z-index: 0;
}

.blue-area > * {
    position: relative;
    z-index: 1;
}

/* ============================================================
   選ばれる理由（青ドットエリア内）
   左：見出し＋マスコット / 右：白カード3×2グリッド（最後はCTAリンク）
============================================================ */
.reasons-section {
    background-color: transparent;
    background-image: none;
    padding: clamp(40px, 5vw, 72px) 0;
}

.reasons-section_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(20px, 5.4%, 104px);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: clamp(24px, 3vw, 48px);
}

/* 左：見出し + マスコット */
.reasons-section_side {
    flex-shrink: 0;
    width: clamp(140px, 16vw, 220px);
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: clamp(24px, 4vw, 56px);
}

.reasons-section_heading {
    display: block;
    text-align: left;
}

.reasons-section_sub {
    font-family: "Yu Gothic", 游ゴシック, YuGothic, "Noto Sans JP", sans-serif;
    font-size: clamp(13px, 1vw, 16px);
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.1em;
    margin: 0 0 2px;
}

.reasons-section_ttl {
    font-family: "Yu Gothic", 游ゴシック, YuGothic, "Noto Sans JP", sans-serif;
    font-size: clamp(20px, 2vw, 30px);
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.1em;
    margin: 0 0 8px;
    line-height: 1.3;
}

.reasons-section_en {
    font-family: "Yu Gothic", 游ゴシック, YuGothic, "Noto Sans JP", sans-serif;
    font-size: clamp(11px, 0.8vw, 13px);
    font-weight: 700;
    color: #E7C9A2;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    margin: 0;
}

.reasons-section_mascot {
    width: clamp(80px, 9vw, 130px);
    height: auto;
    display: block;
    align-self: center;
}

/* 右：3列グリッド（5カード + CTA） */
.reasons-section_grid {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(12px, 1.5vw, 20px);
}

.reasons-section_card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: clamp(10px, 1.2vw, 18px);
    background-color: #fff;
    border-radius: 20px;
    padding: 25px 20px 25px 30px;
    min-height: clamp(84px, 8vw, 120px);
}

.reasons-section_card_num {
    font-family: "Yu Gothic", 游ゴシック, YuGothic, "Noto Sans JP", sans-serif;
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 700;
    color: #01B0F1;
    letter-spacing: 0.05em;
    line-height: 1;
    flex-shrink: 0;
}

.reasons-section_card_label {
    font-family: "Yu Gothic", 游ゴシック, YuGothic, "Noto Sans JP", sans-serif;
    font-size: clamp(12px, 1vw, 15px);
    font-weight: 700;
    color: #404040;
    letter-spacing: 0.05em;
    text-align: left;
    line-height: 1.5;
    margin: 0;
}

/* CTA（グリッド最後のセル） */
.reasons-section_cta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.reasons-section_link {
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.2vw, 16px);
    text-decoration: none;
    transition: opacity 0.2s;
}

.reasons-section_link:hover {
    opacity: 0.85;
}

.reasons-section_link_txt {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(12px, 1vw, 15px);
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.05em;
    text-align: left;
    line-height: 1.5;
}

.reasons-section_link_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(32px, 3vw, 44px);
    height: clamp(32px, 3vw, 44px);
    border-radius: 50%;
    background: #fff;
    color: #01B0F1;
    font-size: clamp(12px, 1vw, 15px);
    flex-shrink: 0;
}

@media (max-width: 768px) { 
    .reasons-section_ttl {
        font-size: clamp(20px, 7vw, 30px);
    }
    .reasons-section_sub {
        font-size: clamp(14px, 2vw, 18px);
    }
}

/* ============================================================
   customer-voice-section（青ドットエリア内）
============================================================ */
.blue-area .customer-voice-section {
    background-color: transparent;
    padding-left: clamp(20px, 5.4%, 360px);
    padding-right: clamp(20px, 5.4%, 104px);
}

.blue-area .customer-voice-section_inner {
    max-width: 1200px;
}


@media (max-width: 768px) { 
    .customer-voice-section {
        padding: 28px 16px 0px;
    }
}

/* ============================================================
   料金（青ドットエリア内・方眼紙ノートカード）
   Figma: REPAIR PRICE 01 / 02
============================================================ */
.blue-area .price-section--notebook {
    background-color: transparent;
    padding: clamp(24px, 4vw, 48px) clamp(20px, 5.4%, 104px);
}

.blue-area .price-section--notebook .price-section_inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 2.5vw, 32px);
}

.price-section_notebook {
    margin: 0;
}

.price-section_notebook_sheet {
    box-shadow: 6px 6px #3e6d9f;
}

/* notebook_paint.png */
.price-section_notebook_sheet::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: -18px;
    left: -22px;
    width: min(400px, 42%);
    aspect-ratio: 400 / 345;
    background-image: var(--notebook-paint);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain;
    pointer-events: none;
}

/* バインダー穴 */
.price-section_notebook_sheet::before {
    content: "";
    position: absolute;
    top: 58px;
    bottom: 30px;
    left: 24px;
    width: 28px;
    background: radial-gradient(circle at 13px 11px, #01b0f2 0 6px, transparent 6.5px) 0 0 / 28px 46px repeat-y, radial-gradient(circle at 10px 10px, #006ba6 0 8px, transparent 8.5px) 0 0 / 28px 46px repeat-y;
}

.price-section_notebook_layout,
.price-section_notebook_footer {
    position: relative;
    z-index: 1;
}

.price-section_notebook_layout {
    display: grid;
    grid-template-columns: minmax(330px, 370px) minmax(0, 1fr);
    align-items: start;
    gap: 44px;
}

.price-section_notebook_left,
.price-section_notebook_right {
    min-width: 0;
}

.price-section_notebook_heading {
    margin-bottom: 30px;
    padding: 0;
}

/* 以前の帯状グラデーションを解除 */
.price-section_notebook_heading::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 50%;
    left: -28px;
    width: clamp(260px, 30vw, 400px);
    aspect-ratio: 400 / 345;
    transform: translateY(-50%);

    background-image: var(--notebook-paint);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;

    pointer-events: none;
}

.price-section_notebook_ttl {
    position: relative;
    z-index: 1;
    margin: 0 0 6px;
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(24px, 2.2vw, 30px);
    font-weight: 700;
    color: #01B0F1;
    line-height: 1.35;
    letter-spacing: 0.1em;
}

.price-section_notebook_en {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(10px, 0.9vw, 12px);
    font-weight: 700;
    color: #F5C56B;
    line-height: 1.5;
    letter-spacing: 0.5em;
    text-transform: uppercase;
}

.price-section_notebook_desc {
    max-width: 370px;
    margin: 0;
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(12px, 0.95vw, 14px);
    font-weight: 500;
    color: #404040;
    line-height: 2.05;
    letter-spacing: 0.05em;
}

.price-section_notebook_rows {
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
}

.price-section_notebook_row {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    align-items: center;
    gap: 0;
    min-height: 58px;
    padding: 0 16px;
    border-bottom: 1px solid rgba(1, 160, 215, 0.52);
}

.price-section_notebook_row:first-child {
    border-top: none;
}

.price-section_notebook_row_label {
    flex-shrink: 0;
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(13px, 1.1vw, 15px);
    font-weight: 700;
    color: #404040;
    letter-spacing: 0.05em;
}

.price-section_notebook_row_price {
    text-align: left;
    white-space: nowrap;
}

/* 雨漏り修理は項目名が長いので、金額列だけ固定して屋根修理の行に寄せる */
.price-section_notebook_rows--wide .price-section_notebook_row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 16px;
}

.price-section_notebook_rows--wide .price-section_notebook_row_label {
    min-width: 0;
}

.price-section--notebook .price-section_price_num {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(19px, 1.8vw, 24px);
    font-weight: 700;
    color: #01a9df;
    line-height: 1;
    letter-spacing: 0.03em;
}

.price-section--notebook .price-section_price_suffix {
    margin-left: 8px;
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(11px, 0.95vw, 13px);
    font-weight: 500;
    color: #404040;
    letter-spacing: 0.03em;
}

/* 雨漏り修理：サービス一覧 */
.front-page .price-section_notebook_service::after {
    content: none;
}

.price-section_notebook_services {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(16px, 2vw, 32px);
}

.price-section_notebook_service {
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.2vw, 14px);
    border-bottom: none;
    padding: 0;
    margin-bottom: 10px;
    z-index: 0;
    position: relative;
}

.price-section_notebook_service::before {
    content: "";
    display: block;
    width: 80%;
    height: 1px;
    background: #01B0F1;
    position: absolute;
    z-index: -1;
    top: 80%;
    right: 0;
}

.price-section_notebook_service_img {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    overflow: hidden;
    background: #E7F5FF;
}

.price-section_notebook_service_img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.price-section_notebook_service_label {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(13px, 1vw, 15px);
    font-weight: 700;
    color: #404040;
    letter-spacing: 0.05em;
    line-height: 1.45;
}

/* CTAリンク */
.price-section_notebook_footer {
    display: flex;
    justify-content: flex-end;
    margin-top: clamp(16px, 2vw, 24px);
}

.price-section_notebook_link {
    display: inline-flex;
    align-items: center;
    gap: clamp(10px, 1.2vw, 14px);
    text-decoration: none;
    transition: opacity 0.2s;
}

.price-section_notebook_link:hover {
    opacity: 0.85;
}

.price-section_notebook_link_txt {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 700;
    color: #404040;
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-align: right;
}

.price-section_notebook_link_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(32px, 3vw, 40px);
    height: clamp(32px, 3vw, 40px);
    border-radius: 50%;
    background: #dff1ff;
    color: #01B0F1;
    font-size: clamp(11px, 0.9vw, 13px);
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .blue-area .price-section--notebook {
        padding: clamp(24px, 10vw, 72px) clamp(20px, 5.4%, 104px) clamp(24px, 4vw, 48px);
    }
    .price-section_notebook_sheet {
        padding: 50px 20px 20px;
    }
    .price-section_notebook_sheet::before {
        top: 24px;
        right: 24px;
        bottom: auto;
        left: 24px;
        width: 80%;
        height: 28px;
        background: /* 手前のベージュ円を少し下へずらす */ radial-gradient(circle at 10px 13px, #01b0f2 0 6px, transparent 6.5px) 0 0 / 46px 28px repeat-x, /* 下地の青い円 */ radial-gradient(circle at 10px 10px, #006ba6 0 8px, transparent 8.5px) 0 0 / 46px 28px repeat-x;
    }
    .price-section_notebook_service_img {
        width: 80px;
        height: 80px;
    }
    .price-section_notebook_right {
        margin-top: 30px;
        width: 100%;
    }
    .price-section_notebook_desc {
        font-size: clamp(12px, 4vw, 14px);
    }
}

/* ============================================================
   火災保険（青ドットエリア内）
============================================================ */
.blue-area .fire-insurance-section {
    background: transparent;
    background-image: none;
    padding: clamp(24px, 4vw, 48px) clamp(20px, 5.4%, 40px) clamp(40px, 5vw, 72px);
}

.blue-area .fire-insurance-section_inner {
    max-width: 1200px;
}

/* ============================================================
   CTAリンクの表示調整
============================================================ */
.front-page .blue-area + .cta-section {
    background: linear-gradient(to bottom, #005E95 55%, var(--cta-section-lower-bg) 55%);
    padding: 0 0 40px;
    overflow: visible;
    margin-bottom: -26px;
}
@media (max-width: 768px) {
    .front-page .blue-area + .cta-section {
        background: linear-gradient(to bottom, #005E95 40%, var(--cta-section-lower-bg) 40%);
        padding-bottom: 28px;
    }
}

/* ============================================================
   施工事例パーツ　トップページのみ　余白調整
============================================================ */
@media (max-width: 768px) {
    .works-section--top {
        padding: 40px 16px 0px;
    }
}

/* ============================================================
   対応エリア（トップ）
   修理対応エリア 1枠（屋根／雨漏りの括りなし）
============================================================ */
.area-top-section {
    background-color: #E7F5FF;
    padding: clamp(48px, 5vw, 72px) clamp(20px, 5.4%, 104px);
}

.area-top-section_inner {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}

.area-top-section_header {
    display: flex;
    gap: clamp(20px, 3vw, 40px);
    align-items: center;
    margin-bottom: clamp(28px, 3.5vw, 44px);
    /* 右のキャラ分を空けて、リード文に重ねない */
    padding-right: calc(clamp(50px, 10vw, 100px) + 20px);
}

.area-top-section_sub {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(13px, 1vw, 16px);
    font-weight: 700;
    color: #404040;
    letter-spacing: 0.1em;
    margin: 0 0 4px;
}

.area-top-section_ttl {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(24px, 2.6vw, 36px);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.3;
    margin: 0 0 6px;
}

.area-top-section_ttl_main {
    color: #404040;
}

.area-top-section_ttl_accent {
    color: #01B0F1;
}

.area-top-section_en {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(11px, 0.85vw, 13px);
    font-weight: 700;
    color: #E3D5C3;
    letter-spacing: 0.5em;
    text-transform: uppercase;
    margin: 0;
}

.area-top-section_lead {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #404040;
    letter-spacing: 0.05em;
    line-height: 1.85;
    margin: 0;
    max-width: 435px;
    min-width: 0;
}

.area-top-section_cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
    position: relative;
    padding-top: clamp(20px, 2.5vw, 28px);
}

.area-top-section_card {
    position: relative;
    background: #fff;
    border-radius: 20px;
    padding: clamp(28px, 3vw, 36px) clamp(20px, 2.5vw, 28px) clamp(24px, 2.5vw, 32px);
    box-shadow: 0 4px 16px rgba(0, 94, 149, 0.06);
}

.area-top-section_badge {
    position: absolute;
    top: 0;
    left: 20%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: clamp(120px, 12vw, 160px);
    min-height: clamp(36px, 3.5vw, 44px);
    padding: 0 20px;
    border-radius: 999px;
    background: #01B0F1;
    color: #fff;
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(14px, 1.2vw, 16px);
    font-weight: 700;
    letter-spacing: 0.1em;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(1, 176, 241, 0.25);
}

.area-top-section_pref {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(15px, 1.2vw, 17px);
    font-weight: 700;
    color: #404040;
    letter-spacing: 0.05em;
    margin: 0 0 clamp(12px, 1.5vw, 16px);
    line-height: 1.4;
}

.area-top-section_cities {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(12px, 0.95vw, 14px);
    font-weight: 500;
    color: #666;
    letter-spacing: 0.05em;
    line-height: 1.9;
}

.area-top-section_cities .area-city {
    white-space: nowrap;
}

.area-top-section_cities a {
    color: #666;
    text-decoration: none;
    transition: color 0.2s;
}

.area-top-section_cities a:hover {
    color: #01B0F1;
}

.area-top-section_pipe {
    display: inline;
    color: #ccc;
    padding: 0 4px;
}

.area-top-section_mascot {
    position: absolute;
    top: 50px;
    right: 0;
    width: clamp(50px, 10vw, 100px);
    height: auto;
    pointer-events: none;
    z-index: 2;
}


/* ============================================================
   会社概要（トップ）
   Figma: 左見出し + 右テーブル / 地図 / テキストリンクCTA
============================================================ */
.company-section--top {
    background-color: #fff;
    padding: clamp(48px, 5vw, 72px) clamp(20px, 5.4%, 104px);
}

.company-section--top .company-section_inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 2fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: start;
}

.company-section--top .company-section_heading {
    flex: none;
    padding-top: 0;
}

.company-section--top .company-section_sub {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(13px, 1vw, 16px);
    font-weight: 700;
    color: #404040;
    letter-spacing: 0.1em;
    margin: 0 0 4px;
}

.company-section--top .company-section_ttl {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(24px, 2.6vw, 36px);
    font-weight: 700;
    color: #01B0F1;
    letter-spacing: 0.1em;
    margin: 0 0 6px;
    margin-left: 0;
    white-space: normal;
    line-height: 1.3;
}

.company-section--top .company-section_en {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(11px, 0.85vw, 13px);
    font-weight: 700;
    color: #E3D5C3;
    letter-spacing: 0.5em;
    text-transform: uppercase;
    margin: 0;
}

.company-section--top .company-section_content {
    min-width: 0;
}

.company-section--top .company-section_body {
    flex: none;
    width: 100%;
}

.company-section--top .company-section_tbl tr {
    border-top: 1px solid rgba(1, 176, 241, 0.25);
}

.company-section--top .company-section_tbl tr:last-child {
    border-bottom: 1px solid rgba(1, 176, 241, 0.25);
}

.company-section--top .company-section_tbl th,
.company-section--top .company-section_tbl td {
    padding: clamp(12px, 1.4vw, 16px) 0;
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(13px, 1vw, 15px);
    color: #404040;
    letter-spacing: 0.05em;
    vertical-align: top;
}

.company-section--top .company-section_tbl th {
    width: clamp(88px, 8vw, 112px);
    font-size: clamp(13px, 1vw, 15px);
    font-weight: 700;
    color: #404040;
    padding-right: 16px;
}

.company-section--top .company-section_tbl td {
    font-weight: 500;
}

.company-section--top .company-section_map-wrap {
    margin: clamp(20px, 2.5vw, 28px) 0 0;
    max-width: none;
    width: 100%;
}

.company-section--top .company-section_map {
    width: 100%;
    height: clamp(250px, 40vw, 400px);
    border-radius: 16px;
}

.company-section--top .company-section_cta {
    display: flex;
    justify-content: flex-end;
    margin-top: clamp(16px, 2vw, 24px);
}

.company-section--top .company-section_link {
    display: inline-flex;
    align-items: center;
    gap: clamp(10px, 1.2vw, 14px);
    text-decoration: none;
    transition: opacity 0.2s;
}

.company-section--top .company-section_link:hover {
    opacity: 0.85;
}

.company-section--top .company-section_link_txt {
    font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 700;
    color: #404040;
    letter-spacing: 0.05em;
    line-height: 1.5;
}

.company-section--top .company-section_link_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(32px, 3vw, 40px);
    height: clamp(32px, 3vw, 40px);
    border-radius: 50%;
    background: #dff1ff;
    color: #01B0F1;
    font-size: clamp(11px, 0.9vw, 13px);
    flex-shrink: 0;
}


.customer-voice-section_nav_btn {
    color: #fff;
    background-color: initial;
    border: solid 1px #FFf;
}
.price-section_notebook_left {
    flex: 0 0 40%;
}

/* ============================================================
   Responsive — タブレット〜SP
============================================================ */
@media (max-width: 1024px) {
    .fv-section_ttl_company { font-size: 40px; }
    .fv-section_ttl_service,
    .fv-section_ttl_area    { font-size: 20px;}
}

@media (max-width: 768px) {
    /* --- FV --- */
    .fv-section_bg {
        display: block;
        width: 100%;
        height: 600px;
        overflow: hidden;
    }

    /* --- 装飾：五角形アウトライン --- */
    .fv-section_pentagon {
        left: 30.1%;
        top: 120px;
        width: 60%;
        min-width: 300px;
    }

    /* --- 左下: 植物のイラスト --- */
    .fv-section_left_leaf {
        bottom: -40px;
    }

    .fv-section_left_leaf_img {
        opacity: 0.4;
    }

    /* --- 縦書き見出し --- */
    .fv-section_ttl {
        position: absolute;
        left: 4%;
        top: 80px;
    }

    /* --- チェックリスト --- */
    .fv-section_features {  
        left: 4%;
        top: 68.2%;
    }

    /* --- 右上: 植物のイラスト --- */
    .fv-section_right_leaf {
        top: 40px;
    }

    .fv-section_right_leaf_img {
        opacity: 0.4;
    }

    /* --- 実績バッジ --- */
    .fv-section_badge {
        left: auto;
        right: 16px;
        top: 53.8%;
        width: 150px;
        height: 150px;
    }

    .fv-section_badge_content {
        gap: 4px;
    }

    .fv-section_badge_label {
        font-size: 11px;
        padding: 3px 10px;
    }

    .fv-section_badge_count {
        font-size: 28px;
        font-weight: 500;
        letter-spacing: 0.03em;
    }

    .fv-section_badge_unit {
        margin-left: -6px;
    }

    .fv-section_badge_suffix {
        font-size: 16px;
        font-weight: 500;
        align-self: flex-end;
        margin-right: 8px;
    }

    /* --- キャップオーバーレイ --- */
    .fv-section_cap {
        left: auto;
        right: 26px;
        top: 75.4%;
    }

    .fv-section_cap_img {
        width: 120%;
        max-width: 120%;
    }
    /*  */

    .fv-section_sp {
        display: block;
        position: relative;
        overflow: hidden;
        padding: 28px 20px 26px;
        background: linear-gradient(135deg, #17BBF5 0%, #019BDD 55%, #0086C6 100%);
        isolation: isolate;
    }

    /* コーナー装飾（葉の線画） */
    .fv-section_sp_deco {
        position: absolute;
        width: 130px;
        height: 130px;
        background-image: url("../images/fv-sp-corner-deco.svg");
        background-repeat: no-repeat;
        background-size: contain;
        opacity: 0.4;
        pointer-events: none;
        z-index: 0;
    }

    .fv-section_sp_deco--tl {
        top: -14px;
        left: -14px;
    }

    .fv-section_sp_deco--br {
        right: -14px;
        bottom: -14px;
        transform: rotate(180deg);
    }

    /* 見出しテキスト（横書き） */
    .fv-section_sp_head {
        position: relative;
        z-index: 1;
        margin: 0 0 16px;
    }

    .fv-section_sp_brand {
        margin: 0 0 8px;
        font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
        font-size: clamp(24px, 7.5vw, 30px);
        font-weight: 700;
        color: #fff;
        letter-spacing: 0.06em;
        text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2);
    }

    .fv-section_sp_lead {
        margin: 0;
        font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
        font-size: clamp(15px, 4.4vw, 18px);
        font-weight: 700;
        color: #fff;
        line-height: 1.5;
        letter-spacing: 0.04em;
    }

    /* 角丸写真＋実績バッジ */
    .fv-section_sp_photo {
        position: relative;
        z-index: 1;
    }

    .fv-section_sp_photo_inner {
        border-radius: 18px;
        overflow: hidden;
        box-shadow: 0 8px 20px rgba(0, 40, 70, 0.25);
    }

    .fv-section_sp_photo_img {
        display: block;
        width: 100%;
        height: 220px;
        object-fit: cover;
    }

    .fv-section_sp_badge {
        position: absolute;
        right: 12px;
        bottom: -30px;
        width: 108px;
        height: 108px;
        border-radius: 50%;
        background: #00436E;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
        border: 3px solid rgba(255, 255, 255, 0.9);
    }

    .fv-section_sp_badge_label {
        margin: 0;
        font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
        font-size: 9px;
        font-weight: 700;
        color: #fff;
        letter-spacing: 0.1em;
    }

    .fv-section_sp_badge_count {
        margin: 0;
        font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
        font-size: 21px;
        font-weight: 700;
        color: #fff;
        line-height: 1.1;
        letter-spacing: 0.02em;
    }

    .fv-section_sp_badge_suffix {
        margin: 0;
        font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
        font-size: 11px;
        font-weight: 700;
        color: #fff;
    }

    /* 特徴リスト（角丸ピル） */
    .fv-section_sp_features {
        position: relative;
        z-index: 1;
        list-style: none;
        margin: 42px 0 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .fv-section_sp_features_item {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 11px 16px;
        background: rgba(255, 255, 255, 0.95);
        border-radius: 12px;
        font-family: 'Yu Gothic', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 700;
        color: #1F1F1F;
        letter-spacing: 0.05em;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    }

    .fv-section_sp_features_check {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        border-radius: 6px;
        background-color: #01B0F1;
        flex-shrink: 0;
    }

    .fv-section_sp_features_check::after {
        content: "";
        display: block;
        width: 45%;
        height: 28%;
        border-left: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: rotate(-45deg) translate(10%, 0%);
    }

    .reasons-section_inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        padding: 0 18px;
        position: relative;
    }

    .reasons-section_side {
        position: initial;
        width: 100%;
        min-height: 86px;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .reasons-section {
        padding: clamp(40px, 5vw, 72px) 0 clamp(40px, 20vw, 100px);
    }

    .reasons-section_mascot {
        width: 108px;
        position: absolute;
        left: 14px;
        bottom: -20%;
    }

    .reasons-section_grid {
        width: 100%;
        display: block;
    }

    .reasons-section_card {
        min-height: 44px;
        padding: 9px 14px;
        border-radius: 999px;
        margin-bottom: 5px;
        gap: 12px;
    }

    .reasons-section_card_num {
        min-width: 22px;
        font-size: 20px;
        text-align: center;
    }

    .reasons-section_card_label {
        font-size: clamp(12px, 4vw, 16px);
        text-align: left;
    }

    .reasons-section_cta {
        justify-content: end;
        padding: 8px 0 0;
    }

    .price-section_notebook_layout {
        display: block;
    }

    .price-section_notebook_left {
        flex: none;
        width: 100%;
    }

    .price-section_notebook_services {
        grid-template-columns: 1fr;
    }

    .price-section_notebook_row {
        flex-wrap: wrap;
    }

    .price-section_notebook_rows--wide .price-section_notebook_row {
        grid-template-columns: minmax(0, 1fr);
    }

    .price-section_notebook_row_price {
        width: 100%;
        text-align: left;
        padding-left: 0;
    }

    .price-section_notebook_footer {
        justify-content: center;
    }

    .blue-area .fire-insurance-section {
        padding: 24px 15px 40px;
        position: relative;
    }
    .blue-area .fire-insurance-section_inner {
        width: 100vw;
        margin-left: -15px;
    }

    .area-top-section_header {
        display: block;
        padding-right: 0;
    }

    .area-top-section_lead {
        padding-right: 22%;
    }

    .area-top-section_heading {
        margin-bottom: 30px;
    }

    .area-top-section_cards {
        grid-template-columns: 1fr;
        gap: clamp(40px, 2vw, 24px);
    }

    .area-top-section_mascot {
        width: 16%;
        top: 6%;
        right: 0px;
        max-width: 90px;
    }

    .company-section--top .company-section_inner {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .company-section--top .company-section_cta {
        justify-content: center;
    }

    .company-section--top {
        padding: 30px 20px 30px;
    }

    .fire-insurance-section_photo img {
        width: 100vw;
    }
}
