/* top_catchcopy.css - キャッチコピーエリア専用スタイル（2026/03改修） */

.catchcopy-area {
    padding: 1rem 0;
}

/* container1の既存スタイルを上書きリセット */
.catchcopy-area p {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.catchcopy-area a {
    font-size: inherit !important;
}

.catchcopy-area .catchcopy-main {
    background: #eaf3de;
    border-radius: 12px;
    padding: 3rem 2rem;
    text-align: center;
    margin-bottom: 10px;
}

.catchcopy-area .catchcopy-sub-text {
    font-size: 28px !important;
    color: #639922;
    margin: 0 0 16px;
    letter-spacing: 0.08em;
}

.catchcopy-area .catchcopy-headline {
    font-family: 'Noto Serif JP', serif;
    font-size: 62px !important;
    font-weight: 900;
    color: #27500a;
    line-height: 2 !important;
    margin: 0 0 20px;
}

.catchcopy-area .catchcopy-emphasis {
    font-size: 1.2em;
}

.catchcopy-area .catchcopy-desc {
    font-size: 26px !important;
    color: #3b6d11;
    line-height: 2 !important;
    margin: 0 0 28px;
}

/* 電話・LINEリンクエリア */
.catchcopy-area .catchcopy-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
}

.catchcopy-area .catchcopy-contact a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-size: 36px !important;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
}

.catchcopy-area .catchcopy-contact a img {
    height: 1.2em;
    vertical-align: middle;
}

.catchcopy-area .catchcopy-contact .catchcopy-tel {
    color: inherit;
}

.catchcopy-area .catchcopy-contact .catchcopy-line {
    color: #6b38a0;
}

/* 4特徴カード */
.catchcopy-area .catchcopy-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.catchcopy-area .catchcopy-card {
    background-image: url(./images/背景画像/057.webp);
    background-size: 210px;
    border-radius: 8px;
    padding: 16px 8px;
    text-align: center;
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.3);
}

.catchcopy-area .catchcopy-card .card-title {
    font-size: 24px !important;
    font-weight: 700;
    color: #27500a;
    margin: 0 0 4px;
    padding: 0;
}

.catchcopy-area .catchcopy-card .card-sub {
    font-size: 20px !important;
    font-weight: 700;
    color: #639922;
    margin: 0;
    padding: 0;
}

/* ハイライトブロック（うちのお客様～ / 費用は～） */
.top-highlight {
    background-image: url(./images/背景画像/003.webp);
    background-size: 210px;
    padding: 20px 24px;
    margin: 24px 0;
    border-radius: 0 4px 4px 0;
}

.top-highlight p {
    font-weight: 700 !important;
    line-height: 1.9 !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* CTAブロック（片付けのことで～） */
.top-cta-block {
    background-image: url(./images/背景画像/008.webp);
    background-size: 210px;
    border-radius: 4px;
    padding: 40px;
    margin: 30px 0;
}

.top-cta-block p {
    font-family: 'Noto Serif JP', serif;
    font-size: 40px !important;
    line-height: 2.2 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* トップページ本文太字化（お客様要望、戻す可能性あり） */
.container1 {
    font-weight: bold !important;
}

.says.says_lcol p,
.says.says_rcol p {
    font-weight: bold !important;
}

/* ============================
   モバイル対応
   ============================ */
@media screen and (max-width: 767px) {
    /* キャッチコピー */
    .catchcopy-area .catchcopy-main {
        padding: 2rem 1rem;
    }

    .catchcopy-area .catchcopy-sub-text {
        font-size: 18px !important;
    }

    .catchcopy-area .catchcopy-headline {
        font-size: 24px !important;
        line-height: 1.8 !important;
    }

    .catchcopy-area .catchcopy-desc {
        font-size: 18px !important;
    }

    /* 電話・LINE */
    .catchcopy-area .catchcopy-contact {
        gap: 16px;
    }

    .catchcopy-area .catchcopy-contact {
        flex-direction: column;
        gap: 12px;
    }

    .catchcopy-area .catchcopy-contact a {
        font-size: 22px !important;
        white-space: nowrap;
        word-break: keep-all;
    }

    /* 4特徴カード 2x2 */
    .catchcopy-area .catchcopy-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .catchcopy-area .catchcopy-card .card-title {
        font-size: 16px !important;
    }

    .catchcopy-area .catchcopy-card .card-sub {
        font-size: 14px !important;
    }

    /* ハイライトブロック: 左padding/marginなし */
    .top-highlight {
        padding-left: 0;
        margin-left: 0;
    }

    /* CTAブロック: 22px、左padding/marginなし */
    .top-cta-block {
        padding-left: 0;
        margin-left: 0;
    }

    .top-cta-block p {
    font-family: 'Noto Serif JP', serif;
        font-size: 22px !important;
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
        text-align: center;
    }
}
