/* contact.css */

/* PC（デフォルト） */
.contact-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7f5f0;
    padding: 15px 20px;
    border: 1px solid #ddd;
    font-family: "Hiragino Sans", "Meiryo", sans-serif;
    max-width: 900px;
    margin: 40px auto 20px auto; /* 上に40pxの余白、左右中央寄せ */
    border-radius: 6px;
    /* 追加：サイズ計算をパディング込みにする */
    box-sizing: border-box; 
}

.tel-box {
    margin-right: 40px;
}

.tel-box .label {
    font-size: 14px;
    color: #555;
}

.tel-box .number {
    font-size: 24px;
    font-weight: bold;
    margin-top: 3px;
    white-space: nowrap; /* ← SPでも絶対に1行 */
}

.btn-area {
    display: flex;
    gap: 15px;
}

.btn {
    display: inline-block;
    padding: 12px 18px;
    border: 1px solid #ccc;
    background: #fff;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    border-radius: 3px;
    transition: 0.2s;
    /* 追加：ボタンもサイズ計算をパディング込みにする */
    box-sizing: border-box;
}

.btn:before {
    content: "▶ ";
    color: #b33;
    font-weight: bold;
}

.btn:hover {
    background: #f0ece8;
}

/* SP（768px以下） */
@media screen and (max-width: 768px) {
    .contact-wrap {
        flex-direction: column;
        text-align: center;
        gap: 15px;
        /* 追加：左右に余白を確保し、横幅を画面に合わせる */
        width: 95%; 
        margin-left: auto;
        margin-right: auto;
        padding: 20px 15px;
    }

    .tel-box {
        margin-right: 0;
        width: 100%; /* 幅を固定 */
    }

    .btn-area {
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }

    .btn {
        width: 100%;
        text-align: center;
        /* 追加：文字が長くてもはみ出さないよう改行を許可 */
        white-space: normal; 
        line-height: 1.4;
    }
}
